APP下载

基于PSO-BP神经网络的车牌号码识别技术*

2017-05-18吴志攀赵跃龙罗中良杜华英

关键词:车牌惠州字符

吴志攀,赵跃龙,罗中良,杜华英

(1. 惠州学院信息科学技术学院,广东 惠州 516007; 2. 华南理工大学计算机科学与工程学院,广东 广州510640; 3. 惠州学院电子信息与电气工程学院,广东 惠州 516007; 4. 惠州城市职业学院信息技术系,广东 惠州 516025)

基于PSO-BP神经网络的车牌号码识别技术*

吴志攀1,赵跃龙2,罗中良3,杜华英4

(1. 惠州学院信息科学技术学院,广东 惠州 516007; 2. 华南理工大学计算机科学与工程学院,广东 广州510640; 3. 惠州学院电子信息与电气工程学院,广东 惠州 516007; 4. 惠州城市职业学院信息技术系,广东 惠州 516025)

针对传统BP神经网络在车牌识别的应用领域中,存在经常性陷入局部最优,而导致识别效果不理想事实。提出一种基于PSO-BP神经网络的车牌号码识别技术方法,该方法首先构建一个8-25-1的BP神经网络,再通过提取车牌的8像素比特征值作为BP神经网络的输入向量,然后采用粒子群算法(PSO)对该BP神经网络的权值和阈值进行优化,使其适应值达到最小。通过300副不同光照环境和污损的车牌识别仿真实验,验证了所提出的算法相对于传统的模板匹配算法和BP算法,具有输出误差小、全局收敛速度快和识别率高的特征,具有一定的应用价值。

BP神经网络;粒子群算法(PSO);PSO-BP神经网络;车牌识别

目前我国已经是世界上汽车生产和消费大国,而且汽车保有量越来越多;这些大量的车辆已经给小区管理、交通监控、公共安防等管理部门带来了不小的管理上的工作压力。因此,为了能够有效地对车辆进行自动化管理,那么能够对车辆的车牌号码进行正确识别则是必须的首要前提条件。

目前一般都是采用灰度化、图像增强、二值化、数学形态学等数字图像处理技术进行车牌图像的预处理,然后再进行特征提取并采用相应技术手段进行车牌字符识别。

文献[1-4]中采用BP神经网络对车牌字符进行识别,获得了成功;文献[5-7]中引入动量项等改进BP神经网络算法并对车牌字符加以识别,提高了车牌的识别率;文献[8]中开发了BP神经网络联合模板匹配的车牌识别系统,提出了一种使用BP神经网络进行车牌识别的新思路;文献[9-11]中提出了PSO算法优化BP神经网络,优化了BP神经网络的权值和阈值,降低了收敛的时间,验证了PSO算法优化BP神经网络的可行性;文献[12-19]中使用了PSO算法优化BP神经网络并应用到诸如交通流量、网络流量和城市用水量等方面的预测中,获得了良好的效果,然而PSO算法优化BP神经网络在车牌号码识别的研究并不多见。

1 PSO优化BP神经网络

1.1 BP神经网络

BP神经网络(Back Propagation Neural Network, BPNN)是模拟生物神经网络而建立的一种数学模型[4],它是包括输入层、隐层和输出层的网络拓扑结构;它还是误差反馈型神经网络,即根据误差的逆向传播不断纠正并完善其权值及阈值。BP神经网络模型如图1所示。

图1 BP神经网络模型Fig.1 BP neural network model

BP神经网络一般采用3层结构,其基本的公式结构为如下公式(1)所示:

y=purelin(WL2×tansigWI1×xn+θ1)+θ2

(1)

其中tansig()为输入层到隐层之间的双曲正切S函数;purelin()为隐层到输出层之间的线性传输函数;y为BP网络的输出向量;xn为输入向量;WI1为输入层到隐层之间的连接权值;WL2为隐层到输出层之间的连接权值;θ1为输入层到隐层的连接阈值;θ2为隐层到输出层的连接阈值。

BP神经网络已经在包括车牌识别的许多领域中取得了成功运用,但是它也存在着一些缺陷,例如有可能陷入局部最优,不能100%保证收敛至全局最优。为了解决这个问题,应对BP神经网络的权值和阈值进行优化,以达到最优状态。

1.2 粒子群优化(PSO)算法

