一种基于SVM的改进车牌识别算法

2013-04-25 02:18孙万蓉李京京贾海龙杨子峰
电子科技 2013年11期
关键词:字符识别车牌字符

薛 丹,孙万蓉,李京京,贾海龙,杨子峰,王 政

(西安电子科技大学 电子工程学院,陕西 西安710071)

汽车牌照识别(LPR)系统是智能交通系统的核心部分,也是目前计算机与图像模式识别领域的一个重要课题。该系统一般包括车牌定位、字符分割、字符识别3种技术,其中字符识别技术是整个系统的难点。目前常用的字符识别方法主要有两类:(1)模板匹配法[1];(2)神经网络法[2]。方法(1)识别速度快,但抗干扰能力较弱,受光照、噪声等因素影响较大,且准确率较低。方法(2)一般具有良好的适应性,抗干扰能力强、准确率高,但识别速度较慢,且识别过程中容易产生过学习的现象。目前,SVM方法已被广泛应用于模式识别等领域,针对车牌字符识别的问题,文中提出特征提取时运用网格、水平投影与垂直投影密度相结合,在充分降低特征向量维数的基础上,利用C-SVM进行车牌识别,最终获得了较高的识别率。

1 识别算法流程

为提高识别正确率,首先,需对分割好的字符进行归一化处理,使每个字符大小均为48×24。对归一化的字符进行细化处理,使之成为笔画只有一个像素的图片。然后对图片进行特征提取,提取图片的网格特征、水平投影特征与垂直投影密度特征,将这3种方法提取的特征组成特征向量集,该特征向量集的维数为144。最后利用得到的特征向量集进行SVM初次识别,识别结果中若含有易混淆的字符,则根据字符特有的像素特征进行二次识别,得出字符最终识别结果[3]。具体算法的流程如图1所示。

2 字符预处理

2.1 字符归一化处理

车牌分割得到的字符通常大小不一,差别较大,为了提高识别率,减少误差,通常对字符做预处理操作。文中算法字符预处理包括字符归一化处理和细化处理[4-5]。其中字符归一化包括大小归一化和质心归一化。质心归一化算法复杂,且处理之后字符形状变化较大,在此仅进行字符大小归一化处理。首先统计字符的垂直投影和水平投影,分别从上、下、左、右4个边框位置向内扫描,记录初次出现投影值≥1的位置,并将该位置作为新的边框,边框之外的部分进行裁剪,这便没有多余的边框存在,减小了后续特征提取的误差。然后对空隙点采用最近邻插值算法,将字符大小统一为48×24。

图1 字符识别流程图

2.2 字符细化处理

细化即经过每层的剥离,从图像中去掉一些点,但仍保持原来的形状,最终使每个笔画只含有一个像素的过程,类似于图像骨架化。在识别过程中,字符笔画粗细不同会影响字符的识别率。为提高识别率,消除冗余点,本算法对归一化后的字符采用形态学细化方法将字符笔画宽度细化成只有一个像素。便可大幅减少笔画粗细不一所带来的误差。采用Matlab自带的函数,BW2=bwmorph(BW,operation,n)命令。BW2是细化之后的图像,BW为待细化图像,operation选择thin,n选择Inf。由此完成了对字符的细化处理。

3 投影密度的特征提取

常用的统计字符特征的方法有网格特征法、全像素特征法、13点特征法、投影特征法和外围轮廓特征法等。网格特征法是将整个字符图像分割成多个小的图像块,然后统计每个小图像块的有效像素值之和,最终将这些小图像的有效像素值之和进行排列生成特征向量。其中,全像素特征和13点特征均是网格特征的变异,本质是相同的。网格法的精确度取决于所分割的小图像块的大小,若过小造成字符特征向量维数过高,过大(如13点特征法),则无法有效提取字符的细节信息。网格法反映字符整体特征的能力较弱,在识别过程中,特征提取仅使用网格法准确率较低。外围轮廓特征法是扫描整幅图像,分别记录上、下、左、右4个方向上像素值不为0的第一个点所在位置,这些位置信息组成的特征向量集便是字符的外围轮廓特征向量集。轮廓法中特征向量集的维数是2×(m+n),m表示字符二值图像的行数,n表示字符二值图像的列数。轮廓法对内部细节特征的提取较少,对于内部笔画复杂的字符识别率不高。投影方法计算简单、速度快,但细化能力弱。为此文中采用网格、水平投影与垂直投影密度3种特征提取法提取特征。因此既有字符的整体轮廓特征,又有内部细节特征,且特征向量维数充分低。

