APP下载

基于机器视觉的指针式仪表示数识别方法研究

2018-03-27,,,,

计算机测量与控制 2018年3期
关键词:识别区指针刻度

,,, ,

(浙江工业大学 计算机科学与技术学院,杭州 310023)

0 引言

指针式仪表由于结构简单,价格低廉,防冻防水,在社会各个生产行业得到了广泛的应用。随着社会的进步与发展,指针式仪表人工读数因存在低效率、易疲劳、管理困难和实时性差等问题,已难以满足实际生产与工作的需求。而基于机器视觉的自动识别技术的发展与应用,为利用计算机代替人工提供了技术支撑。

目前,国内外对于指针式仪表识别做了大量的研究,取得了一定的成果。通常指针式仪表示数识别包括指针定位与仪表示数识别两部分。其中,指针定位主要是通过图像处理或机器视觉技术确定仪表刻度与指针的相对位置进而确定指针位置, 或者直接利用指针特征确定指针位置; 主要方法包括:Hough直线变换法[1-7]、剪影法、中心投影法、最小二乘法。Hough直线变换法通常将指针图像二值化后,采用Hough变换检测指针直线,其中相关方法有:李金彪[1]提出了一种基于Snake 算法的自动识别方法,分为Hough 变换粗定位圆形特征、Snake算法精定位圆形特征、Hough 变换检测直线特征3个环节,该方法适合恒定光照条件下的仪表指针检测;Han[2]提出一种基于改进Hough变换的,先通过自适应中值滤波与二值化方法对仪表图像进行预处理,然后使用改进的Hough变换提取指针直线角度读取示数;Yue等[3]提出一种基于Hough 变换自动仪表读数方法, 通过测量指针直线与零刻度直线的夹角来计算仪表示数;剪影法[4,8]是指将不同时刻的两幅指针式仪表图像做差值运算,进而求得指针位置和偏转角度,该方法适用于光照充足条件下获取图像指针位置,但对于光照变化大、有阴影干扰的环境,剪影法效果并不理想;另外,Wang Qi等[9]采用最小二乘法拟合定位指针位置,但对噪声点敏感且运算量大;张永强等[10]提出了基于收敛映射CM-Hough变换进行指针检测的算法,利用Hough变换的检测结果直接算出指针位置;张文杰等[11]提出了基于视觉显著性区域检测的指针式仪表读数方法,利用视觉显著性检测先验知识提取指针区域,再通过旋转图像找到横坐标投影最大值,计算指针旋转角度后,利用拟合的线性函数换算为仪表示数。杨志娟等[12]提出基于圆周区域的累积直方图法对指针进行定位,由指针偏转角度得到示数。

基于图像特征的指针式仪表示数识别已有很多方法,但指针式仪表种类繁多,形态各异,很难有通用方法能解决所有的仪表示数识别问题。针对刻度均匀分布的指针式仪表,本文提出一种基于标定的指针式仪表数据视觉读取方法。首先,在系统安装完成后对仪表进行标定,记录仪表的先验信息,如表盘位置,仪表量程,仪表最大、最小值刻度线斜率及大致区域;对于实时采集到的仪表图像调取对应标定模板配置文件,用于仪表最大、最小刻度线识别与斜率计算;其次,通过仪表表盘图像预处理及连通区域筛选进行指针粗定位;然后,融合Hough变换法和边缘聚类与拟合方法实现仪表指针边缘的精确定位,进而实现指针数据的识别与读取。为指针式仪表数据的读取提供了一种基于机器视觉高精度自动采集方法。

1 仪表标定

仪表标定是指在系统安装完成后,对仪表表盘各部分的大致位置进行标定,并将相关先验信息填入仪表模板库中。每个系统安装完成后只需要进行一次标定。为保证图像识别的鲁棒性,标定区域应稍大于检测区域。不同类型仪表的标定信息可能不同,通常标定信息包括:仪表量程、仪表最小刻度线、最小刻度线识别区、仪表最大刻度线、最大刻度线识别区、圆形表盘识别区、方形表盘识别区、噪声屏蔽区等。图1所示为某类型避雷器监测器标定结构图。

进行指针示数识别前,需要根据仪表名从仪表模板库文件中读取该仪表的标定信息。通过截取当前图像中标定区域的子图,完成后续刻度线斜率识别、指针示数识别等步骤。

图1 仪表标定结构图

2 刻度线斜率识别

