李慧慧,闫 坤*,张李轩,刘 威,李 执
(1.桂林电子科技大学信息与通信学院,广西桂林 541004;2.卫星导航定位与位置服务国家地方联合工程研究中心(桂林电子科技大学),广西桂林 541004)
电力、化工等领域存在数量庞大的仪表用来记录现场状况和生产数据[1],由于电磁干扰等环境因素的影响,工业生产普遍采用指针式仪表[2]。指针式仪表读数识别主要依靠专业人员定期进行现场巡检,该工作方式易受到人眼分辨能力、工作人员熟练程度、视觉疲劳等主观因素的影响,检测效率较低且难以保证数据的准确性。而在高辐射、强噪声、高低温等不适宜近距离测量环境内,仪表的采集和读取是一项非常艰巨的任务[3]。随着我国工业领域从劳动密集型向科技密集型不断转变,传统人工抄表方式亟需转向基于机器视觉的智能识别,以提高生产效率[4]。因此,实现指针式仪表的自动识别和检测具有重要的现实意义及市场价值。
关于指针式仪表智能识别的课题,国外研究较早并取得了一定的成果[5-6]。葡萄牙里斯本技术大学的Alegria 等[7]采用减影法提取指针图像,再利用Hough 变换确定指针的偏转角度,但这种方法需要在相同环境下获取两个读数不同的表盘指针。Vázquezfernández 等[8]通过调整相机位置定位指针式仪表的旋转中心,获取固定大小图像。相较于国外指针式仪表智能识别的研究进展,国内的研究进展较慢。孙婷等[9]提出基于二维伽马函数的仪表识别方法,能够适应不同光照、不同类型的仪表指针定位,且识别的正确率达到94%;张雪飞等[10]根据尺度不变特征点匹配方法研究统一自动识别读数的算法框架,能够快速识别多类指针式仪表。盛庆华等[11]针对现有指针式仪表自动读数对图像采集条件要求比较苛刻的缺陷,提出了一种基于双重霍夫空间投票的指针式仪表自动读数方法,可以达到92%的识别率。随着深度学习的发展,一批学者将深度学习方法用于指针式仪表的识别课题研究中。万吉林等[12]提出了一种基于Faster R-CNN(Faster Region-Convolutional Neural Network)和U-Net 的仪表识别方法,漏检率为2.86%,能达到较高的识别准确率。周杨浩等[13]利用全卷积神经网络对输入图像进行语义分割以检测仪表位置并提取仪表部分的图像。
圆形指针式仪表自动检测与识别大多基于预先获取的仪表图像,采用Hough变换算法进行仪表定位[14],这种方法前期需要大量仪表目标的记录与相机的标定工作,以保证所得仪表图像的质量,因此每次仪表位置发生变化都需要重新进行测量与标定。这类方法普适性、稳定性较差,尤其在复杂场景下,单一圆形Hough变换应用受限。针对这种缺陷,可采用深度学习目标检测算法,但伴随着海量参数复杂运算等问题。为解决以上问题,本文提出了一种基于预训练MobileNetV2网络模型与圆形Hough变换相结合的圆形仪表智能检测和识别系统,用于复杂场景下圆形指针式仪表检测和识别。
该系统首先采用圆形Hough 变换提取圆形区域,将所得圆形区域转换为基于预训练MobileNetV2网络模型的输入,通过圆形Hough 变换,降低复杂场景内其他非圆形区域的资源占用。MobileNetV2网络模型是一种轻量型的网络模型[15],该模型参数较少,可快速训练出指定任务的模型,并且可以很好地运行在移动端设备和嵌入式设备中,为工业圆形指针式仪表识别奠定了非常好的基础。因此采用基于预训练MobileNetV2 网络模型与圆形Hough 变换相结合的圆形仪表智能检测和识别系统,既能够高效地将本文方法落实到工业指针式仪表识别中,同时也能达到非常高的识别率,可有效优化工厂人员结构,提高工厂工作效率,降低人工干预误差。
针对复杂场景下圆形指针式仪表的检测与识别,本文提出一种基于预训练MobileNetV2 网络模型与圆形Hough 变换相结合的圆形仪表智能检测和识别系统,该系统如图1所示。
图1 圆形指针式仪表智能检测和识别系统示意图Fig.1 Schemmatic diagram of intelligent detection and recognition system for circular pointer instrument
首先,通过摄像头采集工业工厂中圆形指针式仪表的图像,采用圆形Hough 变换方法确定多个圆形区域的圆心及半径,根据圆心和半径设置相应的圆形掩膜,提取对应圆形区域,实现对圆形区域的目标检测。然后,将该目标检测的图像作为改进预训练MobileNetV2 网络模型的输入。考虑到迁移学习对网络模型的优势,本文对预训练MobileNetV2网络模型进行修改,然后重新训练得到一个网络模型,最后在测试数据集上进行测试,对圆形指针式仪表进行识别。圆形指针式仪表自动检测和识别系统的流程如图2所示。
图2 圆形指针式仪表自动检测和识别系统的流程Fig.2 Flowchart of automatic detection and identification system of circular pointer type instrumen
计算机视觉任务中几何图形(如直线段、圆形、三角形、四边形等)的识别是复杂场景图像分析理解的基础[16],圆形是其中一个重要的研究领域,比如:医学检验中对胎儿小脑的检测[17]、交通领域中对圆形交通标记的识别[18]、人脸识别中对瞳孔与虹膜的定位、芯片制造业中光掩膜基板的定位等都需要识别图像中的圆形目标。比较典型的圆形类目标检测算法有几何判断法、目标函数优化法、模板匹配法和Hough 变换[19]。复杂场景内采集的图像样本数据,往往受噪声、遮挡、照明变化的影响较大,结合不同圆形类目标检测算法的利弊及实际运用需求,本文选用圆形Hough 变换提取输入图像内的所有圆形区域。
1.2.1 深度分离卷积
深度分离卷积[20]是MobileNetV2 网络模型中非常关键的一个结构,该结构利用分解卷积运算符代替完整的卷积算子,因式分解将标准卷积分为两个分卷积:第一层为深度卷积,对输入数据的单通道进行轻量级滤波;第二层为逐点卷积,计算输入通道特性以构建新特征向量。
标准卷积Li的输入尺寸为hi×ωi×di,应用标准卷积核K∈Rk×k×di×dj产生输出Lj为hi×ωi×dj。
1)标准卷积的计算消耗为hi×ωi×di×dj×k×k。
2)拆分后深度分离卷积计算消耗为hi×ωi×di(k2+dj)。其中:hi×ωi×di为卷积输入尺寸;k×k×di×dj中k×k为卷积核大小;dj为卷积核的个数。
MobileNetV2 网络模型中使用卷积核大小为3× 3 时,与标准卷积相比计算量减少为原来的1/9~1/8,但是精度上基本没有什么损失。
1.2.2 反向残差网络
反向残差网络[21]结构先通过扩展层来扩展维度,再用深度分离卷积提取特征,最后使用投影层来压缩数据,让网络重新变小,整个网络中间胖、两头窄,呈沙漏形状,因此将这样的结构称为反向残差网络。该网络中的扩展层,使用1×1 的网络结构,将低维空间映射到高维空间,而投影层也是使用1×1的网络结构将高维空间映射到低维空间。如果一个张量维度越低,卷积层的乘法计算量就越小,整个网络的计算速度就会特别快,因此该网络首先将特征张量输入到扩展层进行特征提取,然后再将经过深度分离卷积提取的特征通过投影层返回到原来的空间维度,同时添加残差连接以有效利用不同位置之间的信息,具体的反向残差网络结构如图3所示。
图3 反向残差网络Fig.3 Inverted residual network
1.2.3 基于MobileNetV2的迁移学习
迁移学习[22]是将某个领域或任务上学习到的知识或模式应用到不同但相关的领域中,从相关领域中迁移标注数据或知识结构,完成或改进目标任务的学习效果。本文提出的圆形指针式仪表检测和识别系统已基于ImageNet学习了丰富的特征表示,通过迁移学习无形中扩充了训练数据,使得模型泛化能力更好。
MobileNetV2 是一种轻量型神经网络,本文系统在保留MobileNetV2 网络模型中深度分离卷积和反向残差网络的同时,对该网络模型进行改造,删减一些不必要的卷积层,并对最后的全连接层进行调整,使得该网络模型能够适用于本文的研究任务,实现对圆形指针仪表的识别。该模型由于结构的特殊性,网络模型的参数大幅减少,计算复杂度大幅降低,因此能够运行在移动端或嵌入式端,可以满足工业对指针式仪表检测和识别的需求。
本文首先通过圆形Hough 变换对圆形区域进行目标检测,然后将检测出来的圆形目标利用本文提出的基于预训练MobileNetV2网络模型进行分类识别,判断该圆形目标是否为圆形指针式仪表。
首先,对输入图像按照一定比例进行缩小,以减少Hough变换运算量;然后,利用圆形Hough变换检测到的圆形区域信息,结合线性变换关系,在原图相应位置构造圆形掩模,检测并提取对应圆形区域。以图4 为例:先利用圆形Hough 变换检测图4(a)中的所有圆形区域,并提取所有圆形区域的半径与圆心坐标参数,如表1所示;再根据表1信息构造圆形掩模,提取对应圆形区域,结果如图4(b)~(d)所示。
表1 输入图像内圆形区域的圆心及半径Tab.1 Radii and centers of circular areas in input image
图4 圆形Hough变换结果Fig.4 Results of circular Hough transform
本文实验数据是从工厂采集的圆形指针式仪表图像,通过圆形Hough变换检测到的圆形区域构建数据集。该数据集含1 030 个圆形指针式仪表以及1 303 个圆形图像但是不属于圆形指针式仪表,以图5所示图像为例。
本文将采集的数据按照8∶1∶1 的比例随机划分为训练数据集、测试数据集和评估数据集,训练数据集中圆形指针式仪表的个数为824,非圆形指针式仪表的个数为1 042,用于训练改进预训练MobileNetV2模型;测试数据集和评估数据集中圆形指针式仪表的个数分别为103和103,非圆形指针式仪表的个数分别为130 和131。其中,测试集用于测试该模型性能;评估数据集用于预测某一个图像是否是圆形指针式仪表,以评估该模型的泛化能力。具体的数据分布如表2所示。
表2 数据集分布Tab.2 Dataset distribution
在图像目标识别与分割任务中,混淆矩阵[23]是最常用的评价指标之一,可反映数据的真实类别和预测类别的数量分布,如表3所示。表3中:TP为真阳性(True Positive)、FP为假阳性(False Positive)、FN为假阴性(False Negative)、TN为真阴性(True Negative)。
表3 混淆矩阵Tab.3 Confusion matrix
本文实验样本取自实际的工业场景,样本采集成本较高导致样本数量较少,且样本类别存在不均衡性。单一取样划分数据集只能代表当次局部数据的实验结果,因此本文分别进行9次随机取样构建9个由不同样本数据构成的数据集,在已训练好的模型上进行测试,得到针对9 个不同样本数据集的混淆矩阵,最后将9 个混淆矩阵加权取平均得到平均混淆矩阵,以客观反映网络模型的泛化能力。
图5 圆形指针式仪表数据和非指针式仪表数据Fig.5 Circular pointer instrument data and circular non-pointer instrument data
图6 为基于改进预训练MobileNetV2 网络模型的圆形指针式仪表识别实验结果。从图6 中可以看出,该模型在圆形指针式仪表识别任务中收敛较快,在训练和测试阶段均能够获得较高的识别率,尤其在测试数据集上当训练的epoch 达到40 时,基本可以100%识别出该图像是否属于圆形指针式仪表。在模型训练阶段,训练损失值和准确率曲线存在一定的抖动,但识别率保持在98.8%~100%。通过观察测试数据集上的实验结果发现,已训练好的网络模型能够非常快地收敛,在第40个epoch 时就已经完全收敛,圆形指针式仪表的识别率可以达到100%。
最后对评估数据集内的图片进行预测,对比预测结果与实际标签,其中实际标签已知,进而衡量该模型的泛化能力。评估数据集在已训练好的改进MobileNetV2 网络模型上的混淆矩阵如图7所示。
从图7 可以清晰地发现,该模型能够非常好地拟合评估数据集中的数据,可以将圆形指针式仪表和其他圆形图形完全区分开,但是由于每一次进行实验都会随机按照8∶1∶1 的比例划分数据集,某一次实验的评估数据只能代表局部数据的实验结果,不能反映所有待评估图片数据,因此本文在已训练好模型的基础上,随机划分数据集对评估数据集进行9 次实验,得到9个评估数据集的混淆矩阵,结果如图8所示。
图6 基于预训练改进MobileNetV2网络模型的实验结果Fig.6 Experimental results of improved pre-trained MobileNetV2 network model
图7 评估数据集的混淆矩阵Fig.7 Confusion matrix of evaluation dataset
从图8(a)、(b)、(e)、(f)、(g)中可以看到,其中有一个圆形指针式仪表的图像被误判为非圆形指针式仪表的图像。通过观察被误判为非圆形指针的图像,发现该图像存在模糊,可能是由于采集数据时设备抖动造成采集的数据存在模糊,造成本次识别任务发生误判。模糊圆形指针式仪表图像和正常圆形指针式仪表图像如图9 所示。为客观反映所提模型的性能优劣,本文提出平均混淆矩阵概念,将9 次实验得到的9 个混淆矩阵累加取平均得到平均混淆矩阵,降低实验评估数据集随机划分带来的误差,平均混淆矩阵如图10所示。
通过平均混淆矩阵得到TP=103,FP=0,FN=0.56,TN=130.44。同时计算了基于改进MobileNetV2 网络模型的圆形指针式仪表识别任务下的准确率Acc(Accuracy)、精准率P(Precision)、召回率R(Recall)和F1(F1-Score)指标,计算结果如下:
精准率和召回率是二分类任务中重要的两个度量标准,F1-Score 值表示精准率和召回率的调和平均,三者均可评估该模型的识别性能。可以看出:基于改进MobileNetV2网络模型在圆形指针式仪表识别任务中的准确率可以达到99.76%。
图8 随机9次实验中评估数据集的混淆矩阵Fig.8 Confusion matrices of evaluation dataset in 9 random experiments
图9 数据集中模糊圆形指针式仪表和正常圆形指针式仪表Fig.9 Fuzzy circular pointer instrument and normal circular pointer instrument in dataset
图10 平均混淆矩阵Fig.10 Average confusion matrix
本文分析了6 种不同网络模型在圆形指针式仪表识别任务中的识别率(Accuracy,Acc)、模型参数量(Parameters)、模型计算量(MAdd),结果如表4所示。
通过对比发现,这些模型很难同时实现较高的识别率、较少的模型参数量和较小的模型计算量,识别率往往与复杂度及计算量成正比。通过对比表4 中六种不同模型的指标可知,从识别的准确率上来看ResNet50 模型和MobileNetV2 模型可100%识别出圆形指针式仪表,但是ResNet50 模型的参数量(Parameters)和模型计算量(MAdd)分别为23.51× 106和8 215.55× 106,而MobileNetV2 模型的参数量(Parameters)和模型计算量(MAdd)分别为2.23× 106和624.134 × 106。MobileNetV2模型的参数和模型计算量远低于ResNet50模型,因此Mobilenetvv2 网络模型训练的速度远快于ResNet50 网络模型,更便于部署在移动端或嵌入式设备中,实现工业级圆形指针式仪表检测和识别。
表4 六种不同网络模型在圆形指针式仪表识别任务中的性能Tab.4 Performance of six different network models in circular pointer instrument recognition task
如果仅从模型的参数量和模型计算量的角度来看,ShuffleNet网络模型的模型参数量和模型计算量分别为1.26 ×106和295.71× 106,相较于MobileNetV2 模型的参数量和模型计算量更低,但是也带来了识别率的下降,ShuffleNet 网络模型在圆形指针式仪表识别的任务中识别率只能达到99.16%。因此在圆形指针式仪表识别的任务中,本文提出的改进MobileNetV2 网络模型在工业级圆形指针式仪表识别任务中既能以较少的参数和模型计算量训练出该模型,又能出色完成指针式仪表识别任务。
为了验证本文提出的基于改进预训练MobileNetV2 网络模型在工业级圆形指针式仪表识别任务中的优势,对比了改进预训练MobileNetV2网络模型和未预训练MobileNetV2网络模型之间的差异,结果如图11所示。
图11 预训练和未预训练MobileNetV2网络模型性能对比Fig.11 Performance comparison of MobileNetV2 network models with or without pre-training
迁移学习能够解决由于自身数据集的数量偏少而带来的性能上的弊端,通过加载预训练模型将已训练好模型的权重迁移到自己的网络模型中。本文提出的改进预训练MobileNetV2 网络模型就是基于ImageNet 数据集上的预训练模型。
基于改进预训练MobileNetV2 网络模型在圆形指针式仪表识别任务中可以100% 识别出仪表,而未预训练的MobileNetV2 网络模型在圆形指针式仪表识别任务中只能达到99.61%。经对比可发现,除了ResNet50 网络模型外,基于改进未预训练MobileNetV2 网络模型的识别率依然比其他4种网络模型更高,进一步验证了本文提出的基于改进MobileNetV2 网络模型在工业级圆形指针仪表识别任务中的性能较优。
从图11 中还可以看出,基于预训练MobileNetV2 网络模型在测试阶段的初始识别率可以达到99.5%,性能与未预训练MobileNetV2 网络模型收敛时的识别率相近。同时基于预训练MobileNetV2 网络模型收敛速度明显要比未预训练MobileNetV2 网络模型快,预训练模型在第30 个epoch 时就基本已经收敛了,而未预训练模型在第40 个epoch 时才刚开始收敛,且模型的识别率存在小幅度的跳变。
本文提出了一种基于改进预训练MobileNetV2 网络模型与圆形Hough变换相结合的圆形指针式仪表智能检测和识别系统,旨在工业环境中运用深度学习算法解决指针式仪表识别参数量大、计算量大、检测精度较低的问题。考虑到圆形指针式仪表的外观是圆形区域特征,引用圆形Hough 变换能够排除待检测图像中的非圆形区域干扰,然后基于改进预训练MobileNetV2 网络模型对圆形仪表进行识别。实验结果表明该系统在工业级圆形指针式仪表识别任务中表现较优,在保证高准确率的前提下,同时拥有较低的模型参数量和模型计算量,本文所提系统可为轻量级嵌入式终端提供决策参考。在后续的工作中,可针对摄像头抖动及如何将该模型部署到移动端或嵌入式设备中的问题,进行进一步的探讨与优化。