首先,对预处理后的字符统计像素值,分别计算垂直投影和水平投影。在垂直方向上,将每列的投影值除以字符总的像素值得到垂直投影密度,该密度特征反映的是每一列像素值所占整个字符像素值的比例,比起单纯的垂直投影,更能反映每列像素在整幅图像中的分布情况。将水平投影值依次排成一列,共48维。垂直投影密度排成一列,共24维。然后将字符分为72个小网格,每个网格的大小为4×4。统计每个网格的像素值之和,共得到(48×24)/(4×4)个值,即72个,将这72个值依次排成一列组成72维向量。将网格法、水平投影和垂直投影密度这3种方法得到的向量依次连接组成一列。由此,垂直投影密度与水平投影共48+24=72维,加上网格法得到的72维总共形成72×2=144维的特征向量集。由此可见文中所得到的特征向量集的维数是全像素特征提取法维数(48×24)的1/8,在保证字符特征的同时充分降低了特征向量的维数。若仅使用轮廓提取法得到的特征向量维数为2×(48+24)=144,与本算法维数相同。但轮廓法反映的信息不够全面,不能较好地反映字符尤其是汉字字符的内部细节特征。

4 SVM字符识别算法

支持向量机[6-9](Support Vector Machine,SVM)是Corinna Cortes和Vapnik8等在20世纪90年代提出的一种机器学习方法,在解决小样本、非线性及高维模式识别问题上有着明显优势。SVM通过构造函数将输入空间映射到高维特征空间,在高维特征空间中基于结构风险最小化原则得到最优超平面,使分类的期望误差最小。

4.1 SVM算法原理

文中采用C-SVM算法。假设对于训练向量xi∈R,i=1,2,…,l,yi表示xi所属类别,即yi∈{1,-1},i=φ(xi)表示xi的映射。分类面:(·)+=0。即该算法可描述为

其中,s.t.表示约束条件。

上述问题是一个二次规划问题,其最优解可根据拉格朗日函数求出,故可转换为如式(2)所示的对偶问题

其中,K(xi,xj)=φ(xi)Tφ(xj)是核函数。

4.2 SVM字符识别算法

其中,xi表示训练得到的支持向量;yi为xi所对应的分类取值。K(xi,x)表示训练时所用的核函数,此处仍然选择径向基函数。通过匹配计算得出待测数据x的决策值,匹配计算完所有的分类器,累计各类别的得分,选择得分最高者为x的所属类别。最后将该类别作为初次识别的决策结果。

4.3 易混淆字符的二次识别

在初次识别中,数字2与字母Z,数字0与字母D容易混淆。其内外部特征均极其相似。目前多数算法均未专门针对这一问题提出解决办法。通过观察2与Z的细化图可发现,其最大不同在于上半部分,Z有一行像素连续,像素值达到了峰值,而2则没有,2的行峰值在下部,根据该判断条件,可较容易的将2与Z分开。而0与D的区别则在于左半部分,D中一列连续像素的顶点距离弧度顶点像素的距离<5,而0则>5,根据这一特点便可将0与D分开。在其他大部分算法中,Q与D,Q与0容易混淆,而在文中的算法,其却并不容被混淆,故不属于易混淆字符,无需二次识别。但需注意,在实际车牌识别中,车牌第二位确定是字母,不需要二次识别,二次识别只需在后5位进行。二次识别算法的具体流程如图2所示,从流程图可看出,本算法根据各自的像素特征区分易混淆字符。最终识别的结果如图3所示,其中图3(a)表示为定位后的彩色车牌图片,图3(b)为图3(a)中车牌运用本算法得到的对应识别结果。从图3可知,运用文中提出的算法,易混淆字符也可被准确识别[11]。

