基于数字图像处理技术的双指针机械仪表读数自动识别方法

2017-01-05 06:42李祖胜孙玉秋胡维长江大学信息与数学学院湖北荆州434023
长江大学学报(自科版) 2016年31期
关键词:自动识别量程读数

李祖胜,孙玉秋,胡维 (长江大学信息与数学学院,湖北 荆州 434023)

黎雄 (北京师范大学数学学院,北京 100875)

基于数字图像处理技术的双指针机械仪表读数自动识别方法

李祖胜,孙玉秋,胡维 (长江大学信息与数学学院,湖北 荆州 434023)

黎雄 (北京师范大学数学学院,北京 100875)

针对工程应用中大批量双指针仪表的读数识别问题,提出了一种基于数字图像处理技术的自动识别算法:首先对图像进行预处理,包括图像分割、滤波及膨胀腐蚀等步骤;然后设计了一种限定阈值的Hough变换,确定不同指针的位置关系,并根据指针与旋转中心的距离关系标定不同指针的矢量信息;最后利用表盘刻度与指针夹角的线性关系计算指针读数,并对指针与正刻度线重合、不同指针反向等情况进行校正处理。试验结果表明,该算法对于均匀刻度的双指针仪表有出色的测试精度和识别效率。

Hough变换;双指针仪表; 自动识别

双指针式仪表在矿井作业、石油勘探、自来水运输等领域有广泛应用,基于数字图像处理技术的仪表自动识别技术能提高仪表检测效率,减少人为误差[1]。常见的指针式仪表检测方法[2]有3种:步长法、圆周灰度检测法和Hough变换法。目前有很多单一指针识别算法[3~6]研究成果:基于视觉显著性区域检测的指针式仪表读数方法[7,8]可以有效解决因光照因素导致对仪表指针识别精度问题;乔丽娟等[9,10]研究的多指针型水表自动识读系统为双指针仪表研究提供借鉴基础;王瑞等[11]提出的改进角度法能确定不同指针位置,但双指针对称位置刻度无法识别;王永会等[12]提出的圆弧快速检测算法能有效检测圆弧,而针对具有刻度的“毛刺”圆弧的识别效率差。因此,确定指针数量、检测并标定出不同指针的位置,确定指针在仪表盘的有效旋转弧度,是解决双指针自动读数识别问题的关键。为此,笔者提出了一种基于数字图像处理技术的自动识别算法。

1 图像预处理

图1 图像处理主要过程示意图

工程应用中机械式仪表盘的有效量程范围可以分为2大类:一类是有效量程弧度为(0,π),如电流表和电压表等;一类是有效量程弧度为(0,2π),如压力表和钟表等。笔者以常见的双指针压力表作为研究对象,对采集到的图片运用数字图像处理技术进行处理。图像处理主要过程示意图如图1所示,包括目标区域分割和滤波处理、图像二值化、形态学处理、Hough变换确定指针的位置、不同指针位置的标定和坐标提取以及计算指针刻度。

1.1 图像分割

采集到的图像,往往含有仪表盘以及仪表盘边框等干扰信息,对指针检测造成干扰,因而提取仅含指针区域的步骤是重要的过程。采用人机交互式提取感兴趣区域是常用的方法。但在大批量的图像信息处理中,采用限定阈值的方式(见图2(a))提取出仅含指针区域是较好的选择。

1.2 滤波处理

滤波的目的在于消除在图像采集、传输、接收等过程中不可避免的噪声干扰,例如光电转换过程、传输过程和人为因素等造成的噪声干扰。滤波的方式分为线性滤波和非线性滤波两大类。线性滤波常见的是均值滤波方法,能够平滑突变因子但一定程度上模糊了图像;非线性滤波常见的是中值滤波方法,能较好的抑制孤立噪声且较好的保存图像边缘信息。依据中值滤波的基本原理,结合均值滤波的特性,笔者采用文献[13]提出的自适应中值滤波方法,在滤除噪声的同时也保存了图像的边缘信息(见图2(b))。

