一种指针式仪表示数的识别方法、装置、设备及存储介质与流程
未命名
10-14
阅读:162
评论:0
1.本发明涉及计算机视觉技术领域,具体为一种指针式仪表示数的识别方法、装置、设备及存储介质。
背景技术:
2.随着信息化和工业化的快速发展,工业生产的规模不断扩大,各种精密的指针式仪表,例如电流表、电压表和温度表等测量设备的使用数量不断增多。如何快速准确的获取此类仪表的测量值成为了工业生产中亟待解决的问题。对于电力或工业生产等过程中使用的指针式仪表,包括很多种类。通常有圆形和矩形仪表两类,其中又包括不同量程刻度值等仪表类型。
3.面对目前指针式仪表,不仅种类繁多,而且数量巨大,量程示数各不相同。目前国内针对这类仪表的示数判读,一般由人工观测完成。人肉眼识别指针与刻度线相对位置以及仪表量程,估读出仪表的示数。这种传统受检测人员的操作经验、业务水平等主观因素影响,存在劳动强度大,效率低下,极易产生错误或误差较大等。此外,在野外、高温或有辐射等较为恶劣的工作环境中,通常不适用人工监测指针式仪表的示数,因此图像识别、目标检测等计算机视觉技术越来越多的应用。
4.经检索发现,中国专利文献cn202111422893公开一种基于机器视觉的仪表示数识别方法和装置,此文献方案首先采用yolov5目标检测算法,将待识别仪表检测出来。然后将检测出来的仪表图像进行裁剪,只保留表盘部分,利用灰度、阈值分割、最小二值化等传统图像处理方法获得仪表指针位置并分割出仪表上字符的位置信息,然后将分割出的字符图像放入resnet分类器进行分类计算,然后根据指针位置,进行读数处理。该文献采用了传统图像处理的方法检测表盘、分割指针及表盘上的字符位置等,然后利用分类器进行分类。传统图像处理算法,具有较多局限性,对图像像素质量要求较高,而且容易受外界因素干扰,受光照、亮度、噪声等影响较多,导致整体读数算法不稳定。该算法具有一定局限性,只适用于一种或几种表盘干扰较少的仪表。
5.在现有技术中采用特征提取算子对指针式仪表的原图像进行矫正。对光照、旋转、尺度等不变的关键点来达到旋转矫正的目的。这种矫正方法,对于图像光照、色彩、旋转角度和尺寸大小等信息敏感,影响较多。当图像信息发生变化时,极易产生误差,且计算量较大,耗时长,不利于实时性的要求。
6.除了上述的传统图像处理的方法,近年来逐渐采用深度学习的方法进行识别。将深度学习与传统机器学习方法相结合。采用ssd模型或yolov系列目标检测模型,检测仪表所在位置,并对检测后的图像进行裁剪,只保留仪表区域。然后采用hough变换算法,识别指针位置或者采用阈值分割、最小二值化、轮廓提取等图像处理方法,识别指针位置,进而判定示数。但是此方法存在的不足:现有技术中采用hough变换或者阈值分割、最小二值化、轮廓提取等图像处理技术通用性较差,需要不断调节阈值,当图像光照、色彩、图片尺度大小改变时,需要重新调节阈值,算法的鲁棒性不强。
7.综上所述,现有技术矫正图像或者识别指针时,都比较受图像光照、色彩、尺度、阈值都参数的影响,从而影响准确率。
技术实现要素:
8.本发明的目的在于提供一种指针式仪表示数的识别方法、装置、设备及存储介质,以解决上述背景技术中提出的问题。
9.为实现上述目的,本发明提供如下技术方案:一种指针式仪表示数的识别方法,包括如下步骤:第一步、获取特定范围内的图像数据,其中,所述图像数据包括至少一个仪表图像作为待检测图像;第二步、对待检测图像先检测四个关键点,再对待检测图像进行矫正;第三步、根据检测到的四个关键点进行透视变换,并输出目标画布,实现图像矫正;第四步、对目标画布采用语义分割,分割出仪表图像指针,并识别指针;第五步、求解语义分割出指针的最小外接矩形;第六步、计算当前最小外接矩形坐标点和角度,根据求解得到的旋转角度,再根据仪表量程,求解当前示数。
10.进一步的,所述待检测图像由巡检机器人或者固定的摄像头获取指针式仪表的图像。
11.进一步的,采用深度学习模型yolov5模型,在矩形仪表盘上检测四个关键点。
12.进一步的,透视变换基于opencv,读取四个关键点的坐标数组,计算变换矩阵,根据变换矩阵对待检测图像进行透视变换,并得到只有表盘部分的裁剪后图像,作为输出目标画布。
13.进一步的,语义分割采用deeplabv3+模型,deeplabv3+模型包括encoder-decoder模型,该encoder-decoder模型的encoder部分包括backbone和aspp,其中aspp采用池化层获取目标画布多尺度特征,encoder-decoder模型的decoder部分接受来自backbone中间层的低级特征图和来自aspp的输出作为输入,将backbone输出的低级特征图进行通道降维,将aspp输出特征图进行插值上采,将两种所得特征图拼接进行卷积处理,再进行线性插值上采样,分割出仪表图像指针。
14.进一步的,由识别的指针,利用opencv算法中的minarearect函数算法,得到指针的最小外接矩形,设函数输出旋转角度为a,仪表量程为r,仪表最大角度为90
°
,仪表当前示数为n,当前示数的计算公式为n = (r/90)a。
15.进一步的,所述得到指针的最小外接矩形包括步骤:(1)、建立二维向量坐标系,确定凸包方向,用于旋转角度和距离的计算;(2)、找到四个对踵点,这四个点分别是最左、最上、最右、最下四个方向上最凸的点;(3)、旋转原始多边形按照某一点旋转,遍历-90
°
到90
°
,求解旋转每个读数后的多边形的简单外接矩形,记录矩形面积,顶点坐标及此时旋转读数。
16.为实现上述目的,本发明还提供如下技术方案:
一种指针式仪表示数的识别装置400,包括:获取模块500,用于获取特定范围内的图像数据,其中,所述图像数据包括至少一个仪表图像作为待检测图像;深度学习模型yolov5 600,用于对待检测图像先检测四个关键点,再对待检测图像进行矫正;opencv 700,用于根据检测到的四个关键点进行透视变换,并输出目标画布,实现图像矫正;deeplabv3+模型800,用于对目标画布采用语义分割,分割出仪表图像指针,并识别指针;求解模块900,用于求解语义分割出指针的最小外接矩形;输出模块1000,用于计算当前最小外接矩形坐标点和角度,根据求解得到的旋转角度,再根据仪表量程,求解当前示数。
17.为实现上述目的,本发明还提供如下技术方案:一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上述中任一项所述方法的步骤。
18.为实现上述目的,本发明还提供如下技术方案:一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述中任一项所述的方法的步骤。
19.与现有技术相比,本发明的有益效果是:(1)本发明在进行仪表示数识别前先进行了仪表矫正步骤。相较于现有发明的很多方法直接进行仪表指针识别,获取示数,忽略仪表矫正这一步骤,此方法只适用图像是正向且无旋转角度的情况,当图像具有旋转角度时,直接识别存在较大误差,且算法具有很多局限性而言,本发明首先进行仪表矫正,更能减少后续识别过程的误差,且针对摄像头位置固定时,拍摄所得的图像发生畸变时同样适用,应用范围更广泛。
20.(2)本发明在仪表图像矫正时,采用的深度学习与传统机器学习算法相结合的方法,采用深度学习找取仪表盘上的四个关键点,提升矫正算法的鲁棒性,传统机器学习算法中的opencv中的透视变换,根据四个关键点坐标,可以准确矫正图像,提升算法准确率,两种算法相辅相成,实现图像矫正目标。
21.(3)本发明中指针识别算法采用语义分割deeplabv3+深度学习算法,相较于传统图像处理方法具有很大局限性,对图像的质量要求不高,且容易受到光照、噪声、色彩、尺度大小等多种外界因素影响。模型泛化能力不高,具有识别局限性,不能适用于多种类别的指针式仪表,仅适用于一种或几种表盘干扰因素较少的仪表示数识别,而言本发明采用分割指针的最小外接矩形角度求解示数。由于上述步骤中已经分割出仪表指针,所以可以直接求解指针外接最小矩形,利用指针的最小外接矩形的角度信息,结合不同仪表的不同量程信息,读取仪表示数。
22.总的来说,本发明先用深度学习的目标检测方法准确找到仪表图像的四个关键点,用opencv中的透视变换算法矫正仪表图像;然后利用深度学习的语义分割模型,将矫正后的指针式仪表图像,只分割出指针;由于图像是矫正后的,可以直接求解指针外接最小矩形,根据数学公式和仪表量程,直接求解仪表示数。
附图说明
23.图1为本发明指针式仪表示数识别方法示意图。
24.图2为本发明目标检测网络模型检测到仪表盘上的关键点示意图一。
25.图3为本发明目标检测网络模型检测到仪表盘上的关键点示意图二。
26.图4为本发明目标检测网络模型检测到仪表盘上的关键点示意图三。
27.图5为本发明透视变换后畸变矫正后的图像示意图。
28.图6为本发明语义分割仪表指针示意图。
29.图7为本发明分割出指针的最小外接矩形示意图。
30.图8为本发明最小外接矩形夹角为79.54
°
示意图。
31.图9为本发明最小外接矩形夹角为42.46
°
示意图。
32.图10为本发明最小外接矩形夹角为1.67
°
示意图。
33.图11为本发明图像各方向外接矩形示意图。
34.图12 为本发明deeplabv3+模型结构示意图。
35.图13为本发明指针式仪表示数的识别方法步骤流程图。
36.图14为本发明指针式仪表示数的识别装置结构框图。
37.图15为本发明计算机设备的内部结构图。
具体实施方式
38.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
39.在本发明的描述中,需要说明的是,术语“上端”、下端”、“内”、“外”、“前端”、“后端”、“两端”、“一端”、“另一端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
40.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“设置有”、
ꢀ“
套设有”、“套接”、“连接”等,应做广义理解,例如“连接”,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
41.请参阅图1-15,本发明提供一种技术方案:一种指针式仪表示数的识别方法,包括:第一步:由巡检机器人或者固定的摄像头获取指针式仪表图像,作为待检测图像。
42.第二步:在进行图像识别仪表指针示数之前,先进行图像矫正,保证发生畸变的图像都能保持正向,减小后续识别误差。
43.第三步:构建仪表数据集用于目标检测模型训练,对表盘四个关键点进行标注,完成关键点数据集。构建目标检测yolov5模型,首先确定每张图片中待检测仪表表盘的四个
关键点(如图2至图4所示),利用构建关键点数据集和构建目标检测模型进行训练,推理获得表盘关键点坐标信息。
44.第四步:opencv透视变换利用四个关键点实现图像的畸变矫正,通过矩阵变换和投影做空间坐标变换,并得到只有表盘部分的裁剪后图像,减少背景干扰信息。
45.第五步:构建指针式仪表数据集用于语义分割模型训练,对指针部分完成标注,完成指针仪表数据集。构建语义分割模型,利用指针仪表数据集,完成语义分割指针训练,推理获得表盘中指针识别任务(如图6所示)。
46.第六步:由上述第五步所得表盘指针,利用opencv算法中的minarearect函数算法,得到指针的最小外接矩形(即面积最小的外接矩形),求解得到指针的旋转角度、坐标点、仪表量程等参数。
47.第七步:根据公式,求解仪表示数。设函数输出旋转角度为a,仪表量程为r,仪表最大角度为90
°
,仪表当前示数为n,当前示数的计算公式为n = (r/90)a。
48.下面做具体叙述:本发明主要针对矩形的指针式仪表示数的识别技术。由于摄像头安装的位置固定,导致拍摄指针式仪表图像发生了畸变,采用图像处理的技术直接读数会导致较大误差,因此需要先进行指针式仪图像的矫正。本发明先用深度学习的目标检测方法准确找到仪表图像的四个关键点,用opencv中的透视变换算法矫正仪表图像;然后利用深度学习的语义分割模型,将矫正后的指针式仪表图像,只分割出指针;由于图像是矫正后的,可以直接求解指针外接最小矩形,根据数学公式和仪表量程,直接求解仪表示数。本发明实验流程图如下图1所示。
49.本方案的实验步骤:1、矩形仪表畸变矫正(1)仪表盘关键点的选取本发明采用深度学习模型yolov5模型,在矩形仪表盘上检测四个关键点,以便完成后续的图像矫正工作。yolov5模型是一种单阶段目标检测算法,是yolo模型的一个延伸,基于yolov3、yolov4模型的改进,检测性能进一步提升。yolov5目标检测的整体框架可以大致分为四个部分:输入端、基准网络、neck网络和head输出端。
50.输入端:表示输入的图片。该网络的输入图像大小为608*608,该阶段通常包括一个图像处理阶段,即将图像缩放到网络的输入大小,并进行归一化等操作。在网络训练阶段,yolov5使用mosaic数据增强操作提升模型训练速率和网络的精度,并提出一种自适应锚框计算与自适应图片缩放方法。
51.基准网络:基准网络通常是一些性能优异的分类器网络,该模块通常用来提取一些通用的特征表示。yolov5中使用cspdarknet53结构和focus结构作为基准网络。
52.neck网络:neck网络通常位于基准网络和head网络的中间位置,利用它可以进一步提升特征的多样性及鲁棒性。
53.head输出端:head用来完成目标检测结果的输出。针对不同的检测算法,输出端分支个数各不相同,通常包括一个分类分支和一个回归分支,从而进一步提升算法的检测精确度。
54.本发明采用yolov5模型,选择仪表盘矩形的四个角,作为四个关键点,在完成后续
矫正图像时,方便裁剪工作,(裁剪工作是在透视变换这一步骤,自动矫正和裁剪的)。在预测框完成表盘四个角的预测时,需要得到四个角的预测坐标点。由于yolov5的所得坐标点是归一化后的坐标点,需要进行转换,得到图像坐标系中四个关键点的坐标点。实验所得仪表盘关键点示意图如图2、图3以及图4所示。
55.(2)opencv透视变换透视变换是将图像从一个视平面投影到另一个视平面的过程,所以透视变换也被称为投影映射。透视变换是利用透视中心、像点、目标点三点共线的条件,按照透视旋转定律使承影面(透视面)绕迹线(透视轴)旋转某一角度,破坏原有的投影光束线,仍能保持承影面上投影几何图形不变的变换。通过矩阵变换,用于图像缩放、旋转、平移、线性变换等操作。
56.opencv提供了函数实现图片的透视变换,需要输入源图像中待测矩形四个坐标点和目标图像中矩形四个坐标点,即可自动完成转换。读取坐标数组,计算变换矩阵,根据变换矩阵对原图进行透视变换,并输出目标画布,使得畸变图像实现矫正目的,为了后续指针识别任务实现,需要只保留待检测仪表表盘部分,由透视变换自动裁剪实现。输入上述yolov5实验得到四个关键点坐标(源图像四个坐标点)、目标图像中的四个坐标点,完成自动转换和裁剪。实验结果示意图如图5所示。
57.2、指针式仪表中的指针识别图像分割是计算机视觉中除了分类和检测外的另一项基本任务,将图像根据内容分割成不同的块相比图像分类和检测,分割是一项更精细的工作,需要对每个像素点分类。图像分割可以分为两类:语义分割和实例分割。
58.本发明中指针式识别技术采用的是语义分割算法。图像是由许多像素点组成的,语义分割,顾名思义就是将像素按照图像中表达的语义含义的不同进行分割。与检测模型类似,语义分割模型也是建立在分类模型的基础上,即利用cnn(convolution neural network, 卷积神经网络)网络来提取特征进行分类。分割模型方法遵照编码器-解码器的结构,对输入空间的分辨率下采样,产生分辨率更低的特征图,此过程是编码器过程,通过学习上述低分辨率的特征图更高效份分辨类别,并将这些特征表征上采样至完整分辨率的分割图,完成分割任务,此过程是解码器。
59.本发明中采用的语义分割模型是deeplabv3+模型,主要是一个encoder-decoder的模型。它的encoder部分主要包括backbone和aspp两大部分。backbone的主体是带有空洞卷积的dcnn,可以采用常用的分类网络resnet,带有空洞卷积的空间金字塔池化模块(atrous spatial pyramid pooling, aspp),deeplabv3+引入了decoder模块。空洞卷积(atrous convolution)是deeplab模型的关键之一,它可以在不改变特征图大小的同时控制感受野,有利于提取多尺度信息。aspp模块来进一步提取多尺度信息,采用池化层获取更多尺度特征,提升分割准确度。它的decoder部分,接受来自backbone中间层的低级特征图和来自aspp模块的输出作为输入,将backbone输出的低级特征图进行通道降维,将aspp输出特征图进行插值上采样。将两种所得特征图拼接进行卷积处理,再进行线性插值上采样,得到原图大小预测图像。构成encoder-decoder体系,双线性差值上采样是一个简单的decoder,将底层特征与高层特征进一步融合,提升分割边界准确率。deeplabv3+网络结构图如下图12所示。
60.本发明中,采用deeplabv3+深度学习模型,训练模型并测试,得到分割指针结果。具体的实验方法:首先利用labelme标定软件,根据需求,选择多边形进行标注,标定指针形状并创建类别标签,由于标注好的文件是json格式,需要将json格式文件用代码程序转换成本实验需要的png图片格式。将源图像和转换之后png格式的标签图像,形成指针分割图像的数据集。设置参数,模型backbone选择mobilenet,输入图片大小设置为512*512,batch_size参数设置为16,学习率设置为7e-3,优化方式选用sgd优化器进行优化,选取了1077张指针图像作为数据集,其中包括不同量程仪表图像,乱序分成训练集、测试集和验证集,训练模型,模型训练的迭代次数设置为300,验证集准确率可达99.88%。实现分割指针的功能。语义分割实验分割指针所得示意图如图6所示。
61.3、求解语义分割出指针的最小外接矩形由于待检测图像已经是矫正并裁剪过的图像,所以图像都是正向无旋转角度图像。由上述语义分割算法,分割出仪表图像指针。本发明利用分割出指针的最小外接矩形,求解角度,再根据仪表量程按照比例计算指针所指示数。具体的方法原理,最小外接矩形问题,实际是在给出一个凸多边形的顶点,求出外接该多边形且面积最小的矩形。
62.示意图如图7所示算法实现步骤:(1)建立二维向量坐标系,确定凸包方向,用于旋转角度和距离的计算;(2)找到四个对踵点,这四个点分别是最左、最上、最右、最下四个方向上最凸的点;(3)旋转原始多边形按照某一点旋转,遍历-90
°
到90
°
,求解旋转每个读数后的多边形的简单外接矩形,记录矩形面积,顶点坐标及此时旋转读数;(4)将第(3)步骤得到的面积最小的简单外接矩形反方向旋转相同角度,即可得最小外接矩形。 具体旋转所得矩形图像如图11所示(图11中面积为a
×
b的矩形即为最小外接矩形)。
63.本发明采用opencv中的求解指针的最小外接矩形,opencv中提供了一个函数minarearect寻找最小外接矩形,即面积最小的外接矩形。将2d点集作为输入,返回一个box2d结构,返回结构包括最小外接矩形的中心点坐标(x,y),宽和高(w,h),旋转角度angle。利用函数输出,可以得到当前最小外接矩形坐标点和角度。根据仪表量程,求解当前示数。 设函数输出旋转角度为a,仪表量程为r,仪表最大角度为90
°
,仪表当前示数为n。当前示数的计算公式为n = (r/90)a。
64.实验结果如图8至图10所示,例如图8,矫正后最小外接矩形角度为79.54
°
,表盘角度为90
°
,仪表量程是2.0kv,示数计算公式为(2.0/90)*79.54
°
,得到仪表示数1.77kv,肉眼读取数值1.73左右,误差值0.05。指针外接最小矩形的夹角示意图如图8至图10所示。同理图9外界最小矩形的角度为42.46
°
,仪表量程为6000a,仪表示数为338.67;图10最小外接矩形角度为1.67
°
,仪表量程为3ka,示数为0.05,约等于0,误差值为0.05,得到仪表示数。
65.现有技术中,采用特征提取算子对原图像进行矫正。对光照、旋转、尺度等不变的关键点来达到旋转矫正的目的。这种矫正方法,对于图像光照、色彩、旋转角度和尺寸大小等信息敏感,影响较多。当图像信息发生变化时,极易产生误差,且计算量较大,耗时长,不利于实时性的要求。针对上述技术存在的问题,当仪表图像产生畸变时,本发明采用yolov5深度学习目标检测模型,首先找到仪表的四个关键点,根据这四个关键点进行透视变换,矫正畸变图像,并裁剪表盘部分。采用深度学习的方法,算法鲁棒性更强,不受图像关照、色彩、旋转角度和尺度的影响,准确找出四个关键点,从而可以帮助透视变换矫正图像。
66.现有技术中采用hough变换或者阈值分割、最小二值化、轮廓提取等图像处理技术通用性较差,需要不断调节阈值,当图像光照、色彩、图片尺度大小改变时,需要重新调节阈值,算法的鲁棒性不强。本发明采用深度学习的语义分割模型,分割出仪表的指针,模型就有较强的鲁棒性和泛化能力,不因为图像的光照、色彩、尺度大小等改变而影响模型的准确率。
67.综上所述,现有技术矫正图像或者识别指针时,都比较受图像光照、色彩、尺度、阈值都参数的影响,从而影响准确率。本发明的方法,图像矫正或者指针识别,模型更稳定,准确率更高,模型具有更高的泛化能力和鲁棒性,不因图像噪声影响而影响准确率。
68.本发明提出在进行图像识别仪表指针示数之前,先进行图像矫正,保证发生畸变的图像都能保持正向,减小后续识别误差。
69.图像矫正采用传统机器学习和深度学习相结合的方法,两种算法相辅相成,一方面提升准确率,一方面提升算法鲁棒性。
70.采用深度学习语义分割算法,分割仪表指针,图像不受光照、色彩、尺度大小等外界因素影响,鲁棒性更强。
71.根据语义分割算法分割出的指针,计算指针外接最小矩形,求解角度,再根据比例和量程,求解仪表示数。
72.具体的:(1)本发明在进行仪表示数识别前先进行了仪表矫正步骤。现有发明的很多方法直接进行仪表指针识别,获取示数,忽略仪表矫正这一步骤,此方法只适用图像是正向且无旋转角度的情况,当图像具有旋转角度时,直接识别存在较大误差,且算法具有很多局限性。本发明首先进行仪表矫正,更能减少后续识别过程的误差,且针对摄像头位置固定时,拍摄所得的图像发生畸变时同样适用,应用范围更广泛。
73.(2)本发明在仪表图像矫正时,采用的深度学习与传统机器学习算法相结合的方法,采用深度学习找取仪表盘上的四个关键点,提升矫正算法的鲁棒性,传统机器学习算法中的opencv中的透视变换,根据四个关键点坐标,可以准确矫正图像,提升算法准确率,两种算法相辅相成,实现图像矫正目标。
74.(3)本发明中指针识别算法采用语义分割deeplabv3+深度学习算法,传统图像处理方法具有很大局限性,对图像的质量要求不高,且容易受到光照、噪声、色彩、尺度大小等多种外界因素影响。模型泛化能力不高,具有识别局限性,不能适用于多种类别的指针式仪表,仅适用于一种或几种表盘干扰因素较少的仪表示数识别。
75.(4)本发明采用分割指针的最小外接矩形角度求解示数。由于上述步骤中已经分割出仪表指针,所以可以直接求解指针外接最小矩形,利用指针的最小外接矩形的角度信息,结合不同仪表的不同量程信息,读取仪表示数。已有发明中,求解示数一般采用传统图像处理算法,hough算法找到指针所在直线求解,通常伴随很多干扰,得到很多条直线,需要增加格外计算去掉其他不符合条件的干扰信息直线,准确率较低。
76.本发明提供的计算机设备的结构示意,该计算机设备可以是服务器,其内部结构图可以如图15所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内
存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述的优化方法。
77.本领域技术人员可以理解,图15中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
78.本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
79.同时提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
80.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
81.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic randomaccess memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
82.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
技术特征:
1.一种指针式仪表示数的识别方法,其特征在于,包括如下步骤:第一步、获取特定范围内的图像数据,其中,所述图像数据包括至少一个仪表图像作为待检测图像;第二步、对待检测图像先检测四个关键点,再对待检测图像进行矫正;第三步、根据检测到的四个关键点进行透视变换,并输出目标画布,实现图像矫正;第四步、对目标画布采用语义分割,分割出仪表图像指针,并识别指针;第五步、求解语义分割出指针的最小外接矩形;第六步、计算当前最小外接矩形坐标点和角度,根据求解得到的旋转角度,再根据仪表量程,求解当前示数。2.如权利要求1所述的识别方法,其特征在于,所述待检测图像由巡检机器人或者固定的摄像头获取指针式仪表的图像。3.如权利要求1所述的识别方法,其特征在于,采用深度学习模型yolov5模型,在矩形仪表盘上检测四个关键点。4.如权利要求1所述的识别方法,其特征在于,透视变换基于opencv,读取四个关键点的坐标数组,计算变换矩阵,根据变换矩阵对待检测图像进行透视变换,并得到只有表盘部分的裁剪后图像,作为输出目标画布。5.如权利要求1所述的识别方法,其特征在于,语义分割采用deeplabv3+模型,deeplabv3+模型包括encoder-decoder模型,该encoder-decoder模型的encoder部分包括backbone和aspp,其中aspp采用池化层获取目标画布多尺度特征,encoder-decoder模型的decoder部分接受来自backbone中间层的低级特征图和来自aspp的输出作为输入,将backbone输出的低级特征图进行通道降维,将aspp输出特征图进行插值上采,将两种所得特征图拼接进行卷积处理,再进行线性插值上采样,分割出仪表图像指针。6.如权利要求1所述的识别方法,其特征在于,由识别的指针,利用opencv算法中的minarearect函数算法,得到指针的最小外接矩形,设函数输出旋转角度为a,仪表量程为r,仪表最大角度为90
°
,仪表当前示数为n,当前示数的计算公式为n = (r/90)a。7.如权利要求6所述的识别方法,其特征在于,所述得到指针的最小外接矩形包括步骤:(1)、建立二维向量坐标系,确定凸包方向,用于旋转角度和距离的计算;(2)、找到四个对踵点,这四个点分别是最左、最上、最右、最下四个方向上最凸的点;(3)、旋转原始多边形按照某一点旋转,遍历-90
°
到90
°
,求解旋转每个读数后的多边形的简单外接矩形,记录矩形面积,顶点坐标及此时旋转读数。8.一种指针式仪表示数的识别装置,其特征在于,包括:获取模块,用于获取特定范围内的图像数据,其中,所述图像数据包括至少一个仪表图像作为待检测图像;深度学习模型yolov5,用于对待检测图像先检测四个关键点,再对待检测图像进行矫正;opencv,用于根据检测到的四个关键点进行透视变换,并输出目标画布,实现图像矫正;deeplabv3+模型,用于对目标画布采用语义分割,分割出仪表图像指针,并识别指针;
求解模块,用于求解语义分割出指针的最小外接矩形;输出模块,用于计算当前最小外接矩形坐标点和角度,根据求解得到的旋转角度,再根据仪表量程,求解当前示数。9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述方法的步骤。10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法的步骤。
技术总结
本发明公开了一种指针式仪表示数的识别方法、装置、设备及存储介质,包括在待识别示数图上检测四个关键点;根据检测到的四个关键点进行透视变换,并输出目标画布;对目标画布采用语义分割,分割出仪表图像指针,并识别指针;求解语义分割出指针的最小外接矩形;计算当前最小外接矩形坐标点和角度,根据求解得到的旋转角度,再根据仪表量程,求解当前示数。本发明先用深度学习的目标检测方法准确找到仪表图像的四个关键点,用opencv中的透视变换算法矫正仪表图像;再利用深度学习的语义分割模型,将矫正后的指针式仪表图像,只分割出指针;由于图像是矫正后的,可以直接求解指针外接最小矩形,根据数学公式和仪表量程,直接求解仪表示数。示数。示数。
技术研发人员:何明玉 林炳城 胡德良 何铭潮 叶锋 占志伟 李莉 孙利 宁晓娟 周银华 陈成 李幼峰 张俊强
受保护的技术使用者:广州市扬新技术研究有限责任公司
技术研发日:2023.08.30
技术公布日:2023/10/8
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
