当前位置:首页 期刊杂志

基于图像处理的细指针表盘识别方法研究

时间:2024-05-04

(广东工业大学 机电工程学院,广州 510006)

0 引言

在变电站中,有许多表盘用来监测变电站中设备的工作状态。由于电磁环境非常复杂,变电站中的表盘基本上全部是模拟式而并非数字式表盘[1-2]。伴随着社会的发展与前进,早期指针式表盘采取人工读数和记录表盘数据方式,存在工作效率低、易视觉疲劳、识别率难以保证和实时性差等缺陷,已难以满足实际中生产与工作的需求[3]。随着图像处理自动识别的发展,为利用计算机代替人工提供了技术支撑。

在指针式表盘识方面,国内外做了大量的研究,Yue[4]提出一种基于 Hough变换的表盘读数方法,通过测量指针线段与零刻度线段的夹角来转换得到表盘读数;Yang Z等人[5]提出一种基于二进制描述器来获取表盘的区域,再通过基于圆周区域累积直方图(circle-based regional—cumulative histogram, CRH)的方法来对指针进行精准定位;剪影法[6-7]主要思想是通过对不同时刻的两幅指针式表盘图像进行差值运算,从而得到指针位置的角度,可该方法对于光照变化与有阴影干扰等环境,其效果就不好[3],对于工业应用基本上就不起作用;Han[8]提出了一种改进Hough变换的算法,先对图像进行图像预处理操作,如中值滤波与二值化等操作,然后利用改进的Hough变换检测指针直线角度,通过角度转换获得表盘示数;张永强[9]等提出基于收敛映射CM-Hough变化的检测算法,使用Hough变化检测直接得到指针位置,然而Hough变换法虽容错性好,但是对一些多符号与多线条等干扰并不适用,鲁棒性较差[5]。张文杰[10]等提出基于视觉显著性区域检测的仪表读数算法,先通过视觉显著性检测先验知识来获得指针所在区域,然后对图像进行旋转来找到横坐标投影的最大值。

变电站刻度仪表大致分为两大类型,每一类型又根据表盘特征如量程、半径、颜色等分为多种样式,一类为指针短且细的表盘,一类是长且粗的表盘[5]。指针式表盘识别方面已经有很多方法,但是目前研究的大部分指针特征比较明显,长且粗的表盘,如图1(c)、图1(d)之类,而对于短且细指针(如图1(a)、图1(b)之类)研究较少,在本文中指针短且细的表盘叫做细指针表盘。因短细指针更容易受光照、模糊的影响,导致识别率低[5],且在细指针表盘识别中由于其细指针特征不明显,以至于指针极难分割且算法鲁棒性交差。针对其问题,本文提出一种基于分割扇形区域的视觉读取方法。采用基于SURF算法的多任务匹配方法,同时匹配多张模板,解决光照变化过大影响匹配精度的问题,再通过分割扇形区域来获取指针活动区域,通过灰度拉伸、二值化处理等预处理来分割指针,最后通过最小二乘法拟合直线求得指针角度,从而完成细指针指表盘读数的自动识别。

图1 表盘种类对比

1 基于图像处理的表盘定位算法

1.1 表盘标定

表盘标定是指将细指针表盘相关先验信息录入表盘模板库中,一种表盘的检测只需要进行一次标定即可。刻度线所形成的圆本文叫做刻度线圆,通常需要标定的信息包括:表盘量程、刻度线圆半径、刻度线圆圆心、表盘最小刻度线角度和表盘最大刻度线角度等。

1.2 基于SURF算法改进的多任务模板特征匹配算法

SURF匹配算法是在尺度不变特征变换算法(SIFT算法)的启发下,在3个方面对其进行改进,即特征点检测、特征点描述算子和特征匹配三方面,采用了harr特征和积分图像的概念,提出的一种类似SIFT的加速算法,是一种对图像缩放与旋转保持特征不变性的图像局部特征描述算子[11]。SRUF是SIFT算法加速版,对特征点检测的速度有很大的提高,标准的SURF算子比SIFT算子能够快好几倍,并且在多幅图片下具有更好的鲁棒性,各方面性能都得到提高。

1.2.1 积分图像

SURF通过对积分图像进行操作,从而实现算法加速,利用方框滤波器计算每一个像素点的Hessian矩阵行列式(极小的运算量,因其只需简单的几次四则运算),并且其计算量和方框滤波器大小无任何关系,如此就可以快速地构建SURF的尺度金字塔。在积分图像中,每一个像元的值是原图像上对应所在位置的左上角所有元素的和,如式(1)所示:

(1)

式中,I∑(x,y)表示在坐标X=(x,y)处,图像原点和X点所构成的矩形内像素值的和。