1.3 二值化处理

图像二值化处理常见的方法有:最大类间方差法、迭代法、动态阈值分割法和类间最大距离法等。考虑到表盘图像中指针与背景的明显区分的特性,采用最大类间方差法,根据指针与背景之间的类间方差大小自动选取阈值。如图2(c)所示,2幅图像受到不同程度环境干扰,均可得到较好的二值化处理图。

1.4 膨胀和腐蚀处理

图像形态学处理是指针检测处理过程中最重要的步骤之一。形态学处理可以解决特征提取、形状识别等问题,基本运算包含膨胀、腐蚀、开运算和闭运算等。由于二值化处理后的图像指针信息不连续,笔者运用膨胀运算将间断点连接起来使得指针区域连续。但此时指针变得粗大,不利于读数识别,运用腐蚀运算对粗大的形体进行缩小,直至指针形体不再变化。最后进行细化操作,使得指针图像成为直线段,以便于清晰的观察。图2(d)显示了细化处理后得到的结果图。

图2 图像预处理

2 Hough变换直线检测原理与指针读数识别

2.1 Hough变换直线检测原理

Hough变换是图像处理中常见的识别几何形状的方法。它根据曲线形状独特的规律性(如直线的斜率是恒定的,圆的半径是恒定的),将数字图像中给定曲线形状的所有点都映射到Hough空间的某个点(称之为峰点)。采用文献[9]的原理,依据二维空间上点共线性对应于参数空间线共点性的对偶性原理,来拟合直线的相关参数。

对于给定的二维空间中的直线:

ρ=xcosθ+ysinθ ρ>0 0≤θ<2π

(1)

式中,ρ为直线到原点的距离; θ为直线与x轴的夹角。

Hough变换检测直线的实现方法如下:

1)设计参量空间Pm×n,并为参量空间设置累加器矩阵Rm×n(m,n分别为ρ,θ的等份数)。

2)为参量空间每一个P(i,j)分配一个累加器R(i,j)。

3)取二维空间的点(x0,y0)代入式(1),计算得到ρ与θ的一组值,并在参数空间内将ρ与θ所对应的累加器加1,即:

R(i,j)=R(i,j)+1

(2)

4)遍历直线上所有点(xi,yi),参数空间每一个R(i,j)都得到统计。所对应的值在空间Pm×n中形成一簇仅相交于一点的曲线(交点称为峰点)。参量空间P(i,j)累加数越大,使该簇曲线都相交于一点的表现型越明显。提取峰点P(ρi,θj),参数ρi,θj就是二维空间中方程(1)的参数值,如图3所示。

图3 Hough变换直线检测示意图

2.2 指针位置标定与坐标提取

2.2.1 限定阈值标定指针位置

Hough变换检测直线是一个一对多的映射,然而原图像上的刻度线、表盘量程圆弧以及表盘边框等仍然可能形成直线,这对指针提取的工作相当不利。笔者采用文献[14]的方法,根据视觉显著性原理采取如下3步方法对Hough变换进行阈值限定,从而减少冗余计算,提高了程序性能,提升了指针识别的准确率。

第1步:减少参数空间累积数的提取。在式(2)中,由于累积函数R(i,j)是独立分布的,而笔者关心的是直线所对应的最大累积值。据此限定参数空间峰点的统计数量NR≤3,从而降低计算复杂度。

第2步:采用增大步长法减少计算的次数,由于式(2)中步长取值较短,每个像素位点都被计算,加重运算负荷。因此,在不损失结果的精确性的前提下,适当提高步长,可以提高程序的运算速度。

第3步:限定角度θ的取值,依据表盘固有量程范围,设计针对指针可能出现的范围约束θ,使θ的取值变小,从而减少冗余数据的计算。

2.2.2 坐标提取