粒子群优化算法(ParticleSwarmOptimization,PSO)是于1995年由Eberhart与Kennedy两位博士提出的一种启发式搜索技术[17],该算法是从鸟群的活动规律和对鸟群捕食行为启发得来的,建立一个群体智能的简化模型,模型中的每一只鸟,即优化问题的解,称之为粒子(Particle),每个粒子均有一个速度决定它们的距离和方向,追随当前的最优粒子在求解空间中搜索以获得最佳的适应值(FitnessValue),从而获得问题的全局最优解[20-21]。

PSO算法是通过迭代找出一群随机粒子中的最优解。在每一次的迭代过程中,粒子都通过自身搜索到的最优解Pbest和整个粒子群体搜索到的全局极值Gbest这两个“极值”来自我更新。

设在一个D维搜索向量中有一个粒子群,它由n个粒子组成,其中第i个粒子的位置为Xi=(Xi1,Xi2,…,XiD),飞行速度为Vi=(Vi1,Vi2,…,ViD) ,i∈ [1,2,…,n],则搜索到的最优位置为Pi=(Pi1,Pi2,…,PiD),i∈1,2,…,n。在全局粒子群中,所有Pi所记录的最优解位置为Pg=(Pg1,Pg2,…,PgD)。在每一次的迭代过程中,粒子状态均根据如下公式更新:

Vij(t+1)=ω(t)Vij(t)+c1*rand()*

(Pij(t)-Xij(t))+c2*rand()*

(Pgj(t)-Xij(t))

(2)

Xij(t+1)=Xij(t)+Vij(t+1)

(3)

ω(t)=ωmax-t(ωmax-ωmin)/tmax

(4)

其中,j∈[1,2,…,d];c1和c2是学习率,即加速常数;rand()是变化范围为[0,1]内的一个随机数函数;t是迭代次数,tmax是最大迭代次数;ωmin是最小权重,ωmax为最大权重。

1.3PSO优化BP网络的计算方法

在使用PSO算法优化BP网络时,粒子的位置向量X是BP网络的权值W和阈值θ。在粒子的搜索过程中,使如下公式(5)所示的均方误差,即:适应值Fitnessi达到最小。

(5)

本文给出PSO优化BP神经网络的计算步骤为:

Step1 构建一个3层8-25-1结构的PSO-BP网络并初始化;

Step2 初始化PSO,包括粒子数、粒子群的速度和位置等;

Step3 计算出每个粒子的Pbest值,选出当中最好的Pbest值作为Gbest值;

Step4 根据公式(5)计算出每个粒子的适应值,如果优于该粒子当前的Pbest值,则更新该粒子的位置和Pbest值。如果全部粒子的Pbest值中有优于当前Gbest值的,则更新Gbest值;

Step5 根据公式(4)更新权重值,根据公式(2)和公式(3)更新粒子位置和速度;

Step6 判断是否到达最大迭代次数,若是则停止迭代,得到BP网络的最优权值W和阈值θ,否则跳转至Step3。

PSO优化BP神经网络的流程图如图2所示。

图2 PSO-BP流程图Fig.2 PSO-BP flowchart

2 采用PSO-BP神经网络的车牌识别方法

2.1 车牌图像预处理

在对车牌字符识别之前,需要对车牌图像进行预处理,即车牌定位、灰度化、二值化、字符分割提取等处理技术。

车牌定位是车牌号码识别当中的关键一环,采用的是基于色彩和长宽比特征的定位算法,根据车牌大体的长宽比值,以及车牌背景颜色和车牌字符颜色等特征进行车牌的定位提取,提取的彩色车牌图像如图3所示。

灰度化是把彩色图像生成具有256个灰度的黑白图像。由于人的眼睛在红绿蓝(RGB)3种颜色中对绿色敏感度最高,对蓝色敏感度最低,因此对彩色图像进行加权平均得出的灰度图像效果最佳。权值如公式(6)所示,灰度图如图4所示。

f(i,j)=0.298 9R(i,j)+0.587 0·

G(i,j)+0.114 1B(i,j)

(6)

图3 车牌彩色图像Fig.3 Color image of license plate

图4 灰度图Fig.4 Gray image

车牌在水平方向的不定角倾斜往往会降低对车牌的识别率,可利用拉东(Radon)变换算法检测出车牌图像中的直线,从而检测出直线的倾斜角度,然后根据该倾斜角进行水平旋转纠正。倾斜校正效果如图5所示。

可利用最大类间方差法(OTSU)对图像进行二值化,OTSU是根据图像灰度自适应确定阈值的一种二值化方法,效果较好。基于OTSU法的二值化如图6所示。

图5 倾斜校正图Fig.5 Tilt correction image

图6 二值化图Fig.6 Binary image