图2 二次识别的流程图

图3 最终识别结果

5 实验结果

本算法在Intel(R)Pentium(R)4 CPU 2.8 GHz,512 MB RAM的机器上用Matlab7.1仿真,平均每个字符的识别时间约为1.08 s,能够满足实时性要求。在训练样本中汉字字符186幅,字母与数字共204幅,已训练的字符识别正确率达到100%。未经训练的字符1 545幅,识别正确率约为98.10%。其中,汉字字符的测试样本165幅,识别正确157幅,正确率约为95.15%。数字字符测试样本602幅,识别正确597幅,正确率约为99.34%。字母字符测试样本388幅,识别正确379幅,正确率约为97.68%。具体测试字符的识别结果如表1所示。

表1 测试字符识别结果

表2 本文方法与其他特征提取方法效果对比

表2给出了文中提出的算法与其他文献同类算法的效果对比。从表2可看出,单独使用网格提取、粗像素提取、轮廓提取中的任意一种进行特征提取时正确率均不理想,而本算法正确率较高,效果优于文献中其他4种算法。

实验结果表明,本算法识别率高,鲁棒性好。对于模糊图片的抗干扰能力较强,有较好的实用价值。但识别时间仍需缩短,且汉字笔画多,外围轮廓与细节信息均较为丰富,故识别率略低于字母和数字。因此缩短识别时间,提高汉字字符的识别率将是下一步研究的重点。

6 结束语

针对车牌识别问题,提出利用SVM方法,结合有效的特征提取方法提取特征,以提高字符识别的正确率。本算法的创新点分为两处:一是对归一化和细化之后的字符采用网格、投影与投影密度方法提取特征,并将这3种方法提取的特征组成特征向量集;二是对易混淆字符进行二次识别。经实验结果表明,文中算法正确率高,具有较好的实用价值。

[1]ZHU Youqing,LI Cuihua.A recognition method of car license plate characters based on template matching using modified hausdorff distance[C].2010 International Conference on Computer,Mechatronics,Control and Electronic Engineering(CMCE),2010:25-28.

[2] 王力,王小华,王莉.神经网络在车牌识别中的应用[J].图形、图像与多媒体,2011,30(5):38-40.

[3]Milan Sonka,Vaclav Hlavac,Roger Boyle.图像处理、分析与机器视觉[M].3版.艾海舟,苏延超,译.北京:清华大学出版社,2011.

[4]LI Yuchen,TIAN Zhen,YOU Jia.Character feature extraction method and its effectiveness evaluation[C].International Conference on Intelligent System Design and Engineering Application,2012:197-200.

[5] 何兆成,佘锡伟,余文进,等.字符多特征提取方法及其在车牌识别中的应用[J].计算机工程与应用,2011,47(23):228-231.

[6]WU Jinjun,DU Shuxin.SVM in character recognition of vehicles'license plates[J].Journal of circuits and systems,2008,13(1):84-87.

[7] 吴进军,杜树新.SVM在车牌字符识别中的应用[J].电路与系统学报,2008,13(1):84-87.

[8] 王伟,马永强,彭强.SVM多类分类器在车牌字符识别中的应用[J].计算机工程与设计,2011,32(9):3166-3169.

[9] 郭来德,张燕,曹杨,等.机动车车牌识别中SVM的应用[J].计算机与数字工程,2012,40(4):105-119.

[10〛吴进军.车牌识别技术的研究[D].杭州:浙江大学,2005.

[11〛王建伟.基于嵌入式系统的在线训练软测量平台[D].杭州:浙江大学,2010.

猜你喜欢
字符识别车牌字符
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
数字图像处理技术在车牌识别系统中的应用
HBM电子称与西门子S7-200系列PLC自由口通讯
第一张车牌
基于MATLAB 的车牌识别系统研究
一种基于OpenCV的车牌识别方法
仪表字符识别中的图像处理算法研究
基于CUDA和深度置信网络的手写字符识别