姜谊,严京旗
车牌定位和校正对车牌识别系统有着非常重要的作用,快速、准确的车牌定位及校正直接关系到整个系统的性能。目前车牌定位的方法总的来说可以分为两大类,一类是基于灰度图像的车牌定位,另一类是基于彩色图像的车牌定位。灰度图像数据量小,处理迅速简单,对于车牌的灰度图像处理的算法中,比较常用的算法有以下几种:(1)基于 Hough变化法[1],利用车牌的矩形边框具有比较明显的直线边缘,通过边缘提取,再结合 Hough变换检测出车牌边框直线来定位车牌,但是这种方法受车牌图像倾斜的影响较大,另外,还有很多车牌并没有明显的边框直线;(2)基于边缘和数学形态学的车牌定位算法[2,3],通过腐蚀和膨胀以及由其组合而成的开、闭运算,将目标区域显示出来;(3)基于统计学习的车牌检测方法[4]。
在车牌校正方面,常用的方法有:(1)基于Hough变换算法,寻找车牌边框直线确定车牌水平倾斜角度[5];(2)使用投影法[6],该方法计算量较大,且对于本文所处理车牌图像不是很适用。
本文基于车牌的字符信息提出了一种准确、快速的车牌定位及其校正的方法。除了水平校正外,还要对这种具有两排字符的车牌,做针对性的垂直校正。
对车牌定位系统来而言,由于背景、光照等因素,汽车图像二值化后车牌区域字符消失或则部分消失了。针对这种情况,本文所采用的方法是利用灰度形态学的顶帽操作(top-hat)减少背景信息。
图1表示了该方法的过程,使得车牌区域字符在原图中具有更高的对比度,这样有利于后面的图像二值化操作。
图1 形态学顶帽操作
本文主要采用OTSU二值化方法,该方法简单、快速。二值化效果如图2所示,可以看出经过上面所提出的灰度形态学预处理后,车牌区域可以很好的显示在二值图。为了要在各种背景下得到很好的二值化图,本文还用到多种二值化方法的结合,二值化的研究不是本文的研究重点,不详细叙述。
图2 汽车图像的二值化
本文基于车牌的字符信息提出了一种快速的车牌定位方法。对定位好的车牌候选区,依据车牌的先验知识找到真正的车牌区域。
2.2.1 车牌候选区域
以上面车牌图像为例,本文列出的图例是两排字符的车牌图像,上面一排字符很小而且模糊粘连,所以以下面一排比较大的字符为对象,找到聚集在一起的连通元模块。根据车牌图像的先验知识,如:车牌的字符大小,长宽比等,寻找符合条件的候选字符连通元。由于车牌出现倾斜的原因,连通元中心点垂直方向上的距离差距为y,y满足一定的范围,同样连通元中心点水平方向上的距离差x也有一定的范围,可以从图3(a)中看出车牌定位的具体过程。其中,矩形表示字符以及干扰块的连通元,小圆圈表示连通元中心点,则根据式(1)可以得到车牌候选区域,即使在背景复杂、光照不均匀的情况下,该方法定位到的候选区域也相当少,大多数只有一个。
上式中,minwidth表示字符之间的最小距离,Cx表示连通元水平方向上相差的最大距离,Cy表示垂直方向上相差的最大距离,找到字符连通元聚集在一块,然后就可以根据车牌先验知识定出车牌区域具体的上下、左右边框。令车牌区域上下左右边框分别为left,right,top,bottom,本文采用如下计算获取:
式中,(minx,y1)表示聚集块最左边连通元的中心点坐标,(maxx,y2)表示聚集块最右边连通元的中心点坐标,可以参考图3(a)。length指最左边中心点到最右边中心点的距离,a1,a2,a3,a4是依据具体车牌所作出的参数(本文取值,a1,a2,a3,a4 分别为0.5,0.2,0.5,0.2)。
图3 车牌定位过程
2.2.2 去除伪车牌区域
上面的处理可能会找到一个以上候选区域,对此应去除伪车牌,本文主要从两方面去除伪车牌区域。
1)通过车牌的高宽比等过滤非车牌区域。
式(3)中,minwidth表示车牌可能的最小宽度值,maxwidth表示车牌可能的最大宽度值,minwidth表示车牌可能的最小高度值,maxwidth表示车牌可能的最大高度值,C1表示高宽比的可能最小值,C2表示高宽比的可能最大值;wid是指定位到的车牌区域的实际长度,hei则表示定位到的车牌区域的实际宽度。
2)由于本文处理的对象是具有2排字符的日本车牌,上面字符较小,下面字符较大。所以可以根据候选区域上面一排小字符进一步排除伪车牌区域。
拍摄到的车牌图像经常会产生倾斜,不可避免的影响车牌字符的分割和识别。因此,需要在字符分割之前进行车牌的倾斜校正,包括水平校正和垂直校正。
首先,寻找字符连通元,然后通过字符连通元的中心坐标求取倾斜斜率,从而得到倾斜角度。水平校正具体过程:
1)首先要将定位到的车牌图像进行归一化处理,字符大小才能接近,本文是将车牌图像统一归一化成200*100。
2)采用8邻域连通元法寻找连通元,根据归一化后的字符大小、规格筛选出候选连通元,令连通元个数为n。
3)计算每个连通元的中心坐标点(xi,yi),1≤i≤n,并计算各个中心点之间的斜率,令斜率个数为m,此时存入数组array。1≤i≤n,1≤j≤n(表示第i个和第j个连通元之间的斜率)由于实际车牌水平角度有一定的上限,假设为y(本文取45°),把超过y角度的从数组中去掉,减少计算量。
4)相差在一定范围内认为是同一个斜率,把相同斜率的个数存入数组num中,计算数组num中的最大值,即相同斜率个数最多值,该值即为车牌水平倾斜的斜率值,可以转换成相应的角度。
图4 车牌水平校正过程示例
在水平校正后,垂直方向上很多车牌还是发生变形的,如图5(b)所示。因本文的对象车牌是2行字符的,下面一行的字符相对比较大,且易于处理,故选择下面一行字符来处理,如图5所示。使用投影分析的方法求出水平校正后垂直方向的倾斜角度,再进行图像的像素平移。
垂直校正的处理过程:
令垂直方向倾斜角度为φ,在30±°之间平移图像,可以采取每次平移1°,然后求取对应的投影值,如图5(c)和图5(d)所示。
找到投影值最小情况下所需移动的角度,该角度即为垂直方向的倾斜角度,如图5(d)所示的位置。
最后按照上面所求垂直方向的倾斜角度平移图像,这里所指的平移图像是指图像的每一行移动相应的像素值,达到校正的目的。图5(e)表示了如何根据垂直方向的倾斜角度校正图像,已知车牌图像的高度为Height,y为车牌图像上的行数,则相应行要移动的像素量:。图5(f)是按上述方法垂直校正后的车牌图像。
图5 车牌垂直校正过程示例
本文的实验是基于日本车牌库,库中有各种类型的车牌图像,有白天的、晚上的;有前面的、后面的;有左倾斜的、右倾斜的,共526幅图像。正确定位到的图像有518幅,定位率达到96.48%,在定位到车牌的基础上,实验中的图像的校正率达到99.2%(可以存在小角度、不影响车牌识别后面工作的偏移)。通过实验表明,文中所提出的方法能够在一定复杂背景下快速、准确定位到车牌,并且倾斜校正效果很好。在CPU为p4 3.0GHz,内存为1G的机器上,整个过程运行时间约为140ms,完全满足实时性。
经过实验验证,本文所提出的算法,处理速度快、便于实现。而且本文特别针对具有2排字符的车牌进行处理,虽然本文图例对象是日本的2排字符车牌,但是对于国内的一排字符车牌的处理也同样具有适用性,而在实际应用中,要想进一步提高准确率,还需要重视所拍取图像的质量,车牌字符若是过于模糊不清会直接影响到算法的结果。
[1]Kamat V,Ganesan S.An efficient Implementationof the Hough transform for detecting vehicle lice-nse plates using DSP'S[C]//IEEE Proceedings of Real-Time Technology and Applications Symposium.CA: Computer Society Press,1995.
[2]Faradji F,Rezaie A H,Ziaratban M.Amorphol-ogical based license plate location[J].ICIP,2007,1(16),57-60.
[3]Ying-NongChen,Chin-Chun Han,Cheng-Tzu Wang,et al.The Application of a Convolution Neural NetworkonFace and License Plate Detection[C]// 18th International Conference on Pattern Recognition,ICPR.Hong Kong,China: IEEE Computer Society,2006.
[4]Zhang H,Jia W,He X and Wu Q.Learningbased license plate detection using global andlocal features[C]//18th International Conferenceon Pattern Recognition,ICPR.Hong Kong,China: IEEE Computer Society,2006.
[5]Ming G H,Harvey A H,Vinay T.Hough transformin car number plate skew detection[J].Signal Proc-essing and Its Application,1996,25(30):593-596.
[6]路小波,包明,黄卫.基于投影的车牌倾斜检测方法[J].交通运输工程与信息学院,2004,2(4):10-15.