为了方便对车牌号码的提取处理,需要对图6进行黑白反色处理,如公式(7)所示,反色效果如图7所示。

(7)

经过二值化并反色处理后的图像还有许多非车牌字符的多余部分,应剔除之。可采用扫描法从水平和垂直两个方向进行扫描,分析出车牌字符的确切位置,并把多余部分裁剪掉。裁剪之后效果如图8所示。

因为单个字符的大小和位置是可通过相应分析测定的,因此同样可以采用扫描法从水平和垂直两

图7 反色处理图Fig.7 Inverse Image

图8 裁剪图Fig.8 Image clipping

个方向对字符进行扫描分割,从而得出分离的7个单字符。字符分割效果如图9所示。

图9 字符分割Fig.9 Character segmentation

2.2 基于PSO-BP网络的车牌识别

首先求得字符图像总的黑色像素个数,然后再把该图像分为8个小块,如图10所示。然后把每一小块中的黑色像素的个数与刚才求得的总像素值的比值作为第n个特征值,如公式(8)所示。一共可得到8个特征值,部分8像素比特征值如表1所示。

图10 8像素比特征值Fig.10 8 pixel ratio feature

(8)

车牌中每个字符提取的特征值是8个,因此神经网络的输入节点定为8个;根据表2得知民用车牌字符不超过128个,因此BP神经网络的输出节点定为1个,为一比值Y,具体值为Bin2Dec(y1y2y3y4y5y6y7)/车牌字符总数,Y∈(0,1);采用一层隐含层,节点数定为25个。因此,构建一个8-25-1 的BP神经网络,网络的权值和阈值均由PSO算法进行优化求得。

表1 部分像素比特征值Table 1 Pixel ratio feature (partial)

表2 字符编码表Table 2 Character code

3 实验结果与分析

本文通过基于Windows平台的Matlab编程实现了一个基于PSO-BP的车牌号码识别系统,采集了300副不同光照环境下的小型汽车车牌并进行归一化处理,其中100组作为训练样本,200组作为测试样本。

PSO优化BP网络时的迭代适应值如图11所示。样本输出值如图12所示,其中蓝色曲线是BP神经网络的输出值,绿色曲线是PSO优化BP网络后的输出值,而黑色曲线是实际输出值。图12显示,PSO-BP网络的输出值比传统BP网络的误差要小,更加逼近实际输出值。

图11 迭代适应值Fig.11 Fitness value

图12 PSO-BP输出值Fig.12 PSO-BP output value

为了更好地说明本文算法识别率,特分别用模板匹配算法、传统BP神经网络算法和PSO-BP算法对本文样本进行了相应的测试,这几种算法的识别率对比如表3所示。实验证明,本文算法的识别率均比模板匹配的和传统BP神经网络的识别率高。

表3 识别率对比Table 3 The comparison of recognition rate

4 结 论

虽然BP神经网络一些车牌识别中得到了较多的应用,但是在实际应用过程它经常有可能陷入局部最优而不是收敛至全局最优。为了解决这个问题,可以采用PSO对BP神经网络的权值和阈值进行优化来使其适应值最小,这样可以尽量避免局部最优值的出现,也使得实际输出值与期望输出值误差变得更小。实验证明,相对于传统的模板匹配算法、BP算法,采用PSO优化BP神经网络的算法可以明显提高车牌号码的识别率。另外,除去算法的原因,车牌识别率受光照、车牌污损的影响比较大。

[1] 欧阳俊,刘平. 基于BP神经网络的车牌字符识别算法研究[J]. 光学和光电技术, 2012,10(5):67-70.OUYANGJun,LIUPing.Researchofcharacterrecognitionalgorithmsbasedonbpneuralnetwork[J].Optics&OptoelectronicTechnology, 2012, 10(5):67-70.

[2] 张旭兰. 基于BP人工神经网络的车牌字符识别优化算法[J]. 计算机工程与应用, 2012,48(35):182-185.ZHANGXulan.Optimizedcharacterrecognitionalgorithmbasedonbpartificialneuralnetwork[J].ComputerEngineeringandApplications, 2012, 48(35):182-185.

[3] 石伟,孙永荣.BP神经网络在车牌识别技术中的应用[J]. 工业控制计算机, 2010,23(4):17-19.SHIWei,SUNYongrong.ApplicationofBPneuralnetworkinlicenseplaterecognitiontechnique[J].IndustrialControlConmputer,2010,23(4):17-19.

