摘要:针对矿山设备高压配电室机器人巡检系统中数显式仪表数码管难以有效定位与准确识别的问题,提出了一种复杂环境下数显式仪表数码管定位与识别方法。在数码管区域定位中,首先通过特征图像和标记分水岭算法初步定位数码管区域,然后使用大津阈值法和标记分水岭算法得到二值图像,并对其进行投影分割得到数码管字符,最后采用局部二值模式特征和支持向量机分类算法排除非数码管区域,提高数码管定位准确率;在数码管字符识别中,首先使用自适应Canny算法提取数码管字符边缘,然后采用Radon变换估计数码管字符倾斜角度,再使用滤波模板滤除噪点,最后通过穿线法识别数码管字符。试验结果表明,该方法能适应不同光照、数码管大小和字符倾斜角度,具有较高的定位和识别准确率。
关键词:高压配电室机器人巡检系统; 数显式仪表; 数码管定位; 字符识别; 大津阈值法; 标记分水岭算法; Radon变换; 穿线法
0 引言
随着矿山自动化的发展,在矿山设备高压配电室机器人巡检系统中,数显式仪表数码管定位和识别是一个重要的研究内容[1-2]。数码管定位的常见方法是通过边缘或颜色特征[3-4]定位数码管区域。但实际上数码管嵌入在复杂的设备中,其字符的发光程度、颜色、大小并不全部相同,因此使用常见的水平灰度变化特征法、边缘检测法、颜色特征法、最大稳定极值区域法和笔画宽度变换法均不能有效确定数码管区域。数码管字符识别的常用方法有穿线法[5-7],但光照不均匀或数码管字符倾斜会导致穿线法识别错误。鉴此,本文提出了一种复杂环境下数显式仪表数码管定位与识别方法,并通过试验验证了该方法的有效性。
1 数码管定位
1.1 数码管初步定位
首先根据数码管的RGB颜色空间得到显著特征图:
fdif(x,y)=max(fr(x,y),fg(x,y),fb(x,y))-min(fr(x,y),fg(x,y),fb(x,y))
(1)
式中:fr(x,y),fg(x,y),fb(x,y)分别为图像中RGB 3个通道的分量;(x,y)为图像像素坐标。
然后根据特征图像素值大小,采用标记分水岭算法[8]对特征图像进行标记,其中像素值越大的区域属于数码管区域的可能性越大。最后,通过连通域查找算法得到数码管区域。
1.2 数码管字符分割
数码管区域含有多个数码管字符,因此需要根据颜色和边缘特征进行分割。首先将图像灰度化,通过合理选择一般灰度化或最大值灰度化的方法(式(2)),防止数码管亮度过暗而造成边缘丢失。
fL(x,y)=

(2)
式中:fL(x,y)为最佳灰度化图像;fG(x,y)为一般灰度化后的图像,fG(x,y)=0.99fr(x,y)+0.587fg(x, y)+0.114fb(x,y);M为设定的阈值,一般取190。
得到灰度图像后,不是所有图像都具有相同灰度级范围,因此对数码管的初步定位区域进行灰度拉伸[9],将8位灰度图像的灰度级归一化到0~255。
实际数码管图像样本中前景区域和背景区域之间会存在由数码管光晕造成的过渡区域,且不同数码管区域的字符大小也不相同,采用大津阈值法对灰度图像进行二值化处理时,对于清晰和较大的数码管字符有较好的处理效果,而对模糊或较小的数码管字符则处理效果不佳[10]。因此,将大津阈值法与标记分水岭算法相结合,即在大津阈值法求出的图像分割阈值基础上,加上一个适当的固定值作为上界,减去一个适当的固定值作为下界,以此作为标记分水岭算法的标记,通过标记分水岭算法得到二值图像。之后对二值图像进行投影分割,得到单个字符区域。
1.3 非数码管区域排除
局部二值模式(Local Binary Pattern,LBP)是一种用来描述图像局部特征的算子,具有灰度不变性和旋转不变性等优点,LBP特征提取流程如图1所示。
采用支持向量机(Support Vector Machine,SVM)对LBP特征进行二元分类[11],从而排除非数码区域。由于图像样本数量有限,为防止过拟合情况发生,选择SVM核函数为线性核函数,此外,为使SVM分类算法具有很好的泛化能力,采用交叉验证和网格搜索确定参数[12-13]。