在获取仪表图像过程中,由于相机抖动等干扰,往往造成表盘区域偏移或旋转,不利于指针示数识别。为此,本文先基于标定模板完成仪表表盘最大、最小刻度线识别与斜率计算,具体为:在仪表标定后,先读取仪表模板库中对应的标定信息,得到最大刻度线识别区和最小刻度线识别区位置;然后截取当前仪表图像中对应子图,并完成仪表最大、最小刻度线识别与斜率计算。

2.1 最小刻度线斜率识别

最小刻度线斜率和最大刻度线斜率的识别过程相似,此处仅给出最小刻度线斜率识别过程,其具体步骤为:

1)从模板库文件读取最小刻度线识别区的标定信息,并截取当前仪表图像对应位置最小刻度线识别区子图,结果如图2(a)所示。

2)对最小刻度线识别区图进行预处理,具体包括灰度化、自适应阈值二值化和Canny算子边缘检测。预处理后得到的最小刻度线识别区边缘图如图2(b)所示。

3)对最小刻度线识别区边缘图采用Hough变换提取nmin条线段lMINi(i=1,2,3,…,nmin),结果如图2(c)所示。线段的两个端点分别记为AMINi(xAi,yAi)和BMINi(xBi,yBi),xAi和xBi表示点AMINi和BMINi的横坐标,yAi和yBi表示点AMINi和BMINi的纵坐标;坐标原点为图像的左上角,根据式(1) 计算每条线段斜率ki:

(1)

4)对线段进行聚类与拟合,得到集合Hcombine={lj|j=1,2,3,…,nc},其中nc表示合并后的直线数量。边缘聚类与拟合具体步骤见2.2,结果如图2(d)所示。

5)根据最小刻度线识别区和表盘圆心位置信息,估计最小刻度线的斜率kminE:

(2)

其中:Xmin和Ymin分别表示最小识别区图中心在原图中的横坐标和纵坐标,XC和YC分别表示原图中心的横坐标和纵坐标。

6)最小刻度线斜率必定稳定在估计斜率附近的某范围内,即满足|θj-θminE|≤θthr,其中θj表示刻度直线与水平向右方向的夹角,θminE表示估计最小刻度线斜率对应的角度,θthr为角度估计阈值。对于本例仪表类型,角度估计阈值为5°。筛选后的最小值图像如图2(e)所示。

7)计算最小值图像中长度最大线段llmax的斜率,作为最小刻度线的斜率Kmin。

图2 计算最小刻度线斜率

2.2 边缘聚类与拟合

由于图像模糊、噪声等原因,采用Hough变换检测直线时易出现线段断裂、错位及多条较短线段等情况,严重影响图像识别的效果。为提高直线检测的精度,本文提出了一种边缘聚类与拟合的方法,其具体步骤如下:

1)对线段集合LP进行拟合,LP={li|i=1,2,…,np},其中,li表示LP中第i条线段,np表示检测出的线段数量;

且当i≠j时Li∩Lj=φ

(3)

Li∈L,Lj∈L,Li⊆Lp,Lj⊆Lp

(4)

|θvi-θvj|≤θ0

(5)

|θui-θvj|>θ0,u≠v

(6)

dis(lvi,lvj)≤λ0,lvi∈Lv,lvj∈Lv

(7)

dis(lui,lvj)>λ0,lui∈Lu,lvj∈Lv

(8)

dis(lui,lvj)=min(dlui→lvj,dlvj→lui)

(9)

其中:θvi表示第v个子集中第i条线段lvi与水平向右方向的夹角,θvj表示第v个子集中第j条线段lvj与水平向右方向的夹角,θui表示第u个子集中第i条线段lui与水平向右方向的夹角,θ0表示事先给定的角度阈值,λ0表示事先给定的线段距离判断阈值;dlui→lvj表示线段lui中点到线段lvj的垂直距离,dlvj→lui表示线段lvj中点到线段lui的垂直距离;

3)对完成聚类的线段集合进行合并,将Lv中元素按线段最左点的横坐标按从小到大进行排序;对Lv中线段lv1和lv2进行合并,令合并后的线段为lvr,其中,kvr和bvr分别表示lvr的斜率和截距(xcvr,ycvr)和(xdvr,ydvr)分别表示线段lvr的左右两个端点的坐标,根据斜率kvr的取值采用式(12)或(13)进行计算;从Lv中删除线段lv1和lv2,并将lvr加入到集合Lv中;

(10)

(11)

(12)

(13)