1.2.2 尺度空间的生成

SURF通过Hessian矩阵行列式来近似图像,在点X=(x,y) 处,在尺度σ下,其Hessian矩阵如式(2)所示:

(2)

式中,Lxx为高斯函数g(x,y,σ)二阶偏导函数和图像在像素点(x,y)处的卷积,如下式所示:

Lxx=G(x,y,σ)⊗I(x,y)

(3)

(4)

式(3)、(4)中,Lxy,Lyy含义类似。

为了让运算速度提高,Bay等人[12]通过方框滤波器对高斯二阶微分模板进行近似处理。通过积分图像来对卷积操作进行加速,从而提高计算速度。在原始图像上,使用方框滤波器的效果反映在掩膜版尺寸上。如图2所示为9×9方框滤波掩膜版,图中灰色的部分掩膜版值为0。其对应二阶高斯滤波系数σ为1.2。进一步即可得到Hessian矩阵判别式,如式(5)所示:

det(H)=DxxDyy-(0.9Dxy)2

(5)

式中,Dxx,Dyy,Dxy为方框滤波模板和图像卷积运算后的结果。

图2 方框滤波掩膜版[10]

得到Hessian的行列式图后,开始构建尺度图像金字塔,把尺度空间分为若干阶,在每一阶中选择4层的尺度图像,如果模板尺寸为F×F,该模板对应的尺度计算公式为σ=1.2×9/F,由Hessian矩阵求出尺度极值,接着在3×3×3的立体邻域内,对极值点进行非极大值比较,具体规则:如果该极值点为最小值或者最大值,则该极值点即为候选特征点。然后在图像空间和尺度空间中进行插值计算,获得稳定的特征点位置和其所在的尺度值。

1.2.3 选取特征点的主方向

在SURF中,不会统计其梯度直方图,而是统计特征点所在区域内的Harr小波特征,具体为以特征点为中心,计算特征点的邻域(比如半径为6 s的圆,其中s表示该点所在尺度)内的点在x、y两方向的Haar小波响应,Haar小波边长设置为4 s,如此一个扇形得到了一个值。再以角度为60°的扇形以一定间隔进行旋转,把60°范围内的所有响应相加求和来形成一个新的矢量,然后遍历整个圆形区域,把最长矢量的方向设置为该特征点的主方向,这样就可获得所有特征点的主方向。

1.2.4 基于SURF算法改进的多任务特征向量的匹配

用SURF方法获得模板图像和待匹配图像的特征向量后,欧氏距离作为相似判定度量,以此来确定一对匹配点。到两幅图像特征点的匹配关系后,幅图像存在这样的一个变化过程:

(6)

式中,D为仿射变换矩阵,[x1,y1,1]T,[x,y,1]T分别为某组特征匹配点在模板图像和待匹配图像的像素坐标。式(6),就可以求得D矩阵。而实现待检测图像中的细指针表盘的精准定位。

经过以上步骤,以获取表盘的位置,由于变电站对指针式仪表进行定期巡检来检测电力设备运行状态时,巡检机器人在任何一日或者一日中的任何时期都有可能去巡检,其间每日天气不同,一日时期不同如清早、上午与傍晚,在这种限制情况下,采集到的图像可能会光线灰暗,若模板是光线较好的情况下图像所制作,然而待配准图确是光线较暗的图像,模板图与待配准图细节相差大,此时会出现找不到匹配点或者匹配较少从而定位不到表盘位置的情况,也就会导致表盘读数失败。基于此特征,本文提出一种基于SURF算法改进的多任务模板特征匹配算法,用以使得配准算法能够适应亮度变化大的不同待配准图。具体方法如下。

步骤1:巡检机器人在一天的不同时期去采取m张图像,如早晨、中午、傍晚,尽量使得m张图像光照强度近似逐级增加,使得每张图像都要有光照强度差异,制作m张模板图像并保存。一般来说m数小于10(考虑代码实现难度)。

步骤2:进行SURF特征点匹配时,将m张模板分别与待配准图进行匹配获取其匹配点,保存其每张模板与待配准图的匹配点的数量。同时匹配m张图像,会消耗大量时间,为解决此问题,采用多线程技术来同时获取每张模板与待配准图进行匹配获取其匹配点。

步骤3:将步骤2获得的每张模板与待配准图的匹配数量依次排序,取匹配点数量最高的模板与待配准图匹配结果作为最终结果。且设置其最小匹配数量n(一般n为4),若最高匹配点数小于n,则报错不进行检测。预防其匹配到其他非表盘区域,即错误区域,增强匹配的准确性,也防止出现错误读数。

步骤3:求出仿射变换矩阵,进行图像分割。

