kaiyun官方注册
您所在的位置: 首页> 嵌入式技术> 设计应用> 基于自适应差分进化极限学习机的车牌识别算法
基于自适应差分进化极限学习机的车牌识别算法
2017年电子技术应用第1期
文 武1,2,乔龙辉1,何 鹏1
1.重庆邮电大学,重庆400065;2.重庆信科设计有限公司,重庆400065
摘要:针对目前车牌识别算法中存在的模型训练慢、字符识别准确率低等问题,研究了一种基于自适应差分进化极限学习机的车牌识别算法。综合利用边缘检测和颜色定位的优点来检测车牌区域,然后用改进后的垂直投影法对车牌区域进行分割,最后将自适应差分进化极限学习机用于字符识别。研究结果表明,所提出算法具有训练速度快、字符识别率高等优点,可以应用于复杂的交通场景。
中图分类号:TP391
文献标识码:A
DOI:10.16157/j.issn.0258-7998.2017.01.035
中文引用格式:文武,乔龙辉,何鹏. 基于自适应差分进化极限学习机的车牌识别算法[J].电子技术应用,2017,43(1):133-136,140.
英文引用格式:Wen Wu,Qiao Longhui,He Peng. License plate recognition based on self-adaptive evolutionary extreme learning machine[J].Application of Electronic Technique,2017,43(1):133-136,140.
License plate recognition based on self-adaptive evolutionary extreme learning machine
Wen Wu1,2,Qiao Longhui1,He Peng1
1.Chongqing University of Posts and Telecommunications,Chongqing 400065,China; 2.Chongqing Information Technology Designing Co.,Ltd.,Chongqing 400065,China
Abstract:Aiming at the problems of current license plate recognition algorithm, such as slow training speed, low recognition rate, the vehicle license plate recognition algorithm based on Self-adaptive Evolutionary Extreme Learning Machine(SaE-ELM) is studied. First, the advantages of edge detection and color positioning are used to detect the license plate region. Then improved vertical projection is applied for character segmentation. Finally, Self-adaptive Evolutionary Extreme Learning Machine is used for character recognition. Experimental results demonstrate that proposed algorithm has the advantages of high identification rate, fast speed, and good robustness to the complex traffic environment.
Key words :license plate location;character segmentation;vertical projection;character recognition;adaptive differential evolution

0 引言

作为智能交通系统的重要组成部分,车牌识别系统常用来监视交通状况、监督车辆行为,还可以用于停车场出入管理。虽然过去十年车牌识别技术取得了很大的成就,并在很多实际场合中得以应用,但从复杂场景的图像中识别车牌仍然是一个艰巨的任务[1]

车牌识别一般由三部分组成:车牌定位字符分割字符识别。车牌定位有两种主要的实现方法:一种是基于车牌区域颜色信息的,根据车牌区域特定的颜色信息组合来定位车牌[2];另一种是基于边缘或纹理信息的,根据车牌区域边缘信息较其他区域清晰来检测车牌[3]。第一种方法对光照条件和照相机设置敏感,第二种方法当车牌褪色严重时,会由于检测不到边缘而导致定位失败。投影法[4]、连通域法[5]和模板匹配法[6]是实现字符分割的主要方式。投影法要求字符字迹完整且没有噪音干扰,易受光照影响。连通域法对车牌的倾斜不敏感,但不能用来处理字符断裂和字符粘连。常用的字符识别方法有:神经网络(BPNN和CNN)、SVM和模板匹配法。传统的神经网络和SVM用于字符识别时有较高的正确率,但如果参数选择不合适会出现学习速度慢、过拟合和局部最优等缺陷[7]。模板匹配法简单实用,但在字符出现形变、粘连等问题时会导致模板匹配法识别率降低[8]

相较于其他常用车牌识别算法,本文所用方法在以下几点做出了改进:(1)综合利用颜色定位和边缘检测的优点,克服了单一用其中一类方法的缺陷;(2)对垂直投影法做改进,先粗分割,再精确分割,有效解决了字符的粘连、断裂等问题;(3)用SaE-ELM来训练模型,缩短了训练时间,提升了字符识别率。

