基于梅花针计数的冷水水表检定方法

2020-09-02 13:43李晓晓冉光泽
关键词:梅花针示数水表

杨 涛, 李晓晓, 冉光泽,3

(1.成都农业科技职业学院机电信息学院, 成都 611130;2.成都大学机械工程学院, 成都 610106;3.成都海逸机电设备有限公司, 成都 610107)

引 言

随着城镇化改革的推进,自来水水表的需求日益突增,水表生产企业也积极引进信息化技术扩大其产能。机械式水表因其成本低、不易受电磁干扰等优势在数显水表发展中仍然占有一席之地[1-2]。水表检定是其生产环节的最后一道工序,其检定精度和效率是保证水表品质的关键。然而,日益增长的水表出货量与效率低下的人工读数检测方式之间的矛盾越来越突出,也就是说,指针式仪表自动读数问题已经成为了制约水表生产企业发展的瓶颈。由此,仪表示数自动判读技术已成为国内外学者研究的热点,也是模式识别领域一项重要的研究内容和前沿技术。郑学文等[3]采用距离法读取水表指针读数,通过模板匹配、极坐标变换等手段实现了水表指针自动读数。韩绍超等[4]运用Hough变换识别表盘与子表盘,再运用LRCD色差变换法提取水表表盘4个红色指针并计算零向量与指针方向向量所形成的角度,进而判断指针的读数。王长旭等[5]运用彩色空间变换与图像形态学处理提取水表指针,再运用Hough变换找到每个指针的圆心并结合步长法找出每个指针的指向,也就得到指针示数。刘丰等[6]运用机器视觉技术开发了水表在线检定系统,基本实现了自动读数,但准确率稍差。吕露等[7]提出了一种基于SVM分类器与HOG特征的指针式水表读数自动识别方案,遇到气泡遮挡,千位、百位等高位刻度偏0刻度右侧等情况仍需要人工读数。显然,国内外学者关于水表读数问题的研究都是围绕表盘4个红色指针展开的,鲜有人基于具有更高精度的梅花针来计算水表检定误差。本文开发了一款统计梅花针转动圈数来计算流过水表水体积的检定系统,在提高检定效率的同时有效避免了气泡的影响。这对于促进水表自动化、智能化生产以及智慧工厂建设有重要意义。

1 检定方法

1.1 检定装置

水表检定方法主要是容积法与质量法,传统水表检定装置需要人工读数并计算每只表的误差[8]。根据《JJG162-2009冷水水表检定规程》(以下简称《规程》)相关规定,水表指针示数从计量单位最低的子表盘示数读起,从低到高一次读取每个子表盘的示数,得到完整的表盘示数。计算稳定状态下起始指针示数num1与终止指针示数值num2的差,得到该水表的通水体积计量值V。然后,再与通水计量标准值Vs计算出该水表计量误差ξ,即:

(1)

同时,《规程》规定q3、q2的示数误差范围是±2%,q1的示数误差范围是±5%。枯燥、繁琐的人工读数与误差计算方法大幅降低了生产效率,其检定结果也极易受到人为因素的影响。因此,水表表盘示数自动判读技术已成为降低企业成本、突破企业发展瓶颈的核心技术之一。图1所示的是我司使用机器视觉技术自主研制的全自动水表检定装置,该装置使用容积法检定水表,由通水阀门自动控制系统、电子天平数据采集系统、上位机、水表表盘成像系统等组成。其中,视觉计数系统由工控机、水表图像采集模块、LED光源组成。与传统水表检定装置的主要差异在于使用了一套自主研发的梅花针视觉计数系统来代替水表检定过程中人工读数过程,从而提高设备检定精度、自动化程度与生产效率、降低人力劳动强度。

图1 水表自动检定装置

1.2 传统指针示数判别方法

传统的表盘示数视觉判别方法如图2所示,主要集中在表盘4个红色指针的提取,再逐一提取出每一个指针图像并判断其位置关系或指向,进而判断出指针示数。常见的指针示数判读方法有角度法、距离法与模板匹配法等[9]。

图2 传统水表指针示数判读方法

1.2.1 角度法

角度法原理如图3所示,其运用差影法、向量法、步长法等手段判断指针中心线并获取指针起始时与终止时的角度差α,从而根据公式(2)计算出指针示数I。该方法需要提取指针顶点与圆心,再计算出两点连线的斜率,从而计算出指针角度,判读过程复杂,精度较差。

图3 角度法原理

(2)

其中:I0为被检仪表的量程。