由以上步骤,就可以定位表盘读数区域,通过多任务模板匹配特征算法提高了匹配定位的鲁棒性且不增加额外的时间,而且使得够亮度变化大的不同待配准图也能精准匹配定位。如图3所示为一组基于SURF算法改进的多任务模板特征匹配算法进行匹配定位的处理结果,右上角图像为匹配结果图像,用P0表示。

图3 模板图像与待测图像的特征点匹配图

2 细指针表盘指针定位算法设计

细指针表盘由于其指针很细,指针与背景、刻度线、数字等干扰的灰度差异不大,很容易在处理过程中和这些干扰因素区分不开,导致难以分割出所需指针,若直接分割指针,会出现很多干扰直线(即非指针的直线)。实际的细指针表盘指针一般都是以轴心为圆心、指针长度为半径,在一个扇形区域内旋转,本文利用细指针表盘活动区域在一个扇形区域内这一特征,提出基于分割扇形区域的指针定位法(Pointer positioning method based on segmented sector,PSS)对指针进行定位,算法流程图如图4所示。

图4 细指针表盘指针定位算法设计流程图

2.1 PSS分割

由细指针表盘特征可知,表盘上的刻度线、数字、符号都和指针灰度差异不大,都会对指针分割造成干扰。PSS通过刻度线圆的圆心、半径、表盘最小刻度线角度(即起始角度)与表盘最大刻度线角度(终止角度),来获取扇形区域。再通过以刻度线圆的圆心为圆心,小于刻度线圆半径的半径,再获取一个扇形区域,两个扇形区域的中间即为指针活动区域。如此就剔除了刻度线、数字、符号等其他的干扰。指针活动区域中只有指针和背景,不存在任何其他干扰,如此一来分割出指针就会更加精确。该具有方法计算简单,准确率高的特点。具体实现步骤如下:

1) 创建一张与匹配图像P0一样大小的全黑图像(像素值全为0的图像),在黑底图像上填充一个白色(像素值为255)的扇形区域。由表盘标定获得的先验信息,可获得刻度线圆半径、刻度线圆圆心等数值,刻度线圆的半径和模板图像的高分别用R、H表示,用刻度线圆的圆心,以R-H/4为半径(以此数值为半径是为了剔除指针下其他文字影响)、表盘刻度线最小角度与表盘最大刻度线角度为起始和终止角度,在此图像上填充一个小扇形区域,此图用P1表示,如图5(a)所示。

2) 创建一个与匹配图像P0一样大小的白底图像(像素值全部为255的图像),在白底图像上填充一个黑色(像素值为0)的扇形区域,用刻度线圆的圆心,以刻度线圆的半径R为半径、表盘刻度线最小角度与表盘最大刻度线角度为起始和终止角度,在此图像上填充一个大扇形区域,此图用P2表示。

3) 为了得到图像P0中除P2扇形区域原图像素值不变而其余部分像素值均设置为0的图像,此图像用P3表示,如图5(b)所示,进行P3=P0-P2计算获得。

4) 将P3中的像素值为0的值设置为255,用P4表示。将P4与P1相加则可获得指针活动区域,如图5(c)所示。

2.2 图像预处理

在获取表盘图像过程中,由于现场的光线是一直变化的,指针与背景灰度差异不大,且受到周围其他物体的干扰,往往会使得分割指针造成困难,因此需要对PSS分割后的结果图进行灰度拉伸,使得图像对比度得到增强、细节变得清晰,指针更加突出,具体方法如下:假设输入图像f(x,y)的灰度值变化区间为[0-fmax],变换后输出图像v(x,y)的灰度变化区间为[0-vmax],用如下数学公式实现:

v(x,y)=

(7)

式中,g(x,y)为原图像的灰度值,[c,d]为原图像灰度变化区间,v(x,y)为变化后的图像灰度值。[e,f]为处理过后的灰度范围。

由图6所示,灰度拉伸区间在[a1,b1],在区间[0,a1]与[b1,fmax]灰度进行了压缩,如此就使得前景与背景区域的对比度得到增强。可以看出可以通过改变三段直线的斜率来改变拉伸与压缩的程度。处理结果图如图7(a)所示。

图6 分段线性变换示意图

为了提取表盘指针,需要对图像进行分割,先将彩色图像转换为灰度图像:

v=0.30R+0.59G+0.11B

(8)

式中,v表示灰度化后的灰度值,R,G,B分别为每个像素在红色、绿色、蓝色三通道的像素值。

