基于字符间隙和垂直投影特征的铁路货车编码分割算法研究
2011-03-21常淑英臧永杰戴士杰
常淑英,臧永杰,戴士杰
(1.天津电子信息职业技术学院 机电技术系,天津 300132;2.中国石油集团渤海石油装备公司 第一机械厂防腐公司,河北沧州 062658;3.河北工业大学 机器人及自动化研究所,天津 300130)
铁路货车编码识别技术是铁路智能控制工程中的一项关键技术,其识别过程大致分为3个步骤即编码定位、字符分割和字符识别.其中编码定位是将含有编码的图像有效区域分割出来;字符分割是将定位后的字符串进行切分,分割成单个字符图像;字符识别是将单个字符图像经过适当的识别算法进行识别.3个步骤中,字符分割的准确率直接影响到识别系统的识别率和识别速度.因此,研究能将铁路货车编码有效分割的字符分割方法是非常有意义的.
如何准确而迅速地找出列车编码的位置并进行有效的分割是整个识别系统所要研究的关键问题.目前提出来的研究方法也很多,主要是基于灰度特征分析的方法,因为基于彩色信息的方法计算量大并且受图像亮度影响大.比较成熟的有统计投影直方图[1]、边界跟踪法和区域增长法,在这3种分割算法中,边界跟踪法和区域增长法都是针对原图像而言的,不同之处是边界跟踪法是寻找字符的边界,而区域增长法是寻找整个的字符,这两种方法对噪声要求比较高,稍有噪声就会产生很大的失真、不稳定.所以本文结合列车编码图像的突出特征基础上,借鉴了投影直方图法对字符进行分割,同时在阈值的选取上经过统计分析做了一些改进.下面将对实现有效分割的过程进行较详细的说明.
1 货车编码定位
编码定位是编码识别系统的基础,它可以帮助我们从一个复杂背景的图像找到感兴趣的编码区域.为了准确的对编码加以定位,首先需要对采集到的图像进行各种预处理.一般来说,首先将采集到的BMP图像转化为灰度图像,接着针对图像中的噪声进行中值滤波处理,然后利用二值化算法将图像进行阈值分割,分别得到了编码像素和背景像素.经过处理后的图像有利于单个字符的分割.文中采用了基于水平扫描与垂直投影的算法来实现货车编码定位,如图1所示是对不同车型的货车进行了编码的有效定位.
2 字符分割算法
字符分割是将字符串中的每一个字符准确分割出来.由于本文研究的货车编码的每个字符都是通过镂空的模板喷刷的,它们不可避免存在如下一些问题:1)字符断裂,一个字符有多个分支构成;2)字符粘连,单一连通成分包含多个字符;3)字符断裂和粘连同时发生;4)编码字符背景复杂;5)字符倾斜等等.这些实际问题对车号的分割和识别造成了极大的干扰.从上节货车编码定位的效果中可以看出,真正的对每一个字符进行正确定位分割很难.如图2所示,很容易把一个字符分成两个字符或者把两个字符当成一个字符,这对后期的识别也带来了很大的阻碍.
为了能准确分割和识别编码,在分割前,对编码进行膨胀运算,以防止字符断裂和粘连对分割造成影响.
2.1 膨胀预处理
膨胀运算在数学形态学中的作用是把图像周围的背景点合并到物体中.如果两个物体之间距离比较近,那么膨胀运算可能会使这两个物体连同在一起.膨胀对填补图像分割后物体中的空洞很有用.由于字符存在断裂问题,采用数学形态学的膨胀对编码进行进一步处理,处理的结果如图3所示.
2.2 字符分割
字符分割的算法很多,通常根据处理对象的不同有许多相应的方法.为实现准确的分割,有关物体的总体知识和先验信息是很有用的,根据包含在图像中的有效信息,可以制定相应的判决准则和控制策略,使其完成自动分割.
本文借鉴了投影直方图法对字符进行分割,并在阈值的选取上经过统计分析做了一些改进,使其能准确的分割字符.投影直方图算法的原理是计算字符子图像方向的投影直方图,选取直方图中高度小于某一阈值的“波谷”作为字符分割点.具体的方法如下:
第1步,先自下而上对图像进行逐行扫描,直到遇见第一个黑色像素点,并记录下来.然后再由上而下对图像进行逐行扫描,直到找到第1个黑色像素点,如此就能找到图像高度的大致范围.
第2步,在此高度范围内由左向右逐列进行扫描,当遇见第一个黑色像素时就认为它是字符分割的起始位置,而后继续扫描,直到遇见某一列中无黑色像素,此时就认为这个字符分割结束.然后继续扫描,依照上述方法一直扫描直到图像的最右端.这样即可得到每个字符的较精确的宽度范围.
第3步,在每个字符比较精确的宽度范围内,按照第一步的方法,分别进行由上而下和由下而上的逐行扫描来获取每个字符精确的高度范围,为后面字符归一化和字符识别打好基础.
图1 列车编码定位结果Fig.1 Effect of position to Train's code
图2 字符断裂分割结果Fig.2 Effect of fracture character segmentation
图3 膨胀图像及投影直方图Fig.3 Expansion of the image and histogram of projection
第4步,编码的分割利用编码定位图像分别在垂直和水平方向进行投影,在垂直和水平轴上形成有一定规律的“波峰—波谷—波峰”分布,其中,“波谷”与“波峰”之间就是分割处.如图4所示,本文所述方法的分割效果要高于常见的区域增长法以及边界跟踪方法的分割效果.
图4 字符分割Fig.4 Character segmentation
3 实验结果
为了验证所提算法的有效性和可靠性,现场采集了各种光照条件下的100幅图像,如:白天的、夜晚的、字符清晰的、字符有缺损的等等,并进行实验,实验结果如表1所示.表1为单字符分割与识别结果,在100幅图像的700个字符中,利用投影直方图法成功分割620个,正确率为88.6%,区域增长法分割成功500个,准确率为71.4%,边界跟踪法分割成功520个,准确率为74.3%.可见,投影直方图法优于区域增长法和边界跟踪法.之所以能达到如此高的识别准确率,是由于在分割过程中纠正了许多识别错误,所以准确率很高.
4 结论
本文利用在对字符有效定位的基础上,结合数学形态学对断裂字符进行膨胀运算,采用投影直方图处理方法对货车编码的每个字符进行分割,使得字符的分割及识别的正确率和适应性都得到了提高.后期实验说明该系统是具有高效性、鲁棒性的识别系统.
表1 单个字符分割识别结果Tab.1 Results on character segmentation and recognition
[1]谢盛嘉,梁竞敏.车牌识别系统的设计与实现 [J].微计算机信息,2010,1:17-18.
[2]Lia C L,Hui K C.Feature recognition by template matching[J].Computers and Graphics,2000(24):569-582.
[3]Zabulisa X,Papara M,Chatziargyrioua.Detection of densely dispersed spherical bubbles in digital images based on a template matching technique application to wet foams[J].Colloids and Surfaces A,2007(309):96-106.
[4]梁永贵,林江莉,陈科.车牌图像中字符分割方法 [J].微计算机信息,2009(24):116-118.
[5]艾海舟,武勃.图像处理、分析与机器视觉 [M].北京:人民邮电出版社,2003:391-394.
[6]刘成安,孙涛.车牌自动定位与识别方法研究 [J].微计算机信息,2007(9-1):263-264.