其中:kv1和kv2分别表示线段lv1和lv2的斜率,θv1表示lv1与水平向右方向的夹角,θv2表示lv2与水平向右方向的夹角,dv1和dv2分别表示线段lv1和lv2的长度,bv1和bv2分别表示lv1和lv2的截距;(xcv1,ycv1)表示lv1的最左点,(xdv2,ydv2)表示线段lv1和lv2的最右点;重复这一过程直到Lv中无线段可合并,得集合Lv合并后线段lv。

4)最终得到集合Lafter={lv|v=1,2,3,…,q},其中lv即为子集Lv通过段合并后得到的线段。

3 仪表指针示数识别

通常情况下,Hough变换能精确定位指针边缘,但在光照变化或表盘图案干扰下,特别是粗指针识别中,Hough变换得到的直线容易偏离表盘轴心,使实际表盘上的指针与检测出的直线不匹配,导致算法识别精度下降。为解决上述问题,本文先通过仪表表盘图像预处理及连通区域筛选得到指针大致区域,然后融合Hough变换法和边缘聚类与拟合方法实现仪表指针边缘的精确定位,进而实现指针示数的识别。

3.1 仪表指针粗定位

为减少噪声、表盘图案等干扰对计算指针夹角的影响,本文先对仪表指针进行粗定位。通过标定模板和粗指针的特征,对表盘图像进行预处理及连通区域筛选,得到粗指针在仪表中的大致区域。具体步骤如下:

1)读取模板库文件中方形表盘识别区位置信息,再从输入图像中截取对应子图得到方形表盘识别区图,如图3(a)所示。

2)对方形表盘识别区域图进行双边滤波、灰度化、自适应阈值的二值化、区域屏蔽和Canny边缘检测等预处理。预处理后得到的区域屏蔽图如图3(b)所示。

3)在区域屏蔽图中查找连通域。根据指针偏转范围在仪表量程内的先验知识,剔除仪表量程外的连通域,得到筛选后的矩形集合C:

C={(xi,yi,wi,hi)|i=1,2,3,...,m}

(14)

其中:(xi,yi)表示最小外接矩形左上角的坐标,wi和hi分别表示最小外接矩形的宽度和高度,m表示最小外接矩形数量,矩形中点坐标表示为(xci,yci):

(15)

(16)

集合C中矩形须满足条件:(1)xci

(17)

其中:λc为事先给定的距离判断系数;W表示表盘识别区域图的宽度;(Xpc,Ypc)表示表盘识别区域图的中心坐标,位置筛选后的表盘外接矩形图如图3(c)所示。

4)筛除量程外的干扰后,指针区域所在连通域的最小外接矩形面积最大。在集合Cin中找到面积最大的外接矩形,记为rmax=(xmax,ymax,wmax,hmax),(xmax,ymax)为矩形rmax左上角的坐标,wmax和hmax分别为矩形rmax的宽度和高度;

5)计算矩形rmax在表盘中所在象限qr。该坐标系以表盘区域圆心为原点,水平向右为x轴正方向,垂直向上为y轴正方向。

(18)

图3 指针粗定位

3.2 仪表指针精确定位

针对直接Hough变换检测直线无法准确检测出指针边缘的问题,本文在Hough变换法基础上,再进行边缘聚类与拟合得到指针精确边缘,具体为:

1)根据指针位置矩形rmax,在表盘识别区域图中截取指针图像,如图4(a)所示。

2)对指针图像进行灰度化、自适应阈值的二值化和图像Canny算子边缘提取等预处理,得到指针边缘图如图4(b)所示。

3)采用Hough变换对指针边缘图进行直线检测,得到线段集合LP={li|i=1,2,…,np},其中,li表示LP中第i条线段,np表示检测出的线段数量。Hough直线检测结果如图4(c)所示。

4)对LP进行边缘聚类与拟合,得到线段集合LC={(pcv,pdv)|v=1,2,3,…,q},pcv,和pdv表示合并后的线段的两个端点,q表示拟合后得到的线段数量。具体步骤见2.2。边缘聚类与拟合后结果如图4(d)所示。

5)在指针图像中,指针部分的线段较表盘背景干扰线段较长。因此,可从集合LC中筛选出长线段并构建集合Llong={(x1j,y1j,x2j,y2j,kj)|j=1,2,3,…,qL},qL表示Llong中的线段数量,其中的长线段满足:(x1j-x2j)2+ (y1j-y2j)2≥(λlong·wmax)2,λlong为事先给定的长线段判断系数,(x1j,y1j) 和(x2j,y2j)分别表示第j条长线段的起点坐标和终点坐标,kj表示第j条长线段的斜率。长线段筛选后结果如图4(e)所示。

