基于Mask- RCNN 的指针式仪表自动识别研究
2020-08-11毛顺丹杨铁梅
张 斌 毛顺丹 杨铁梅
(太原科技大学,山西 太原030024)
1 概述
科学技术的不断发展,给工业生产带来了极大便利,其中工业仪表作为工业监控系统的一个重要检测设备,可以对生产中的设备进行温度、流量、压力等参数的测量和指示,并实时显示系统的运行状态,通过对仪表的数据的获取可以提前预测得到设备的预警状态,从而预防设备故障发生。
仪表自动识别不仅仅是仪表数据读取,更重要的是对变电站各种设备运行状态的自动识别[1]。采用机器视觉技术代替人工对仪表进行识别和数据提取,大大减轻了工作人员的工作负担,提高了工厂生产效率和质量,且节省了大量财力和物力支出。最重要的是,机器视觉技术相比于传统人工识别更客观,不会产生疲劳期,机器识别更加准确、高效。
2 基于Mask-RCNN 网络的指针仪表检测
2.1 Mask-RCNN 简述
Mask-RCNN 由何凯明团队于2017 年提出的一个目标检测网络,是基于Faster-RCNN[2]提出来的一个改进网络架构,主要作用是对目标个体进行语义分割。Mask-RCNN 相较于原来的框架,极大的提高了对目标识别的效率和分割质量。这个网络不仅检测精度高,同时检测速度达到了5fps,满足了目标检测与分割的要求[3]。Mask-RCNN 主要分为四个方面:卷积层FPN(特征金字塔网络)、RPN(区域候选网络)、ROIAlign 和输出分支。
Mask-RCNN 相对于Faster-RCNN 主要提出两个方面的改进:为了解决网络中图像像素和兴趣区域匹配产生错位的问题,将原来的池化层替换为ROIAlig;提出了第三种输出分支mask 分支,来解决目标类别间的相互竞争,提高了检测效率。
ROIAlign 是对Faster-RCNN 网络中池化层的优化,原算法中,当候选区域映射到feature map 上,与特征图上的像素点不匹配时,会直接进行间隔取整,最后得到的每个格子里面的值均为整数,当映射回原图上时误差更大。在RoIAlign 算法中,对每个格子都取一个浮点数,对于feature map 上的每一个RoI 都会被分成m*m 个格子,并在其中选取4 个点,分别对应格子中四个部分的中点,然后对于每一个点所在格子的四个顶点进行双线性插值计算,使得像素和兴趣区域更匹配。
Mask-RCNN 网络采用了三种输出分支的损失函数:分类损失(cls)、检测损失(box)和分割损失(mask)。其中mask 分支为分割损失,只针对该兴趣区域该类别的目标进行分类,不会与其他类别的mask 值产生关系,从而有效的避免了类间竞争,提高了检测的精度和效率。
2.2 Mask-RCNN 在仪表读数识别中的应用
在对仪表图像进行训练时,首先对巡检机器人获得的仪表图像进行整理,最后选取了1000 张仪表的原始图像,选取900张图片将大小改为640*640 大小,然后用labelme 软件将每张图像中的兴趣区域也就是仪表表盘部分进行选标注,制作成数据集。剩余的100 张图片作为测试集,在Mask-RCNN 网络训练完成时进行验证,可以在复杂的背景下将仪表表盘区域精准识别,为方便观察截取了局部仪表区域如图1 所示,可以看出仪表的匹配精确度达到了98%以上。
图1 Mask-RCNN 算法检测效果
3 仪表读数识别
3.1 仪表图像预处理
从复杂背景中提取到仪表表盘区域后,仪表图像会存在表盘倾斜、光照不足、细节模糊的情况,因此需要对表盘区域进行预处理。首先对倾斜表盘图像进行透视变换;其次对光照不足的图像进行暗光增强;最后选取自适应滤波算法对图像进行降噪,去除图像噪声,保留图像细节[4]。
3.2 仪表刻度读取
通过观察,指针式仪表的圆心位于指针根部,刻度区域也是呈环形,所以利用同心圆原理定位仪表刻度区域,可以看出环形区域包括圆心位置、起始刻度位置、量程和单位。首先进行霍夫检测确定仪表的圆心位置,然后按照仪表的实际比例在仪表盘上构建一个同心圆把刻度区域截取出来。因为环形区域并不方便数据读取,在获取仪表的环型刻度区域后,还是无法顺利进行数据读取,所以还需要对仪表的刻度区域进行变换。针对这个问题,采用了极坐标变换的方法,将圆环区域经过极坐标转换后,转为矩形区域的图像,从而更方便获取仪表刻度信息[5]。
3.3 仪表指针定位
因为指针仪表的指针呈线型,而且比较容易识别。因此,能够采用霍夫直线检测算法来对仪表的指针实现定位,再采用最小二乘算法将仪表指针进行细化,得到指针的角度。
3.4 仪表示数识别
图2 仪表图像坐标标定
获取仪表信息后,建立图2 所示的直角坐标系,原点为仪表中心,根据已知信息,该压力表的量程为0~1.6MPa,仪表指针与起始刻度的夹角为65.3°,所求的仪表指针读数为x,根据以下公式求取仪表读数:
其中,Δ1为仪表的起始刻度值,Δ2为仪表的最大刻度值,λ 为仪表刻度值覆盖的角度范围260°,最后进行计算可以得出该仪表示数0.402MPa,为确保识别的准确性,分别选取了几种代表性的仪表进行验证,试验结果表明可以达到实际应用需求,如表1 所示。
表1 指针仪表测试结果
4 结论
传统的指针式仪表自动识别方法存在着一定的弊端,当背景中出现类似仪表的图像很容易产生误检和漏检,由于其很难适应实际的应用环境,不能获得很好的识别效率和精度。
本文主要研究了基于Mask-RCNN 网络指针式仪表的自动识别方法。首先对巡检机器人获取的图像进行预处理;其次通过Mask-RCNN 网络对仪表区域进行精确定位,提取仪表表盘区域;最后针对不同指针仪表的检测难题,采用了对指针仪表表盘的刻度和指针分别处理的方法,根据指针与仪表盘刻度的关系,获得仪表数据。试验结果表明本算法可以很好的从复杂背景中获取仪表区域,并且仪表自动识别算法的识别效率和精度可以满足实际需求。