基于SVM多分类的车牌相似字符识别方法研究∗

2017-08-01 13:50方玲玉龚文友
计算机与数字工程 2017年7期
关键词:字符识别车牌字符

方玲玉 龚文友

(1.江苏科技大学计算机科学与工程学院镇江212003)(2.江苏科大汇峰科技有限公司镇江212003)

基于SVM多分类的车牌相似字符识别方法研究∗

方玲玉1龚文友2

(1.江苏科技大学计算机科学与工程学院镇江212003)(2.江苏科大汇峰科技有限公司镇江212003)

为了提高车牌相似字符识别效果,采用SVM分类器的二分类结合纠错输出编码设计多分类器,对车牌字符中非形近字符进行粗分类识别车牌字符。提取相似字符的曲率、直线、闭合环特征对相似字符进行细分类二次识别。通过二次识别有效提高了车牌字符识别效果,SVM多分类器有效提高了车牌字符分类效果,具有良好的鲁棒性。

车牌字符识别;形近;分类

Class NumberTP391

1 引言

车牌识别系统是智能交通系统的热点研究领域。随着高清摄像头的普及,高清图像中的车牌的定位和跟踪的技术比较成熟。但是由于车辆图像容易受到自然环境影响,以及车牌图像本身的模糊、磨损、变形以及倾斜[1],车牌中字符像素不高,导致相似字符识别率低下,影响了车牌字符整体识别率。因此在车牌图片不清晰情况下,车牌的相似字符识别率低下是车牌自动识别系统中一个待解决的问题。

目前常用的车牌字符识别方法有神经网络、模板匹配、和支持向量机(SVM)等方法[2]。神经网络法较为复杂,且实时性不高;模板匹配法简单直观,但受外界环境影响较大;SVM能够较好地解决小样本、非线性及高维数等模式识别问题,在训练样本相对较少情况下,具有其他机器学习没有的优点。SVM的分类方法可以分为一对一、一对多分类器[3]。由于车牌字符是多分类问题,训练字符种类多,训练时间长。因此本文采用SVM与纠错输出编码相结合的分类器对字符进行分类识别。该方法可以有效地将相似字符进行粗分类为一类,缓解了分类过程中由于相似字符带来的分类效率低下问题。然后本文对相似字符进行细分类。大量的实验证明,本文的基于多分类SVM车牌字符识别方法具有较好的识别效果,鲁棒性良好。

2 车牌字符识别方法

2.1 支持向量机(SVM)

SVM是一种基于样本线性可分情况的有效分类器。对于给出的一组样本点,SVM分类器能够找到一个超平面将该组样本点分成两个正确数量最大化的类别。且每一类到超平面距离最大。

设有以下形式的样本点,{(x1,y1),(x2,y2),…,(xn,yn)},x∈Rd,y∈{-1,1}表示数据点的类别,d维空间中线性判别函数的一般形式为[4]f(x)=wx+b,分类面方程为

要使f(x1)<-1或f(x1′)>1,并且分类间隔最大,即2‖w‖最大,等价于要满足以下条件

因此,满足式(2)的分类面即为最优分类面。上述结论是在样本点线性可分的情况。而现实中很多样本是线性不可分的,当样本点中存在交叉不可分情况时,即输入空间不存在最优分类面时,可利用引入卷积核函数将输入空间变换到高维特征空间并完成输入样本和支持向量机之间的点积运算,巧妙地解决高维空间的复杂运算[5]。此时得到非线性情况下的分类判别函数为:从而解决了线性不可分的问题。研究表明在实际应用中,核函数的尺度参数σ参数和惩罚因子C的大小对SVM性能的优劣起着关键作用[6]。

2.2 基于纠错编码的支持向量机算法

