一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于机器视觉的指针仪表读数方法及系统、存储介质

2022-11-14 13:08:28 来源:中国专利 TAG:


1.本发明涉及指针式仪表领域,特别涉及一种基于机器视觉的指针仪表读数方法及系统、存储介质。


背景技术:

2.指针式仪表因结构简单,价格便宜,便于维护等优点,目前广泛应用于电力、交通和居民生活中。指针式仪表的读数一般通过人工读数,但人工读数的精度和速度均容易受自身因素影响。特别是面对一些不适宜人靠近的恶劣环境下的仪表读数问题,更需要一种仪表自动读数技术来取代人工读数。由于机器视觉比人类的生理视觉更具优势,它更加准确、客观和稳定,因而图像识别技术就成为指针式仪表自动读数的重要应用手段。
3.当前很多应用于指针自动读数的经典方法中,精度容易受各种因素影响,比如光照不均、仪表表面刻度图像部分被污染、摄像机安装角度等等。传统的基于图像识别的指针式仪表自动读数算法,例如,sift算法读数,需要在理想环境下进行的,容易受光照不均、仪表表面刻度图像部分被污染、摄像机安装角度等因素影响,使读数精度大大降低。很多情况下,仪表安装的环境都不较理想。因此,亟需一种即使在恶劣环境下依然能正确读数的指针仪表算法。


技术实现要素:

