基于机器视觉的水表小流量检定方法研究

2021-11-01 11:39林柯楠黄咏梅
计量学报 2021年9期
关键词:齿数水表像素点

林柯楠, 庄 园, 黄咏梅

(中国计量大学 计量测试工程学院,浙江 杭州 310018)

1 引 言

水表在人们日常生活用水量的计量中起着至关重要的作用,机械水表目前是我国普及最广的水表。机械水表检定最重要的工作就是水表示值误差的检定,该检定需要准确读取水表读数。机械水表大都没有电信号输出,需要通过人工进行读数,存在读取误差大,检定效率低,劳动强度高等问题。目前对水表读数的研究很多集中在指针读数上,通过图像处理识别水表指针获得读数[1~7],但在小流量检定时存在耗时长、检定效率低等问题。梅花转子是水表的最小计量单位,目前采用的主要方法有激光测量法[8]和机器视觉法[9~11]。激光测量法是利用梅花转子转动时对入射激光的反射,通过反射信号处理得到梅花转子转数。机器视觉法是利用模板匹配技术定位梅花指针进行计数,相比激光反射计数法检定准确度更高,但不同生产厂家生产的水表梅花指针齿数及形状不同,需要有不同的模板和参数,增加了复杂性。

本文提出了一种基于机器视觉技术的水表小流量检定方法。以图像叠加方法为基础,通过梅花转子图像获取被检表的指示体积。该方法可有效利用梅花转子区域整体图像,减小气泡或脏污影响,提高水表检定准确性,缩短检定时间。

2 基于机器视觉的梅花转子计数方法

通过工业相机以自适应的采样频率采集梅花转子图像,选择检定起始时梅花转子所在位置为参考位置,对应图像为初始帧,利用图像叠加的方法令后续每一帧的图像在初始帧图像的背景上进行叠加并二值化,计算图像中黑色点占比的大小绘制出曲线图,用可变阈值对曲线图进行二值化处理,通过双计时原理计算检定时间内梅花转子转过的齿数;利用梅花转子脉冲当量得到该段时间内被检水表的指示体积。

2.1 梅花转子图像采集及处理

工业相机对准水表表盘中梅花转子区域进行摄像,初始获取的图像是彩色的,为方便后续处理,对每个像素点的3个分量R、G、B求平均得到该点的灰度值。为了得到转子转动后图像的明暗变化,对图像进行二值化处理,处理后的图像各个像素点只有2个像素值0和255,分别代表黑色和白色,黑色像素点所在位置代表梅花转子。为正确识别梅花转子,减小其周围的气泡及脏污等干扰因素,采用式(1)计算图像的二值化阈值T:

(1)

式中:Tmax为梅花转子视场最大灰度值;Tmin为梅花转子视场内最小灰度值。

2.2 梅花转子叠加原理

图像叠加方法是以检定起始相机获取的初始帧二值化后的图像为背景,后续获取的每一帧二值化后的图像在此背景上做叠加处理,初始帧和当前帧图像中黑色部分都体现在叠加后的图像中。图像叠加规则如表1所示,即只要该点像素值大小在背景图或在当前帧图像至少有一个为0,则叠加后的该点像素值大小为0。若该点像素值大小在背景图或在当前帧图像均为255,则叠加后的该点像素值大小为255。通过对每个像素点进行叠加处理,再将叠加后的新数组转化成新的图像即可得到叠加后的图像。

表1 每个图像点像素值叠加规则Tab.1 Pixel value overlap rule of each point

依据叠加原理,叠加八齿梅花转子图像,梅花转子初始帧、当前帧和叠加后的图像如图1所示。

图1 梅花转子图像叠加示意图Fig.1 Image overlap of the plum blossom rotor

2.3 梅花转子计数原理