纠错输出编码算法是多分类器的算法之一[7~8]。它的基本原理是将一个多分类问题转化为若干个两两分类问题[9]。对于K类分类问题,可以构造L个决策函数将多分类问题变成两两分类问题,每个决策函数可以分类成两类分类。若L个决策函数构造合理,K类中的每一类都对应一个元素为-l或+1的长度为L的数列,按照K类中的第一类、第二类、…、第K类的顺序排列起来,便可得到一个K行L列的编码矩阵[10],若要判断一个样本点属于哪一类,首先将样本点输入到所得到的L个决策函数,得到一个元素为-l或l的长度为L的数列,然后将此长度L数列与编码矩阵比较,查找编码矩阵中有且仅有一行与此长度L数列值相同,该行数就是样本输入点的所属类[11];若查找编码矩阵中没有一行与该数列相同,可以通过利用夹角余弦进行相似度判断找出最近的一行,该行对应的类别即为该点的类别。然后结合SVM做二分类,得到L个SVM来完成分类。将上述纠错编码应用到SVM多分类的车牌字符识别中。本文针对数字与英文字符共34个,所需用二进制表示的编码位数的最小值n= 6,此时26远大于字符个数34个,此时不可分区域很大,导致出现分类误差大,达不到理想效果。因此,结合相似字符的二次识别,在对数字和英文编码时,先将相似字符归为一类。那么所需分类数目就是29个。当n=5时满足25≥29,很好地解决了不可区分而导致出现分类误差的问题。英文和数字字符编码如表1所示。

表1 英文和数字字符编码

3 识别过程

3.1 初级分类

1)字符预处理

车牌分割出来的字符通常大小不一致,为了提高字符识别率,通常对字符进行预处理。文中预处理操作是对字符大小归一化处理即将字符归一化到一个同一个尺寸大小[12]。本文中归一化采用双线性差值法,将字符大小统一为22×20。如图1效果所示。

图1字符归一化效果

2)特征提取方法

车牌字符的特征提取是将字符形状转化为一组特征向量的过程,找到合适的特征是识别的关键环节。合适的特征决定着车牌识别系统的高效性和鲁棒性。字符特征提取方法一般可以分为结构特征和统计特征。结构特征又可以分为全局结构特征和局部结构特征[13]。其中局部结构特征描述的是字符的细节特征,对区分形近字符具有较好的效果。统计特征是对图像提取全部特征,常用方法有投影特征、粗网格特征、外围轮廓特征等。对形近字的区分能力较差。本文采用粗网格特征和外围轮廓特征结合方法获取字符特征向量,并将其用于字符样本的训练和识别。首先采用粗网格特征将归一化后的字符分成7×14个网格,统计每个网格的像素值之和。将98个值依次排成一列组成98维向量。然后提取字符外围轮廓特征,把归一化后分成14行。从上部、底部、左部、右部四个不同方向计算每一行点从左边缘到第一个由白变黑的长度,计算每一个中点从图像左边缘到第二项由白变黑的长度[14],可以提取4×2×14=112维的外围特征。共可以提取210维特征向量。如图2所示字符“0”的网格化效果。

3)SVM的训练和分类

本文中选取200张字符图片作为SVM的训练样本,训练样本经过预处理后提取特征向量共210维输入SVM分类器。采用普遍用的径向基核函数作为核函数[15],并通过双线性法求得最佳参数值惩罚因子C=100,σ2=1。由2.2节知,字符和数字共34个,除去5个相似字符,剩余29个字符。需要建立5个分类器{C1,C2,C3,C4,C5},Ci代表第i列。每个字符输入5个分类器中的输出结果为X{x1x2x3x4x5}其中Ci为0或1。1表示在Ci分类器中划分为+1类,值为0表示划分为-1类。将输出结果X{x1x2x3x4x5}与编码矩阵中的每行Y{x1x2x3x4x5}或者编码表中的编码匹配,求出字符。若没有匹配项,将输出结果与编码矩阵中的每行求两个向量之间的夹角余弦,即夹角余弦值cosθ越大,则两个向量的夹角θ越小,两个向量的夹角θ夹角越小,表示两个向量越接近[16]。即两个样本相似度越大,即可以划分为一类。