[4] 杨凡,赵建民,朱信忠,等. 一种基于BP神经网络的车牌字符分类识别方法[J]. 计算机科学, 2005,32(8):192-195.YANGFan,ZHAOJianming,ZHUXinzhong,etal.AnewmethodoflicenseplatecharactersclassifiedrecognitionbasedonBPneuralnetworks[J].ComputerScience, 2005, 32(8):192-195.

[5] 胡方明,简琴,张秀君. 基于BP神经网络的车型分类器[J]. 西安电子科技大学学报(自然科学版), 2005, 32(3): 439-441.HUFangming,JIANQin,ZHANGXiujun.Theclassifierofcartypesusingbpneuralnetworks[J].JournalofXidianUniversity, 2005, 32(3): 439-441.

[6] 王智文. 基于改进BP神经网络的车牌字符识别[J]. 微电子学与计算机, 2011,28(9):66-69.WANGZhiwen.VehiclelicenseplaterecognitionbasedonimprovedBPnetwork[J].Microelectronics&Computer, 2011, 28(9):66-69.

[7] 李会民,张仁津. 基于改进BP网络的车牌字符识别方法研究[J]. 计算机工程与设计, 2010,31(3):619-621.LIHuimin,ZHANGRenjin.ResearchofvehiclelicenseplaterecognitionbasedonBPneuralNetwork[J].ComputerEngineeringandDesign, 2010, 31(3):619-621.

[8] 呙润华,苏婷婷,马晓伟,等.BP神经网络联合模板匹配的车牌识别系统[J]. 清华大学学报(自然科学版), 2013,53(9):1221-1226.GUORunhua,SUTingting,MAXiaowei,etal.LicenseplaterecognitionsystemusingaBPneuralnetworkandtemplatematching[J].JournalofTsinghuaUniversity(ScienceandTechnology), 2013,53(9):1221-1226.

[9] 曾万里,危韧勇,陈红玲. 基于改进PSO算法的BP神经网络的应用研究[J].计算机技术与发展, 2008, 18(4):49-51.ZENGWanli,WEIRenyong,CHENHongling.ResearchandapplicationofBPneuralnetworkbasedonimprovedPSOalgorithm[J].ComputerTechnologyandDevelopment, 2008, 18(4):49-51.

[10] 潘昊,侯清兰.粒子群优化的BP网络学习算法研究及应用[J].计算机工程与应用, 2008, 44(9):67-69.PANHao,HOUQinglan.ABPneuralnetworkslearningalgorithmresearchbasedonparticleswarmoptimizer[J].ComputerEngineeringandApplications, 2008, 44(9):67-69.

[11] 李祚泳,汪嘉杨,郭淳.PSO算法优化BP网络的新方法及仿真实验[J]. 电子学报, 2008,36(11):2224-2228.LIZuoyong,WANGJiayang,GUOChun.AnewmethodofBPnetworkoptimizedbasedonparticleswarmoptimizationandsimulationtest[J].ActaElectronicaSinica, 2008, 36(11):2224-2228.

[12] 刘顺安,胡庆玉.PSO-BP网络算法在汽车悬架优化中的运用[J].吉林大学学报(工学版), 2009,39(3):571-575.LIUShunan,HUQingyu.ApplicationofPSO-BPnetworkalgorithminoptimizationofautomotivesuspension[J].JournalofJilinUniversity(EngineeringandTechnologyEdition), 2009,39(3):571-575.

[13] 李松,刘力军,刘颖鹏. 改进PSO优化BP神经网络的混沌时间序列预测[J]. 计算机工程与应用, 2013,49(6):245-249.LISong,LIULijun,LIUYingpeng.PredictionforchaotictimeseriesofoptimizedBPneuralnetworkbasedonmodifiedPSO[J].ComputerEngineeringandApplications, 2013,49(6):245-249.

[14] 沈学利,张纪锁. 基于BP网络与改进的PSO算法的入侵检测研究[J]. 计算机工程与科学, 2010, 32(6):34-36.SHENXueli,ZHANGJisuo.ResearchofintrusiondetectionbasedontheBPnetworksandtheimprovedPSOalgorithm[J].ComputerEngineering&Science, 2010, 32(6):34-36.

[15] 马修元,段钰锋,刘猛,等. 基于PSO-BP神经网络的水焦浆管道压降预测[J]. 中国电机工程学报, 2012, 32(5):54-59.MAXiuyuan,DUANFufeng,LIUMeng,elal.PredictionofpressuredropofcokewaterslurryflowinginpipelinebyPSO-BPneuralnetwork[J].ProceedingsoftheCSEE, 2012, 32(5):54-59.

