表端识别技术在燃气行业中的应用
2024-01-07徐士林
王 彬,徐士林,侯 伟
(襄阳华润燃气有限公司,湖北 襄阳 441000)
0 引言
摄像燃气表的原理是在普通燃气基表的基础上,通过加装带摄像头模块和通信模块的卡扣来实现燃气表的远程感知。其中,光学字符识别算法(Optical Character Recognition,OCR)是摄像燃气表研究的核心内容,决定着摄像燃气表的上报准确率。OCR的早期研究可以追溯到20世纪20年代和20世纪30年代,当时研究人员开始尝试开发机械设备来自动识别印刷文本[1]。OCR技术经历了多个阶段的发展,从早期的机械方法到基于光学的方法,再到数字图像处理和深度学习方法。随着深度学习和神经网络的崛起,OCR技术迎来了重大突破。深度学习方法使OCR系统能够更好地适应不同字体、字号和手写风格,大大提高了准确性,并广泛用于文档扫描、数字化图书馆、自动数据输入等领域[2-5]。
1 研究现状
在使用深度学习进行数字字符识别方面,Lecun等[6]于1998年提出了基于卷积神经网络的数字手写体识别系统LeNet-5,并创建了著名的手写数字图像数据集MNIST,LeNet-5在MNIST数据上的准确率达到了99.2%。此后,深度学习在图像处理领域进入高速发展期,2012年诞生的AlexNet是一个深度卷积神经网络,相对于之前的LeNet-5来说更深。它在ImageNet图像分类竞赛中取得了巨大成功,通过深层网络和随机裁剪等创新性方法,大幅提高了分类准确度[7]。2014年,VGG-Net在AlexNet的基础上进一步增加了网络的深度,它以均匀的卷积层堆叠为特点,使用小尺寸的卷积核和深层结构,提高了特征提取的性能[8]。2014年,GoogleNet引入了Inception模块,这是一种结合不同尺寸的卷积核和池化操作的模块。它通过多个分支的并行计算来提高特征表达能力,从而在ImageNet竞赛中获得了显著的成功[9-11]。2016年何凯明提出了残差网络ResNet。ResNet是一种革命性的网络结构,引入了残差学习机制,允许网络通过跳跃连接学习残差,从而解决了深度网络中的梯度消失和退化问题。ResNet可以训练更深的网络,提高了特征的表示能力[12-13]。
2 字轮图像的识别模型
摄像燃气表主要应用在普通基表的远传改造上。在这种场景下,由于基表所属的厂商不同,字轮图像存在显著的差异。这些差异包括字符的大小、字符的类型、字体的亮度和字符所在子区域的图像结构。其中,子区域的图像结构是否包含干扰行是影响模型准确率的最主要因素(见图1)。
图1 不同基表厂商字符区域结构上的差异
这些干扰行存在3个特征:(1)干扰行主要集中在上/下两端;(2)干扰行主要体现为背景,即纯白色或纯黑色;(3)以行为计量单位,干扰行的像素标准差远低于数据行。因而,本文将行亮度标准差作为一个注意力机制引入识别模型。
如图2所示,模型将字轮图像统一为28×28的灰度图像,将图像输入卷积神经网络的第1卷积层中,经过6个5×5卷积核计算后,生成6×24×24的特征向量图;经过第1池化层2×2最大下采样后,生成6个12×12规模的特征向量图。第2卷积层经过12个5×5×6卷积核后,生成12×8×8的特征向量图;经过第2池化层的1×2最大下采样后,生成12个规模为8×4的特征向量图。
图2 字符识别模型
计算字轮图像每一行的最大类间方差总计28个数据输入,通过包含4个神经元的隐藏层接入第2池化层的输出向量,构建1个392维的特征向量,后接入全连接层完成图像的模式分类。
最大类间方差通过逐行计算的方式获得。统计每行像素的最小灰度值qmin,最大灰度值qmax。遍历[qmin,qmax]之间的每一个灰度水平vi。在灰度水平vi下,统计该行灰度值小于vi的像素点数量ω0,像素平均值μ0;统计该行灰度值大于等于vi的像素点数量ω1,像素平均值μ1,则在灰度水平vi下,类间方差gi为:
gi=ω0ω1(μ0-μ1)2
(1)
行最大类间方差
gotu=maxv(g)
(2)
第2池化层输出的特征图上,由于每行特征点的感受野为原图像的3~4行数据规模,因而等同于将原图像按行划分为了8块。将行的最大类间方差引入模型,是为了给定每一特征块的权重参考因子。这个模型是针对不同燃气基表的图像差异来设计的,从而在浅层网络上拥有更好的泛化能力。
3 连续字轮的判别模型
燃气表字轮图像的数字识别是一种分界线模糊的图像分类问题。这是因为燃气表字轮的转动是一个连续的过程,字轮的状态既有可能出现完整字符的情况,也有可能出现半字符的情况。如图3所示,左图字符“5”和右图字符“6”为完整字符,中间属于字符“5”和字符“6”的半字符状态。末位字轮有一定的概率处于完整字符与半字符之间的状态。如果对于这种状态不加以判别,模型收敛困难。
图3 末位连续字轮图像
(3)
其中,m为2个完整字符之间齿轮转动的总次数;n为上一个完整字符后齿轮转动的总次数。以任意2张图像作为输入,隶属度函数差作为标签,训练一个孪生网络。在孪生网络的调整下,完整字符和半字符的n维特征在欧氏空间上可分。
在训练阶段模型输入为2张图像。状态特征提取器用于分别提取2张字轮图像的图像特征,是一个浅层卷积神经网络(CNN)结构(见图4)。该浅层CNN的第1层为输入层、第2层为卷积层A、第3层为池化层A、第4层为卷积层B、第5层为池化层B。度量计算为全连接层,拼接2个图像的特征向量,输出2张图像的隶属度函数差fout。
图4 字符判别模型
4 模型的训练和预测
定义一个隶属度函数水平值λ(λ<0.4),将隶属度函数xA<λ的全体图像称为第1水平截集,将(1-xA)<λ的全体图像称为第2水平截集,其余称为第3水平截集。
训练分为2个阶段,第1阶段使用全体数据训练判别网络。第2阶段训练字符识别网络。使用第1水平截集和第3水平截集训练字符识别模型1,由第2水平截集和第3水平截集训练字符识别模型2。第3水平截集同时放置在2个识别模型的训练集里以增加模型的泛化能力。
预测阶段,首先使用判别网络提取图像特征,并与完整字符的标准特征做度量计算。然后,根据判别网络的输出fout与水平值λ的大小,判断使用哪种识别网络。若fout<λ,使用字符识别模型1;若fout>(1-λ),则使用判别模型2;介于其中则可使用任意模型。通过对数据集进行模糊截断,识别网络得以收敛。
5 设备试挂
摄像燃气表在襄阳华润燃气有限公司开展试点跟踪。芯片使用低功耗MCU,STM32 M4的内核,Nb-IoT通信。工作电压3.3 V,工作电流小于100 mA,设备休眠时工作电流小于10 μA。设备同时上报图像和表端识别读数以方便比对准确率。燃气基表来自海立、山城 、丹东等不同厂商。自2020年12月30日—2021年04月07日,剔除掉通信异常数据,总共进行了10 090次的表端识别,仅有1次识别错误,识别准确率大于99.99%。
6 结语
在可预见的相当一段时间内,传统的机械字轮燃气表仍然占有相当的市场份额。摄像燃气表以其成本低廉、不动火作业、可追溯等优点在旧表改造中起到重要的作用。本文提出的燃气字轮识别模型,针对不同燃气基表厂商图像结构上的差异,引入了“行最大类间方差”作为注意力机制;针对连续字轮的问题,引入模糊数学隶属度来作连续字轮图像分类。试点应用结果表明,该模型可运行在单片机等低功耗设备上,从而可以降低网络负载和功耗,且识别准确率大于99.99%。