论文部分内容阅读
摘要:本文研究的是基于机器视觉、模式识别对指针式温湿度计读数的识别方法。为了提升识别精度,本文提出了一种旋转检测连通域的方法,并将其应用在指针仪式表检测中,可以把识别精度控制在一个刻度之内。该算法具有较好的鲁棒性、准确率,实用性也很强。
关键词:指针式温湿度计;读数识别;机器视觉;模式识别;旋转检测连通域。
0 引言
得益于机器视觉在效率和自动化方面的优势,一些学者在指针式仪表机器视觉检测方法方面做了许多建设性的研究和应用,其中利用指针偏转的角度计算读数的方案占大多数,这种方案一旦仪表位置发生偏转,或指针圆心存在误差等,都会导致读数误差增大。陈树等在利用K-Means聚类算法提取刻度轮廓基础上,用刻度轮廓质心拟合圆,将刻度圆环全景展开,细化指针并检测出直线方程,最后通过直线和圆环交点识别读数,这种方法一定程度上提高了仪表检测系统的鲁棒性[1],但是其过程中,运用K-Means聚类算法会增大计算量;将刻度全景展开会造成图像扭曲现象[2];细化指针、Hough变换都会因采集图像的质量、光源等因素受到不同程度的影响。本文利用表盘空间位置直接截取仪表刻度,并且提出一种新的连通域检测方法用于对每个刻度按照顺序标号,通过指针指向与刻度标号之间的距离数值直接判断读数,将误差限制在一个刻度以内。
找到表盘圆心是各类检测方法的关键,然而本文提出的方案对圆心位置的准确度没有特别精细的要求,故对圆心的确定问题不在赘述。
1 一种新的连通域检测方法——旋转检测连通域
本文为了对环绕在表盘边缘的刻度进行排序,提出了旋转检测连通域的方法。如图1,首先将圆盘以O为圆心均分成若干角度为α的扇形,α要足够小,满足最宽处(p到p'的距离)不超过一个像素。然后步骤如下:
(1)按照顺时针(如图1箭头方向)从①开始逐个扇形扫描图像,把每一扇形区域中连续的白色像素组成一个集合,并记下它的起点、它的终点以及所在行数。然后从1号开始按照数字顺序标注每个集合。
(2)对于除了第一个扇形外的所有行里的集合,如果它与前一扇形中的所有集合都没有重合区域,则给它一个新的标号;如果它仅与上一扇形中一个集合有重合区域,则将上一扇形的那个集合的标号赋给它;如果它与上一扇形的2个以上的集合有重叠区域,则给当前集合赋一个相连集合的最小标号,并将上一扇形的这几个集合的标记写入等价对,说明它们属于一类。
(3)以上述方法遍历整个区域,将各个集合的标号赋值给该集合每个像素。
2 图像截取、去燥,二值化
采集原图经过截取,图像去燥、二值化。设左为x轴方向,上为y轴方向。在图中找到指针不动点,即所谓圆心O,指针末尾端点P。
3 截取刻度盘
截取图像需要检测的区域,并取反。根据图像先验知识,设置一个起始点S,一个终止点F,则起始点角度为θ1,终止点角度为θ2。
因为刻度盘区域是以O为圆心的带状圆弧,则选择适当长度的半径R1,R2,使选定区域限定在该区域内。令截取范围内像素点的值不改变,其他像素点的值置为0。
4 表盘刻度标号
在第三步中,已经对刻度盘进行了截取,且每个刻度是一个单独的实心连通域,故这里可以对前文提出的旋转连通域检测方法进行简化,如图1,将圆盘以O为圆心均分成若干角度为α的扇形①②④。为了减少计算量,α只需满足小于两个距离最小的相邻刻度之间角度之差的二分之一。③是要检测的刻度,实际情况是像素值为1的白色区域。设kn是刻度的标号,初始k0=0。简化后的步骤如下:
(1)按图中箭头方向从①开始逐个扇形扫描图像,①中没有像素值为1的点,k=0不变;
(2)扫描扇形区域②,③的一部分像素在区域②中,即②中值为1的像素个数大于0,且上一个扇形①中值为1的像素个数等于0,则k1=k0+1,将k1赋值给扇形区域②中值为1的像素点;
(3)扫描扇形区域④,③的一部分像素在区域④中,即④中值为1的像素个数大于0,且上一个扇形②中值为1的像素个数大于0,则刻度的标号保持k1不变,将k1赋值给扇形区域④中值为1的像素点;
(4)继续扫描下一个扇形区域,当正在扫描的扇形区域的白色像素点个数为0时,继续扫描下一个,不执行其他操作;而当正在扫描的扇形区域的白色像素点个数大于0,该刻度的标号为前一个标号加1,即kn=kn-1+1,同时将kn赋值给该区域中值为1的像素点。以上述方法遍历整个区域。
5 读数
根据先前已经确定的指针末尾端点P与最相近两个刻度的位置关系,确定最后的读数。首先确定表盘的刻度数目n,由上述方法检测得出的连通域个数k。求出除指针端点所在连通域外其他连通域的质心,这就要求在截取表盘刻度的操作时将所有刻度切成统一长度,以免质心坐标过度偏离圆弧造成读数误差。然后找出与指针端点P所在连通域相邻的两个连通域的质心,分别记为A和B,A是位置靠前的点,所在连通域标号为kA,P到A、B的距离记为LA、LB,当k=n时,图像中指针与刻度发生重合;当 k=n+1时,指针在刻度之间;当k=n-i时,i为大于0的正整数,则指针与刻度发生黏连。故
其中Degree为读数,μ是起始刻度对应的读数。若以本文的实验对象μ=-10为例,经检测k=55,n=56,即k=n-1。P所在连通域标号为33,将值为33的像素点画出来,如图8所示,可知指针图像将两个相邻刻度连接了起来,起始读数,kA=22,计算得 ,则读数 。
6 结语
本文提出的通过旋转检测连通域的方法进行对指针式仪表的检测,相对以往的检测的方法有效地减小了误差。在实际的温湿度仪表檢测中,该检测算法可以稳定的将误差缩小在一个刻度之内,系统鲁棒性优秀,实用性强。
参考文献:
[1]陈树,王磊.基于机器视觉的指针式仪表检测方法[J].计算机与数字工程,2016,44(9):1821-1826.
[2]龚小林,田向阳.全景视觉还原算法分析与应用[J].计算机技术与发展,2014,24(6):233-235.
作者简介:徐亚超,出生年1992,汉,山东泰安,研究生,山东科技大学,研究方向:机器视觉与模式识别
钱广秀,出生年1992,汉,山东菏泽,研究生,山东科技大学,研究方向:对抗性网络
关键词:指针式温湿度计;读数识别;机器视觉;模式识别;旋转检测连通域。
0 引言
得益于机器视觉在效率和自动化方面的优势,一些学者在指针式仪表机器视觉检测方法方面做了许多建设性的研究和应用,其中利用指针偏转的角度计算读数的方案占大多数,这种方案一旦仪表位置发生偏转,或指针圆心存在误差等,都会导致读数误差增大。陈树等在利用K-Means聚类算法提取刻度轮廓基础上,用刻度轮廓质心拟合圆,将刻度圆环全景展开,细化指针并检测出直线方程,最后通过直线和圆环交点识别读数,这种方法一定程度上提高了仪表检测系统的鲁棒性[1],但是其过程中,运用K-Means聚类算法会增大计算量;将刻度全景展开会造成图像扭曲现象[2];细化指针、Hough变换都会因采集图像的质量、光源等因素受到不同程度的影响。本文利用表盘空间位置直接截取仪表刻度,并且提出一种新的连通域检测方法用于对每个刻度按照顺序标号,通过指针指向与刻度标号之间的距离数值直接判断读数,将误差限制在一个刻度以内。
找到表盘圆心是各类检测方法的关键,然而本文提出的方案对圆心位置的准确度没有特别精细的要求,故对圆心的确定问题不在赘述。
1 一种新的连通域检测方法——旋转检测连通域
本文为了对环绕在表盘边缘的刻度进行排序,提出了旋转检测连通域的方法。如图1,首先将圆盘以O为圆心均分成若干角度为α的扇形,α要足够小,满足最宽处(p到p'的距离)不超过一个像素。然后步骤如下:
(1)按照顺时针(如图1箭头方向)从①开始逐个扇形扫描图像,把每一扇形区域中连续的白色像素组成一个集合,并记下它的起点、它的终点以及所在行数。然后从1号开始按照数字顺序标注每个集合。
(2)对于除了第一个扇形外的所有行里的集合,如果它与前一扇形中的所有集合都没有重合区域,则给它一个新的标号;如果它仅与上一扇形中一个集合有重合区域,则将上一扇形的那个集合的标号赋给它;如果它与上一扇形的2个以上的集合有重叠区域,则给当前集合赋一个相连集合的最小标号,并将上一扇形的这几个集合的标记写入等价对,说明它们属于一类。
(3)以上述方法遍历整个区域,将各个集合的标号赋值给该集合每个像素。
2 图像截取、去燥,二值化
采集原图经过截取,图像去燥、二值化。设左为x轴方向,上为y轴方向。在图中找到指针不动点,即所谓圆心O,指针末尾端点P。
3 截取刻度盘
截取图像需要检测的区域,并取反。根据图像先验知识,设置一个起始点S,一个终止点F,则起始点角度为θ1,终止点角度为θ2。
因为刻度盘区域是以O为圆心的带状圆弧,则选择适当长度的半径R1,R2,使选定区域限定在该区域内。令截取范围内像素点的值不改变,其他像素点的值置为0。
4 表盘刻度标号
在第三步中,已经对刻度盘进行了截取,且每个刻度是一个单独的实心连通域,故这里可以对前文提出的旋转连通域检测方法进行简化,如图1,将圆盘以O为圆心均分成若干角度为α的扇形①②④。为了减少计算量,α只需满足小于两个距离最小的相邻刻度之间角度之差的二分之一。③是要检测的刻度,实际情况是像素值为1的白色区域。设kn是刻度的标号,初始k0=0。简化后的步骤如下:
(1)按图中箭头方向从①开始逐个扇形扫描图像,①中没有像素值为1的点,k=0不变;
(2)扫描扇形区域②,③的一部分像素在区域②中,即②中值为1的像素个数大于0,且上一个扇形①中值为1的像素个数等于0,则k1=k0+1,将k1赋值给扇形区域②中值为1的像素点;
(3)扫描扇形区域④,③的一部分像素在区域④中,即④中值为1的像素个数大于0,且上一个扇形②中值为1的像素个数大于0,则刻度的标号保持k1不变,将k1赋值给扇形区域④中值为1的像素点;
(4)继续扫描下一个扇形区域,当正在扫描的扇形区域的白色像素点个数为0时,继续扫描下一个,不执行其他操作;而当正在扫描的扇形区域的白色像素点个数大于0,该刻度的标号为前一个标号加1,即kn=kn-1+1,同时将kn赋值给该区域中值为1的像素点。以上述方法遍历整个区域。
5 读数
根据先前已经确定的指针末尾端点P与最相近两个刻度的位置关系,确定最后的读数。首先确定表盘的刻度数目n,由上述方法检测得出的连通域个数k。求出除指针端点所在连通域外其他连通域的质心,这就要求在截取表盘刻度的操作时将所有刻度切成统一长度,以免质心坐标过度偏离圆弧造成读数误差。然后找出与指针端点P所在连通域相邻的两个连通域的质心,分别记为A和B,A是位置靠前的点,所在连通域标号为kA,P到A、B的距离记为LA、LB,当k=n时,图像中指针与刻度发生重合;当 k=n+1时,指针在刻度之间;当k=n-i时,i为大于0的正整数,则指针与刻度发生黏连。故
其中Degree为读数,μ是起始刻度对应的读数。若以本文的实验对象μ=-10为例,经检测k=55,n=56,即k=n-1。P所在连通域标号为33,将值为33的像素点画出来,如图8所示,可知指针图像将两个相邻刻度连接了起来,起始读数,kA=22,计算得 ,则读数 。
6 结语
本文提出的通过旋转检测连通域的方法进行对指针式仪表的检测,相对以往的检测的方法有效地减小了误差。在实际的温湿度仪表檢测中,该检测算法可以稳定的将误差缩小在一个刻度之内,系统鲁棒性优秀,实用性强。
参考文献:
[1]陈树,王磊.基于机器视觉的指针式仪表检测方法[J].计算机与数字工程,2016,44(9):1821-1826.
[2]龚小林,田向阳.全景视觉还原算法分析与应用[J].计算机技术与发展,2014,24(6):233-235.
作者简介:徐亚超,出生年1992,汉,山东泰安,研究生,山东科技大学,研究方向:机器视觉与模式识别
钱广秀,出生年1992,汉,山东菏泽,研究生,山东科技大学,研究方向:对抗性网络