一种基于深度学习的指针式仪表自动读数方法

文档序号:28162176发布日期:2021-12-24 20:30阅读:427来源:国知局
一种基于深度学习的指针式仪表自动读数方法

1.本发明属于计算机视觉领域,是一种基于深度神经网络的指针式仪表自动读数方法,输入为待读数仪表图像,输出为读数。


背景技术:

2.指针式仪表被广泛应用于石油工业,发电站,燃气站等工业领域。这主要是因为它们结构简单,安装便利以及抗电磁干扰强。但是由于它们没有数字接口,所以主要还是由人工读数的方式对这些表进行记录。这种方式人工成本高,读表效率低,实时性差,并且有些高温高压的环境不适合人类活动。近年来,随着移动巡检机器人技术的发展以及智能化工业领域的推广,基于计算机视觉技术的移动巡检机器人已逐渐应用于仪表的自动读数。因此,研究一种稳定可靠的指针式仪表自动检测与识别方法具有重要的现实意义。
3.针对指针式仪表的自动检测与识别技术,已经有很多研究人员提出了不同的解决方法。现有的指针表自动读数方法主要是基于传统的计算机视觉技术,如图像灰度处理、二值化、图像滤波等技术,找到指针表的特征点,定位表盘位置。再结合hough变换等算法,分割出指针角度。结合数字文本检测方法定位表盘文本,二值图中找出刻度文本所对应的主刻度线位置,最后进行读数。该类方法对图像质量要求较高,需要指针表类型、倾斜角度、光照、清晰度等均达到要求,才能进行准确的读数。而且整个方法中过程较为繁琐,限制条件多,鲁棒性差。
4.随着深度学习技术的发展,将深度学习与神经网络应用到指针式仪表的自动检测与读数领域逐渐成为主流。该类方法应用faster

rcnn以及mask

rcnn等目标检测模型,对表盘区域进行提取和放大。结合hough变换以及边缘检测算子,提取指针区域。应用文本检测算法模型对指针表上的刻度数字以及其他文本信息进行检测与识别。该类方法对比传统计算机视觉方法,具有限制条件少、准确率高、计算过程简明等特点。但是现存的基于深度学习的指针表读数方法也只有一部分应用深度神经网络,其他部分如指针定位以及主刻度线定位等还是应用传统方法。这导致在自然场景下的指针表不能被准确读数,从而应用范围不大。所以,研究一种基于深度学习并且能够在自然场景下准确读数的指针式仪表自动读数方法是很有必要的。


技术实现要素:

5.本发明设计了一种新式的基于深度学习的指针式仪表自动读数方法,在仪表读数的每个阶段均使用深度神经网络模型,以实现在自然场景下能够达到良好的准确性和鲁棒性。如图1为本专利总览图。
6.为实现上述目的,本方法包括以下步骤:
7.步骤1:训练基于yolov4的目标检测模型,对表盘进行检测。对指针式仪表进行自动检测与识别首先就是要定位它的位置。在如油田、燃气站等实际场景下,它容易受位置、倾斜角度、外界条件等因素影响,容易出现漏检错检等情况。选用网络层次较深的卷积神经
网络,以获取更深层次的特征,使得定位更加准确。同时,机器人巡检任务也要求较高的实时性,以保证工作效率。yolov4作为一种one

stage目标检测模型,其最大的特点就是具有高度实时性的同时,准确率也能保证很高的水准。
8.yolov4是一种端到端的实时目标检测模型,其选择了cspdarknet53作为骨干网络,spp作为附加块,panet作为实例分割网络,由基于yolov3锚点机制的头作为输出。cspdarknet53在darknet53的基础上,在每个大残差块的后边加入了cspnet结构。cspnet模块可以增强darknet53网络卷积层的学习能力,移除计算瓶颈,减少计算量从而减少内存开销。spp

block可以不用考虑图像大小,输出图像固定长度网络结构,并且可以做到在图像变形情况下表现稳定。panet的作用是进行参数聚合以适用于不同level的目标检测。最后,yolov4使用yolov3 head,提取多特征层进行目标检测。
9.通过yolov4,对原始图片进行目标检测,定位图中表盘的位置,并传输到后续算法中。整体过程如图2所示。
10.步骤2:训练基于unet的语义分割模型,分割指针。回顾前人对指针表自动读数的研究,发现其中大多数都是使用传统的计算机视觉方法来定位指针,获取指针的角度。在实验过程中发现基于传统计算机视觉的方法在实际应用场景下的效果不佳。这主要是由于传统计算机视觉方法对图像的清晰度要求较高。而自然场景下的表盘可能受到遮挡物、泥土、光线、天气等因素的影响,清晰度无法满足要求。因此,创新性的提出使用基于卷积神经网络的语义分割算法,对指针进行定位。
11.unet是一个基于深度卷积网络的语义分割模型,其主要分为下采样和上采样两个部分。下采样利用卷积层和池化层提取输入图像的深层特征。上采样利用反卷积操作将图像深层特征和浅层特征进行融合,修复细节信息,提高网络分割精度。通过此网络,对输入的表图片进行处理,将指针区域分割出来。具体过程如图3所示。
12.将分割出来的指针区域以二值图像的形式输入,经过开操作(先腐蚀后膨胀)以去除小的噪声区域,保留完整剩余区域。之后,对此剩余区域取最小外接三角形,并取其顶点和对应底边中点的连线,计算连线与垂直方向的夹角,代表指针角度。具体过程如图4所示。
13.步骤3:训练基于e2e