图2字符“0”网格化效果图

3.2 次级分类

为了提高车牌字符识别率,更好的对相似字符对的进行识别,给容易产生相互混淆错误的相似字符进行二次识别。本文中针对车牌数字和字母,由于其结构简单,且其构成中包含主要包括直线,曲线,闭合环[17]。所以对数字和字母,这里采用粗网格特征和直线,曲线,闭合环个数。可以很好地区分相似字符对(0,D)、(2,Z)、(8,B)、(4,A)、(5,S)。

预处理为了方便获取其直线、闭合环数特征,对二次识别中的字符进行细化即将二值化后的图像中字符变成一个像素宽度如图3所示。下面主要讲述如何直线特征提取、曲线特征提取和闭合环的特征提取。

图3车牌字符细化图像

1)直线特征提取

首先直线分为水平直线、垂直直线、斜直线。水平直线又分为水平上、中、下直线。垂直直线分为垂直左、中、右三个层次。水平左、中、右直线特征提取是从上到下对字符图像进行逐行扫描[18]。从左到右统计每行的黑色像素值为1的个数。对归一化为24×22。细化后每行黑色像素值为1的个数大于10就可以作为水平直线。当水平直线的行号在[1,5]范围内,定为水平上直线,如图4所示;当水平直线的行号在[8,12]为中水平直线,如图5所示;当水平直线行号在[15,20]范围内,定为水平下直线,如图6所示。

图4水平上直线特征

图5水平中直线特征

图6水平中直线特征

2)曲线特征提取

这里的曲线特征提取是将细化后的图像进行均匀网格化为3×6之后进行特征提取,如图7所示。曲线可以通过曲率来衡量。在数学中通过微分来定义,表明曲线偏离直线的程度。可以通过逼近的两点的直线斜率来表示该点的曲率。计算公式如下所示:

其中P点坐标(xi-1,yi-1),Q点坐标(xi,yi)。ki表示Q点的曲率。

图7字符细化后的网格化示意图

若网格中相邻统计点的斜率相等,则累加具有相同斜率的像素点的数目。当该累加和超过所在网格中像素点一半时,则定义该网格内曲率特征向量为零向量[19]。表示该网格笔画为直线。否则定义该网格内特征向量为单位向量。表示此网格中字符笔画是曲线。

3)闭合环特征提取

设像素点p(x,y)前景像素点的值为1,背景像素点的值为0,其中前景像素点的8邻域如图8所示:

图8像素P的8邻域

像素的顶点类型可分为端点、二叉点、三叉点。计算公式可表示为

当t=1时,像素点P是端点。当t=2时,像素点P是二叉点。当t=3时,像素点P是三叉点。

由于字符和数字是由直线相互连接或者交叉而成。如果判断是否存在闭合环,根据图的边与顶点的数量关系,来判断是否存在闭合环。检测步骤如下:

第一步:求出图像中端点、二叉点、三叉点个数分别用n1、n2、n3表示。

第二步:根据图的边数与顶点的数量关系有边数E=(n1+2n23n3)/2,顶点数n=n1+2n2+3n3。

第三步:判断E与n的大小来判断闭合环数。当E>n时,图中至少有两条闭合环。

当E=n时,图中仅有一条闭合环。当E<n时,图中不存在闭合环。

4 实验及结果

本文字符识别系统的开发环境为VS2013+ Opencv3.0,实现系统界面如图9所示。实验选择采用手动拍的1000张车牌图像,采用SVM车牌识别方法和SVM与纠错输出编码相结合的二级相似字符识别,定量评估本文车牌识别对车牌的相似字符处理效果。平均每个字符的识别时间约为1.08s,实验字符的识别统计结果如表2所示。由SVM和SVM二级分类的相似字符识别率结果对比如图10,可以看出本文相似字符识别方法有了明显提高。