1.2.2 距离法

距离法原理如图4所示,其将圆形表盘极坐标展开,计算指针直线到各刻度线的距离并找出最近的两条刻度线记为d1、d2,再取其对应的较小刻度值J0,运用公式(3)得到较为精确的读数J。虽然,距离法相对角度法在检定精度方面有所提高,但在表盘刻度不清晰、气泡遮挡等场景下仍然难以实现指针示数精确判读。

图4 距离法原理

(3)

1.2.3 模板匹配法

模板匹配法原理首先对模板进行标记,再与待判别指针图像进行相似度计算,得到相似度最高的模板,从而根据模板标记值计算出待判别指针示数。

(1) 建立模板

选择一个没有被气泡遮挡且刚好指向0刻度的指针二值图像作为基准模板,如图5所示。运用Hough变换检测图像中的指针圆,再以该圆的圆心为旋转中心,每顺时针旋转一个β角即建立一个该方向上的指针模板。由此,得到N个指针模板并按照1~N依次编号。

图5 基准模板

(2) 示数判读

对于大小均为m×n的两个向量X和Y,其相似度可用相关系数公式(4)来计算。

(4)

由此,将待判别指针图像逐一与模板图像计算相似度,并取相似度最大的模板编号L。那么,编号为L的模板其指针指向的刻度值M应满足式(5):

(5)

模板匹配法虽然弥补了角度法、距离法在检定精度、适应复杂场景等情况下的指针示数高精度判读,但是,也带来了计算量大、效率低等不足。

综上所述,传统的表盘示数判读方法虽然在一定程度上能够实现水表的自动判读,但是,在检定精度、效率以及适应复杂场景等方面还存在诸多问题。而且在表盘图像倾斜校正、指针图像提取、指针示数判读等环节均存在较大的系统误差,难以胜任高精度检定要求。

2 基于梅花针的水表自动计数

2.1 计数原理

为满足水表高精度检定需要,选择了水表最小计量单位的梅花针作为研究对象。常见的水表梅花针计数方法有激光反射法与机器视觉法两种[9]。激光反射法因对气泡及其敏感,检定水表时,一旦出现气泡系统就无法正确判读其示数。而基于机器视觉技术的梅花针计数方法则可通过适当的数学形态学处理避免气泡对判读结果的影响。此外,梅花针本身并不具有明显的、可用于计数的标记,不能直接使用图像处理技术统计梅花针的转动齿数或圈数。因此,需要在采集到的梅花针图像中设置虚拟标记点,以便统计梅花针转动齿数。据观察,梅花针每转动1个齿即在该齿标记处出现1次黑白交替,针对这一现象提出了一种基于梅花针序列图像计数方法,其原理如图6所示。首先,由安装在水表表盘正上方的摄像头采集梅花针图像得到图像序列;然后,将其转换为二值图像后,再提取图像序列中每幅图像同一位置的标记点;接着,计算提取到的标记图像灰度平均值并由此组成标记图像行向量X;最后,对该向量进行分析,找出其极值点并统计极值(极大值或极小值)出现的次数Z,即得到梅花针转动的齿数。进而计算出水表通水体积,再运用公式(1)计算出该水表的计量误差,并与《规程》中的标准误差值比较,从而判断该水表是否合格。

图6 梅花针视觉计数原理

2.2 图像采集

2.3 梅花针标记

梅花针上没有明显的特征标记,转动中无法直接统计其转动齿数。就需要在梅花针图像中设置虚拟标记点,每个标记点大小为20 px×20 px,如图7所示。梅花针为黑色、表盘为白色,梅花针齿经过某一位置时,标记点为黑色;反之,未经过该位置时,标记点为白色。也就是说,对于梅花针上同一位置(标记点)而言,每经过1个齿就会在该处出现1次黑白交替[13-14]。那么,统计标记点黑白交替次数即可计算出梅花针的转动齿数。由此,就将无明显标记特征的梅花针转动圈数问题转换为如何统计标记点图像序列黑白交替次数问题。

图7 梅花针标记

2.4 梅花针转动齿数计数

检定过程中梅花针快速转动,相机连续拍摄得到p张转动梅花针图像组成的图像序列。然后,需要从这些序列图像中提取出标记点并计算其灰度平均值,得到便于统计分析的向量X,如图8所示。

图8 梅花针标记点转换为行向量过程

X=[x1,x2,x3,…,xp]

(6)