mlt的文本检测与识别模型,对表盘文本进行识别。对于指针表的自动读数,除了要获取准确的指针角度,还需要知道各个刻度数字的位置以及其对应的刻度线位置。选用e2e

mlt模型进行文本检测与识别。e2e

mlt是一个端到端可训练的文本检测与识别模型,其拥有文本定位与文本识别两个分支。训练一个网络可以同时实现文本的定位与识别功能,十分方便。e2e

mlt的具体使用过程如图5所示。
14.步骤4:训练基于自主设计的mslnet的表盘主刻度线识别模型。由于表盘上主刻度线的朝向不一,不容易直接进行检测,所以根据上述获得的刻度数字文本位置,确定表盘圆心。之后将表盘转换为极坐标系,使得每条主刻度线水平排列。最后,根据映射到极坐标下的刻度数字位置,去除图像中的干扰部分。具体过程如图6所示。
15.之后,设计了一个轻量级的卷积神经网络,用于定位极坐标后图像中的主刻度线位置,将其命名为mslnet。网络结构如图7所示。将极坐标后的图像调整为128*1280大小,然后分成五个128*256的部分,输入网络。输出为1*256*2大小的特征图。该特征图代表在相对应的横坐标位置,是否有主刻度线。具体流程如图8所示。
16.步骤5:基于上述检测结果,对指针表读数进行计算。最后,将极坐标系统下识别出
的主刻度线还原到笛卡尔坐标系统下,结合指针角度、刻度数值、表盘单位,计算指针表的真实读数。公式1为具体计算公式。其中,(a
max
,v
max
)和(a
min
,v
min
)为与垂直方向夹角距离a
p
最近的两组主刻度线角度与对应刻度值。(a
max
,v
max
)为刻度值较大的一组,(a
min
,v
min
)为刻度值较小的一组。(a
p
,a
max
,a
min
)的数值范围都是(0,360),顺时针方向增大。
[0017][0018]
以图9为例,a
p
为305,(a
max
,v
max
)为(318,80),(a
min
,v
min
)为(267,60).
[0019]
再加上表盘单位值,综合计算结果r=74.9℃。并且此公式并不局限于顺时针方向刻度值增大的表,逆时针增大也适用。
[0020]
发明效果
[0021]
本发明针对现存的指针式仪表自动读数方法在自然条件下读数不准确的问题,提出一种基于深度学习的指针式仪表自动读数方法,应用四种深度学习模型,以提高自然条件下的指针表读数精度。实验结果显示,在对收集的5000张自然条件下拍摄的指针表图像进行读数后,本方法的错误率仅为1.57%,能够胜任在自然场景如燃气站、油田等场地等自动读数工作。
[0022]
图10

12为本方法的部分结果图。
附图说明
[0023]
图1是本发明方法总览图。
[0024]
图2是基于yolov4算法的深度神经网络具体结构图。
[0025]
图3是基于unet的语义分割神经网络具体结构图。
[0026]
图4是对分割出来的二值图进行开操作的流程图。
[0027]
图5是基于e2e

mlt的文本检测与识别结构图。
[0028]
图6是将表盘映射到极坐标系效果图。
[0029]
图7是mslnet网络结构。
[0030]
图8是mslnet效果示意图。
[0031]
图9是表盘最终读数示意图。
[0032]
图10

12是本专利部分结果图。
具体实施方式
[0033]
首先,需要从实际自然场景下对指针表进行数据收集,然后对采集的数据进行标注。标注内容包括人工读数、指针表、指针、表盘上数字文字信息,然后人工将指针表转换到极坐标系统下,对主刻度线的横坐标进行标注。
[0034]
配置yolov4训练程序,训练标注好的指针表图像,并挑选合适的训练权重文件进行保存。
[0035]
配置unet训练程序,训练标注好的指针图像,并挑选合适的训练权重文件进行保存。
[0036]
配置e2e

mlt训练程序,训练标注好的文本和数字信息,并挑选合适的训练权重文件进行保存。
[0037]
按照图7的网络结构,配置mslnet的训练程序,训练标注好的极坐标下的主刻度线图像,挑选合适的训练权重文件进行保存。
[0038]
将验证集中的图像输入模型,根据输出的信息,使用公式1计算该指针表的真实读数。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1