指针在表盘中是有限长度的线段,通过对已检测出的不同的线段进行初始位置和截止位置的坐标提取,计算不同指针的斜率,图4(b)给出了不同指针的标定和坐标示意图。分别提取不同标记线段的初始位置坐标xi(1,j)和截止位置坐标yi(2,j)(其中,j=1表示横坐标;j=2表示纵坐标),依据斜率公式计算出不同指针的斜率ki:

(3)

2.3 双指针读数识别

2.3.1 有效量程的识别

有效量程的范围可以由简单方法完成:分别提取指针位置在初始刻度时和在满刻度时图像,计算初始位置指针斜率为k1;满刻度位置指针斜率k2,则表盘有效量程θ(单位:度)的计算方式为:

(4)

2.3.2 不同指针位置的判定

规定指向刻度端为针头,另一端为针尾。Hough变换能够准确的检测出图像空间中的直线,但是不能确定直线所在的矢量位置信息。如图4(b)所示,当有效量程范围在(0.2π)时,检测的同一根直线代表着针头和针尾2个位置的刻度值。因此,对针头位置的标定对于指针的刻度的识别具有至关重要的作用。考虑到仪表指针设计的特性(针头到旋转中心的距离明显大于针尾到旋转中心的距离),比较初始位置横坐标xi(1,1)和截止位置横坐标yi(2,1)与整幅数字图像行宽(记图像行宽:N)的大小来判别针头的位置,判别方式如下:

若xi(1,1)+yi(2,1)

若xi(1,1)+yi(2,1)>N,表示指针的位置在第Ⅰ、第Ⅳ象限。

这就导致了,在有限游戏中个别人的幸福必定是建立在多数人的痛苦之上的,“己之不欲,勿施于人”之类的伦理准则是根本不可能真正落地的。这就是人类社会经常陷入“囚徒困境”与“零和博弈”的现实逻辑。

2.3.3 读数识别

结合实际仪表盘的有效量程范围和仪表盘量程选择不同的参数值,设仪表盘量程最小值为Imin,最大值为Imax,读数为Ri。式(4)提供了有效量程θ的计算方法,指针在表盘上偏转的角度与初始位置角度的差值∂(单位:度)可以由式(5)具体给出:

(5)

(6)

由于不同指针的量程大小不一定全部相同,因此仪表盘量程最小值Imin、最大值Imax必须依据不同指针的实际的量程选取准确的参数。

2.4 读数的误差处理

2.4.1 整刻度线读数的误差处理

由于参数的选取和计算关系(如正切函数减法运算和常数π的选取)导致指针指向表盘整刻度时,输出读数Ri是一个非整数的情况。为避免该类误差,在Hough变换检测指针直线的过程中,根据累加器中峰点个数判别指针是否与刻度重合,当指针峰点重合时,自动对读数Ri取整,从而减小了整刻度线读数的误差,达到了较好的判别效果。

2.4.2 双指针重合或反向时误差处理

由于双指针测量时指针位置是任意性的。从而有可能出现双指针的针头重合在一起,或者针头反向在同一条直线上的情况,如图5(g)和图5(h)所示。为解决该类误差,求出不同指针的线段长度Li:

(7)

标记最长的指针为参考指针L0。然后依据实时检测指针长度L1与参考指针L0进行比较:

若L1=L0,表明双指针针头重合在一起。此时,双指针的斜率统一确定为L1的斜率ki。

2.4.3 指针垂直时误差处理

3 试验

根据算法原理,在Matlab-R2014b的运行环境下,以常见的双指针压力表为例,检验该算法对仪表盘有效量程范围是(0,2π)的强适应性。图5为一组常见的精度等级为0.1的双指针压力表示数,其中图5(a)~图5(f)为一组压力表不同刻度的分类标定的结果; (g)为压力表2根指针重合时标定的结果; (h)为压力表2根指针反向时标定的结果。

图5 双指针读数标定

表1为图5所示不同指针读数的自动识别结果,其中C表示黑色指针实测读数,R表示红色指针读数,EC表示黑色指针测试误差,ER表示红色指针测试误差。