裁剪出的标记图像为二值图像,那么其灰度平均值势必在0~1之间,即0≤x≤1。倘若标记点正好全部在梅花针上,则其图像全部呈黑色,其灰度平均值x=0;反之,标记点正好全部在梅花针间隙处,则图像全部呈白色,其灰度平均值x=1。也就是说,梅花针转动1个齿即出现一次黑白交替,表现出其灰度平均值0、1交替出现1次。图9所示的是随机截取X中连续200个值绘制的波形变化情况。显然,X中0、1交替出现的次数即为其极大值与极小值交替出现的次数。为避免梅花针转动1个齿时间内采集到多张图像使得X中连续出现多个0或1对统计结果造成的干扰,只统计X中峰值(极大值或极小值)的个数,即梅花针转动的齿数。由此,可依据式(7)统计X峰值个数Z,进而据式(8)计算出流过水表的水体积V,再与通水计量标准值Vs比较,通过式(1)得到该水表的计量误差ξ,从而完成水表的检定。

图9 X中连续200个元素值变化

(7)

(8)

3 误差分析与比较

根据公式(1)可知,水表通水体积的计量精度直接影响到水表计量误差ξ,而指针示数判读准确率η又是影响水表通水体积计量误差的主要因素。传统的角度法、距离法、模板匹配法归根结底均是对水表指针示数进行判读。角度法计算方法简单,判读精度最差,一般用于对精度要求不高的场合;距离法计算了指针与刻度线之间的距离,判读精度有所提高,但更容易产生视点误差[15-16];模板匹配法可以增加模板数量来提高准确率,但也增加了计算量,对不同类别的指针适应性较差。此外,水表表盘示数要将4个指针示数与对应的比例系数相乘后再求和才能得到表盘示数,即:

num=N1×10-1+N2×10-2+N3×10-3+N4×10-4

V'=num2-num1

(9)

那么,比例系数最大的指针对检定误差的影响也就最大,并且,这样复杂的读数过程也间接增大了系统误差。也就是说,指针式水表表盘示数判读方法的正确率η1为4个指针判读正确率ηp的积,即

(10)

众所周知,梅花针是水表表盘上最小的计量单位。基于梅花针计数方法统计的是水表通水过程中梅花针转动的齿数,其精度达万分之一,远高于指针示数判读方法的读数,并且,该方法直接计量水表通水体积V,减少了中间计算过程,其系统误差ξ2远远小于传统指针判别方法的误差ξ1,即ξ2≼ξ1。

综上所述,与传统角度法、距离法、模板匹配法相比,本文方法在检定精度、计算速度等方面表现最好,满足用户高精度检定需要。

4 系统应用

图10所示的是成都汇锦水务发展有限公司水表检定装置中的梅花针计数系统,该系统将计数结果传递到上位机进行处理,实现了水表自动读数、自动检定,满足该公司日常生产要求,并大幅提高生产效率。此外,为避免气泡对识别结果的影响,检定前可人为选择无气泡遮挡标记点。并且,倘若系统输出结果与标准值差异较大,系统自动对图像进行数学形态学处理以降低气泡对计数结果的影响。相较于传统指针识别方法而言,本文方法主要有以下几个优势:

图10 梅花针转动齿数计数系统

(1) 对水表适应性更强,几乎兼容国内外所有齿数的梅花针式水表检定。

(2) 传统方法需要分别识别检定前后两次表盘指针示数,增大了系统出现误差的概率,且计算过程较为复杂。本文方法直接测量检定过程中的通水体积,减少了计算流程与复杂度。

(3) 消除了视点误差对结果带来的影响,检定精度也达万分之一,远高于其他方法的检定精度。

5 结束语

本文总结了指针式机械水表检定原理,详细分析了传统水表指针示数判读方法,并开发出了基于梅花针计数的水表检定系统,大幅提高水表检定精度与检定效率,且成功应用于成都汇锦水务发展有限公司水表校验台的改造升级与全自动水表校验台的研制上。这对于节省企业生产成本,促进企业智能化发展有重要意义。

猜你喜欢
梅花针示数水表
水表检定装置不确定度分析计算的相关思考
防冻水表
例谈温度计的示数
中西医结合治疗气滞血瘀型白癜风30例
中西医结合治疗气滞血瘀型白癜风30例
如何提高检定周期内水表的计量准确度
梅花针叩刺增强氨基酮戊酸光动力治疗光线性角化病、基底细胞癌、鳞状细胞癌的研究
电阻变化引起电表示数变化类试题小结
水表在检定周期内超差原因与解决措施
梅花针疗法治疗周围性面瘫研究近展