4.鉴于以上技术问题,本发明的目的在于提供一种基于机器视觉的指针仪表读数方法及系统、存储介质,解决传统的基于图像识别的指针式仪表自动读数算法在恶劣环境下无法正确读数的问题。
5.本发明采用以下技术方案:一种基于机器视觉的指针仪表读数方法,包括以下步骤:获取模板仪表正面的第一图像与待测仪表正面的第二图像;基于所述第一图像和所述第二图像,计算仿射变换矩阵;其中,所述仿射变换矩阵表征第二图像相对于第一图像的位置映射关系;根据所述仿射变换矩阵,对第二图像进行校正,得到第三图像;通过图像分割算法从所述第三图像中分割出指针图像,根据所述指针图像,得到指针图像中的特征直线;根据所述特征直线,得到指针读数。
6.优选的,所述基于所述第一图像和所述第二图像,计算仿射变换矩阵,包括:通过superpoint算法分别提取出第一图像的第一特征点、第一描述符、第一分数,以及第二图像的第二特征点、第二描述符、第二分数;基于所述第一特征点、第一描述符、第一分数,以及第二特征点、第二描述符、第二分数,通过superglue算法计算所述第一图像和所述第二图像的匹配点对;基于所述匹配点对,通过opencv函数计算得到仿射变换矩阵。
7.优选的,所述根据所述仿射变换矩阵,对第二图像进行校正,得到第三图像,包括:基于所述仿射变换矩阵,通过warpaffine函数计算第二图像的映射图像,并根据第一图像的尺寸参数截取所述映射图像的尺寸参数,得到对第二图像进行校正后的第三图像。
8.优选的,所述通过图像分割算法从所述第三图像中分割出指针图像,根据所述指针图像,得到指针图像中的特征直线,包括:通过u2net网络从所述第三图像中分割出指针图像,通过ransac算法计算出所述指针图像中的特征直线。
9.优选的,所述根据所述特征直线,得到指针读数,包括:获取第一图像中第一指针圆心位置、第一最低刻度位置、第一最高刻度位置;根据所述第一指针圆心位置、第一最低刻度位置、第一最高刻度位置以及仿射变换矩阵,得到第二图像的第二指针圆心位置、第二最低刻度位置、第二最高刻度位置;根据指针图像中的特征直线、待识别仪表图像的第二指针圆心位置、第二最低刻度位置和第二最高刻度位置,确定指针指向、最低刻度指向和最大刻度指向;根据所述指针指向、最低刻度指向和最大刻度指向,计算出指针读数。
10.优选的,所述指针读数满足以下公式:指针读数=;其中,θ为根据指针指向、最低刻度指向和最大刻度指向计算出的指针摆角;β为指针量程;b为指针的最低刻度;
ɑ
为指针由最低刻度摆向至最大刻度时的摆角。
11.优选的,还包括:根据第一图像得到第一掩码,将所述第一掩码中除模板仪表外的图像像素位置以及指针图像像素位置均标记为0,其他像素位置标记为1,在通过superpoint算法提取第一图像的第一特征点、第一描述符、第一分数时,屏蔽第一掩码中标记为0对应的图像像素。
12.一种基于机器视觉的指针仪表读数系统,包括:图像获取单元,用于获取模板仪表正面的第一图像与待测仪表正面的第二图像;检测匹配单元,用于基于所述第一图像和所述第二图像,计算仿射变换矩阵;其中,所述仿射变换矩阵表征第二图像相对于第一图像的位置映射关系;校正单元,用于根据所述仿射变换矩阵,对第二图像进行校正,得到第三图像;分割检测单元,用于通过图像分割算法从所述第三图像中分割出指针图像,并根据所述指针图像,得到指针图像中的特征直线;读数单元,用于根据所述特征直线,得到指针读数。
13.一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行所述的基于机器视觉的指针仪表读数方法。
14.一种计算机存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时,实现所述的基于机器视觉的指针仪表读数方法。
15.相比现有技术,本发明的有益效果在于:本发明通过获取模板仪表正面的第一图像与待测仪表正面的第二图像;基于所述第一图像和所述第二图像,计算仿射变换矩阵;其中,所述仿射变换矩阵表征第二图像相对
于第一图像的位置映射关系;根据所述仿射变换矩阵,对第二图像进行校正,得到第三图像;通过图像分割算法从所述第三图像中分割出指针图像,根据所述指针图像,得到指针图像中的特征直线;根据所述特征直线,得到指针读数,通过基于深度学习的算法对指针进行读数,由于基于深度学习的方法对环境鲁棒性最好,利用深度学习领域技术来解决仪表自动读数问题,即使在恶劣环境,如光照不均、仪表表面刻度图像部分被污染、摄像机安装角度不一等时,仍能取得较准确的读数,而且通过仿射变换矩阵,对第二图像进行校正,得到第三图像后再进行指针图像分割,精准效果优于传统的仪表算读数算法;进一步的,通过选用u2net网络分割出指针图像,相对于经典unet网络,可增加多尺度能力,对细小指针图像的分割效果更好;通过选用ransac算法找出指针图像中间特征直线,就算在极复杂环境下,前面分割效果不够理想时,指针直线定位效果依然能优于经典的最小二乘法,进一步增加了读数的精准性。
附图说明
16.图1为本发明一实施例提供的一种基于机器视觉的指针仪表读数方法的流程示意图;图2为本发明一实施例提供的一种基于机器视觉的指针仪表读数系统的示意图;图3为本发明一实施例提供的一种电子设备的结构示意图。
具体实施方式
17.下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例:实施例一:请参照图1-3所示,如图1所示的一种基于机器视觉的指针仪表读数方法,包括以下步骤:步骤s1:获取模板仪表正面的第一图像与待测仪表正面的第二图像;在本实施例中,第一图像用于对第二图像进行匹配与校正,在具体实施时,可以通过模板库制作,具体步骤如下:对模板仪表正面进行图像采集拍照,图像中的仪表需与待识别的仪表属于同种类型,其中,拍照图片记录为im;然后,对图片im进行裁剪,仅保留模板仪表正面图像,记im1,作为第一图像。
18.在本实施例中,第二图像可通过对待识别仪表采集拍照后进行图片处理得到,也可通过对待识别仪表拍摄的视频进行处理得到,具体处理可包括:对视频流解码、图像尺寸归一化等处理。
19.在具体处理时,可设定包含待识别仪表的图像的分析区域,由用户指定分析的区域,即仪表在图像中可能出现的范围区域。
20.步骤s2:基于所述第一图像和所述第二图像,计算仿射变换矩阵;其中,所述仿射变换矩阵表征第二图像相对于第一图像的位置映射关系;优选的,所述基于所述第一图像和所述第二图像,计算仿射变换矩阵,包括:
步骤s21:通过superpoint算法分别提取出第一图像的第一特征点、第一描述符、第一分数,以及第二图像的第二特征点、第二描述符、第二分数;具体的,通过superpoint算法提取特征点、描述符、分数的步骤(其中提取出第一图像或第二图像的特征点、描述符、分数原理步骤相同)包括:输入第一图像(或第二图像),若输入图像尺寸为h*w*1,则将图像传入一个简单的vgg类模型网络,网络输出的特征图尺寸为h/8*w/8*128,记为ie;将ie传入关键点检测的解码网络,维度由原128降为65,再经过softmax变换后,去掉第65层,得到特征图尺寸为h/8*w/8*64,最后将尺寸reshape回原图像尺寸h*w*1,得到与输入图像尺寸相同的特征图,记为is;对is进行去噪处理;先用非极大值抑制算法nms处理,半径像素选用4,得到i
s1
;接着将i
s1
距离边界4个像素内的值设置为0,得到得分矩阵i
s2
;设定阈值对i
s2
进行二值化,阈值取0.005,记二值化的结果为it,it中非0的像素位置即为关键点位置,记这些位置的二维点集合为k;将ie传入描述符提取的解码网络,维度由原128升为256,得到特征图为h/8*w/8*256,再进行双线性插值得到尺寸为h*w*256的特征图,最后对通道维度进行l2归一化操作,记结果为id,其中维度为h*w*256;由二维点集k,根据位置信息对应从s25中的id取出,得到关键点对应的描述符向量,记得到的特征描述符集合为d;同理,根据位置信息对应从得分矩阵i
s2
取出对应值,记得到的分数集合为s;优选的,本发明的还包括:根据第一图像得到第一掩码,将所述第一掩码中除模板仪表外的图像像素位置以及指针图像像素位置均标记为0,其他像素位置标记为1,在通过superpoint算法提取第一图像的第一特征点、第一描述符、第一分数时,屏蔽第一掩码中标记为0对应的图像像素,通过屏蔽掉对mm像素位置为0的部分进行检测,一定程度上可减少后续步骤的误匹配点对。
21.步骤s22:基于所述第一特征点、第一描述符、第一分数,以及第二特征点、第二描述符、第二分数,通过superglue算法计算所述第一图像和所述第二图像的匹配点对;具体的,包括:在本步骤中,第一特征点、第一描述符、第一分数,分别记为k1、d1、s1;第二特征点、第二描述符、第二分数,分别记为k0、d0、s0;将包含特征点的位置和特征向量进行编码,对第二图像的k0、s0连接成列为3的向量,记为p0,行数为关键点数量; 传入mlp编码网络,得到维度为256的特征向量,然后与d0相加,即得到位置和特征向量的编码,记为x0;对第一图像,同理得到其位置和特征向量的编码,记为x1;将x0、x1传入自注意力网络与交叉注意力网络,利用自我注意力以及交叉注意力来回增强9次,得到具有特征匹配性能的向量,分别记为f0、f1;将f0、f1传入最优匹配层,通过计算特征匹配向量的内积得到匹配度得分矩阵,然后通过sinkhorn算法,迭代20次,解算出最优特征分配矩阵p,通过固定阈值选出匹配点对,阈值取0.2,匹配点对中,第二图像、第一图像的关键点集合分别记为m0,m1;需要说明的是,superglue算法是一种特征匹配网络,它的输入是2张图像中特征
点以及描述子(手工特征或者深度学习特征均可),输出是图像特征之间的匹配关系。整个框架由两个主要模块组成:注意力gnn以及最优匹配层。其中注意力gnn将特征点以及描述子编码成为一个向量(该向量可以理解为特征匹配向量),随后利用自我注意力以及交叉注意力来回增强(重复 l 次)这个向量 f 的特征匹配性能;随后进入最优匹配层,通过计算特征匹配向量的内积得到匹配度得分矩阵,然后通过sinkhorn算法(迭代 t 次)解算出最优特征分配矩阵。
22.步骤s23:基于所述匹配点对,通过opencv函数计算得到仿射变换矩阵。
23.在本步骤中,将匹配点对m0,m1,代入opencv的函数getaffinetransform得到仿射变换矩阵af。
24.优选的,参数选用ransac算法来过滤误匹配点。
25.需要说明的是,superpoint算法是一种基于深度学习的自监督特征点检测算法,采用编码解码的方式,提取特征点和计算描述子是两个网络,编码部分共用一个网络(就是简单的卷积池化,三次池化后,将图片分辨率降为h/8 * w/8,通道数为128),之后各自使用自己的网络。
26.步骤s3:根据所述仿射变换矩阵,对第二图像进行校正,得到第三图像;优选的,所述步骤s3包括:基于所述仿射变换矩阵,通过warpaffine函数计算第二图像的映射图像,并根据第一图像的尺寸参数截取所述映射图像的尺寸参数,得到对第二图像进行校正后的第三图像。
27.在本步骤中,利用opencv中warpaffine函数计算第二图像通过仿射变换矩阵af的映射,尺寸参数采用模板图像尺寸,得到的图像为校正结果图像,记为ic。
28.步骤s4:通过图像分割算法从所述第三图像中分割出指针图像,根据所述指针图像,得到指针图像中的特征直线;在具体实施时,通过u2net网络从所述第三图像中分割出指针图像,通过ransac算法计算出所述指针图像中的特征直线。
29.在上述实现过程中,通过选用u2net网络分割出指针图像,相对于经典unet网络,可增加多尺度能力,对细小指针图像的分割效果更好;通过选用ransac算法找出指针图像中间特征直线,就算在极复杂环境下,前面分割效果不够理想时,指针直线定位效果依然能优于经典的最小二乘法。
30.具体的,将校正结果图像ic,传入u2net网络的4个编码网络;每个编码网络为rus(residual u-blocks)结构,每个rsu的层数随着encoder的层数的增加而减少,4个编码网络即en_1、en_2、en_3、en_4使用的分别是rsu-7、rsu-6、rsu-5、rsu-4;然后,对编码进行解码操作,每个解码器阶段将来自其前一阶段的上采样特征图和来自其对称编码器阶段的上采样特征图的连接作为输入;然后,输出概率图,通过一个由3*3的卷积层和一个sigmoid函数组成en_6,与de_5、de_4、de_3、de_2和de_1解码器输出,均映射到输入图像大小,然后通过concat操作进行融合,最后是1*1卷积层和sigmoid函数,得到最终输出概率图,记为iu;接着,对概率图进行二值化,阈值取0.5,得到指针图像掩码,记为im;对二维的图像掩码矩阵im,采用随机抽样一致ransac算法,计算掩码图像中心直线。
31.具体的,随机抽样一致算法步骤如下:随机取掩码im非零像素中的两点,连线直线为l; 计算其他非零点到直线l距离,距离在2个像素以内的,认为在线上,记录线上点集为e;再次随机取掩码im非零像素中的两点,连线直线为l1,线上点集为e1,如果点集e1个数大于点集e,则旧模型点被新模型点取代;继续随机抽取两点作为模型,直到线上点数量不再增加为止,记录此时的模型点直线为l
p
,点集为e
p
,直线l
p
即为指针图像中的特征直线;步骤s5:根据所述特征直线,得到指针读数。
32.优选的,所述步骤s5具体包括:步骤s51:获取第一图像中第一指针圆心位置、第一最低刻度位置、第一最高刻度位置;在本步骤中,第一图像中第一指针圆心位置、第一最低刻度位置、第一最高刻度位置,即为模板仪表的指针圆心lo、最低刻度lmin、最高刻度lmax,将板仪表的指针圆心lo、最低刻度lmin、最高刻度lmax变为齐次坐标。
33.步骤s52:根据所述第一指针圆心位置、第一最低刻度位置、第一最高刻度位置以及仿射变换矩阵,得到第二图像的第二指针圆心位置、第二最低刻度位置、第二最高刻度位置;在本步骤中,所述第一指针圆心位置、第一最低刻度位置、第一最高刻度位置,通过变换矩阵af的逆矩阵,左乘得到第二图像中对应的三个位置,分别记为lo1、lmin1、lmax1;步骤s53:根据指针图像中的特征直线、待识别仪表图像的第二指针圆心位置、第二最低刻度位置和第二最高刻度位置,确定指针指向、最低刻度指向和最大刻度指向;在本步骤中,确定指针指向的步骤具体包括:过圆心lo1作直线l2与指针直线l
p
垂直,垂足为o;取l
p
上的一点a,如果点a与点集e
p
中多数点分布在l2的同一侧中,则oa方向为指针指向,否则ao方向为指针指向;记指针指向为ob。
34.步骤s54:根据所述指针指向、最低刻度指向和最大刻度指向,计算出指针读数。
35.其中,所述指针读数满足以下公式:指针读数=
ꢀꢀ
;其中,θ为根据指针指向、最低刻度指向和最大刻度指向计算出的指针摆角;β为指针量程;b为指针的最低刻度;
ɑ
为指针由最低刻度摆向至最大刻度时的摆角。
36.在上述实现过程中,本发明通过获取模板仪表正面的第一图像与待测仪表正面的第二图像;基于所述第一图像和所述第二图像,计算仿射变换矩阵;其中,所述仿射变换矩阵表征第二图像相对于第一图像的位置映射关系;根据所述仿射变换矩阵,对第二图像进行校正,得到第三图像;通过图像分割算法从所述第三图像中分割出指针图像,根据所述指针图像,得到指针图像中的特征直线;根据所述特征直线,得到指针读数,通过基于深度学习的算法对指针进行读数,由于基于深度学习的方法对环境鲁棒性最好,利用深度学习领域技术来解决仪表自动读数问题,即使在恶劣环境,如光照不均、仪表表面刻度图像部分被污染、摄像机安装角度不一等时,仍能取得较准确的读数,而且精准效果优于传统的基于sift算法的仪表读数。
37.实施例二:
下面以具体实施例对本发明的方法进行说明,其中,待测图像指待识别仪表的图像(即第二图像),模板图像指模板仪表的图像(即第一图像);具体包括:1.预处理:具体包括图像处理、分析区域限定、模板库制作,为后续模块准备好数据;1)对模板仪表正面进行图像采集拍照,图像中的模板仪表需与待识别的仪表同种类型,记拍照图片为im;2)对im进行裁剪,仅保留模板仪表正面图像,记i
m1
;3)对i
m1
制作一掩码mm,其中模板仪表外的图像像素与指针图像像素位置取0,其他像素位置为1;4)记录i
m1
图像中仪表指针圆心、最低刻度、最高刻度三点位置作为先验知识,分别记为lo,l
min
,l
max
;2.检测图像中具有稳定特征的位置点;采用superpoint的算法进行关键点检测与描述符提取,算法步骤如下:1)记输入图像尺寸为h*w*1,将图像传入一个简单的vgg类模型网络,网络输出的特征图尺寸为h/8*w/8*128,记为ie;2)将ie传入关键点检测的解码网络,维度由原128降为65,再经过softmax变换后,去掉第65层,得到特征图尺寸为h/8*w/8*64,最后将尺寸reshape回原图像尺寸h*w*1,得到与输入图像尺寸相同的特征图,记为is;3)对is进行去噪处理;先用非极大值抑制算法nms处理,半径像素选用4,得到is1;接着将i
s1
距离边界4个像素内的值设置为0,得到得分矩阵i
s2
;4)设定阈值对i
s2
进行二值化,阈值取0.005,记二值化的结果为it,it中非0的像素位置即为关键点位置,记这些位置的二维点集合为k;5)将ie传入描述符提取的解码网络,维度由原128升为256,得到特征图为h/8*w/8*256,再进行双线性插值得到尺寸为h*w*256的特征图,最后对通道维度进行l2归一化操作,记结果为id,其中维度为h*w*256;6)由二维点集k,根据位置信息对应从id取出,得到关键点对应的描述符向量,记得到的特征描述符集合为d;同理,根据位置信息对应从得分矩阵i
s2
取出对应值,记得到的分数集合为s;3.找出待测图像与模板图像中的匹配点对;采用superglue算法,算法步骤如下:1)利用待测图像的特征点、描述符、分数,分别记为k0、d0、s0;同理,对模板图像得到k1、d1、s1;需要说明的是,对模板图像的关键点检测,会根据掩码mm,屏蔽掉对mm像素位置为0的部分进行检测,一定程度上可减少后续的误匹配点对;2)将特征点的位置和特征向量编码。对待测图像,将k0,s0连接成列为3的向量,记为p0,行数为关键点数量; 传入mlp编码网络,得到维度为256的特征向量,然后与d0相加,即得到位置和特征向量的编码,记为x0;对模板图像,同理得到其位置和特征向量的编码,记为x1;3)将x0、x1传入自注意力网络与交叉注意力网络,利用自我注意力以及交叉注意力来回增强9次,得到具有特征匹配性能的向量,分别记为f0、f1;
4)将f0、f1传入最优匹配层,通过计算特征匹配向量的内积得到匹配度得分矩阵,然后通过sinkhorn算法,迭代20次,解算出最优特征分配矩阵p,通过固定阈值选出匹配点对,阈值取0.2,匹配点对中,待测图像、模板图像的关键点集合分别记为m0/m1;4.根据匹配点对算出仿射变换矩阵,利用仿射变换变换校正待读数的指针图像,具体步骤如下:1)由匹配点对m0、m1,代入opencv的函数getaffinetransform得到仿射变换矩阵af,参数选用ransac算法来过滤误匹配点;2)利用opencv中warpaffine函数计算待测图像通过仿射变换矩阵af的映射,尺寸参数取模板图像尺寸,得到的图像为校正结果图像,记为ic;需要说明的是,getaffinetransform函数主要用于生成仿射变换矩阵,由于一个任意的仿射变换都能表示为乘以一个矩阵(线性变换) 接着再加上一个向量 (平移)。因此,我们能够用仿射变换来表示:旋转(线性变换)平移 (向量加);缩放操作(线性变换);事实上, 仿射变换代表的是两幅图之间的关系。
38.5.进行指针图像分割与指针特征直线检测:选用u2net网络分割出指针图像,该网络相对于经典unet网络,增加多尺度能力,对细小指针图像的分割效果更好;接着选用ransac算法找出指针图像中间特征直线,就算在极复杂环境下,前面分割效果不够理想时,指针直线定位效果依然能优于经典的最小二乘法。算法步骤如下:1 )将得到的校正结果图像ic,传入u2net网络的4个编码网络;每个编码网络为rus(residual u-blocks)结构,每个rsu的层数随着encoder的层数的增加而减少,4个编码网络即en_1、en_2、en_3、en_4使用的分别是rsu-7、rsu-6、rsu-5、rsu-4;2)将编码进行解码操作,每个解码器阶段将来自其前一阶段的上采样特征图和来自其对称编码器阶段的上采样特征图的连接作为输入;3)进行概率图融合,得到最终输出概率图。通过一个由3*3的卷积层和一个sigmoid函数组成en_6,与de_5、de_4、de_3、de_2和de_1解码器输出,均映射到输入图像大小,然后通过concat操作进行融合,最后是1*1卷积层和sigmoid函数,得到最终输出概率图,记为iu;4)对概率图进行二值化,阈值取0.5,得到指针图像掩码,记为im;5)对二维的图像掩码矩阵im,采用随机抽样一致ransac算法,计算掩码图像中心直线,随机抽样一致算法步骤如下:51)随机取掩码im非零像素中的两点,连线直线为l;52) 计算其他非零点到直线l距离,距离在2个像素以内的,认为在线上,记录线上点集为e;53)再次随机取掩码im非零像素中的两点,连线直线为l1,线上点集为e1,如果点集e1个数大于点集e,则旧模型点被新模型点取代;54)继续随机抽取两点作为模型,直到线上点数量不再增加为止,记录此时的模型点直线为l
p
,点集为e
p
,直线l
p
也即为指针图像中的特征直线;6.计算待测图像的最终读数结果,具体步骤如下:1)将模板仪表的指针圆心lo、最低刻度l
min
、最高刻度l
max
,变为齐次坐标,计算仿
射变换矩阵af的逆矩阵,左乘得到待测图像中对应的三个位置,分别记为l
o1
,l
min1
,l
max1
;2)确定指针指向,算法步骤如下:21)过圆心l
o1
作直线l2与指针直线l
p
垂直,垂足为o;22)取l
p
上的一点a,如果点a与点集e
p
中多数点分布在l2的同一侧中,则oa方向为指针指向,否则ao方向为指针指向;记指针指向为ob;23)指针指向ob、最低刻度指向ol
min1
,最大刻度指向ol
max1
,利用atan2函数算出对应角度,记指针摆角为θ,指针由最小刻度摆向至最大刻度时的摆角为
ɑ
,指针量程为β,最小刻度为b,则指针最终读数为: 。
39.在上述实现过程中,通过基于深度学习的关键点检测算法与匹配算法,求出待识别图像与模板背景图像的匹配关系,再通过仿射变换校正待识别图像中的仪表图像,最后通过基于深度学习的图像分割算法u2net分割出指针,由角度法算出最终读数,由于基于深度学习的方法对环境鲁棒性最好,利用深度学习领域技术来解决仪表自动读数问题,即使在环境恶劣情况下,依然能获取较好的读数效果,具有良好的市场前景。
40.实施例三:请参照图2所示,如图2所示的一种基于机器视觉的指针仪表读数系统,包括:图像获取单元,用于获取模板仪表正面的第一图像与待测仪表正面的第二图像;检测匹配单元,用于基于所述第一图像和所述第二图像,计算仿射变换矩阵;其中,所述仿射变换矩阵表征第二图像相对于第一图像的位置映射关系;校正单元,用于根据所述仿射变换矩阵,对第二图像进行校正,得到第三图像;分割检测单元,用于通过图像分割算法从所述第三图像中分割出指针图像,并根据所述指针图像,得到指针图像中的特征直线;读数单元,用于根据所述特征直线,得到指针读数。
41.实施例三:图3为本技术实施例提供的一种电子设备的结构示意图,在本技术中可以通过图3所示的示意图来描述用于实现本技术实施例的本发明一种基于机器视觉的指针仪表读数方法的电子设备100。
42.如图3所示的一种电子设备的结构示意图,电子设备100包括一个或多个处理器102、一个或多个存储装置104,这些组件通过总线系统和/或其它形式的连接机构(未示出)互连。应当注意,图3所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备可以具有图3示出的部分组件,也可以具有图3未示出的其他组件和结构。
43.所述处理器102可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制所述电子设备100中的其它组件以执行期望的功能。
44.所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质
上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本技术实施例中(由处理器实现)的功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
45.本发明还提供一种计算机存储介质,其上存储有计算机程序,本发明的方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在该计算机存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机存储介质不包括电载波信号和电信信号。
46.对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献