图9系统界面

表2 字符识别结果

图10SVM和SVM二级分类的相似字符识别率结果对比

5 结语

针对车牌字符识别算法对相似字符识别率低下的缺点,本文综合考虑相似字符集自身的特点,采用分级分类的思想,通过SVM与纠错编码相结合实现多分类器对字符进行粗分类识别,提高了分类的效果,降低了相似字符造成的分类误差。根据相似字符局部区域容易误识别的特点,采用提取相似字符的直线、曲率、闭合环特征,较强的提高了对相似字符的识别效果。使得字符识别系统的识别率较传统方法提高了5%。测试结果表明,该字符识别方法具有良好的鲁棒性和实时性。

[1]万燕,刘伟.基于低质量图片的两极车牌字符识别算法[J].计算机应用与软件,2012,29(11):281-282. WAN Yan,LIU Wei.Poles license plate character recogni⁃tion algorithm based on low quality images[J].Journal of computer applications and software,2012,29(11):281-282.

[2]黄文琪,吴炜,苏力思,等.基于贝叶斯网络分类器的车牌相似字符识别[J].四川大学学报,2013,50(4):776-779. HUANG Wenchi,WU Hui,SU Lisi,et al.Based on bayes⁃ian network classifiers similar license plate character rec⁃ognition[J].Journal of sichuan university,2013,50(4):776-779.

[3]周彬彬.复杂环境下车牌识别系统中关键技术的研究与实现[D].南昌:南昌航空大学,2016. ZHOU Binbin.Under complicated environment in license plate recognition system research and implementation of key technologies[D].Nanchang:Nanchang Hangkong Uni⁃versity,2016.

[4]郑彬彬.车牌识别系统设计及基于改进SVM的字符识别研究[D].厦门:厦门大学,2005. ZHEN Binbin.License plate recognition system design and character recognition based on improved SVM re⁃search[D].Xiamen:Xiamen University,2005.

[5]刘伟.车牌识别系统中字符识别技术的研究[D].上海:东华大学,2012. LIU Wei.Recognition system of license plate character recognition technology research[D].Shanghai:Donghua University,2012.

[6]高保平,白瑞林,温振师.基于轮廓层次和小波分析的工业字符识别[J].计算机工程与设计,2012,33(6):28-34. GAO Baoping,BAI Ruilin,WEN Zhenshi.Industry based on contour hierarchy and wavelet analysis character recog⁃nition[J].Computer engineering and design,2012(6):28-34.

[7]饶倩,喻文,毛祺琦,等.纠错输出码综述[J].电脑知识与技术,2013,9(6):1423-1426. RAO Qian,YU Wen,MAO Qiqi,et al.Output error correc⁃tion code review[J].Computer knowledge and technology,2013,9(6):1423-1426.

[8]王强,刘晓东,高洁,等.基于最小二乘和纠错输出编码的多类分类[J].计算机工程与应用,2014,50(7):191-194. WANG Qiang,LIU Xiaodong,GAO Jie,et al.Based on least squares and error correcting output codes class classi⁃fication[J].Computer Engineering and Application,2014,50(7):191-194.

[9]何珊珊.改进的纠错输出编码支持向量机及其在电网电能质量评估中的应用[D].广州:华南理工大学,2013. HE Shanshan.Improved error-correcting output codes support vector machine(SVM)and its application in the evaluation of power quality[D].Guangzhou:South China University of Technology,2013.

[10]郭欣欣.基于分布式计算的SVM算法优化[D].西安:西安电子科技大学,2014. GUO Xinxin.The SVM algorithm based on distributed computing optimization[D].Xi'an:Xidian University,2014.

[11]李艳玲,李兵兵,刘明骞,等.基于支持向量机的数字调制信号识别[J].计算机与现代化,2011(3):22-24. LI Yanling,LI Bingbing,LIU Mingqian,et al.For digital modulation signal recognition based on support vector machine[J].Computer and modernization,2011(3):22-24.

