冀辰宇,阚一凡,焦圣喜
(东北电力大学自动化工程学院,吉林吉林132012)
随着人们对便捷生活方式的追求,私人汽车已经被广泛的使用,汽车仪表指针识别技术的研究也更具意义。同时,指针式仪表也广泛应用于工业生产中,此技术可对各类指针式仪表进行检测,不但可以应用于仪表读数的实时监测还可以用于仪表生产时的校验。
表盘指针位置识别就是利用视频监控系统对仪表指针进行实时监控并截取图片,利用图像处理技术,确定指针位置和角度,计算指针读数[1]。现有的大多数关于仪表指针的研究对象都是仪表的灰度图[2-4],将其转换成二值图以用于后续的指针刻度识别。在二值图的转换过程中,由于灰度图像中已经丢失了色彩信息,因此分割阈值的选择将会变的十分困难。而本文将指针颜色特征比较明显的表盘作为研究重点,主要论述了如何利用颜色提取及图像分割的方法对该类指针表盘图像进行分析处理,达到准确定位待识别指针的目的,为正确识别指针读数奠定基础。下面将介绍对于红色指针表盘的识别处理方法。
图1为本论文将要进行识别处理的汽车转速表图像。仪表图片在自然光源的条件下获取,但是反光或阴影等因素并不影响后期处理。由图1可以看出,汽车转速表主要由红色读数指针及报警区域、白色的刻度值以及黑色的表盘底色组成。由于红色的指针为真正需要识别的读数指针,因此表盘的指针位置识别的关键是要正确定位待识别的红色指针,避免其他颜色的干扰。
图1 汽车转速表
红色指针仪表盘图像识别处理算法的原理是首先利用颜色提取技术确定红色界限指针区域,然后通过图像分割的方法提取红色指针并将指针图像转换为一般灰度图,最后对指针的二值图像进行处理,识别指针读数。
颜色提取是彩色图像处理技术中的一种,需要对图像的颜色特征和色彩信息进行分析、比较以及处理,选择一个合适的颜色空间将大大简化分析处理中的步骤和过程,并且使彩色图像处理更加直观和方便[5]。HIS颜色空间是视觉颜色模拟系统中的一种,可以直接面向图像处理和运算,从RGB颜色空间到HIS颜色空间只是一个非常简单的非线性变换,同时由于视觉颜色模型系统是与人眼对颜色感知的视觉模型相似的,所以HIS颜色空间与人眼符合着很好的视觉一致性,并且HIS中I分量(色调值)可以无差错的定义一种颜色。因此本论文将利用HIS颜色空间作为基本的颜色空间进行接下来的颜色提取及图像分割。
分析表明,(H)色调由红,黄,绿,青,蓝,品红的顺序变化。(I)亮度值越接近于0,颜色越趋近于黑色。(S)饱和度值越小,彩色信息越少,图像越趋近于灰度图像[6]。根据HIS颜色模型的特性作如下特殊处理:
(1)黑色区域:所有I<15%的颜色均归入黑色,即令H=0,I=0,S=0;
(2)自色区域:所有S<10%且I>80%的颜色归入白色,即令H=0,I=1,S=0;
(3)灰色区域:所有S<10%,15%<I<80%的颜色归入灰色;
(4)彩色区域:位于黑色区域和白色区域以外的颜色;
这里所提到的黑色以及白色都是近似的,为近纯黑色以及近纯白色,灰度值是连续变化的。
根据上面对HIS颜色空间所作的特殊处理,所有I<15%的点和所有S<10%的点都可看作为背景,通过逐个扫描图像像素点的方法将满足这两个条件之一的像素点全部置为黑色。
再次逐个扫描图像像素点确定红色指针区域。像素点{X1,X2,…,Xn}对应像素点色调为{H1,H2,…,Hn},以某点XS的色调HS为标准色,只要满足式(1)的像素点即与XS的颜色相同或相近。
其中a为色调阈值。
因为仪表指针为红色,所以取标准色HS=0,令色调阈值a=30,逐个扫描图像像素点,满足条件Hi-0<30即被作为红色指针区域予以保留,其余像素点全部置为黑色,如图2所示。图2中不但保留了指针还保留了报警区域,接下来可以将图像二值化并进行连通域的提取,如图3所示。然后定位提取指针的连通区域,只留下指针图像方便后续处理,如图4所示。到此为止,红色指针已经被提取,指针图像已经可以等同于单指针表盘模型进行后续的灰度图像处理。
图2 红色像素点被提取保留
图3 二值图像连通域提取
图4 定点连通域提取的指针
Hough变换提取直线时受直线中的间隙和噪声影响较小,所以采用Hough变换提取指针直线。它是一种变换域提取直线的方法,它将直角坐标系中的线变为极坐标系中的点,基本策略是:由图像空间中的边缘数据点去计算参数空间中的参考点的可能轨迹,并在一个累加器中给计算出的参考点计数,最后选出峰值。
变换后的直线可以用参数表示为
其中ρ为从原点到直线的垂直距离,θ为从x轴算起的角度,这条直线在ρ-θ平面中为一点,而通过xy平面上一点的一簇直线变换到ρ-θ平面时,将形成一条类似正弦状的轨迹,也即x-y平面上一点对应ρ-θ平面上一条曲线。若在x-y平面上有三个共线点,它们变换到ρ-θ平面上为有一公共交点的三条曲线,交点的ρ-θ参数就是三点共线直线之参数。根据这个原理,可以用Hough变换抽取直线。通常将x-y称为图像平面,ρ-θ称为参数平面。
Hough变换后得到的直线如图5所示。
图5 Hough变换后的指针直线
表针旋转中心的确定是表盘读数识别技术的关键,由于存在这样一种情况,仪表指针的指向相反,但位置处于同一条直线上,通过Hough变换提取出的指针直线方程是一样的,我们还无法通过这个方程来判断指针是指向下方还是上方,这就需要确定指针中心的位置,因为只有确定表盘中心,才能确定指针的指示方向,并进行进一步的读数识别。本文采用交线法确定表盘中心,即取两张指针指向不同角度的图像(如零刻度和满刻度),分别提取直线,两直线方程联立,求取两条直线的交点为表盘的中心。
在运用角度法进行读数确定之前,需提取零刻度和满刻度时指针直线,根据表盘实际情况建立角度与读数之间的对应关系,在通过Hough变换提取出指针直线方程后,可由斜率得出直线倾斜角度,由对应关系确定读数。
首先,确定指针所在区域。逐点扫描指针图像水平投影图,将第一个黑色像素点所在的行看作为第一行,将最后一个黑色像素点所在的行看作为最后一行。第一行与最后一行之间即为黑色像素点的分布区域,水平等分该分布区域,令上半部黑色像素点数目为A1,下半部黑色像素点数目为A2,再逐点扫描指针图像垂直投影图,将第一个黑色像素点所处列看作为第一列,将最后一个黑色像素点所处列看作为最后一列。第一列与最后一列之间即为黑色像素点的分布区域,垂直等分该分布区域,令左半部黑色像素点数目为B1,右半部黑色像素点数目为B2。
根据投影图的黑色像素点投影规律,可得表1。
表1 指针区域划分
根据该结论,在Hough变换之前,需要根据指针二值图像的水平和垂直投影图,逐点扫描黑色像素点,判断指针基本指向,避免发生歧义。确定指针指向是正确计算指针角度的关键一步。
然后,确定指针角度读数。逐点扫描Hough变换结果图,令第一个扫描到的白色像素点的坐标为(x1,x2),最后一个扫描到的白色像素点的坐标为(y1,y2),令直线与直角坐标系中x轴正方向的夹角为α,直线斜率为k。
斜率k以及夹角的计算如下式(3)所示:
仪表指针距离零刻度线的实际角度为β,零刻度线到垂直的y轴的角度为θ(θ=53°)。根据己经判断得到的指针基本指向,可以得到角度读数数据如表2所示。
表2 指针位置对应角度读数
仪表指针的实际读数n用式4求出:
本文中,读取6张汽车转速表表盘的图像,得到读数结果如表3所示。
表3 实验检测结果
本系统软件读数与人工读数相对误差最大为2.5%,相对误差均值为0.81%,实际上人眼读数,只能精确到表盘的最小刻度线,从这个意义上说,本软件精度已达到人眼读数精度,基本达到实际测量需要。
本文以红色指针提取为例,成功实现了对彩色指针的提取与识别,彩色提取技术亦可以提取不同颜色指针,它不但可以简化单色指针仪表的识别过程,还可以应用在多颜色多指针仪表的识别中,利用彩色提取及图像分割技术过滤掉不需要的指针,留下读数指针进行进一步的识别。此外,如果要更好的将此识别系统应用于生产实践中,还需要更快的识别速度和更高的识别精度,有待于进一步研究。
[1]崔行臣.数显与指针仪表示值识别技术的研究与应用[D].曲阜:山东师范大学,2011.
[2]张艳玲,汪仁煌.基于文理分析的仪表读数区域定位方法[J].计算机应用,2009,26(6):235-237.
[3]程庆国.指针式仪表信息采集系统研究[D].广州:广东工业大学,2011.
[4]F.Correa Alegria,A.Cruz Serra.Computer Vision Applied to The Automatic Calibration of Measuring Instruments[J].Measurement,2000,28(3):185-195.
[5]高成.Matlab图像处理与应用[M].北京:国防工业出版社,2007.
[6]韩九强,胡怀中,张新曼.机器视觉技术及应用[M].北京:高等教育出版社,2009.