之后再对图像进行二值化处理,由于指针长度占整个图像不会有太大变化,所以先验概率(即指针目标像素点数量占整个图像像素点比例)也不会有太大变化,使得二值化后的目标或背景像素比例等于先验概率。所以采用百分比阈值来获取分割阈值T,按照式9进行二值化处理,再筛选指针轮廓,结果如图7(b)所示:

(9)

式中,T为分割阈值,v(x,y)为阈值前图像像素值,v′(x,y)为阈值后图像像素值。

图7 图像预处理

2.3 算法拟合

Hough[13]变化是模式识别领域中对二值化图像进行直线检测的常用方法,可其检测需调的参数过多,且易受多线条等干扰,从而检测出多条直线,导致不稳定。所以本文采用基于最小二乘法拟合直线,在图像预处理后,先把二值化图像中点的坐标读出,再用最小二乘法拟合直线输出。具体原理如下:

1)设拟合直线方程为f(x)=ax+b拟合直线与数据点直线相应点的偏差的平方和最小,数学表达为:

(10)

2)为求其偏差的平方和最小,分别对a、b求偏导数,并令其为零。得:

(11)

整理后得:

(12)

式中,J(a,b)为各数据点yi的偏差和,(xi,yi)为二值化图像中的数据点。n为数据点的数量,a,b为待求变量。

经计算可以求得a,b值,即可得到细指针的角度。

2.4 读数识别

指针表盘读数是利用指针角度相对于表盘最小刻度线角度与最大刻度线角度与量程的关系识别表盘读数,通过表盘标定,从表盘模板库中提取相关数据,如量程范围、最小刻度线、最大刻度线角度、细指针测量角度等。指针表读数R与指针角度之间的函数关系可以表示为:

(13)

式中,量程范围为(Min,Max),最小刻度线角度为θmin,最大刻度线角度为θmax。细指针测量角度为θ。

根据式(13),求得指针表盘读数R。

3 实验结果与分析

3.1 表盘读数识别与多任务处理

为了验证本方法的适用性和稳定性,本文在实际测试中通过巡检机器人采集细指针表盘图像200幅进行了测试,表1所示为其中10组样本测试结果,表2为4组样本测试匹配定位时间的结果,为使用多任务SURF匹配和不使用多任务SURF匹配定位时间对比。

表1 细指针式表盘读数自动识别实验结果 (mA)

表2 使用多任务SURF匹配前后时间对比

由表2可知,使用多任务处理可以节约60%~66%的处理时间。图8为其中随机取两组图像测试效果。为了测试本方法对视角、尺度和光照的鲁棒性,本次采集图像数据分别在多角度、多距离、不同光照条件的拍摄条件下的数据集。以某品牌的避雷检测器为例,该避雷器检测器的量程为0~2.0 mA。

在实验中,为了减少人为读数的误差,将十人读数的平均值作为真实值。在实际工程应用中,指针角度识别误差允许范围为以内,即表1中允许的误差为0.073 mA。使用本文所提出的方法对细指针表盘进行识别,共有两幅图像不能被正确识别,正确识别率达到。测试绝对误差最大在0.053 mA,能够满足实际工程应用的表盘测量实际需求。

图8 两组测试效果图

3.2 结果分析与讨论

实验中五张未能正确识别原因是光照太暗、表盘玻璃反光和照片极其模糊的影响,表盘的指针基本的背景相差不大,肉眼都较难区分,导致未能正确识别。由于玻璃反光、采集图像非常模糊使得指针发白或者看不清,这是影响正确率的主要因素。由测试结果可知,本文提出的方法对光照、多距离有较好的鲁棒性,对于细指针类型表盘可以完成自动识别。总体而言,本文提出的细指针识别方法识别率与准确率均达到了实用化的要求,具有较强的稳定性和准确性。

4 结论与展望

针对细指针表盘识别中出现难以适应光照变化、细指针无法提取和表盘读数识别准确率低的问题,提出一种基于图像处理的细指针式表盘读数方法。本文提出基于SURF算法的多任务匹配方法定位表盘区域,解决了表盘定位不能够适应光照大幅度变化的问题,且大幅度提高速度。针对细指针由于其较细而特征不明显,表盘上的刻度线、数字、符号都和指针灰度差异不大及难分割的问题,提出基于分割扇形区域的指针定位法(PSS)来分割指针区域,再采用最小二乘法拟合直线获得其指针。实验表明,本方法错误识别率低,识别精度高,能够适应复杂背景与光照变化,在电力系统的工程应用中,细指针表盘检测与识别具有良好的鲁棒性和稳定性,达到实用化要求,具有很好的应用的前景。

另外如何将计算精简,降低对硬件资源的要求,改用基于深度学习方法来进行表盘定位提高匹配精准度,如何应对光照严重不足的情况对细指针准确识别,将是本文后续重点研究内容。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!