在实际检定过程中,梅花转子转动叠加后如图2所示。因为图像的叠加使得转动不同时刻的梅花转子叠加后黑色区域大小不同。当水表转动角度为每齿角度的1/2时,图像内黑色区域最多;当水表转动角度为每齿角度时,两幅图像的梅花转子刚好重叠,故黑色区域最少。可见,当转子转动角度从0度到每齿角度的1/2时,图像黑色区域占比呈上升趋势;当转子继续转动到1个齿位置,图像黑色区域呈下降趋势。

图2 转子转动后的叠加图Fig.2 Image overlap of the rotor after rotation

因此,可以根据图像内黑色区域占比的变化规律来计算梅花转子转过的齿数。图像中黑色区域即为图像中黑色像素点的个数,A为黑点占比为:

(2)

式中:N为黑点个数;x为叠加区域横向像素点个数;y为叠加区域纵向像素点个数。

以黑点占比个数的大小为y轴,检定时间为x轴绘制xy的曲线,该曲线是一条先增大后减小的周期曲线,如图3所示。

图3 叠加后的图像中黑点占比大小曲线Fig.3 The percent of the black dots in the image after rotation

由图3可知,曲线变化一个周期对应着梅花转子刚好转过一齿,所以对其转动总齿数的计算即为对曲线中增大至减小周期个数的计算。为方便计算周期个数,对曲线进行二值化处理。为了降低检定过程中环境光源变化、气泡位置变化等因素的影响,取叠加后所有黑点占比大小的平均值为二值化阈值。若该帧叠加后图像黑点占比大于阈值则为1,反之则为0,二值化后的图像如图4所示。对脉冲进行计数,脉冲个数与梅花转子转过一齿对应体积相乘即为检定时间内,被检表的指示体积。

图4 叠加后黑点占比二值化曲线Fig.4 The binarization curve of percentage of black dots after over lap

2.4 基于双计时法的梅花转子计数

传统计数方法是在检定时间内记录整脉冲个数,会出现在梅花转子转动叠加过程中,检定起止时间与梅花转子脉冲时间不重合导致的漏脉冲现象。故采用双计时法[12]对梅花转子转过的齿数进行计数。

假设检定时长为T,该段时间内整脉冲个数为N,第1个整脉冲下降沿及第N个脉冲下降沿对应的时间间隔为t,计算两者之间的总脉冲下降沿个数,用式(3)求得检定时间T内的实际脉冲数NT为:

(3)

3 相机选型

相机是机器视觉系统的重要组成部分之一,有2个重要的参数:分辨率和帧率。相机采集的每一张图像是以帧为单位出现在显示屏上的,帧率即为每秒显示的帧数,帧/s,即本系统中的采样频率。分辨率为图像横纵方向的像素点个数,分辨率越高,图像越精细。这2个参数是相互绑定的,若选择高分辨率,则对应的帧率低;若选择低分辨率,则对应的帧率高。

在流量Q/m3·h-1不变的情况下,被检水表转子转过一齿对应的流量即脉冲当量为P,图3中周期变化曲线的频率f0如式(4)所示。

(4)

为了能实时采集到对应梅花转子转动的输出周期信号波形,根据采样定理,要求采集频率是信号频率的2倍。考虑到梅花转子转动后,叠加的图像呈现增大-减小-增大的周期性变化,在一个周期内至少需要采集到4个点才能保证能采集到梅花转子每转过一个齿图像的变化,因此,相机的帧率以转子输出信号的4倍频确定。故采样频率的表达式为:

(5)

本装置选用了超光图像500万像素工业相机,该相机支持多种分辨率和帧率工作,如当帧率为124帧/s时分辨率为640×480像素,或帧率为32帧/s时分辨率为1 600×1 200像素。系统可以根据操作人员预设的流量点、水表脉冲当量以及梅花转子齿数的不同,根据式(5)计算最低采样频率要求,选取合适的帧率采集图像,在满足最低帧率要求的前提下,选择更高的分辨率,在视场范围内细分出更多的点,获得更加清晰的梅花转子图像,有效地提高黑点占比大小的分辨力,从而提高梅花转子转动实时位置识别的准确性。

