贺要锋, 闫 明, 张 柯, 刘晓慧, 王楠楠, 汪 阳
(1.国网河南省电力公司 许昌供电公司,河南 许昌 461000; 2.许昌学院 信息工程学院,河南 许昌 461000)
开闭所是电力系统中变电站的下一级,承担着将电安全稳定地输入到用电单位的责任,其重要性日益凸显。指针式仪表由于具有结构简单、使用方便、易维护的优点,在电力设备[1-3]中有着广泛的应用,在电力巡检过程中[4-5],需要人工读取仪表示数,但人工读数工作量大、误差高、读数精度易受工作环境的影响[6]。在智能电网的发展趋势下,轨道式巡检机器人[7-9]搭载云台摄像头能够对开关柜中指针式仪表进行图像采集,运用图像识别算法对采集到的图像进行识别处理,能够实现指针式仪表的自动读数。
针对仪表的自动读数问题,学者们提出了一系列的算法[10-12],包括中心投影法、减影法、模板特征法、神经网络算法等。其中,中心投影法、减影法、模板特征法受图像拍摄环境的影响较大,鲁棒性能差;最小二乘法计算量大,不适用于实时读数的场合。本文利用Hough变换算法进行指针识别,该方法读数精度高,计算量小,且具有较好的容错性,在开闭所巡检中具有较大的推广价值。
在指针式仪表的自动读数过程中,首先需要对采集的图像进行预处理[13],提取感兴趣的区域(Region of Interest,ROI),最终获取指针位置,并通过计算直线斜率得到仪表的读数。该过程能够在低分辨率图片中准确找出指针的位置,实现指针式仪表的高精度自动读数,算法流程如图1所示。
图1 算法流程图
图像一般通过摄像头进行采集,并在计算机中形成图像文件。JPEG格式的图像文件能够用较小的磁盘空间得到较好的图像品质,故本算法采用的图片格式为JPEG,采集的原图如图2所示。
图2 图像采集
图像灰度化的方法包括分量法、最大值法、平均法和加权平均法。加权平均法是基于人的视觉特性对图像进行灰度化,既可提高后续算法的速度,又能够提高系统的综合应用时效,其基本公式为
Gray=R×0.992+G×0.587+B×0.114
(1)
式中,R,G,B分别为彩色图像的红色通道、绿色通道和蓝色通道的像素值,灰度化的图像如图3所示。
图3 灰度化
中值滤波是一种非线性的图像平滑技术,能够有效地去除脉冲噪声、椒盐噪声,同时又能保留图像的边缘细节,其基本原理是将每一个图像像素点的灰度值设置为该点某邻域内的所有像素点灰度值的中值,使每一个像素值与领域的像素值非常接近,从而消除孤立的噪点,实现图像滤波。中值滤波后的图像如图4所示,选取的函数窗为3×3。
图4 中值滤波
图像的二值化能够使图像的对比度更加明显,将前景目标从背景目标中分割出来。图像二值化的具体方法是确定一个阈值T,图像中的像素大于该阈值的灰度设置为255,小于的设置为0,具体公式如下:
(2)
(3)
(4)
算法的具体步骤为:
① 求出图像中的最大灰度Gray_Max;
② 令i=0;
③ 求出大于i和小于i的两类像素总数和像素的灰度平均值;
⑤ 令i=i+1;循环步骤③~⑤,直到i>Gray_Max;
⑥ 找到最大值,得到相应的阈值T。
Otsu算法实现简单,适应性强,具有良好的性能。图像二值化处理的结果如图5所示。
图5 二值化
在图像处理过程中,提取ROI能够简化工作过程,分析图像中所关注的重点,从而减少处理时间,增加识别精度。根据指针式仪表的外形,制定提取ROI的过程为:① 找到图像中的内轮廓;② 得到最大内轮廓;③ 提取最大内轮廓中的图像作为图形处理的ROI。通过以上步骤获取的ROI图像如图6所示。
开运算属于形态学运算的一种,是对图像先腐蚀后膨胀的过程,开运算能够完全删除不能包含结构元素的对象区域,平滑对象的轮廓,断开狭窄的连接,去掉细小的突出部分。开运算后的图像如图7所示。
图7 开运算
图像细化[15]是将图像上“臃肿”的像素简化为单像素相连的二值图像,从而提高仪表的自动读数精度,细化的好坏直接影响后续的图像识别效果。图像细化是经过一层层的剥离,从原图上去掉一些点,但仍要保持原来的形状,直到得到图像的骨架。本文采用快速图像细化算法(Fast Parallel Algorithm for Thinning Digital Patterns),指针细化后的图像如图8所示。
图8 指针细化
Hough变换是图像处理中的特征提取技术,可用于直线的检测和提取,其基本原理是利用点线的对偶性,通过变换将图像空间转换到参数空间中。假设y=ax+b上有两个点(x1,y1)和(x2,y2),则在极坐标体系可表示为
(5)
经过一系列变换之后得到:
(6)
式中,a为斜率;b为直线的截距。式(6)表明,直线坐标系同一直线上的点对应极坐标系中的一条曲线,且所有曲线相交于一点,参数空间中共点的曲线数即为直角坐标系中共线的点数,将极坐标空间量化成许多累加器小格,图像中的点(xi,yi)映射到Hough变换中的一组累加器List(ρi,θi)中,满足以上正弦曲线方程的每一点将使相应的所有累加器加1,累加器最大值对应于图像最长的直线,故根据Hough变换原理能够提取仪表指针的中轴线,从而计算仪表读数。
获取指针后,仪表示数可通过待测图像与基准图像(指零图像)中两个指针的位置求出。其基本原理是:① 首先计算指针分别指向零刻度线和满量程刻度线时两个指针中间的夹角α;② 然后求出待测图像与基准图像中两个指针之间的夹角α0;③ 最后利用α,α0与量程η的关系求出待测图像中指针的读数,具体计算公式为
(7)
式中,p为指针读数。
本实验使用Visual Studio 2012集成开发环境,以OpenCV库函数作为图像处理的核心,实现指针式仪表的自动读数。
整个实验以10种不同状态的仪表图像作为实验数据,实验结果如表1中所示。
表1 算法实验结果
从表1中可以看出,10种不同状态的仪表图像的自动读数的绝对误差都小于0.004,准确率都在99%以上,自动读数性能好、精度高,这表明本文算法具有良好的指针式仪表图像的自动判读性能。
图9~图11分别表示圆形、长方形、圆弧形指针式仪表的图像识别过程,从图中可以看出,本算法能够在3种不同形状的指针式仪表中准确地提取出指针所在的直线,并能够准确地读取仪表示数。在电力系统中,开关柜、GIS设备和变压器等设备中存在形状各异的指针式仪表,本文算法能够对不同形状的仪表进行识别,具有较好的鲁棒性。
图9 圆形指针式仪表的图像识别过程
图10 长方形指针式仪表的图像识别过程
图11 圆弧形指针式仪表的图像识别过程
指针式仪表的读数是电力巡检过程中必不可少的工作,针对人工读数成本高、精度低、容易受仪表形状和环境干扰的问题,提出了一种基于Hough变换的指针自动读数算法,该算法运行速度快,抗干扰能力强,读数精度高,具有一定的推广价值。