图1 LBP特征提取流程
Fig.1 LBP feature extraction flow
2 数码管字符识别
2.1 字符倾斜角度估计
首先采用Canny算子提取数码管字符边缘[14]。由于数码管字符的亮度不同,不同图像中数码管字符边缘强弱并不一致,所以需要自适应确定Canny算法的高低阈值参数,流程如图2所示。

图2 自适应Canny算法阈值参数获取流程
Fig.2 Acquisition flow of threshold parameters of self-adaptive Canny algorithm
然后利用Radon变换估计数码管字符倾斜角度。Radon变换是将数字图像矩阵在某一指定角度射线方向上做投影变换[15],即将图像f(x,y)在任意角度为θ的直线上的投影定义为沿垂直该直线方向上的线积分。f(x,y)的Radon变换为
Rθ(x′)=f(x′cos θ-y′sin θ,x′sin θ+
y′cos θ)dy′
(3)
式中:Rθ(x′)为图像在θ方向上的线积分;(x′,y′)为(x,y)旋转θ后的坐标,
Radon变换用于计算数码管字符边缘在某一角度的投影积分,积分最大值所对应的角度即为数码管字符倾斜角度。
2.2 字符识别
由于数码管的发光特性,数码管字符图像会存在一定的噪点,所以采用滤波模板滤除噪点,滤波模板如图3所示。将滤波模板缩放到和数码管字符一样大小,然后对模板和数码管字符进行与操作,再使用图像形态学的腐蚀操作进一步消除噪点。数码管字符图像去噪后,采用穿线法进行字符识别,如图4所示,其中H为图像高度,W为图像宽度。穿线法通过检测竖直的1条二等分线和水平的2条三等分线是否与数码管字符7条线段(a,b,c,d,e,f,g)相交得到数码管字符二进制编码(相交为0,不相交为1),见表1,进而识别出数码管字符。数字“1”由于其特有形态,可利用图像宽与高的比值来判断。

图3 滤波模板
Fig.3 Filter template

图4 穿线法原理
Fig.4 Principle of threading method
表1 数码管字符二进制编码
Table 1 Binary coding of digital tube character

3 试验结果
在矿山设备高压配电室随机拍摄30张图像样本,图像尺寸为2 976×3 968。在配置为i7-5500u的CPU和4 GB内存的计算机上对复杂环境下数显式仪表数码管定位与识别方法进行试验,结果见表2。可看出该方法定位准确率为98.6%,识别准确率达100%。
表2 试验结果
Table 2 Experimental result

不同光照、数码管大小和数码管字符倾斜情况下的数码管定位与识别结果分别如图5—图7所示,可看出该方法能在复杂环境下有效定位数码管区域并准确识别数码管字符。

图5 不同光照下数码管定位与识别结果
Fig.5 Location and recognition results of digital tube under different lighting

图6 不同大小数码管定位与识别结果
Fig.6 Location and recognition results of digital tube with different size

图7 数码管字符倾斜时定位与识别结果
Fig.7 Location and recognition result under tilted digital tube character
4 结语
提出了一种复杂环境下数显式仪表数码管定位与识别方法。针对数码管区域定位,首先利用特征图像和标记分水岭算法初步定位数码管区域,然后使用大津阈值法和标记分水岭算法得到二值图像并进行投影分割,最后提取图像LBP特征并采用SVM分类算法对非数码管区域进行排除;针对数码管字符识别,首先使用自适应Canny算法稳定获取数码管字符边缘,在此基础上运用Radon变换来估计数码管字符的倾斜角度,然后用滤波模板去除由光照不同所带来的噪点,最后使用穿线法完成数码管字符识别。试验结果表明,该方法能在复杂环境下定位与识别不同光照、数码管大小和数码管字符倾斜情况下的数码管,定位和识别准确率高,具有较高的实际工程应用价值。