1 车牌定位

本文将车牌的面积、纹理、颜色、长宽比等多重特征结合起来,提出一种车牌定位的改进算法,具体执行步骤如下所示:

(1)输入彩色车牌图像,如图1(a),预处理(高斯模糊和灰度化)后得到灰度图,然后用Sobel算子得到车牌图像的垂直边缘(由于车头排气孔、车标等的影响,检测水平边缘会影响最后的连接结果),接着用大津法对边缘检测图进行二值化并做形态学闭运算。此时可以获得很多车牌候选区,如图1(b)所示。

(2)将输入的彩色图转成HSV图像,若当前像素的H、S、V分量分别满足表1所示蓝色对应的H、S、V分量,则灰度值置为255。同理若满足黄色各分量,灰度值置为200;满足白色各分量,灰度值置为150;满足黑色各分量,灰度值置为100;其他为0。构造出的五级灰度图如图1(c)所示。依次取每级灰度图,分别做二值化和闭运算操作。以蓝色分量为例,255为阈值,将灰度值不为255的全部置0,可得蓝色分量候选区,如图1(d)所示,其他分量的处理过程依此类推。

jsj1-b1.gif

jsj1-t1.gif

(3)将图1(b)与图1(d)做“与”运算可得图1(e),候选区数量大大减少,然后借助与车牌的面积、长宽比等特征可以筛去部分伪车牌,最后由SVM分类器对每个候选车牌做分类判断操作即可得到真正的车牌,如图1(f)所示。对于一般场景下的车牌,经过上述3步即可定位到车牌区域。但对于某些特殊的场景,步骤(1)或步骤(2)可能存在不同程度的失效,导致最后的定位效果不佳。这里的解决办法是用SVM对候选车牌进行判断,若SVM判断结果大于1,则定位结束。否则,用颜色定位或边缘检测进行再次定位。

闭运算操作时,车牌可能会错分成两个区域。这是因为车牌中的第2或第3个位置存在某些垂直边缘不明显的字符(比如“E”、“1”等),解决办法是对车牌区域进行扩展,然后对扩展区域再进行一次边缘检测。对于低照度图像,使用Sobel算子可能会出现边缘提取不清楚或缺失严重的问题,可以改用Scharr算子来提取边缘。完整的定位流程图如图2所示。本文所用定位方法综合多种因素,具有较好的鲁棒性。

jsj1-t2.gif

2 字符分割

2.1 初步分割

传统投影法对字符进行切分时,需要字符字迹完整且没有噪声干扰,此时二值图像的垂直投影曲线会有清晰的波峰波谷,可以根据波峰波谷的跳变位置来确定字符分割点。由于受到噪声、光照等影响,车牌垂直投影的波峰和波谷往往不明显,图3所示为噪声严重车牌以及它的垂直投影曲线。

jsj1-t3.gif

经分析,字符的投影曲线多数为单峰,少数为双峰和三峰,如:H、M和断裂字符为双峰,川为三峰。利用该特征来对垂直投影法进行改进的步骤如下:

(1)水平扫描车牌二值图像,根据字符区域跳变次数不小于14的经验去除上下边框和铆钉。求得字符高度charHeight,单个字符宽度charWidth=2charHeight。

(2)列扫描车牌二值图像,统计每一列白色像素点个数。设置投影阈值threshValue,完成垂直投影,并将投影结果保存在arrayTotal数组中。

(3)创建字符类Character和动态链表listCharacter,字符起点横坐标记为start,中心点centerPoint,终点end。扫描arrayTotal数组,当arrayTotal[start]>0&&arrayTotal[end]=0,记当前字符宽度width[m]=end-start。依次执行以下步骤:①若2charWidth

(4)重复步骤(3),将字符写入链表listCharacter。直至遍历边界最右端且listCharacter中字符个数不小于7为止。

2.2 精确分割