[12]薛丹,孙万蓉,李京京,等.一种基于SVM的改进车牌识别算法[J].电子科技,2013,26(11):22-24. XUE Dan,SUN Wanrong,LI Jingjing,et al.An improved algorithm of license plate recognition based on SVM[J]. Journal of electronic science and technology,2013,26(11):22-24.

[13]陈学保.车牌字符识别算法的研究[D].重庆:重庆大学,2013. CHEN Xuebao.License plate character recognition algo⁃rithm research[D].Chongqing:Chongqing University,2013.

[14]刚亚洲,黄元元,戴群.一种快速名片字符识别算法[J].计算机应用研究,2014,31(9):2860-2864. GANG Yazhou,HUANG Yuanyuan,DAI Qun.A fast card character recognition algorithm[J].Computer appli⁃cation research,2014,31(9):2860-2864.

[15]李雪花,许姜涤宇,于安军,等.基于SVM多分类器的字符识别[J].信息技术,2016(1):20-26. LI Xuehua,XU Jiang Diyu,YU Anjun,et al.Based on the SVM classifier more character recognition[J].Jour⁃nal of information technology,2016(1):20-26.

[16]祖文超,苑津莎,王峰,等.基于SVM的纠错编码多分类算法的研究与应用[J].电子质量,2012(7):39-40. ZU Wenchao,YUAN Jinsha,WANG Feng,et al.Re⁃search and Application of Multi-classification Algorithm of Error-correcting Codes Based on SVM[J].Electron⁃ics Quclity,2012(7):39-40.

[17]Li Sheng jin,Hua Cai xian,Jing Bie,et al.License Plate Recognition Algorithm for Passenger Cars in Chinese Residential Areas[J].Sensors,2012,12:8355-8370.

[18]刘雄飞,朱胜春.车牌字符多特征提取与BP神经网络的识别算法[J].计算机仿真,2014,31(10):161-165. LIU Xiongfei,ZHU Shengchun.License plate character feature extraction and recognition algorithm of BP neural network[J].Computer simulation,2014,31(10):161-165.

[19]方玉玲,魏赟.基于二次网格的字符图像特征提取方法[J].电子质量,2015,28(10):74-76. FANG Yuling,WEI Yun.Character image feature extrac⁃tion method based on quadratic grid[J].Journal of elec⁃tronic quality,2015,28(10):74-76.

Similar Character of License Plate Recognition Method Based on Multi-classification SVM

FANG Lingyu1GONG Wenyou2
(1.School of Computer Science and Engineering,Jiangsu University of Science and Technology,Zhenjiang212003)(2.Jiangsu Keda Huifeng Science and Technology Co.,Ltd.,Zhenjiang212003)

In order to improve the effect of similar license plate character recognition,the SVM classifier of binary classifica⁃tion based on the multiple classifier design output error correction coding is used,characters of license plate character coarse classi⁃fication identification of license plate characters are formed nearly.The curvature of the similar characters,lines,and closed loop feature for fine classification are extrated to secondary similar characters recognition.Through secondary recognition the effect of the license plate character recognition is improved effectively,the SVM classifier improves the effect of the license plate character clas⁃sification effectively and has good robustness.

license plate character recognition,similar characters,classification

TP391

10.3969/j.issn.1672-9722.2017.07.038

2017年1月13日,

2017年2月27日

方玲玉,女,硕士研究生,研究方向:图像处理、计算机技术。龚文友,男,工程师,研究方向:图像处理、大数据。

猜你喜欢
字符识别车牌字符
车牌颜色里的秘密
论高级用字阶段汉字系统选择字符的几个原则
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
数字图像处理技术在车牌识别系统中的应用
第一张车牌
融合字符及字符排列特征的铭牌识别方法
一种基于OpenCV的车牌识别方法
基于MATLAB的图片中字符的分割与识别