车牌字符分割论文(共7篇)
车牌字符分割论文 篇1
目前,我国的97式车牌采用字母、数字和汉字组合而成。要将车牌上的每个字符识别出来,一般需要将这些字符的完整图像从整个车牌图像中分割出来,成为单个字符图像,以便下一步交给字符识别部分进行识别,这就是车牌字符分割的主要任务。车牌字符分割是车牌识别系统的重要组成部分,是五大关键技术之一。
1 车牌字符特征与字符分割
一般而言,车牌进行字符分割之前都要进过一定的预处理,包括二值化,校正车牌的水平和垂直倾斜,去除车牌的上下边缘及无关的背景和归一化等。根据不同的算法,所采用的预处理方法不同。最后,车牌图片只剩下由字符和背景构成的二值化图或彩色图。
根据文献[1]规定,完整的97式车牌图像由7个字符组合而成,包含汉字、字母和数字,每个字符间都存在一个固定的间距。此外,我国根据车辆、车型、用途的不同制定了多种格式尺寸,不同颜色搭配的牌照以示区别。除了字符之间存在间隙的简单特征之外,车牌中的字符还存在以下特征:
1)标准车牌字符的高度H和宽度W分别为90mm和45mm,即标准字符的高宽比为2:1;
2)除第二和第三个字符之间的宽度为34mm外,其余各个字符之间的间隙宽度均为12mm;
可得到如下结论:第二和第三个字符的中轴线相距约79/90H或79/45w,其他应个字符的中轴线间距约为57/90H或57/45w。
如图1,根据这些特点,车牌的字符分割方法较多。根据车牌颜色的分割,比如基于伴生与互补颜色特征的车牌字符分割新方法[2];根据车牌图像纹理特征的分割,如基于边缘检测与Hough变换的车牌字符分割[3],基于字符像素投影统计的分割算法[4],这些算法中,基于伴生与互补颜色特征的车牌字符分割的方法只能主要处理彩色图像,对图像颜色比较敏感,特别是褪色的车牌分割效果很差。基于直线检测的车牌字符分割计算量大,执行效率差。基于字符像素点X轴投影统计的分割算法是一种最经典的算法,对正常车牌的分割效果最好。
现实中,由于各种因素影响,比如光线、天气以及车牌污损,车牌边框干扰等,车牌中存在的字符相互粘连或字符投影间距不明显的情况。由于字符点投影间隙不明确,使得上述几种算法不能对车牌图像进行有效分割。如图的车牌,由于字符粘连和车牌边框的干扰,使用投影算法进行分割的结果如图。由图2可知,单纯使用投影算法不能有效地识别,需要进行改进。
2 基于车牌字符综合特征的字符分割算法
通过对字符特征的分析,文章提出一种新的基于字符分布特征的车牌字符分割算法。先使用预处理切除车牌上下边缘,去除边框的干扰。而后,根据字符投影的方法,以字符间距为依据将车牌分割。接着将获得的所有间距进行排序,取中间值作为车牌的标准宽度,并以取得的标准字符宽度建立如图的模板。最后将模板在车牌图像区域内平移,统计模板区域内字符点的个数N,取N最大时模板所分割的各区域作为字符分割的结果。
2.1 预处理
据理想状态下的车牌特征,车牌上边框和字符上部存在一条431mm×20.5mm的近似矩形背景区域,该区域被车牌固定螺丝大致分为三个隔离区域,从左至右这三个区域的宽度分别约为车牌整体宽度的1/4,1/2和1/4,这是划分车牌字符和车牌上边框的依据,可以依此将多余部分切除。本算法分别以车牌高度的三分之一处和三分之二处为起点,分别向上和向下搜索。鉴于上下边缘的检测步骤完全一致,只是方向不同,本文以上边缘切割为例进行说明,具体算法如下:
1)取得当前行的索引下标i,判断i是否大于零,若i>0则表明检测未结束,转(2);否则表明检测结束,车牌上边缘不需要切割,跳出循环。
2)统计当前行i的最长的连续背景像素点的宽度bg_num和最长的连续字符像素点char_num的宽度,求得连续背景像素点的宽度在该行所占的比例η=bg_num/ω和连续字符像素点在该行所占的比例φ=char_num/ω,其中ω为校正后车牌的宽度,转(3)。
3)若η>1/4或φ>1/2,则该行即为非车牌行,取车牌的上边界为第i+1行,将行下标小于i+1的所有行去除,而后跳出循环;否则该行仍属车牌部分,i=i-1,跳到当前行的上一行,转(1)继续对上一行判断。
经过预处理,车牌的上下边框已经基本切除,实验效果如图3。下一步的目标是将粘连的字符分开。
2.2 字符分割
第一步:字符点纵向投影统计。
从车牌图片左边缘开始,逐列向X轴方向投影,统计各列中像素点颜色为白色的字符像素点个数,将各列扫描结果依次存储到数组中count(n)中。设定各初始参数,初始列的下标i=1,单个字符区域的开始列下标S=0,结束列下标E=0,C(n),n∈N用于存储N个符合要求的字符候选区域,N根据各车牌实际情况而定。
1)判断下标i是否大于车牌宽度W,是则结束投影分割,否则转2)。
2)以单列出现2个字符点作为判断是否是字符部分的阈值。若第i列的字符点个数count(i)≤2,表明此处为背景,转(3);反之则认为此列属字符区域,转(4)。不直接设为阈值为0的目的是为了防止噪点的干扰。
3)若S=0,则表明此列不包含字符图像,则i=i+1进入下一列,而后转1);若S≠0,则表明此处为字符与背景边界,取E=i-1,则字符候选区域宽度Ci=E-S,转(5);
4)若S=0,则表明此列为字符图像开始部分,则S=i,而后转1);若S=0,则表明此处仍在字符区域内,取进入下一列i=i+1,重复(1);
5)根据样本字符的高宽比为2的规则,判断截取的车牌区域的高度H与3)获得的间距Wi的比值是否达到指定要求。若H/Wi>1.7时,则认定该区域为字符候选区域,将宽度Ci存入字符候选数组C(i),N=N+1;若H/Wi<1.7,则认为该处为噪点,抛弃,i=S+1,转(1)开始新一列的检测。
字符点纵向投影统计的效果如图4所示。
第二部分:计算标准字符宽度,并定制模板。
将C(n),n∈N进行排序,取得排序后的中间值作为标准字符宽度ω。根据车牌的高宽比为2,将字符间距转为使用w的表示形式。根据图的比例,除第二个字符与第三个字符的间距为79/45w,其他各字符间距均为57/45w,模板如图5所示。
第三部分:分割字符区域。
将定制好的模板在车牌图片区域内平移,确保模板左右边界不超出图像区域。在平移过程中,统计平移过程中各字符区域内字符点的个数Ni,并记录相应模板左边界i。平移后,将统计结果Ni进行排序,取最大的Ni时的i为模板左边界,使用模板进行分割。
整体分割实验结果如图6、图7,车牌字符左边界Li=8,字符间距为2个像素,所需时间为0.3246秒。
3 总结
实验表明,本算法能够很好的分割正常的字符,同时对有粘连的字符分割也比较准确,执行速度也比较快。本算法的关键之处在于两个问题:能否准确的获得车牌字符的宽度,以及在车牌宽度准确的前提下准确定制出车牌字符分割模板。通过对分割失败的原因分析,发现大多数分割失败的原因主要在于没有非常准确的获得车牌宽度。此外,车牌在矫正的过程中存在变形,也会影响车牌字符的分割。这些问题也将是对该算法进一步改进的主要突破口。
摘要:字符分割技术是车牌识别系统的关键技术之一。字符分割最主要的问题是字符粘连及车牌边框的影响。鉴于车牌字符具有布局规整,字符个数确定,字符大小一致、宽高存在规律等特征,文章提出一种将投影和字符间距相结合的基于字符综合特征的字符分割算法。实验证明该算法那对分割粘连字符具有较好效果。
关键词:车牌识别系统,字符分割,字符特征,字符粘连
参考文献
[1]GA36-2007.中华人民共和国机动车号牌[S].
[2]王枚,王国宏.基于伴生与互补颜色特征车牌特征的车牌字符分割新方法[J].山东大学学报:工学版,2007,37(1):1-4.
[3]马腾飞,郑永果,赵卫东.基于边缘检测与Hough变换的车牌字符分割算法[J].系统仿真学报,2006,18(1):391-403.
[4]迟晓君,孟庆春.基于投影特征值的车牌字符分割算法[J].北京:计算机应用,2006,23(7):256-257.
利用反馈的车牌字符分割算法 篇2
随着信息技术和人工智能技术的发展, 交通管理系统的信息化、智能化是大势所趋, 智能交通系统已成为一个热点研究领域。车牌识别系统是智能交通系统的重要组成部分, 在现代交通管理中占有举足轻重的地位。车牌识别系统包括三个主要环节, 即车牌定位、字符分割和字符识别。目前的字符识别算法基本上是针对单一字符, 因此字符分割是一项十分关键的技术。
目前的车牌字符分割方法主要有: (1) 基于二值化图像垂直投影的方法[1,2]。这是最普遍采用的方法, 优点是速度快, 但对图像质量要求较高, 当牌照中出现字符粘连和断裂等情况时会发生分割错误; (2) 基于垂直投影和先验知识的方法[3,4,5], 该方法除了应用垂直投影外, 还考虑字符的宽度等先验知识, 改善了字符分割效果, 但当字符褪色严重或有干扰信息时会分割失败; (3) 基于模板匹配的字符分割方法[6,7], 该方法设计车牌字符串模板, 通过模板匹配确定字符位置, 该方法具有较好的字符分割效果, 但如何设计匹配模板是一个难点。
本文提出了一种新的车牌字符分割算法。该算法避免仅采用垂直投影分割字符, 而是将垂直投影和反馈相结合, 既考虑车牌的先验知识, 又考虑字符的纹理特点, 通过字符个数与字符宽度反馈以及字符识别反馈, 经由粗到精的过程分割车牌字符图像。
1 图像预处理
1.1 光照不均校正与对比度增强
光照度一般变化缓慢, 可采用低通滤波获得图像背景的照度估计, 再从原始图像中减去此照度来校正光照不均, 最后通过对比拉伸变换增强对比度。图1为原始车牌图像, 图2为经过对光照不均的校正与对比度增强后的图像。
1.2 倾斜校正
倾斜的车牌图像有三种倾斜模式:水平倾斜、垂直倾斜和水平垂直倾斜。本文采用文献[8]的方法, 即通过水平和垂直边缘检测结合旋转投影来求取车牌的水平和垂直倾斜角度, 对水平倾斜的车牌进行双线性插值旋转校正, 对垂直倾斜的车牌进行双线性插值错位偏移校正, 在倾斜校正的同时确定车牌的上下位置。图3为倾斜校正后的图像。
1.3 边缘增强与二值化
将车牌图像归一化为48像素高, 然后以宽度为w, 幅值为w/2 (w根据笔画宽度选取) 的阶梯信号与车牌图像卷积进行边缘增强, 然后二值化。边缘增强图像和二值化图像分别如图4和图5所示。
2 基于垂直投影的字符粗分割
垂直投影法是字符分割的常用方法, 其基本原理是, 设车牌图像二值化后的背景点为黑像素0, 字符点为白像素1, 则在垂直方向统计白像素的个数, 获得白像素的垂直投影分布。由于字符区域白像素较多, 而字符间空隙区域白像素较少, 因此可将白像素个数的波谷作为字符间的分界处。
我们将上述垂直投影法进行了改进。首先对二值化车牌图像进行垂直投影, 然后选取阈值T, 若投影值小于T, 则将该投影值设为0, 垂直投影结果如图6所示。根据垂直投影获得的粗分割图像如图7所示。由图可见, 字母“C”被分割为两个字符, 而数字“7”被分割为三个字符。
3 基于两级反馈的字符精分割
3.1 基于字符个数与字符宽度反馈的字符分割
车牌图像的特点之一是具有7个字符, 字符的字段宽度固定。因此, 可以计算粗分割后字段的个数和每个字段的宽度, 并给它们设定合适的阈值, 然后通过反馈进行字符分割。字段个数阈值为7, 字段宽度阈值范围为[D1, D2]。如果字段的个数大于7, 将字段宽度最小的字段与其相邻两个字段中宽度小的字段合并, 否则将字段宽度最大的字段进行分裂, 直到字段的个数等于7;如果字段的宽度大于D2, 则对该字段进行分裂操作, 如果字段的宽度小于D1, 则进行合并操作。图8为分割结果。
3.2 基于识别反馈的字符分割
3.2.1 基于离散余弦变换的字符纹理特征
车牌字符具有明显的纹理特征, 该纹理特征可通过字符的垂直投影来描述。
当求车牌字符的垂直投影时, 可得到坐标对 (0, y0) , (1, y1) , …, (N-1, yN-1) , 其中N为字符区域宽度。这样, 垂直投影就可以表示为一个序列f (n) ={yn}, n=0, 1, …, N-1。求取f (n) 的离散余弦变换为:
其中, F (u) 为f (n) 的频域描绘子。由于高频系数决定细节部分, 低频系数决定总体形状, 所以可使用前m个系数 (即低频系数) 重构垂直投影图得到f^ (n) , 这里, 取m=8。
根据重构的垂直投影图可获得如下统计量:
(1) 均值μ
(2) 标准偏差σ
(3) 三阶矩3
结合重构后垂直投影的统计量, 将字符的纹理特征向量定义为:
3.2.2 基于识别反馈的字符分割
将标准车牌字符模板图像二值化和归一化, 尺寸为48×24, 按式 (7) 计算模板字符的纹理特征向量MTV和待识别字符的纹理特征向量BTV, 则与模板匹配的置信度R定义如下:
其中, m=27是纹理特征向量的维数。
按如下步骤进行字符分割:
(1) 设3.1中分割的字符子图像的宽度为N, 若N<24, 则将其和相邻子图像合并。
(2) 在子图像内移动48×24的滑动窗口, 计算窗口内图像的纹理特征向量BTV, 与字符模板序列相匹配, 计算字符匹配置信度R1, R2, …, Rd, 其中d=N-23。
(3) 设Rmax=max{Ri, i=1, 2, …, d}, 若Rmax大于给定阈值, 则匹配成功, 其对应的窗口区域为字符, 否则, 将此子图像和相邻子图像合并, 转 (2) 。
最后的字符精分割结果如图9所示。
4 实验结果
本文对154幅有严重影响的车牌图像进行字符分割, 正确分割率为98.7%, 在具有PⅣ2.66GHz CPU, 512MB内存的计算机上运行由MATLAB编写的本算法程序, 平均用时8.530s, 实际应用时采用C语言编程能够满足实时性要求。在相同的实验环境下应用文献[4]中的算法, 正确分割率为97.4%, 平均用时8.850s。图10为本文算法与文献[4]中算法的部分实验对比结果。从实验结果看, 文献[4]算法在有半圆的出租车标志牌干扰信息时分割失败, 而本文算法能正确分割。而且, 对光照不均、对比度较小、倾斜、污迹严重、褪色、字符粘连和断裂等质量严重退化的车牌图像, 本文算法也具有更好的分割效果。
5 结论
本文提出的算法具有很好的车牌字符分割性能。采取的图像预处理技术较好地解决了车牌图像光照不均、对比度较小、倾斜等问题;所采取的由粗到精, 两级反馈的方法能正确地分割污迹、褪色、字符粘连和断裂等严重影响的车牌字符图像。特别是在基于识别反馈的字符分割中, 通过对字符的垂直投影进行离散余弦变换, 应用其低频系数重构垂直投影, 可抑制噪声, 在此基础上构建的纹理特征更能反映车牌的字符纹理, 提高了字符分割的准确率。
参考文献
[1]宋建才.汽车牌照识别技术研究[J].工业控制计算机, 2004, 17 (4) :44-45.
[2]Zhang Jian, Fan Xiaoping, Huang Cailun.Research On characters seg-mentation and characters recogition in intelligent license plate recogi-tion system[C]//Proceedings of the 25th Chinese Control Conference, Harbin, 2006:1753-1755.
[3]迟晓君, 孟庆春.基于投影特征值的车牌字符分割算法[J].计算机应用研究, 2006, 7 (2) :256-257.
[4]Jia Xiaodan, Wang Xinnian, Li Wenju, et al.A novel algorithm for char-acter segmentation of degraded license plate based on prior knowledge[C]//Proceedings of the IEEE International Conference on Automa-tion and Logistics, Jinan, 2007:249-253.
[5]朱俊梅, 陈少平.基于改进的投影方法的车牌图像字符分割[J].中南民族大学学报:自然科学版, 2007, 26 (4) :58-61.
[6]王兴玲.最大类间方差车牌字符分割的模板匹配算法[J].计算机工程, 2006, 32 (19) :193-195.
[7]邓红耀, 管庶安, 宋秀丽.投影和模板匹配相结合分割车牌字符[J].计算机工程与设计, 2008, 29 (6) :1568-1570.
车牌字符分割论文 篇3
关键词:车牌定位分割,连通区域分析,轴对齐包围盒,倾斜矫正
车牌识别系统中,车牌定位和字符分割的精确程度会直接影响到最终的检测结果。目前对车牌定位和字符分割的研究都是独立开来的。车牌定位目前常用的方法主要包括基于投影分割[1]、纹理检测、颜色特征检测[2]混合特征检测[3]以及基于神经网络[4]、小波分析[5]等几种算法。而字符分割有基于先验知识[6]、模板匹配[7]、连通域分析[8]以及机器视觉[9]等方法。可以发现,车牌定位与字符分割的算法关联性较小,这会使得整个车牌识别流程的时间变长,耗费更多的运算资源。本文提出一种基于字符包围盒特征参数的车牌字符定位分割算法,将车牌定位和字符分割的过程合二为一。该方法采用二维高斯-拉普拉斯算子对车牌图像进行平滑处理和边缘检测,对生成的二值图像进行连通区域分析( Connect-ed Component Analysis,CCA) 来标定相连区域,之后使用二维轴对齐包围盒( Aixs Aligned Bounding Box,AABB) 来表征每个连通域,根据车牌字符的实际分布规律来筛选出车牌字符对应的包围盒,并使用包围盒中心点矫正车牌图像并分割车牌字符。
1 中国车牌的主要规格
中国常见的机动车车牌尺寸规格如图1 所示。由中国国家机动车车牌行业标准GA36—2007[10]可知,这种类型的车牌存在以下特征:
1) 车牌的几何特征为矩形,长度与高度有固定的比值。
2) 车牌内容包含7 个字符,这些字符在矩形框中基本水平均匀排列,拥有比较丰富的边缘信息。同时,这些字符具有相同的高度宽度比值且相互之间有一定的间隔。
3) 车牌的底色和字符颜色存在较强的对比度。
本文根据我国主流车牌的以上规格特性,设计字符特性参数,在此基础上设计车牌识别算法。
2 预处理
由CCD摄像机所采集到的车辆图像不可避免的会受到噪声的影响,因噪声而产生的误差会累计传递从而会严重影响到后续的边缘检测、特征提取和识别过程。CCD摄像机的噪声通常被建模成独立于信号均匀分布的零均值高斯白噪声[11]。高斯滤波器对这类噪声具有良好的滤除效果。与此同时,本文的车牌字符提取方法要求检测到的边缘能良好的反应实际的字符轮廓,既不能增加太多的无关细节,又需要在各个方向上保持边缘的完整性。边缘检测常用的Canny算子会给图像带来额外的无关细节[12],Sobel算子不具备各向同性的性质,所得边缘有一定程度的断开,而拉普拉斯算子则能满足这些要求,但其对离散噪声点比较敏感[13],需要现对图像进行平滑滤波处理。基于以上分析,本文采用二维高斯-拉普拉斯算子对车辆图像进行边缘检测。
对图像进行高斯滤波一般采用二维离散高斯函数
式中: G( x,y) 为经过高斯滤波之后图像; σ 表示高斯滤波器的宽度; k为规范化系数。
采用拉普拉斯算子对高斯滤波后的图像进行边缘检测可表示为
对于离散的数字图像来说,通常可以使用一个近似于高斯拉普拉斯算子的离散高斯拉普拉斯模板对其进行边缘检测。本文使用式( 3) 所示高斯拉普拉斯模板对源图像进行卷积操作来识别图像边缘。
对比三种检测算子对车牌区域的检测结果,使用高斯拉普拉斯算子的结果如图2b所示,在高斯滤波之后对同一图像进行Sobel和Canny边缘检测的结果如图2c和2d所示。可以看到,使用高斯拉普拉斯算子检测不会产生额外的细节,同时也能最大程度保证边缘的完整。
3 字符定位
3. 1 连通区域分析
考虑到一个字符的空间范围主要依靠边缘像素来标定,为了更快速准确地计算每一个字符的包围盒,本文采用8-邻域种子填充法( seed filling) 搜索具有相同像素值的相邻区域。搜索算法如下:
1) 考虑到车牌区域通常位于一幅车辆图片的下半部分,并且车牌区域的左右下三个方向都拥有相对更少的边缘信息,本文从二值图像的左下方开始,以先往右后往上的方向,向右上方扫描整幅图像,直到找到第一个值为1 的前景像素P1。
2) 把P1 编号为1,然后从左下方开始扫描8 个相邻像素点,将其中所有像素值为1 的像素编号为1 并入栈。
3) 弹出栈顶像素,扫描其8 个相邻像素点,将像素值为1且未编号的像素压入栈中,若8 邻域像素值均为0,则弹出栈中下一个像素并重复步骤( 3) ,直到栈为空。此时所有标记为1 的像素点组成了1 号连通域。
4) 重复步骤1) ~ 3) ,搜索出2 ~ n号连通域。
3. 2 AABB包围盒建立与筛选
二维AABB是一个矩形包围盒,其定义为包围一个连通域且四边与坐标轴平行的最小矩形。通常使用包围盒的左上顶点坐标( Xlu,Ylu) 和右下顶点坐标( Xrd,Yrd) 来表征其在平面坐标系中的具体位置。本文利用这两个坐标设计一组包围盒参数来筛选车牌字符所对应的包围盒。
定义包围盒的高度Height、宽度Length分别为
则包围盒的宽高比为R = Length/Height。本文利用包围盒的中心点Mi作为字符的定位点,其坐标可表示为
两个相邻包围盒M1、M2 之间的距离定义D为
车牌字符区域的具体筛选流程如下:
1) 车辆上正常安装的车牌都具有固定的宽高比,因此在清晰的车辆图像中,车牌上每一个字符的宽高比大都是相接近的。考虑到可能存在的噪声、车牌倾斜等影响宽高比的因素,本文预先设置宽高比的上下限,高度上限值和宽度下限值,遍历整幅图像并标记包围盒宽高比不在此区间内的连通域。若高宽比落在此区域中,则进一步比较高度值和宽度值并标记不符条件的连通域。扫描完成后将所有被标记的连通域内的像素值都置为0。这样可以滤除图片中大部分不属于车牌部分的干扰区域。
2) 通过对多张车辆车牌图像分析发现,即使在车牌倾斜的情况下,字符包围盒的中心点高度坐标值仍然落在相邻包围盒的两顶点高度坐标值( Ylu,Yrd) 之间,利用这一特性,结合字间距的大小规律可以对剩下的连通域做进一步的筛选。从左下方开始选择第一个连通域包围盒,以其中心点M1 为起始点,在y = Ylu1和y = Yrd1区间内向右搜索是否有其他包围盒的中心点落在此区间内。如果没有,则认为此连通域是孤立区域,将此连通域内所有像素值置0,并选择下一个中心点作为起始点继续搜索。如果有中心点M2 存在,继续检验M1 是否在M2 包围盒的高度区间内,并进一步对比两个包围盒的高度、宽度。只有满足两个中心点都在对方包围盒高度区间,并且包围盒的高度值、宽度值都比较接近这两个条件,才认为这两个包围盒相关,并计算包围盒距离D。否则将起始点退回到M1 并在M1 包围盒高度空间内继续搜索。
3) 在步骤2) 中M2 包围盒高度区间y = Ylu2和y = Yrd2内继续重复步骤( 2) 中搜索方式。当计算得到的若干个距离值满足上文所述的车牌字符间距关系时,提取对应的所有包围盒作为最终搜索到的车牌区域。
在实际车辆图像中,车牌的左右方以及下方通常都是颜色相同的平滑区域,这些区域包含的边缘信息较少。执行完步骤1) 之后,这些区域中只包含很少量的包围盒。考虑到车牌定位的实时性要求,本文从左下方开始检测,只需花费少量时间即可检测出目标包围盒。将所有目标包围盒合并成一个大包围盒,其所对应的区域即为车牌区域。由于边缘检测会不可避免漏掉少量的边缘信息,造成靠近车牌两边的一部分字符信息没有被包含进来,因此需要将大包围盒扩展一个较小的比例,以保证提取到完整的车牌图像。
使用本方法对图3a所示车辆进行检测,检测到的字符连通域如图3b所示,最终检测到的车牌图像如图3c所示。
4 倾斜矫正与字符分割
由于摄像机拍摄角度等原因,车牌图像可能会出现一定倾斜角,这会对后续字符分割和识别造成影响。使用Hough变换矫正倾斜图像存在运算量大的缺点,而使用首尾字符包围盒中心点连线来检测倾斜角度的方法简单快速,但若首尾任一字符的中心点过度偏移于实际位置,则会使检结果产生较大偏差。因此,使用最小二乘法将每个字符包围盒的中心点拟合成一次函数y = ax + b的形式,则车牌倾斜角度为
式中,a为拟合得到直线的斜率。若 α 为负,则将车牌图像逆时针旋转角度| α| ,反之则顺时针旋转 α。
以图3 为例,图3b中7 个字符包围盒的中心点分别为( 166,365) ,( 177,365) ,( 191. 5,364. 5) ,( 202,364. 5 ) ,( 212,363. 5) ,( 223,363. 5) ,( 233,363) 。经过最小二乘法拟合得到的结果为y = - 0. 031 6x + 370. 491 7。进一步求解得到车牌的倾角为 α = arctan (- 0. 031 6) = - 1. 81°。以第四个字符中心点为原点将车牌图像逆时针旋转1. 81°,得到如图4 所示的图像。
旋转图像的同时计算包围盒中心点的新位置。假设第i个字符包围盒中心点位置为( xi,yi) ,若以第四个字符中心点为原点,则其坐标可表示为( xi',y'i) = ( xi- x4,yi- y4) ,其离原点的距离为,旋转 α 角度后其新位置坐标可表示为
旋转之后首先从xi= xi″开始,分别向两边搜索垂直投影值,确定每个字符块的左右边界,之后再从yi= yi″开始在上下两个方向分别搜索每个字符块的水平投影值来确定每个字符的上下边界。这种搜索方式不需对车牌图像进行去边框处理,也不需要遍历整幅图像,对每个字符进行独立分割可以确保分割的准确度。图4 中车牌图像的分割结果见图5。
5 实验结果与分析
车牌图像的质量会受到角度倾斜、车牌污损、曝光过度等因素影响。但只要车牌部分的边缘信息足够完整,本文算法就可以有效地检测车牌区域分割车牌字符。本文对不同条件下所拍摄的200 张样本图像进行实验,定位结果如表1 所示。
由表1 可知,本文算法对大部分车辆车牌图像都有良好的定位和分割效果。能定位到车牌图像就能准确分割图像中的每一个字符。这是因为本文算法中车牌的定位也是通过预先检测车牌字符包围盒的方法实现的,如果能准确检测到车牌字符的包围盒,就可以顺利实现后续的定位和分割操作。本文算法对具有复杂纹理信息的图像也有良好的检测效果。而在夜间进行检测也能取得很不错的效果,这是因为车牌具有良好的反光特性,在夜间被灯光照射的车牌往往拥有更明显的边缘信息。不同条件下车牌检测结果如图6 所示。
过曝、曝光不足或者车牌发生较明显的污损等因素会造成车辆图像模糊从而丢失边缘信息,漏检的那一部分图像就是属于这种类型。
6 结论
1) 本文提出基于CCA和AAB包围盒的车牌字符定位分割算法,使用连通域分析和AAB包围盒来标定和表征图像中的连通区域,并根据车牌字符的实际分布规律来筛选出属于车牌区域的连通域,使用包围盒中心点定位矫正车牌图像并进行字符分割。
2) 仿真实验结果表明,本算法对不同条件下的车牌图像具有良好的检测和分割效果,成功率达到93. 5% 。
车牌字符分割论文 篇4
车牌的字符分割, 在车牌识别系统中起着至关重要的作用, 只有确保车牌字符的正确分割, 才能进行后续的正确识别。常用的车牌字符分割方法有[1~8]: 垂直投影法、聚类分析法、模板匹配法以及连通域法。垂直投影法编程简单, 运行时间短, 但是对于倾斜的车牌较为敏感, 分割率低, 适应性差。聚类分析法能对汉字有较好的分割, 但是其程序设计复杂, 执行时间长。模板匹配法是投影的另一种形式,能较好的解决汉字不连通问题,而且能一定程度上克服背景的干扰, 但是对于左右边框的分割还有待改进。
连通域法对于倾斜的车牌表现不敏感, 但是对于字符的粘连, 不能够有很好的解决。综合以上考虑, 本文将8 连通域标记矫正法与垂直投影法结合起来, 得到的标记结果等价标记非常少, 减少了对图象的扫描次数,节省了大量的时间。
我国的标准汽车牌照由汉字、英文字母和数字组成,格式为:X1 X2●X3 X4 X5 X6 X7, 其中:X1 是各省、直辖市和自治区的简称;X2 是英文字母;X3 至X7 为英文字母或阿拉伯数字[9]。车牌字符的总长度为409mm,其中单个字符宽度为45mm, 高度为90mm, 第二和第三个字符间距为34mm, 其中, 中间小圆点的宽度为10mm, 与第二和第三个字符间距为12mm, 其余字符的间距为12mm[10]。
车牌经过定位以后, 得到的是一个包含7 个字符、车牌边框、铆钉、噪声等的矩形区域, 字符分割的目的就是把字符单个分割出来,同时要克服铆钉、边框、噪声、倾斜等对它的影响。本文首先对定位后的车牌进行预处理, 其次采用8 连通域标记校正的方法把具有连通性的字符标记出来, 再根据连通域的粗分割结果, 参考标准车牌的先验知识, 结合垂直投影法, 进行细分割, 将粘连的字符分割成为单个字符, 同时合并汉字中不联通的部位, 确保分割字符的完整性。
2 针对字符分割的预处理
2.1 字符的二值化
车牌的二值化, 就是将彩色的车牌图像转变为仅仅有黑(0)、白(1) 两种颜色的车牌图像, 它的目的是将车牌中的字符和背景分离出来, 由于二值图像所包含的信息比灰度图像和彩色图像要少, 所以它的的处理速度相对就较高, 因此二值图像的优势很明显。
二值化的关键即字符的清晰程度主要取决于阈值T的选取, 当T值过小时, 会造成字符的粘连, 而T值过大时, 则容易出现字符的断裂。根据阈值的选取情况,二值化方法可分为全局二值化、局部二值化、以及动态二值化[11,12,13]。本文采用全局二值化中的最大类间方差法(Otsu), 其原理如下:
1) 首先取一个初始阈值T进行分割, 将图像分成两个部分C1和C2,C1的灰度值大于T,C2的灰度值小于T。
2) 设类C1的象素点总数为W1, 类C2的象素点总数为W2, 它们的象素点灰度均值为M1和M2, 方差分别为 σ1和 σ2。
3) 分别求出类间方差σ2b与类内方差σ2a, 两个方差比的最大值即为最佳阈值T。
2.2 中值滤波
车牌图像在采集、传递、转化的过程中, 不可避免的会产生噪声。而且磨损、光照及外部环境的影响也会对车牌图象产生极大地干扰。这些噪声会使车牌图像质量下降, 严重影响后续的字符识别, 因此, 在车牌字符识别前必须对其进行去噪。本文采用中值滤波对车牌图象进行去噪。中值滤波用一个含有奇数点的滑动窗口,将邻域中的像素按灰度级排序, 取其中间值为输出像素。它的效果取决于两个因素: 邻域的空间范围和中值计算中涉及的像素数。它的优点在于能够抑制随机噪声, 同时不使边缘模糊。其数学描述如下:
如果S为像素(x0,y0) 的邻域集合,(x,y) 表示S中的元素,f(x,y) 表示(x,y) 点的灰度值。S表示集合S中元素的个数,Sort表示排序, 则对(x0,y0) 进行平滑可表示为:
中值滤波效果图如图2 所示, 可以看出车牌图像经过中值滤波后, 字符更清晰, 背景更平滑。
2.3 车牌的倾斜校正
在实际悬挂的车牌中, 由于道路情况的复杂, 摄像机的拍摄角度和车牌呈一定倾斜角、车牌悬挂方式的不正确、擦撞、或长时间没有进行适当的调整和维护, 都容易使车牌图像处于倾斜状态, 车牌图像的倾斜, 对于其定位分割以及后续的识别都有较大的影响, 所以需要对倾斜的车牌予以校正。
本文使用Radon变换的方法[14,15], 所谓Radon变化,就是二维函数f(x,y)在不同θ方向的投影,定义为:
其中
2.4 去除上下边框及铆钉
车牌边框和铆钉的存在, 对车牌字符的正确分割存在着一定的影响。我国标准车牌都含有7 个字符, 因此水平扫描其二值图像字符区域时, 至少会经过14 次跳变。同时考虑到车牌上下边框的线段长度, 一定大于单个字符的宽度, 经过测试, 以L=Width/7(Width为车牌的宽度), 跳变次数13 为阈值, 对车牌图象进行行扫描。如果有线段的长度大于L, 或跳变次数小于13, 则认为是车牌的上下边框或铆钉处。
3 字符分割算法
3.1 基于8 连通域标记矫正的字符分割方法
我国车牌字符由37 个汉字、24 个大写英文字母( 车牌中禁止使用字母“I”和“O”, 防止与“1”和“0”相互混淆) 和10 个数字搭配组成。除了汉字字符, 每个英文字母和数字都是独立的连通域, 此方法正是利用这一特点作为车牌字符分割的依据。其基本思想就是在对车牌的二值图像进行扫描时, 将目标“1”值像素集合提取出来, 并使每个不同的连通域分别用不同的数值来表示。常用的标记法有游程扫描标记法和递归搜索法,但运算速度都较慢, 等价标记的数量很大, 占用内存较多, 给后续的标记合并带来很大的麻烦, 本文提出8 连通标记校正算法来进行标记, 该算法的优点是: 基本上在一次扫描中就可以完成整个像素的标记, 且不存在等价标记。相较于传统方法, 该方法大大减少了等价标记对的数量, 减少了扫描图像的次数, 既简化了算法的程序设计, 又节省了大量的时间, 以及存贮空间。
扫描过程中的目标像素需要根据已经确定的相邻像素的连通性来确定自身的连通性,8 连通需要考虑的相邻像素有上(U)、下(D)、左(L)、右(R)、左上(LU)、右上(RU)、左下(LD) 及右下(RD)。
f表示像素值,n表示标记的数值(n初始值为0),m表示当前像素点。本文对二值车牌图像的扫描顺序为从左到右, 从上到下。需要考虑以下几种特殊情况, 扫描步骤如下:
1) 扫描第一行左边的第一个像素点, 若像素值为0, 则不需标记, 直接扫描下一个像素; 若f(m)=1, 则n=1。
2) 从左向右扫描二值图像第一行除第一个像素以外的其他像素, 判断它的连通性, 需要考虑其左侧像素点的连通性。
① 若像素值为0,则不需标记,直接扫描下一个像素;
② 若f(m)=1, 则分析它左侧像素点的像素值, 若f(L)=1, 则n(m)=n(L), 若f(L)=0, 则n(m)=n+1。
3) 扫描二值图像最左列除第一个像素以外的其他像素点, 判断这个位置的连通性, 则要考虑它上和右上像素点的像素值。若像素值为0, 则不需标记, 直接扫描下一个像素; 若f(m)=1, 此时有三种可能:
① 若f(U)=0 且f(RU)=0, 则n(m)=n+1;
② 若f(U) 与f(RU) 有且仅有一个为1, 则把像素值为1 的像素点的n值, 赋给n(m);
③ 若f(U) 与f(RU) 都为1, 比较n(U) 与n(RU)的大小, 把较小的n值赋给n(m), 同时替换掉较大n值。
4) 对其余的点做标记处理时, 需要考虑其左、左上、上、右上像素点的像素值, 若像素值为0, 则不需标记, 直接扫描下一个像素; 若f(m)=1, 且f(L)、f(LU)、f(U)、f(RU) 都为0, 则n(m)=n+1; 若f(m)=1,f(L)、f(LU)、f(U)、f(RU) 有且仅有一个为1, 则把像素值为1 的像素点的n值, 赋给n(m); 若f(L)、f(LU)、f(U)、f(RU) 中, 有大于等于2 小于等于4 个像素点的f值为1,则比较它们n值的大小, 把最小的n值赋给n(m), 同时替换掉其他的像素值为1 较大的n值。
5) 扫描最右列的像素点, 需要考虑其左、左上、上像素点的像素值, 标记方法如3)。
此种方法在字符没有向上分叉的情况下, 一次扫描即可完成。但如果有向上分叉如“G”、“H”等字符,它的等价标记的坐标即是分叉的位置, 只需将标记的二维数组再重新扫描一遍, 去掉等价的标记即可。该方法粗分割结果如图4 所示。
3.2 垂直投影法进行车牌的细分割
经过上一节使用的8 连通域标记校正算法, 已经把具有连通性的字符用方框表示出来, 但是由于定位不准确而引入的竖直边框, 或拍摄角度引起的车牌形变, 甚至车牌的污损堵在了车牌的间隙, 都有可能在连通域的提取时发生字符的粘连, 如图5 中“8 和5”所示, 因此单独地使用连通域法不能准确的分割字符, 为了解决这个问题, 本文在使用连通域粗分割结果的基础上, 通过判断连通域的宽度, 确定待细分割的区域。
其中为符合条件的连通域宽度,K为符合条件的连通域个数,h为连通域的高度( 标准车牌高宽比为2:1),λ、α、β 为待定参数。对于本文的图像集, 经过多次的仿真测试, 当 λ、α、β 分别取15、3、3 时, 所得效果最好。当提取的连通域宽度大于Wmax时, 需要投影法对字符进行更精确的分割。
通过分析垂直投影曲线图可知, 曲线的波谷总是优先出现在无字符区域或字符间隙中。
其具体流程如下:
1) 通过比较, 依次判断提取的连通域宽度大于时, 获得所有待分割区域。
2) 对整幅车牌垂直投影, 将波谷所对应的列依次计入数组L。
3) 找到待分割区域的波谷列x0, 计算与其相邻左右两个波谷列之间的距离y, 调整偏移量, 直至左右均符合Wmin< y < Wmax, 则此列即为最佳分割列。波谷间距离即为字符所在区域。
3.3 区域合并
由于汉字的不连通性, 或者字符发生了断裂, 在连通域算法的分割下, 被提取为多个连通域, 如“黑”字下面的四个点, 针对此类问题, 本文采用区域合并的方法来实现分割过程字符的完整性, 算法流程如下:
1) 当连通域宽度小于Wmin时, 确定为待合并区域。
2) 与左或右相邻连通域进行合并。合并后的区域宽度为d, 判断d的大小。
3) 若d < Wmin, 则继续向左或向右进行合并。循环2, 直至Wmin< d < Wmax
4) 若d > Wmax, 放弃前一步所合并的新区域。
经过以上步骤, 即可得到完整的字符分割。如图7 所示。
4 仿真结果分析与比较
本文的实验数据库, 是由210 张定位后的车牌图像组成。本文实验是在matlab7.0 平台上运行的。
4.1 传统连通域与本文连通域结果比较
本文分别采用连通域分割算法以及本文的方法来分割图片, 实验结果如下:
由实验结果可知, 单独的使用连通域算法, 在汉字问题上, 无法准确地对其分割, 而本文将连通域与垂直投影相结合后, 可以有效的解决汉字不联通的问题。
4.2 几种算法所用时间与准确率的比较
为了验证本文所采用的字符分割算法的有效性,本文再次将数据库中的210 张图片分别使用传统的连通域标记算法、垂直投影法、模板匹配发、聚类分析法以及本文算法做对比实验, 分别从时间方面以及准确率方面来考虑, 相较于传统的连通域算法和聚类分析法大大的缩短了所需要的时间。相较于垂直投影法和模板匹配发, 由于其对形变严重的车牌敏感度较高,对噪声干扰抵抗力较差, 相对于本文算法正确分割率较低。结果见表1 所示。
5 结束语
神经网络在车牌字符识别中应用 篇5
近年来, 神经网络的智能化特征与能力使其应用领域日益扩大, 潜力日趋明显。许多用传统信息处理方法无法解决的问题采用神经网络后取得了良好的效果。其中, 神经网络在车牌字符识别中的应用效果尤为明显。目前, 车牌字符识别主要采用两种方法, 即模式匹配法和神经网络法。由于神经网络模式识别方法能够实现基于计算理论层次上的模式识别理论所无法完成的模式信息处理工作, 这种方法是选用适当的字符图像特征提取方法, 然后使用训练样本训练网络并构建一个识别网络作为分类器。所以, 相信未来一段时期内神经网络在车牌字符识别领域中的应用还会是趋于主导地位。
1. 人工神经网络简介
人工神经网络[1] (ARTIFICIAL NEURAL NETWORK, ANN) , 亦称为神经网络, 是对人脑或生物神经网络的抽象和建模, 具有学习能力, 以类似生物的交互方式适应环境。神经网络是智能科学和计算智能的重要部分, 为解决复杂问题和实现自动控制提供有效的途径。
1.1 人工神经元
人工神经元是可以模拟生物神经元的一阶特性一输人信号的加权和。神经元在获得网络输入后, 它应当给出适当的输出。按照生物神经元的特性, 每个神经元有一个阈值, 当输入信号的累计效果超过阈值时, 就处于激发态;反之, 则处于抑止态。为使系统有更宽的适用面, 人工神经元应有一个更一般的变换函数, 用来变换所获得的网络输入, 这就是激活函数。将人工神经元的基本模型和激活函数合在一起构成人工神经元。一个典型的人工神经元[1]模型如图1:
2. 反向传播网络
反向传播网络 (BP网络) 是一种多层前馈网络, 它是神经网络的重要一类, 一直是神经网络中最为流行的神经计算模型, 得到了极其广泛的应用。反向传播网络有以下三个突出的特点。1.网络中的每个神经元模型包括一个非线性激活函数。2.网络包括一层或多层神经元的隐层, 这些隐层神经元逐步从输入模式 (向量) 中提取更多的有用特征, 可以是网络学习复杂的任务。3.网络的连接强度由网络突触决定。
2.1 反向传播网络的结构
反向传播网络实际上是一个多层感知器[5], 因而具有具有类似多层感知器的体系结构, 也即典型的前馈神经网络的体系结构。下图所示为一个具有一个隐层和一个输出层的多层感知器结构图:
2.2 BP网络的结构设计原则
首先, 隐层数的选择:理论分析表明, 具有单隐层的前馈网可以映射所有连续函数, 只有当学习不连续函数时, 才需要两个隐层, 所以多层前馈网最多只需两个隐层。本文采用只含一个隐含层的三层BP神经网络来进行车牌字符的识别。
其次, 隐节点数的选择:隐节点的作用是从样本中提取并存储其内在规律, 每个隐节点有若干个权值, 而每个权值都是增强网络映射能力的一个参数。隐节点数量太少, 网络从样本中获取的信息能力就差, 不足以概括和体现训练集中的样本规律;若节点数量太多, 则会出现所谓“过度吻合”问题, 反而降低了泛化能力, 还会增加训练时间。因此, 通常情况下, 网络隐含层神经元数目的选择原则是:在能够解决问题的前提下, 再加上1到2个神经元以加快误差的下降速度。
2.3 BP算法的缺陷与改进
将BP算法用于具有非线性转移函数的三层前馈网, 可以以任意精度逼近任何非线性函数, 这一优势是多层前馈网得到广泛的应用。然而标准的BP算法在应用中暴露不少内在缺陷。如:容易形成局部极小;收敛速度慢;学习新样本有遗忘旧样本的趋势等。针对以上问题, 对BP算法的改进常用的方法主要有:增加动量项;自适应调节学习率;引入陡度因子等。
3. 基于神经网络图像识别系统
神经网络的图像识别系统是神经网络模式识别系统的一种。一般神经网络图像识别系统由预处理, 特征提取和神经网络分类器组成。预处理就是将原始数据中的无用信息删除, 二值化和进行幅度归一化等。神经网络图像识别系统中的特征提取部分实际上是传统方法与神经网络方法技术的结合, 这种方法可以充分利用人的经验来获取模式特征以及神经网络分类能力来识别目标图像[6]。特征提取必须能反映整个图像的特征, 具有很强的抗干扰能力。
当BP网用于分类时, 首先要选择各类的样本进行训练, 每类样本的个数要近似相等。其原因在于一方面防止训练后网络对样本多的类别响应过于敏感, 而对样本数少的类别不敏感。另一方面可以大幅度提高训练速度, 避免网络陷入局部最小点。
神经网络在样本学习中就像人记数字一样, 学习样本时的网络权值调整就相当于人记住各个数字的形象, 网络权值就是网络记住的内容, 网络学习阶段就像人由不认识数字到认识数字反复学习过程是一样的。神经网络是按整个特征向量的整体来记忆图像的, 只要大多数特征符合曾学习过的样本就可识别为同一类别, 所以当样本存在较大噪声时神经网络分类器仍可正确识别。在图像识别阶段, 只要将图像的点阵向量作为神经网络分类器的输入, 经过网络的计算, 分类器的输出就是识别结果。
4. BP神经网络在车牌字符识别中应用设计
对采集到的车牌图像, 经过定位、预处理、分割和归一化等处理之后, 下面就要从被分割归一处理完毕的字符中, 提取最能体现这个字符特点的特征向量。将提取出训练样本中的特征向量输入BP网络之中就可以对网络进行训练, 提取出待识别的样本中的特征向量代入到训练好的BP网络中, 就可以对字符进行识别[2]。
4.1 13点特征提取法
本文采用13点特征提取法[4]来提取特征向量, 把字符平均分成8份, 统计每一份内黑色像素点的个数作为8个特征, 即分别统计这8个区域中的黑色像素点的数目, 可以得到8个特征。然后统计水平方向中间两列和竖直方向中间两列的黑色像素点的个数作为4个特征, 最后统计所有黑色像素点的个数作为第13个特征。如下图所示:
4.2 BP网络分类器设计。
根据车牌字符的特点:车牌第一个字符为汉字, 第二个字符为英文字母, 第三、四个字符为英文字母或数字, 第五到第七个字符均为数字。本文构造了4个含一个隐含层的三层BP神经网络, 分别用来识别汉字、英文字母、英文字母或数字以及数字。用于识别汉字的BP神经网络, 它有13节点输入 (即13特征提取法) , 6个输出节点。用于识别英文字母的BP神经网络, 它有13个节点输入, 10个节点输出 (由于实际情况的限制, 拍摄到的汉字和英文字母样本较少) 。用于识别英文字母或数字的BP神经网络, 它有13个输入节点, 20个输出节点 (其中英文字母10个, 数字10个, 共20个) 。用于识别数字的BP神经网络, 它有13个输入节点输出节点10个[3]。
5. 实验
以识别数字的神经网络为例, 通过matlab模拟。
首先, 样本的选择。实验采用由CCD拍摄到的50幅汽车图片, 选取其中的20张为训练样本, 剩余的30张为测试样本。首先对采集到的各图片进行定位、预处理、分割以及归一化等操作后, 各原始图片变成大小都为16×16的字符图像, 接着利用13特征法进行特征提取, 将其作为网络的输入。对于每一个车牌字符, 通常选用5个左右的不同字符作为训练样本, 例如字符1, 从分割后的图片中选, 5个不同的字符1作为网络的输入。
其次, 初始权值、激活函数的选取以及各参数的设定。网络的权值和阈值为随机选取, 各层的激活函数依次为双曲正切S型函数tansig m和线性函数purelin.m。本文采用了附加动量法和自适应学习速率调整法两种策略, 各参数依次设定为:误差目标goal=5×10-3;学习速率η=0.1;学习速率的递增乘因子η_inc=1.15;学习速率的递减乘因子η_dec=0.8;动量因子mc=0.95[1]。
最后, 识别数字的网络输出。网络的设计是为了使其输出矢量在正确的位置上输出为1, 而在其他位置上输出为0。然而噪声输入矢量可能导致网络的1或0输出不正确, 或出现其他输出值。为了使网络具有抗干扰能力, 在网络训练后, 再将其输出经过一层竞争网络函数的处理 (在MATLAB下为compet.m) , 使网络的输出只在最接近输入值的输出位置输出为1, 保证在其他位置输出均为0。对于1到5的这5个数字, 实验结果表明网络对测试样本的识别率接近100%, 其对应的输出表如下表所示:
6. 结论
目前BP网络是神经网络中字符识别应用比较在成功的, BP人工神经网络具有很强的自适应学习能力;具有执行非线性任务和去除噪声的能力, 使它能够很好的用于分类和预测问题;因此, BP神经网络为车牌识别系统中的重要环节即车牌字符识别, 不仅提供了有效的智能化的理论思想, 还对车牌字符识别的效果和速率及质量提供了保障, 扩展和丰富了车牌字符识别的方式方法。
参考文献
[1]高隽人工神经网络原理及仿真实例.2007.2月第2版
[2]魏武, 黄心汉等.基于模板匹配和神经网络的车牌字符识别方法.模式识别与人工智能, 2001, 14 (1) :123~126
[3]苗迪铭, 宣国荣.神经网络在车牌字符识别中的应用.微型电脑应用, 1999, 4 (16) :5~8
[4]刘智勇, 刘迎建.车牌识别中的图像提取及分割.中文信息学报, 2000, 14 (4) :29~34
[5]R.Parisi, et.al.Car Plate Recognition by Netural Networks andImagineProcessing.In:IEEE ISCAS.USA, 1998, Ⅲ-195-Ⅲ-198.
基于神经网络集成的车牌字符识别 篇6
人工神经网络以其抗噪声、高度的容错性和鲁棒性、自组织自学习能力强等特点,在字符识别领域得到广泛应用。随着社会要求的不断提高,以及不同字符特征具有的限制要求,单独使用某一种特征的神经网络对车牌字符进行识别不能取得很好的识别效果,因而采用综合集成的多神经网络识别方法,能够在一定程度上提高识别精度。本文提出了基于神经网络集成的字符识别方法对车牌字符进行识别。
1 车牌识别预处理
1.1 系统简述
完整的车牌识别系统包括车辆检测、图像采集、预处理、车牌定位、字符分割、字符识别等单元。车辆牌照识别系统原理如图1所示。
1.2 图像预处理
图像灰度化是对车牌图像进行预处理的最基本步骤。灰度化的处理方法采用加权平均值法,灰度值由公式G=0.110B+0.588G+0.302R计算得来。采用灰度线性变化法增强图像对比度采用维纳滤波法对图像进行平滑处理消除图像噪声,采用经典的边缘提取算法Roberts算子进行锐化处理,最后用Ostu算子对边缘检测后的图像进行二值化处理,并将车牌统一为黑底白字。
2 车牌的定位和分割
车辆牌照的定位和分割是车牌识别系统的重要步骤,定位和分割的准确性直接影响整个系统的识别率。
2.1 车牌的定位
经过预处理操作,车牌区域特征得到加强,但同时也加强了背景中的部分噪声。因此首先选用数学形态学方法中的腐蚀运算,缩小图像目标,增大目标内孔,消除外部孤立噪声;然后利用闭合运算具有填充目标内细小空洞,连接邻近目标和平滑边界的作用,增强车牌区域,使其成为连通区域,从而完成对车牌的横向粗定位;最后根据字符边缘特征对车牌进行纵向精定位。
2.2 车牌字符分割
垂直投影信息结合标准车牌先验知识约束的垂直分割方法,首先利用霍夫变换求取水平分割线,寻找图像垂直投影谷底,作为候选垂直分割线位置,确定车牌第2、3字符间的大间隔左右边界,据大间隔位置算出垂直分割线的位置;然后在估算出的位置附近根据垂直投影及方差信息,从候选垂直分割线中确定垂直分割线,完成对车牌字符的准确分割[1];最后对分割后的图像进行归一化处理。
3 特征提取
模式识别中,特征的选择是关键问题。下面介绍本文将用到的几种特征提取方法:
3.1 局部灰度特征提取法
又称粗网格特征,将字符划分成N×N个网格,统计每个网格中平均灰度的个数,每个网格分别反映字符的某一部分特征,在识别阶段,将网格数目作为特征向量的维数[3]。
3.2 十三点特征提取法
把字符分为4×2块大小相等的子区域,统计每个区域白像素点的个数,并得到区域总像素点的个数;进而统计水平方向中间两列和竖直两列的目标像素的个数作为四个特征,也就是分别画四条线,统计所画的线穿过白像素的个数最后将整个字符中白像素总数作为一个特征。
3.3 外围特征提取法
将归一化后的字符图像进行等分,计算每行从图像左边缘至第一个由黑变白的项的长度,然后计算其他三个边缘的特征并统计起来。该方法适用于汉字特征提取,能较好反映汉字的边框特征。
3.4 方向线素特征提取法
将轮廓划分为一定的网格,将各网格中每个点不同向的相邻白点分类。方向线素在一个局部领域内的各个方向的多少反映了笔画在该领域内的走向。
4 基于神经网络的车牌字符识别
字符特征提取后,设计分类器对车牌字符进行分类和识别。根据车牌字符串本身的特点,以及对车牌字符中汉字、字母、数字提取的特征不同,构造3个子神经网络分类器,分别是汉字字符分类器、字母字符分类器、数字/字母混合字符分类器。采用不同的特征提取法和三种不同的神经网络分别对车牌中的字符进行识别。
4.1 BP神经网络字符识别
包含输入层、隐含层、输出层的三层BP神经网络,按有导师的方式进行学习,当一对学习模式提供给网络后,神经元的激活值从输入层经隐含层向输出层传播,输出层各神经元获得响应。然后,按减小希望输出与实际输出误差的方向,从输出层经隐含层修正各连接权值,最后回到输入层[2]。隐节点和输出节点的激活函数采用全局性的Sigmoid函数:f[x]=(1+e-x)/1。
4.1.1 汉字字符分类器
采用粗网格特征结合外围特征提取方法,提取出汉字字符80个特征向量,因此网络的输入节点为80。汉字字符包括31个省、市、自治区的简称,网络的期望输出由5位二进制数构成,即由00001到11111来表示车牌中的汉字,因此汉字分类器的输出有5个节点组成。车牌汉字字符的二进制编码如表1所示。因此汉字分类器的输出有5个节点组成。
隐节点采用经验公式m=n+l+a,其中n为输入节点数,l为输出节点数,经过试验,得出隐节点数为36。
4.1.2字母字符分类器
采用十三特征提取法,提取字母字符13个特征向量,因此网络的输入节点为13,网络的期望输出采用5位二进制构成,由于不存在字母“I”,25个英文字母按照A到Z的顺序,用00001到11001表示。因此字母分类器的输出有5个节点组成。隐层节点数为18。
4.1.3 数字/字母混合字符分类器
采用十三特征提取法,提取数字、字母的13个特征向量,因此网络的输入节点为13,由于车牌的第3至7个字符中不存在字母“I”和“O”,则24个英文字母和10个数字在网络中的期望输出采用6位二进制构成,即000001到100010表示车牌中的字母和数字,因此数字/字母分类器的输出节点为6。隐节点数为26。
设定网络的学习速率为0.4,误差目标值0.0001,学习步长0.015,最大迭代次数15000次。选用100张图片在Matlab7.0的环境下进行实验,其中50张作为训练样本,其余作为测试识别。识别结果如表2所示。
4.2 RBF神经网络字符识别
RBF神经网络即径向基函数神经网络,具有最佳逼近性能、全局最优特性和较快的学习速度。RBF网络的作用函数是局部的,一般采用“高斯条”函数。含有输入层、隐含层、输出层的三层的RBF网络具有可以逼近任意函数的能力。隐含层的作用是对输入模式进行变换,将低维的模式输入数据转换到高维空间内,以便输出层进行分类识别。
采用局部灰度特征提取方法,得到汉字、字母、数字的维数为8×8,即三个子网络的输入节点数均为64,且汉字、字母、数字/字母三个子网络的输出层节点数分别是31、25和34。隐含层神经元个数根据MengJooEr提出的方法确定[4]:首先假设隐含层神经元个数与输出层神经元个数相等,即每个类别在隐层有唯一的映射;然后输入所有训练模式,判别这些训练模式能否表现为同一类的样本都汇集于隐层的同一个神经元附近,若出现类别间混淆的情况,则增加一个隐层神经元,重复计算,直到每个隐层神经元都对应相同类的样本为止。此时,网络隐层神经元的个数即为该神经网络的最终隐层神经元个数。利用上述算法,通过实验,得到三个子网络的隐层神经元个数分别为:35、37和50。
设定网络的学习速率为0.4,误差目标值0.0001,学习步长0.015,最大迭代次数5000次。使用4.1中选用的100张图片进行实验。识别结果如表3所示。
4.3 SOFM神经网络字符识别
自组织特征映射网SOFM是由两层节点组成的前向网络。网络的输入层节点成一维矩阵,其节点数为输入样本的特征个数。网络的输出层节点根据样本聚类要求的不同可排列成一维或二维矩阵,输出节点数为全部样本可划分的类数。网络中节点间的连接权值采用无导师学习方式。基本原理:输入某类模式时,输出层某一节点得到最大刺激而获胜,此时与该输出节点连接的权值向量向输入方向作相应修正。网络通过自组织方式用大量训练样本数据调整网络的权值,最终使网络输出层特征图能够反映样本数据的分布情况[5]。
采用方向线素特征法提取车牌字符的特征向量网络的输入节点根据特征的维数确定方向线素特征的维数是25×4,共有25个网格,每个网格的方向线素是四维,所以维数为100。即汉字网络、字母网络和数字/字母网络的输入节点数均为100。三个子网络的输出节点数分别是31、25和34。将装载训练收敛的权值文件作为SOFM网络的连接权值,计算输入向量与各输出节点连接权值的距离,选择具有最小距离的节点作为获胜节点,对字符进行识别。
设定网络的学习速率为0.5,误差目标值0.001,学习步长0.005,最大迭代次数1500次。使用4.1中选用的100张图片进行实验。识别结果如表4所示。
5 神经网络集成
由于车牌中存在如O、D、Q、B、S、8、Z、2等易混字符,因此针对识别中出现误识和拒识的情况,将多特征多神经网络的识别进行集成,有效提高整体系统的识别能力。多分类器(多神经网络)集成从体系结构上分为串行和并行[6],本文采用将两者相结合的方法,先使用串行集成作为前级粗分类,快速缩减侯选类别集合,然后使用并行集成作为后级细分类,在缩减后的侯选集中进行高精度的分类识别。其中并行集成采用投票方法。建立的神经网络集成识别模型如图2所示:
系统工作流程为:字符经预处理后,按不同方法提取特征进入基于粗网格十三点特征的神经网络分类器、基于局部灰度特征的BRF神经网络分类器、基于方向线素特征的SOFM网络分类器进行识别,此时为三级串联结构:若前一级分类器己经识别,直接给出最终识别结果;若被拒识,进入后级分类器。当三个串联分类器均被拒识时,则转入并联结构层,由三个并联分类器进行并行独立识别,然后采用投票法进行裁决;若三个并联识别器也未能识别出字符,则进行判断,如果并联层给出的识别结果中包含O、D、Q、B、S、8的任意两个或Z、2任意一个,则进入细分类器,通过提取精细局部结构特征进行最后识别,否则彻底拒识。综合集成识别训练识别结果如表5所示:
从结果中可以看出,集成识别网络测试样本的识别率较单一网络均有提高,集成网络较强的容错能力、分类能力、学习能力得到体现,有效提高了系统的抗干扰性和识别率。
6 结束语
本文提出了基于神经网络综合集成的车牌字符识别方法,用100张车牌图像对所设计的网络进行测试和识别,有效提高了整个系统的识别精度。但在识别速度方面没有明显提高,需要在以后的研究中继续改进
参考文献
[1]周果超,陈锋,陈为.车牌字符分割的研究与实现[J].计算机工程,2006,35(5):238一239.
[2]张变莲.车辆牌照识别系统关键技术研究[D],北京:中国科学院研究生院,2007.23一26.
[3]张玲,张鸣明,何伟.基于BP神经网络算法的车牌字符识系统设计[J],视频应用与工程,2008.(3)
[4]Meng JE,Wu Shi-qian,Lu Ju-wei,et al.Face rcognition with Ra-dialBasis Function(RBF)neural networks[J].EEETransactions onNeural Networks,2002,13(3):697—710.
[5]叶锋.基于神经网络的综合集成车牌识别技术的研究及其应用[D].合肥:合肥工业大学,2002.4.
车牌字符分割论文 篇7
车辆牌照自动识别系统是图像模式识别领域的一个经典课题[1]。系统涉及到车牌定位、字符分割和字符识别3种关键技术。字符识别是整个系统的核心, 而字符识别的核心取决于字符的去噪校准特性。无论是基于神经网络、模板匹配、主分量分析等[2]方法, 最为关键的问题是字符是否校准为标准字符, 换句话说, 提取的字符特征经过一系列的处理, 是否能变换为标准字符, 其关键取决于消噪效果是否良好。如果字符特征不具有很好的区分度, 不仅特征维数较大, 而且还很难获得较好的识别效果。
去噪校准的方法较多, 常采用的去除杂点的算法, 扫描整幅图像, 若某像素的值为0 (黑点) , 则考察该像素领域中的灰度值为0的像素个数, 如果大于一定的阀值, 说明该像素不是离散点, 否则就是离散点, 将值改为1, 从而去除杂声点, 该算法只能去除离散的杂声点, 而对连续噪声点就无能为力。而采用最大连通域的边界均值的方法[3], 利用阀值去除连续点噪声, 但对较高幅度的噪声也不易增除, 而且容易去除掉亮度较低的笔画。采用Gabor滤波算法进行二值化处理[4], 利用Gabor滤波器的频域和方向选择性进行去噪, 时间复杂度较高, 而且对于不连续区域以及变化剧烈的区域, 同样难以取得令人满意的效果。针对以上字符识别方法的去噪不足, 校准不良的问题, 笔者提出了对车辆牌照字符进行积分投影, 得到的字符积分波形采用基于EMD去噪算法, 再用最小二乘拟合的还原的方法去除字符特征中的噪声, 然后再重建字符取得了较好的效果, 仿真实验证明, 该方法能较好地去除了噪声, 校准了字符, 为字符识别提供了较好的保障。
1车辆牌照特征
我国的车牌字符包括汉字, 大写英文字母, 阿拉伯数字。汉字的形状复杂, 但车牌的第一个字符是汉字, 所以可以把汉字提取出来单独处理。这里涉及的字符不包括汉字识别。
虽然牌照种类较多, 但牌照的尺寸、字间距、字数和字体基本统一。前车牌水平排列的7字符是等大小的 (特种车辆除外) , 均为45 mm宽, 90 mm高, 也就是说单个号码的宽高比为1∶2, 而对于整个车牌来说, 宽度为440 mm, 高度为140 mm, 其宽高比为31∶14。
2积分投影
积分投影定义为沿着图像中任意固定方向的灰度和[5]。设图像矩阵的大小为H×W, 其中W为矩阵的宽度值, H为矩阵的高度值。用表示图像矩阵的列值, 则x∈[1, W];用y表示图像矩阵的行值, 则y∈[1, H], 图像中任意像素点的灰度值为f (x, y) 。将图像分别做水平方向和垂直方向的积分投影, 得到两个方向上的积分投影向量。
undefined. (1)
undefined. (2)
式 (1) 表示水平方向上的积分投影;式 (2) 表示垂直方向上的积分投影。对图像做了积分投影后, 图像数据由H×W的二维矩阵, 转换成H×W的一维向量。
3 EMD去噪校准算法
积分投影得到的向量不能直接重构字符, 需要进一步去掉图像中的噪声对投影的影响。本文采用对投影向量做EMD与平滑滤波器联合设计的方法消除噪声。因为噪声多数表现为高频信息, 所以本文提取EMD变换后的高频系数作为去噪的特征向量。经过实验发现:EMD的变换层数选择4层, 提取出来的高频系数去噪后拟合的积分投影波形效果最好。
本文采用的平滑滤波器为Savitzky-Golay滤波器[6], 考虑按一定条件部分滤除某些尺度的IMF分量, 使得在去除噪声的同时也保证了有用信号的完整性。对前4个IMF分量作滤波、最小二乘拟合处理, 再与未处理的IMF重构信号。就能很好的实现信号的噪声的去除, 改善信号的信噪比。
基于EMD+SG的图像去噪算法, 操作步骤可简单描述如下:
步骤1:把车牌字符图像归一化成32×16的矩阵。车牌字符图像的形状不复杂, 图像中背景和目标的区别也很明显, 采用二值化图像即可被有效地识别, 所以文中规定f (x, y) ∈{0, 1}, 并且规定目标值为“1”, 背景值为“0”。
步骤2:对字符图像进行积分投影得到积分投影近似曲线。
步骤3:将积分投影信号作EMD分解4层IMF分量, 其端点处理基于[7]镜像对称延伸方法。
步骤4:对IMF的前4个分量 (N/2) 采用SG滤波器对每一数据点的一个邻域 (长度为n的窗口) 内各点的数据, 用一元P阶多项式拟合 (文中n取20, P取3) 。此多项式的系数可根据最小二乘法准则使拟合误差最小来确定, 由此得出滑动窗口内中心点的最佳拟合值, 即为去噪处理后的值。滑动数据窗口依次沿着每一点滑动, 从而实现了平滑处理。为了取得较好的去噪效果, 平滑次数t取3。
步骤5:对滤波处理后的前几个IMF分量和未经处理的IMF分量进行信号重构, 即得到滤波后的信号。
步骤6:将滤波后的投影积分波重建字符。
如图1~图4所示为车牌字符“0”经EMD处理后重建过程。
在这个算法中有一点需要说明的是, 一般说来, 窗口不宜过小, 否则计算过于复杂, 也不宜过大, 不利于噪声的有效剔除。因此, 滑动窗口要适中。通过验证发现尺寸为n=15, P=3或n=20, P=3的滑动窗口比较适合本算法。
4实验结果与结论
本文对200个定位车牌中正确分割的1 200个数字与字母进行识别, 在酷睿i3处理器、500 GHz, 内存2G的机器上使用VC++6.0编译环境采用该算法对字符进行重建, 采用模板识别的方法进行程序仿真, 所得结果为:1 167个字符识别正确, 27个字符识别错误, 6个字符无识别结果;识别准确率为97.25%;识别平均速度为6字符/24 ms。同时在不加入噪声因素情况下, 使用基于小波去噪校准系统模板识别方法对相同字符图像进行识别, 其识别率为91.92%。再对上述同一组样本加入不同强度的噪声 (0~60 dB) , 比较本算法、小波去噪校准算法和Gabor滤波器去噪算法的性能差别, 效果如图5所示。可见本算法明显优于小波去噪校准算法系统, 在一定信噪比的条件下系统具有较好的抗噪性能, 在噪声环境中性能得到很好体现。
摘要:对典型的车辆牌照字符识别算法中的去噪校准算法进行了研究和分析, 在此基础上提出一种新型去噪算法, 通过提取分割字符的积分投影波形进行EMD与SG联合去噪后重构字符, 克服了字符特征模糊的缺陷, 为车牌字符识别提供了可靠的字符特征。
关键词:车牌字符识别,EMD,去噪校准
参考文献
[1]PARIST R.Car Plate Recognition by Neural Networksand Image Processing[C].//Proc of IEEE InternationalSymposium On Circuits and Systems.[S.L.].IEEEPress, 2000.
[2]李会民, 张仁津.基于改进BP网络的车牌字符识别方法研究[J].计算机工程与设计, 2010, 31 (3) :619-621.
[3]王夏黎, 周明全, 耿国华.基于视频检测和颜色的车辆牌照提取方法[J].计算机应用与软, 2005, 11, 22 (11) :41-44.
[4]Bernd B, Richard F H, Chirstine S.Applying the AntSystem to the Vehicle Routing Problem[C]//Meta-Heu-ristics-Advances and Trends in Local Search Paradigms forOptimization.Boston, Mass, USA:Kluwer, 1997:1-11.
[5]汪涛, 卢朝阳.一种新的汽车牌照字符切分算法[J].西安电子科技大学学报, 2005, 32 (6) :931-957.
[6]刘平, 刘黎刚, 邓记才, 等.等离子体天线的发射特性[J].郑州大学学报, 2006, 27 (3) :126-128.