[16] 赵振江. 基于PSO-BP神经网络的网络流量预测与研究[J]. 计算机应用与软件, 2009, 26(1):218-221.ZHAOZhenjiang.PredictionandresearchonnetworktrafficbasedonPSO-BPneuralnetwork[J].ComputerApplicationandSoftware, 2009, 26(1):218-221.

[17] 李强,周轲新. 基于PSO-BP算法的压力传感器温度补偿研究[J]. 电子学报, 2015, 43(2):412-416.LIQiang,ZHOUKexin.TheresearchofthepressuresensortemperaturecompensationbasedonPSO-BPalgorithm[J].ActaElectronicaSinica, 2015, 43(2):412-416.

[18] 李东洁,李君祥,张越,等. 基于PSO改进的BP神经网络数据手套手势识别[J]. 电机与控制学报,2014, 18(8):87-93.LIDongJie,LIJunxiang,ZHANGYue,etal.GesturerecognitionofdataglovebasedonPSO-improvedBPneuralnetwork[J].ElectricMachinesandControl, 2014, 18(8):87-93.

[19] 刘合香, 简茂球. 基于粒子群-投影寻踪和遗传-神经网络集成的预测模型[J]. 中山大学学报(自然科学版), 2012, 51(5):113-119.LIUHexiang,JIANMaoqui.Predictionmodelbasedonparticleswarm-projectionpursuitandgenetic-neuralnetworks[J].ActaScientiarumNaturaliumUniversitatisSunyatseni, 2012, 51(5):113-119.

[20] 魏德敏, 文星宇. 基于微粒群算法的桁架频率拓扑优化[J]. 中山大学学报(自然科学版), 2008, 47(S2):22-28.WEIDemin,WENXingyu.Frequencytopologyoptimizationfortrussstructuresbasedonparticleswarmoptimizationalgorithm[J].ActaScientiarumNaturaliumUniversitatisSunyatseni, 2008, 47(S2):22-28.

[21] 曾艳姗, 李仲飞. 基于粒子群优化算法的均值-VaR投资组合选择[J]. 中山大学学报(自然科学版), 2012, 51(6):1-9.ZENGYanshan,LIZhongfei.Mean-VaRportfolioselectionbasedonparticleswarmoptimizationalgorithm[J].ActaScientiarumNaturaliumUniversitatisSunyatseni,2012, 51(6):1-9.

License plate recognition technology based on PSO-BP neural network

WUZhipan1,ZHAOYuelong2,LUOZhongliang3,DUHuaying4

(1.School of Information Science and Technology, Huizhou University, Huizhou 516007, China; 2. School of Computer Science and Engineering, South China University of Technology, Guangzhou 510640, China; 3. School of Electronic Information and Electrical Engineering, Huizhou University, Huizhou 516007, China; 4. Department of Information Technology, City College of Huizhou, Huizhou 516025, China)

BP neural network has been successfully applied in many fields, such as license plate recognition, however the general method of BP neural network is likely to fall into local optimum rather than converge to the global optimum, so its performance of recognition is not very satisfied. In order to avoid this situation, a license plate number recognition technology method is proposed based on PSO-BP neural network. The key of this method is to build an 8-25-1 BP neural network with 8 pixel rate features as its input vector firstly, and then use particle swarm optimization (PSO) algorithm to optimize the weights and thresholds of the BP neural network to get the best fitness value of global searching. By using 300 pair license plate images some with the different illumination and the stained parts, the simulation result indicates that the algorithm we mentioned comparing with the traditional template matching algorithm and general BP algorithm has the certain application value with the advantage of less output errors, global fast convergence, and high recognition rate.

BP neural network; PSO; PSO-BP neural network; vehicle license plate recognition

10.13471/j.cnki.acta.snus.2017.01.008

2016-08-01 基金项目:国家自然科学基金(61572200);广东省高等学校教学质量与改革工程本科类项目([2013]113号-113);惠州市科技计划项目(2014-01);惠州城市职业学院课题(HZC2015-5-1-3)

吴志攀(1975年生),男;研究方向:模式识别和大数据技术;E-mail:hz_wzp@hzu.edu.cn

杜华英(1976年生),女;研究方向:神经网络和模式识别;E-mail:duhuaying@hzc.edu.cn

TP

A

0529-6579(2017)01-0046-07

猜你喜欢

车牌惠州字符
奔跑惠州
惠州一绝
论高级用字阶段汉字系统选择字符的几个原则
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
数字图像处理技术在车牌识别系统中的应用
浅谈对称思想在数学中的应用
第一张车牌
基于MATLAB 的车牌识别系统研究