图4 指针精确定位

3.3 计算指针夹角与示数识别

通常指针式仪表刻度是均匀的,仪表刻度与指针夹角之间的对应关系为线性变化。仪表指针精确定位后,可计算出指针与最小刻度线之间的夹角,然后将夹角转化为指针示数,其具体步骤为:

1)计算指针所在直线斜率Kp,即长线段集合Llong中的平均斜率:

(19)

2)计算指针指向方向与最小刻度线之间的角度θ:

(20)

3)根据区域模板库文件已知的最小刻度值V1和最大刻度值V2计算指针示数V:

(21)

4 实验结果与分析

以某品牌避雷器监测器为例,对本文方法的有效性进行实验验证。图5为某品牌避雷器经过标定后,存入模板库表盘信息的标定界面。

图5 某品牌避雷器监测器标定界面

图5所示避雷器监测器量程为 0 ~ 3 mA,精度是0.001 mA。在实际的工程应用中,指针角度的识别误差允许范围为3°内,允许示数误差为0.037 5 mA。表1为有强光照时对该避雷器监测器的实验测试结果,其中真实值为多人示数的平均值。由表1可知,最大绝对误差为0.02 mA,满足仪表自动示数的精度识别要求。

表1 避雷器监测器的实验结果

5 结论

针对指针式仪表数据的精确识别问题,提出一种基于标定的指针式仪表数据视觉读取方法。首先,基于标定模板完成仪表表盘最大、最小刻度线识别与斜率计算,解决了表盘区域偏移或旋转导致指针夹角存在误差进而影响仪表示数精度问题。其次,通过仪表表盘图像预处理减少噪声干扰,然后根据粗指针特点,筛选连通区域得到指针大致区域,避免了表盘图案带来的干扰。然后,融合Hough和边缘聚类与拟合方法实现仪表指针边缘的精确定位。最后根据指针夹角计算仪表示数。实验结果表明,本文算法能够准确、稳定的识别出指针式仪表示数,达到实用化要求。

[1]李金彪.基于Snake算法的圆盘仪表示数识别技术研究[J].电测与仪表,2016,53(9):19-22.

[2]Han J, Li E, Tao B, et al. Reading recognition method of analog measuring instruments based on improved Hough transform[A]. International Conference on Electronic Measurement & Instruments[C]. IEEE, 2011:337-340.

[3]Yue X F, Zhang M, Zhou X D, et al. The research on auto-recognition method for analogy measuring instruments[A]. Proceedings of International Conference on Computer, Mechatronics, Control and Electronic Engineering[C]. Los Alamitos: IEEE Computer Society Press, 2010: 207-210.

[4]崔家瑞, 纪建才, 胡广大,等. 基于图像的换流站用避雷器仪表识别[J]. 电工技术学报, 2015, 30(S1):377-382.

[5]林献坤, 林羿江, 朱 琳. 机械仪表的机器视觉数据自动获取技术[J]. 组合机床与自动化加工技术, 2016, (7):19-22.

[6]朱海霞. 基于改进Hough变换和BP网络的指针仪表识别[J]. 电测与仪表, 2015, 52(5):11-14.

[7]施 健,张 冬,何建国,等.一种指针式化工仪表的远程抄表设计方法[J]. 自动化仪表, 2014, 35(5): 77-79.

[8]宋 伟,张文杰,张家齐,等.基于指针区域特征的仪表读数识别算法[J].仪器仪表学报,2014,35(12):50-58.

[9]Wang Q, Fang Y, Wang W, et al. Research on automatic reading recognition of index instruments based on computer vision[A]. Proceedings of the 3rd IEEE International Conference on Computer Science and Network Technology[C].2013:10-13.

[10]张永强,邸金红,马鹏阁.基于机器视觉的汽车仪表盘指针检测[J].计算机测量与控制,2015,23 (6) :1922-1924.

[11]张文杰, 熊庆宇, 张家齐,等. 基于视觉显著性的指针式仪表读数识别算法[J].计算机辅助设计与图形学学报, 2015, 27(12):2282-2295.

[12]杨志娟,袁纵横等.基于图像处理的指针式仪表智能识别方法研究[J].计算机测量与控制, 2015,23(5):1717-1720.

猜你喜欢

识别区指针刻度
垂悬指针检测与防御方法*
剪彩带
为什么表的指针都按照顺时针方向转动
谁大谁小
谁大谁小
测量三字歌
浅析C语言指针