APP下载

一种基于机器视觉的水表检定装置的研制

2020-04-24张柯朱永宏陆进宇郝霞莉周文辉

机械制造与自动化 2020年2期
关键词:水表读数指针

张柯,朱永宏,陆进宇,郝霞莉,周文辉

(1. 河南省计量科学研究院,河南 郑州 450008; 2. 河南省医疗器械检验所,河南 郑州 450008)

0 引言

机械式冷水水表是居民日常用水的主要计量器具,国家规定,住宅生活用水表在出厂前须强制检定。传统的通过人工读数、人工计算的检定方法存在自动化程度低、人为因素影响大的问题。对此,学者们利用PLC技术和机器视觉技术对原有的检定方式进行自动化改造,以提高读数精度和检定装置的自动化水平。

国内外利用机器视觉对水表读数的方法主要包含计算梅花针转数[1-2 ]和指针读数识别[3-5]。由于梅花针转速高,视觉检定过程中,摄像机容易出现失帧的情况导致读数误差,因此,研究主要集中在指针读数识别。BELAN[6]等人利用 Bresenham 画线法提取指针直线,其检测直线的效率与霍夫变换法相比提高了45%。汤思孟[7]等人采用一种基于动态视频图像处理和模式识别算法的水表快速自动检定技术获取水表读数。吕露[8]提出了一种基于 SVM 分类器加 HOG 特征的指针式水表读数自动识别方案。但是对于水表指针存在大气泡的干扰,检定算法的实时性差等问题,仍需要进一步研究。

本文以检定系统的稳定性和准确性为目标,设计了水表指针识别算法,并结合称重法,研制了一种基于机器视觉的称重法全自动水表检定装置,提高水表检定装置的自动化程度。

1 检定系统的硬件组成

该检定装置由PC工控机、图像采集模块、视觉检定模块、电气控制模块等组成,采用称重法计量标准水量,设计了移动式图像采集平台,由伺服电机带动使相机做直线运动,并在每个水表工位设置光电传感器用于触发相机拍照,实现单个相机完成多工位的水表图像采集,节约了设备成本,并利用PLC实现电磁阀门的自动控制。该检定装置的结构如图1所示。

1—工控机;2— PLC;3—图像采集平台;4—稳压罐;5—电磁阀;6—电子称式储水桶。图1 称重法水表检定装置结构图

2 电气控制方案

本文设计了基于PLC 及人机界面的全自动水表检定装置控制系统,主要负责设备的通讯、逻辑信号控制及伺服电机控制、阀门控制,以实现生产自动化。控制系统总体设计如图2所示。

图2 检定装置控制系统图

3 检定算法

由于水表在生产线上的放置会存在一定的偏差,造成每次子表盘的位置发生变化,导致算法定位的水表子表盘中心位置偏差大。目前主要的解决方法是利用水表的几何结构特征来提高各子表盘中心的定位精度,但在后续利用指针旋转角度进行读数时会造成误差累计。本方案中此处先采用模板匹配的方法对水表图像进行旋转和平移校正,减小图像位置偏差。

方案设计中的水表指针读数包含基于模板匹配图像校正、指针定位、计算指针读数、读数校正等部分,算法流程图如图3所示。

图3 算法流程图

3.1 创建模板

模板的选择需要具有唯一性和方向性,根据这一特征,选择表盘表面的箭形符号作为模板。采用canny算子对图像进行边缘提取,来获取图像的边缘特征点以及边缘点的梯度。

canny算法[9]的基本步骤为:

1) 利用高斯滤波器对图像进行去噪,设二维高斯函数为:

(1)

式中δ为平滑因子,控制着图像的平滑程度。

2) 计算梯度的幅值和方向,水平方向分量为G(x),竖直方向分量为G(y),则边缘梯度幅值和方向为:

(2)

3) 对梯度幅值进行非极大值抑制。为确定边缘必须细化幅值图像中的屋脊带,即保留幅值局部变化最大的点。这一过程叫非极大值抑制(non-maxima suppression, NMS),它会生成细化的边缘。对于传统canny边缘检测,需要检查其梯度方向的两个相邻像素点值,如果小于其值则为非边缘点,将其置为0,否则为边缘点。

4) 双门限检测与边缘连接。经过非极大值抑制后依然会存在虚假边缘,因此为了得到真实的边缘,采用高低阈值对经过非极大值抑制后的图像进行进一步操作。如果该点的像素值大于高阈值则为边缘点,如果该点的像素值小于低阈值则不是边缘点,如果该点的像素值介于两个阈值之间,则继续判断是否是上述边缘点的8邻域点,如果是则是边缘点,否则不是。

最终提取的模板如图4所示。

图4 模板

3.2 模板匹配

设模型由一系列点pi=(xi,yi)T组成的点集,并且每个点的梯度向量为di=(ti,ui)T,i=1,2,…,n。待匹配图像点的方向向量为ex,y=(vx,y,wx,y)。由于待匹配图像上的模板位置是不确定的,因此在进行匹配的时候,需要将模板经过刚性变换,例如平移和旋转。因此变换过的点坐标和方向向量为p'=Ap,d'=Ad,其变换矩阵

(3)

为了获取鲁棒的匹配结果,相似性度量方法必须对遮挡、阴影、非均匀光照具有鲁棒性,因此采用经过变换后的模型点与待匹配图像点的梯度内积和作为相似性判断标准[10]。