上述步骤完成了车牌字符的初步分割,解决了字符的断裂和粘连问题。但仍然存在车牌左右边框的干扰,使得车牌的左右边界并非车牌字符起始和结束位置。因此还需根据先验知识对字符坐标值进行修正,从而完成精确分割,具体流程如下:

(1)统计listCharacter中字符个数N及对应宽度Wi,求出宽度的均值Wa与标准差Ws

jsj1-gs1.gif

jsj1-gs2.gif

若Wi不满足|Wi-Wa|s,则将其从listCharacter中剔除,对其余字符求Wa和Ws,循环直至所有Wi都符合|Wi-Wa|s,则此时Wa为字符的统计标准宽度。

(2)选定优先分割字符Cmin(与Wa差异最小的字符)。根据标准车牌字符宽度及间距等先验信息(单字符宽45 mm,高90 mm,间隔符宽10 mm,第二和第三字符间隔34 mm,其余字符间隔均为12 mm),计算出Wa与标准宽度的比值p(如式(3)所示)。根据这一比值计算出Cmin的centerPoint在表2所处的坐标范围,从而确定Cmin在车牌字符排列中的序号。

jsj1-gs3.gif

(3)以Cmin的centerPoint为基准点,Wa为尺度,根据表2计算出所有字符的开始和结束坐标,然后将所有坐标信息重新写入listCharacter,字符的精确分割即可通过这些坐标值来完成。分割效果如表3所示。

jsj1-b2.gif

jsj1-b3.gif

3 字符识别

3.1 SaE-ELM

极限学习机是Huang Guangbin[9]提出的一种新的基于单隐层前馈神经网络的学习方法。该方法只需训练前设置好隐层节点数目,执行过程中随机产生输入权值与隐层偏差(无需通过迭代反复刷新调整),最终把复杂的问题转化成求矩阵的Moore-Penrose广义逆。由于随机产生网络的输入权值和隐层的偏置向量参数,所以不能保证训练出的ELM模型能够达到最优。

本文采用基于SaE-ELM的方法来识别车牌字符。该方法利用自适应差分进化算法优化ELM网络的输入权值与隐层偏差,初始化后循环“突变→交叉→选择”来生成最优参数。接着通过测试设置最优隐层节点数目,选择适当的激励函数计算出隐层输出,并用最小二乘法计算出输出权值。实验验证表明,该方法不仅保留了ELM算法训练的快速性,而且具有更好的泛化能力和准确性,避免了ELM模型的随机性。假设训练集S包含了N个任意不同的样本,S={(xj,tj)|xj∈Rn,tj∈Rm,j=1,2,…,N},具有L个隐层单元的SaE-ELM算法执行步骤如下:

(1)首先初始化原始种群,原始种群是包含了所有输入权值与隐藏层偏差的NP组向量,每组向量作为一个个体向量,如式(4)所示。

jsj1-gs4.gif

其中,wi和bi是随机赋值的,wi是输入权值,bi是隐层偏差(i=1,2,…,L)。L是隐层节点数,G是进化代数,k=1,2,…,NP,NP表示种群大小,这里NP=10。

(2)然后通过式(5)计算出隐层输出矩阵Hk,G,输出权值矩阵?茁k,G则可以通过式(6)得到。

jsj1-gs5-8.gif

(3)接着通过变异操作获取变异个体向量vk,G,变异过程中有4种变异策略可以选择,如表4所示。通过Pl,G可以实现变异策略的自适应选择,Pl,G是概率参数,表示在第G代变异操作中使用策略“l”的概率。

jsj1-b4.gif

变异因子F用于控制步长,服从N(0.6,0.3)的正态分布,K在0~1区间随机取值,r1~r5是1~NP内互不相等的随机整数。概率参数Pl,G的更新规则可参考文献[10],变异操作完成后,将变异向量jsj1-b4-x1.gif与θk,G进行交叉操作可得试验向量jsj1-b4-x2.gifjsj1-b4-x3.gif交叉操作通过式(9)完成。

jsj1-gs9.gif