表1 双指针压力表不同测试数据

表1数据表明, (a)和(e)自动识别黑色指针数据跟人工读取数据相同,符合指针与刻度线重合的误差分析; (g)自动识别数据相同,是由指针重合在一起导致的;(h)数据与图5(h)指针并行所示读数识别的结果相同,与误差分析处理一致。此外,自动识别误差最大值比仪表盘固有精度小,表明此方法自动识别数据的实用性、可靠性都很好。

4 结语

采用Hough变换进行指针直线的检测,并对双指针的不同位置进行标定,使得检测的指针位置即为实际指针的位置。对不同指针进行分类处理以避免指针错误检验,并对整刻度读数误差和双指针并行或者重合的情况做了后期的误差矫正处理。数据表明,笔者设计的双指针读数自动识别的算法原理简单,计算速度快,适用于各种类型的具有均匀刻度的仪表盘的指针的自动读数,如指针式压力表、四分之一圆弧表盘等。由于表盘量程是人工测量,因此下一步工作重点将放在具有刻度齿的圆弧检测。

[1]岳国义,李宝树,赵书涛. 智能型指针式仪表识别系统的研究[J]. 仪器仪表学报,2003,24(4):430~431.

[2] 张志佳,李媛,周纯冰,等. 基于图像识别的双指针仪表自动读数方法[J].沈阳工业大学学报,2011,33(5):550~555.

[3] 孙浩晏. 基于机器视觉的指针式仪表读数识别系统研究[D]. 长春:吉林大学,2015.

[4] 李勇. 指针式表盘的自动识别技术研究及实现[D].郑州:郑州大学,2015.

[5] 陶冰洁,李恩. 一种实用的指针式仪表读数识别方法[J]. 光电工程,2011,38(4):145~150.

[6] 刘复玉,吕新荣. 指针式压力表自动读数系统设计[J]. 电子测量技术,2015,38(12):96~99.

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

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

[9] 朱芳芳,顾宏斌.一种改进的Hough变换直线检测算法[J]. 计算机技术与发展,2009,9(5):20 22.

[10] 乔丽娟. 基于图像处理技术的双指针水表自动校验系统[D].济南:山东大学,2015.

[11] 王瑞,李琦,方彦军. 一种基于改进角度法的指针式仪表图像自动读数方法[J]. 电测与仪表,2013, 50(11):115~118.

[12] 王永会,郭耸,袁帅.基于切线段匹配的快速圆弧检测算法[J].计算机应用, 2016,36(4):1126~1131.

[13] 郭海霞,解凯.一种改进的自适应中值滤波算法[J]. 中国图像图形学报,2007,12(7): 1185~1188.

[14] 陈继华,李勇,田增国,等. 基于机器视觉的机械式表盘自动读表技术的实现[J].郑州大学学报(工学版),2015,36(3):101~105.

[编辑] 张涛

2016-06-00

国家自然科学基金项目(11571041); 湖北省自然科学基金重点项目(2013CFA053)。

李祖胜(1992-),男,硕士生,现主要从事数字图像处理方面的研究工作。

孙玉秋(1968-),女,博士,教授,博士生导师,现主要从事数字图像处理、模式识别等方面的教学与研究工作;E-mail:yqsun@yangtzeu.edu.cn。

TP391

A

1673-1409(2016)31-0031-06

[引著格式]李祖胜,孙玉秋,胡维,等.基于数字图像处理技术的双指针机械仪表读数自动识别方法[J].长江大学学报(自科版),2016,13(31):31~36.

猜你喜欢
自动识别量程读数
基于数据挖掘的船舶航迹自动识别系统
基于惯性导航量程扩展的滚动再次受控方法
宽量程计量自动切换及远程传输技术
基于卫星遥感图像的收费站位置自动识别与校核
煤气化装置中吹扫转子流量计量程选取探讨
自动识别系统
读数
读数
读数
读数