(4)

上述的归一化公式能够对遮挡以及极性变化具有鲁棒性。为了能够快速寻找到模板位置,此处一方面利用图像金字塔进行加速,在最顶层金字塔采用穷举法进行查找,当找到大致位置,然后在每一层的邻域位置进行修正,最终得到模板位置。另一方面当进行相似度计算时,为了提高查找速度,在此设置一个阈值,若当前点的得分小于设置阈值,即停止当前位置的计算,这样就能避免后续点的无效计算。其阈值计算公式如下:

(5)

其中:smin为人为设定的最小相似度分数,g为控制匹配速度的因子,smin、g的取值范围为0~1;j为已经计算点的个数;n为中心点周围已经匹配过点的个数。

3.3 指针定位

利用水表指针的颜色信息进行指针提取,采用LRCD方法提取表盘中的红色指针,将红色分量与黑色分量做差。其公式如下:

C=R-Y=0.3R-0.11B

(6)

接着对指针进行二值化,并提取其轮廓,利用最小二乘法[11]进行圆心拟合。由于指针存在较长的尖端部分,因此直接利用最小二乘法所拟合得到的圆精度不高,存在偏差,同时当存在气泡的时候,拟合效果更差。因此提出一种改进的最小二乘法拟合圆心算法,其基本步骤为:

1) 利用最小二乘法进行圆拟合,得到初始圆心;

2) 以初始圆心为中心点,将指针轮廓分为4部分小轮廓;

3) 计算每部分轮廓点到圆心的距离后,再计算距离值的方差;

4) 选取方差最小的轮廓点集作为新的拟合对象,回到步骤1),当新的圆心位置与上次圆心的位置保持基本不变时,则停止运算。

传统最小二乘法拟合效果如图5所示,改进的最小二乘法拟合效果如图6所示。

图5 改进前拟合结果

图6 改进后拟合结果

从图6的拟合结果可得该算法具有更高的拟合精度,且对于存在气泡的水表指针图像仍可以准确定位。

为了确定指针方向,需要明确知道指针所停留的位置。由于指针针尖位置是一个较为明显的角点,为了快速而精确地获取指针位置,采用harris角点检测算法,其角点定义为当图像向任意方向移动微小距离,检测窗口内灰度均会产生剧烈变化,则该点为角点。其原理公式如下:

C(x,y)=∑w[I(xi+Δx,yi+Δy)-I(xi,yi)]2=

(7)

(8)

式中:C(x,y)为灰度变化量;I是图像灰度函数,(xi,yi)表示落在w内点的坐标,w为窗口函数;Ix、Iy为x、y的一阶偏导数;M为图像自相关矩阵,定义角点响应函数。

R=det(M)-k·Tr2(M)

(9)

当R高于设定阈值T时,该点为角点。k为经验常数,一般取0.04~0.06。为了避免其他角点的干扰,将通过圆心到指针尖端的距离作为阈值,进行筛选。

3.4 读数判别

由于经过模板匹配及仿射变换后,子表盘的位置已经确定,因此零点的位置也被确定下来。为了得到指针的读数,采用角度换算间接得到数字信息。通过计算圆心与零点形成的直线和圆心与指针角点形成的连线之间的夹角获得指针的读数。

表1 夹角与读数之间的关系 单位:(°)

角度计算公式如下:

(10)

Num=Floor(angle/36)

(11)

式中:angle为所求的夹角,anglei为指针指向与水平线的夹角,angle0为零刻度直线的角度;Num为最终的指针读数;Floor表示向下取整。利用上式进行判断得到最终的读数。读数的结果如图7所示。

图7 读数结果

4 实验与分析

实物如图8所示。

图8 检定装置实物图

在设备调试阶段,为了验证本文检定系统的准确性和稳定性,对生产数据进行了统计。对 15 个生产班次的水表图像进行人工识别,每个班次人工识别 100 张,对比系统识别的数值。系统的正确识别率如图9所示。

图9 本文检定系统图像识别正确率图

从图9可得:每个班次系统的识别正确率都在94%以上,平均识别正确率为95.8%,具有较高的识别率和稳定性。通过对识别错误的水表图像统计分析发现,这类图像主要由于水表表盘装配时混入了空气,导致检定时表盘有特大气泡覆盖在指针上,造成指针无法清晰成像。可以在水表检定前,通过人为调整降低该情况的发生。经统计,调整后系统的识别正确率保持在98%以上。

对改造后的水表检定装置的产量进行统计,共统计15个生产班次,生产数据如图10所示。

图10 本文检定装置与人工检定法产量对比

从图10可得:改造后的水表检定装置每个班次的水表检定数量都提高了 44 只以上,生产效率得到了提高。

5 结语

设计了一种高效准确的水表检定算法,使用单个相机完成水表图像采集,并结合PLC技术研制了一种新型的称重法水表检定装置。实验结果表明该检定装置具有一定的工程实用价值。

猜你喜欢

水表读数指针
垂悬指针检测与防御方法*
水表检定装置不确定度分析计算的相关思考
防冻水表
读数
读数
为什么表的指针都按照顺时针方向转动
读数
读数
如何提高检定周期内水表的计量准确度
水表在检定周期内超差原因与解决措施