其中,jrand是[1,L]随机正整数,randj是0~1之间随机数,交叉概率CR服从N(0.3,0.1)的正态分布。重复突变、交叉与选择,直至最大迭代次数得到最优θk,G,通过式(6)计算出输出权值β,即可获得模型。

3.2 字符识别

首先将字符尺寸统一为20×40,然后用方向梯度直方图来提取字符特征(单元10×10,块大小20×20,块步长5×5,每个单元对应的向量是9维),则可得180维的输入特征向量。接着用SaE-ELM训练3个字符分类器。汉字分类器用来识别第一个字符,采用400个隐层节点和31个输出节点。字母分类器用来识别第二个字符,采用300个隐藏层节点和24个输出节点。字母数字分类器则用来识别剩下的5个字符,采用300个隐层节点和34个输出节点。在2.50 GHz CPU、2 GB内存、vs2013编程的主机上进行测试,用4 000个字符(1 435个中文字符,1 000个数字,1 565个英文字符)来训练,训练时间为144 s(训练用时最长的时间)。取500个字符做测试,这里是分开测试,汉字分类器识别率为96.5%,字母数字分类器的识别率为97.5%,字母分类器识别率为98.0%。从表5可知(以字母为例),在识别率与BP神经网络和SVM区别不大的情况下,基于SaE-ELM的车牌字符识别大大缩短了训练时间,且提高了字符识别的速度。本文算法可应用于实际复杂场景,测试效果如图4所示。

jsj1-b5.gif

jsj1-t4.gif

4 结束语

经过大量测试,上述方法可以有效地识别各种复杂场景中的车牌。但所提出的方法前提是要把彩色图转为灰度图,未来可考虑直接对彩色图直接进行处理,终端完成图像的采集工作,然后通过云平台,把相对复杂的图像计算部分分到多个服务器上同时进行处理。还可以考虑将深度学习用于模型的训练,提高中文字符和相似字符的识别准确率。车牌识别技术的发展为其今后在车辆跟踪、交通监控、停车场出入管理等领域的应用打下了良好的基础。

参考文献

[1] TIAN B.Hierarchical and networked vehicle surveillance in its:A survey[J].IEEE Trans.Intell.Transp.Syst.,2015,16(2):557-580.

[2] SHI X,ZHAO W,SHEN Y.Automatic license plate recognition system based on color image processing[J].Lecture Notes in Computer Science,2005,3483(4):1159-1168.

[3] ZHENG D,ZHAO Y,WANG J.An efficient method of license plate location[J].Pattern Recog.Lett.,2005,26(15):2431-2438.

[4] 张学海.车牌字符分割方法研究与实现[D].成都:西南交通大学,2010.

[5] 甘玲,林小晶.基于连通域提取的车牌字符分割算法[J].计算机仿真,2011,28(4):336-339.

[6] 穆丽娟,籍焱.基于新模板的算法在车牌字符分割中的应用[J].计算机工程与应用,2012,48(19):191-196.

[7] HONG T,GOPALAKRISHNAM A K.License plate extraction and recognition of a Thai vehicle based on MSER and BPNN[C].Knowledge and Smart Technology(KST),2015 7th International Conference on,Chonburi,2015:48-53.

[8] NEJATI M,MAJIDI A,JALALAT M.License plate recognition based on edge histogram analysis and classifier ensemble[C].2015 Signal Processing and Intelligent Systems Conference(SPIS),Tehran,2015:48-52.

[9] HUANG G B,WANG D H,LAN Y.Extreme learning machines:a survey[J].International Journal of Machine Learning and Cybernetics,2011,2(2):107-122.

[10] CAO J,LIN Z,HUANG G B.Self-adaptive evolutionary extreme learning machine[J].Neural Process.Lett.,2012,36(3):285-305.



作者信息:

文 武1,2,乔龙辉1,何 鹏1

(1.重庆邮电大学,重庆400065;2.重庆信科设计有限公司,重庆400065)

此内容为AET网站原创,未经授权禁止转载。
Baidu
map