4 实 验

为了检验本梅花转子计数方法的可行性,对水表进行检定。根据JJG 162—2009《饮用冷水水表检定规程》[13],水表的检定需要在3个流量点进行,分别为常用流量Q3、分界流量Q2、最小流量Q1。在常用流量Q3下检定可以直接读取水表读数,本方法读取转子转数主要用于小流量检定,即分别在最小流量Q1、分界流量Q2两个流量点进行检定,将检定时间内的标准水量与该段时间内被检表的指示体积进行比较,得出示值误差,与水表检定规程规定的不同等级水表的误差允许范围进行比较,判断被检表是否合格。

实验装置结构图如图5所示。实验采用静态质量法获取检定时间内的标准体积量。实验采用的标准装置称重箱精度为0.01 kg,在检定起止,同步控制标准装置换向器的切换。并用一台检定结果合格,口径为25 mm,有6齿梅花转子的2级机械水表作为被检表,如图6所示,由图6可见,在梅花转子附近有气泡,在检定过程中,随着水流过水表,气泡形状及位置会发生变化,影响梅花转子图像。

图5 实验装置结构图Fig.5 Experimental device structure

图6 水表表盘图Fig.6 Water meter dial

根据检定规程,2级水表在水温0.1 ℃至30 ℃范围内的最大允许误差在高区(Q2≤Q≤Q4)为±2%,低区(Q1≤Q

图7 检定流程Fig.7 Verification process

设定实际检定流量为0.041 m3/h及0.064 m3/h,检定时间分别为20,30,40,50,60,120,180 s各检定3次取平均值,计算不同检定时长下被检表梅花转子机器视觉计数示值误差,结果如表2所示。

从表2可以看出,本方法结果与原有检定报告的误差均在允许误差范围内。且在检定时长为20 s时,与检定时间180 s相比,检定结果差值较小,因此水表在小流量检定时,本方法可以缩短检定时间,且可以替代人工读数法。同时,从检定结果看,在检定过程中,气泡的存在虽然会对图像产生影响,但从表2中的重复性可以看出,该方法重复性较好。由于本方法利用图像叠加后黑白占比的变化进行转数的计数,且二值化阈值自适应调整,因此气泡对本方法的结果影响较小。

表2 基于机器视觉读数的水表误差Tab.2 The water meter error based on machine vision

根据检定规程[13],2级水表一次检定的用水量不能小于水表最小检定分格值的200倍。本检定方法通过对水表最小计量单位梅花转子进行识别,获得的指示体积分辨力更高,因此,可以减小用水量,缩短检定时间,提高检定效率。

5 结 论

本文提出了一种基于机器视觉的水表小流量检定方法。在检定过程中,通过对水表表盘梅花转子的转动齿数进行计数获取水表指示体积。通过图像叠加的方法,对梅花转子全部区域的像素点进行统计,绘制其区域范围内的黑色像素点占比曲线,对曲线二值化并用双计时法对脉冲计数得到转动的齿数。本方法利用了梅花转子全部区域图像信息,能对不同形状和齿数的梅花转子进行计数,且选取全部黑点占比大小的平均值作为曲线二值化的阈值具有平均效应。利用本方法对水表进行检定实验,结果表明检定结果正确,重复性好,克服了气泡对梅花转子转数计数带来的影响。本方法在小流量检定时,通过对梅花转子转动的齿数进行计数,最小检定分格值减小,可以缩短检定时间,提高水表检定的效率,相较于传统的检定方法,提高了检定过程的自动化,减小人工读数误差。

猜你喜欢
齿数水表像素点
全回转推进器传动锥齿轮齿数设计
齿数与转数的关系
基于局部相似性的特征匹配筛选算法
水表普查与水表挂接子系统建设
水表检定装置不确定度分析计算的相关思考
基于5×5邻域像素点相关性的划痕修复算法
防冻水表
渐开线齿轮避免根切方法及最小齿数的求解
基于canvas的前端数据加密
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割