产品类别
新闻分类导航
联系我们
厂家传真:022-83719059
企业邮箱:hjzhu0518@21cn.com 工厂所在地址: 天津市南开区华苑产业区鑫茂科技园D2座一层A单元
新闻详情
基于多特征信息的水表指针自动识别方法
水表的自动判读技术在工业生产中有着广泛的应用,如水表自动检定技术,将CCD拍摄的水表图像输入计算机,使用图像处理方法分析识别水表的读数,经过误差分析后得出水表的检定结论。
多指针水表表盘有着类似的结构特征,每个指针及其刻度圆所在的圆形区域被称为子表盘,包含所有子表盘的圆环区域称为指针信息显著区域。由于水表指针数量多、形状较为复杂,工业生产中指针信息易受光照不均、水泡和表盘污染等因素的影响,使得水表指针的识别难度比其他单指针仪表高。针对水表指针识别中实际存在的问题,本文提出了基于多特征信息的水表指针自动识别方法。首先利用色调信息定位红色指针,结合表盘结构特征使用最小二乘拟合法实现指针信息显著区域的分割提取;然后采用基于色调信息的P-分位数法分割提取出指针子表盘区域,较好地解决了低对比度、阴影等干扰因素引起的检测精度下降的问题;最后基于指针的面积、形状、灰度分布等多特征约束条件,提出了一种改进的模板匹配法,分区实现了指针指向的快速识别。
2 基于色调信息的表盘定位
表盘定位是水表指针识别的第一个关键技术,就是将指针区域从整个水表图像中提取出来,表盘定位的准确性直接影响后续识别的准确率与效率。传统算法一般基于水表图像的灰度特征使用哈夫变换进行分割,得到仅包含所有指针的指针信息显著区域。通过这一步的分割,不仅屏蔽了没有指针的无效图像区域,缩小了指针信息的有效搜索范围,同时提高了图像处理的效率和速度。但是该算法要求图像质量较高,对于低对比度图像的识别准确率相对较低。本文充分利用水表图像的颜色特征,对传统的表盘定位算法进行改进。
表盘的红指针是最明显的颜色特征,且红色指针的中心均匀分布在一个圆周上,该圆心即为表盘中心。因此,准确定位红色指针是表盘定位的关键。彩色图像一般用R、G、B三分量表示,但是这三分量之间高度相关,冗余信息多,不利于彩色图像的分析和分割。而HSV空间相对RGB空间不仅更符合人眼对颜色的感觉,而且H、S、V三分量相互独立,不存在相关性,因此本文将水表原图从RGB空间转换到HSV空间,用H分量表示水表图像真实的彩色信息。
对不同光照条件下的水表图像进行训练,统计结果表明红指针的H分量值固定在一定范围内,本文把该范围设为ratio=(0,10)∪(156,180)。根据此条件可将红指针从彩色图像中提取出来,然后根据红指针位于不同的刻度圆内这个结构特征,利用模版匹配法大致定位红指针中心,使用最小二乘拟合法实现表盘中心定位并分割提取出指针信息显著区域。
具体步骤如下:
1)对原始图像执行平滑滤波去噪。
2)将RGB颜色空间转换到HSV颜色空间。将H分量值在ratio范围内的像素判为目标,灰度值为0;反之判定为背景,灰度值为255,得到黑白水表图像I1。
3)对I1图进行中值滤波、腐蚀、去除杂点、膨胀等操作,得到仅包含红指针的图像I2。
4)根据I2图红指针像素位置信息恢复红指针原来的彩色信息。
5)根据红指针分别位于不同的刻度圆这个结构特征标记红指针,得到红指针标记图I3。
6)利用模版匹配法在标记图I3上大致定位红指针中心。
7)使用最小二乘拟合法实现表盘中心定位,并分割出指针信息显著区域。
选取低对比度的水表图像使用上面算法进行实验,图1给出了表盘定位结果。从图1(b)可看出,在图像对比度较低的情况下利用指针的颜色特征定位表盘中心仍能取得准确结果。
图1 水表表盘定位结果图
3 基于面积和色调信息的指针提取算法
不同条件的水表图像在亮度、指针和背景的对比度上存在很大差异,特别在有不同程度阴影干扰的情况下,如果对整个图像采用同一阈值,势必会造成误分割。因此本文采取对各个指针子表盘单独处理的方法,根据子表盘的具体特性选择合适的阈值进行分割处理。
上一节已经求取了四个红指针中心和表盘中心,黑指针和红指针分布在同一个圆周上,且表盘中心与各指针回转中心的连线之间的夹角是相同的。根据这些先验知识,可以快速计算出黑指针回转中心的大致位置。
在指针信息显著区域中,每个子表盘内指针与背景所占像素个数的比例一定,且面积对噪声干扰的敏感性小,因此以指针面积作为约束条件来确定指针提取的阈值,本文采用P-分位数法进行阈值设定。该方法使前景目标和背景的像素个数比例等于其先验概率来设定分割阈值,具有稳定、速度快的特点。假设目标处于低灰度区,该方法可以表述为:设定一个灰度值Gray,统计所有不大于该灰度值的像素点个数Num(Gray),使得Num最小的不小于指针所包含的像素点总数S,则Gray即为分割阈值。
设图像的灰度值集合为:L={Li|i=0,1,2,…,n},灰度值Li的像素个数即为n(Li),则灰度值不大于Li的像素个数和为N(Li),即N(Li),那么所有N(Li)≥S的灰度值集合为Ls:Ls={Lj|N(Lj)≥S}(Lj∈L),所以确定作为分割阈值的Gray=min(Ls)。
图2(b)是使用上述算法分割的结果图,从图中可看出分割提取的黑指针结果较为完整,而红指针出现粘连、空洞、多针尖等现象,这是因为上述方法是基于假设目标处于低灰度区域,而实际中由于水泡、光照不均、阴影等因素使得目标灰度值高于背景灰度,所以简单的P-分位数法分割结果不是绝对理想的。本文利用红指针和阴影的色调信息明显不同的特征,提出了一种基于色调信息的指针提取方法,即在统计不大于该灰度值的像素点个数时加入色调信息:。本文算法的分割结果如图2(c)所示,从图中可看出光照不均、阴影等干扰得到了很好的改善。
图2 指针提取结果图
4 指针识别
常用的指针方向识别方法有四种:圆周灰度检测法、步长法、HOUGH变换法、模版匹配法。对水表图像使用这四种方法进行实验时发现,由于光照不均、阴影等原因常常导致部分指针模糊不清,此时使用圆周灰度检测法和步长法都会失效;而使用HOUGH变换法时,如果指针边界区域存在被水泡干扰而引起边界间断的情况,该方法就很难检测出指针边界直线的指示方向;模版匹配法对水表图像质量要求最低,但是受上文提取出的指针形状影响较大,如果提取的指针出现粘连、破损、多针尖等现象,该方法不能很好地识别指针指向,而且算法复杂度较高。
针对上述问题,本文以指针的面积、形状特征、灰度分布多特征作为约束条件,分区利用模版匹配法快速识别指针方向。具体方法为:首先将各个指针子表盘划分两个小区—前区和后区,将表盘中心与各指针回转中心的连线作为基准线,绕各指针回转中心分别按顺时针和逆时针方向旋转120°,得到的此范围即为前区,其余为后区;然后建立指针三角形模板,使该模板围绕各指针回转中心先后在前区和后区旋转,利用指针的面积、形状特征、灰度分布建立分类器。当指针模板旋转到某方向时得到的指针信息与模板相似度最大时,该方向即为识别的指针方向。
图3为指针子表盘的分区示意图,三亮线直观显示了分区范围。从光照和灰度分布的规律看,前区光照均匀,指针轮廓清晰,而后区阴影等因素干扰,因此两个区域的灰度分布不同,从而建立的指针模板也不同。同时,如果在前区能识别到指针指向,相应后区就不用进行识别,大大减少了算法的时间复杂度。
图3 指针子表盘分区示意图
5 实验结果与分析
本节通过对CCD采集的2000幅图像使用Visual C++平台进行仿真实验,实验结果表明除了少数水泡导致指针严重畸变、阴影干扰和水垢污染严重的图像不能正确识别外,其余均能准确地自动识别,识别正确率在99%以上,且时间控制在2s以内。
图4给出了两幅具有代表性的水表图像的指针识别结果,图4(a)一幅对比度较低,噪声污染严重的水表图像,图4(c)是黑指针和部分红指针均受阴影干扰的水表图像,图4(b)、图4(d)为相应的识别结果,可以看出本文基于多特征信息的水表指针自动识别方法能很好地解决低对比度、噪声、阴影等问题带来的影响,能满足一定的精度和速度要求。
图4 基于多特征信息的水表指针识别结果
6 结语
本文针对水表图像的结构特征和图像信息特点,提出了基于多特征信息的指针识别方法。首先利用色调信息定位红色指针,使用最小二乘拟合法实现指针信息显著区域的分割提取,然后提出基于色调信息的P-分位数法分割提取出指针子表盘区域,最后采用一种改进的模板匹配算法分区实现了指针指向的快速识别。该方案较好地解决了对比度低、光照不均、阴影等干扰因素引起的检测精度下降的问题。下一步工作要研究三维倾斜的水表图像的校正及指针自动识别。