一种基于BP神经网络的车牌字符识别算法
2017-12-15王娜
王++娜
摘要:从目前智能交通的发展实际出发,结合图形图像处理技术对智能交通的重要组成部分车牌识别中的字符识别进行了研究。采用了一种新的方法对车牌字符进行识别,即神经网络方法与模板匹配法相结合。通过实践可以得出,这种方法识别效果很好,而且提高了识别的效率及准确性。
关键词:BP神经网络;车牌字符识别;模板匹配;智能交通系统
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2017)32-0201-02
A License Plate Character Recognition Algorithm Based on BP Neural Network
WANG Na
(Department of Information Engineering, Liaoning Construction Vocational College, Liaoyang 111000, China)
Abstract: From the reality of the development of intelligent transportation, combined with graphics and image processing technology, the character recognition of license plate recognition is studied, which is an important component of intelligent transportation.A new method is used to recognize license plate characters, that is, neural network method is combined with template matching method.Through practice, we can conclude that this method has good recognition effect, and improves the efficiency and accuracy of recognition.
Key words: BP neural network; License plate character recognition; template matching; Intelligent transportation system
目前,全球经济迅速发展,汽车数量的不断增加,进而智能交通系统(简称ITS)也就成了研究的焦点。在ITS领域中车辆车牌识别(简称LPR)的车牌字符识别和车牌定位技术是研究的热点。LPR技术作為交通管理自动化的重要手段,其任务是分析、处理汽车监控图像,自动识别汽车牌号,并进行相关智能化数据库管理[1]。因而对车牌识别技术的研究和应用系统开发具有重要的现实意义[2]。
本文提出了一种基于BP神经网络的车牌字符识别算法,可以有效地提高识别的准确性。
1 神经网络方法分析
1.1 神经网络概述
人工神经网络是在对人脑组织结构和运行机制的认识理解基础之上模拟其结构和智能行为的一种工程系统[3]。对人体内各部分之间进行信息相互传递的基本单元是递神经元(神经细胞),它是神经系统的基本构造。
1.2 神经网络的学习和训练
神经网络的基本特性是利用学习环境获取知识进而改进自身的性能,通过调节网络权值和闲值来实现神经网络的学习与训练。通常,改善性能可以通过某种预定的度量随时间逐步调节自身参数(加权值)而达到。学习方式从环境提供的信息多少可分为三种[4]:
(1) 监督学习(有教师学习):此方式要有“教师”,对于输入数据会得到正确的输出结果。
(2) 非监督学习(无教师学习):该学习没有“教师”,对于自身结构或参数的调节参照环境提供数据的某些统计规律进行。
(3) 再励学习(强化学习):此方式介于上述两种学习之间,对于系统的输出结果环境只是给予评价(奖或惩)并不是正确答案,系统改善自身的性能是通过强化那些受奖励的动作实现的。
2 BP神经网络实现
BP学习算法的步骤:
(1) 声明变量、参数,包括学习速率、权值矩阵、训练样本;
(2) 初始化,为每个权值矩阵赋值一个较小的随机非零向量;
(3) 随机样本输入;
(4) 对输入样本的BP网络每层神经元的输入和输出信号进行前向计算;
(5) 计算实际输出和期望输出的误差,若满足要求转(8),否则转(6);
(6) 若达到最大迭代数,转(8),否则反向计算每层神经元的局部梯度;
(7) 根据局部梯度对每个矩阵的权值进行修正;
(8) 如果学完所有的样本就结束学习,否则转到(3)。
3 英文字母识别
在车牌图像中会有英文字符,用神经网络方法可以实现对它的识别。但这样会使特征提取复杂化,而且输出层的节点数会增加,进而降低了计算机的处理速度,不能得到好的识别效果。这里,使用图像模板匹配方法完成对英文字符的识别,用神经网络方法识别数字字符。
图像模板匹配法的基本原则就是通过相关函数的计算找到它以及被搜索图的坐标位置[5]。把所有的英文字符组成一个搜索图库S,如图1所示,模板T为待识别车牌中的英文字符,S和T都是经过紧缩、归一化处理后的。
T可以在S上移动,被T覆盖到的区域为子图[Sij],子图左上角的坐标为[(i,j)],为参考点,其中,其取值范围为,[1
[D(i,j)=m=1Mn=1M[Si,j(m,n)-T(m,n)]2] (1)
或:
[D(i,j)=m=1Mn=1M|Si,j(m,n)-T(m,n)|] (2)
如展开(1)式,则:
[D(i,j)=m=1Mn=1M[Si,j(m,n)]2-2m=1Mn=1MSi,j(m,n)×T(m,n)+m=1Mn=1M[T(m,n)]2] (3)
其中,等号右边第一个式子表示[Sij]能量,第二个式子表示[Sij]和T互关性,第三个表示T的总能量。可用下式测量相似性:
[R(i,j)=m=1Mn=1MSi,j(m,n)×T(m,n)m=1Mn=1M[Si,j(m,n)]2] (4)
或归一化为:
[R(i,j)=m=1Mn=1MSi,j(m,n)×T(m,n)m=1Mn=1M[Si,j(m,n)]2m=1Mn=1M[T(m,n)]2] (5)
其中,0 [R(i,j)=tTS1(i,j)(tTt)ST1(i,j)S1(i,j)] (6) 当[S1(i,j)=kt]([k]为常数),即[S1]和[t]无夹角时,[R(i,j)=1],否则[R(i,j)<1]。由于模板要在[(N-M+1)]个位置上做相关匹配计算,计算量会很大,并且其中只有一个匹配点,其余都是在做无用功。所以需要一种快速的计算方法,其主要分为几类:①幅度排序相关算法;②分层搜索的序贯判决算法;③序贯相似性检测算法,简称SSDA;④FFT相关算法[6]。这里采用SSDA算法,要点如下: (1) 计算绝对误差值 [ε(i,j,mk,nk)=Sij(mk,nk)-S∧(i,j)-T(mk,nk)+T∧] (7) 其中: [S∧(i,j)=1M2m=1Mn=1MSi,j(m,n)] (8) [T∧(i,j)=1M2m=1Mn=1MT(m,n)] (9) (2) 选取固定阈值TK (3) 隨机地在子图[Sij(M,M)]中选取像素点。累加所有选取点在T中对应点的误差值C,当累加[r]次,如果[C>Tk],则累加停止,SSDA的检测曲面定义如下: [I(i,j)={rmin1≤r≤m2[k=1rε(i,j,mk,nk)≥Tk]}] (10) (4) 选取[I(i,j)]值大的[(i,j)]点为匹配点。 进一步改进SSDA算法: (1) 模扳不需要对[(N-M+1)]个参考都进行匹配,可以先每隔[m]点计算匹配值,对有极大匹配值四周的点再进行匹配。 (2) 对参考点[(i,j)],其模板覆盖的[M2]个点的计算误差的顺序,可在模板中按突出特征选伪随机序列决定,从而能更早地放弃非匹配点。 (3) 选用单调增长的阈值序列,进而更早地丢弃非匹配点。 SSDA是一种很受重视的方法,其速度比FFT快50倍。在搜索图S中如找到待识别英文字符T的匹配点时,就会确定这个点对应的字母上,进而识别工作结束。 4 结束语 车牌识别是车牌自身特点与图像处理技术的结合,其中也包含神经网络、模糊理论、小波分析、数学形态学等知识的运用。实验表明,这种神经网络识别数字字符,模板匹配识别英文字符的方法能够很好地识别车牌图像。 参考文献: [1] 欧阳俊,刘平. 基于BP神经网络的车牌字符识别算法研究[J]. 光学与光电技术,2012,10(5):67-71. [2] 郭荣艳,胡雪惠. BP神经网络在车牌字符识别中的应用研究[J]. 计算机仿真,2010,27(9):299-301,350. [3] 葛晓玢. 神经网络算法研究及其在车牌识别中的应用[D]. 淮北:淮北师范大学,2014. [4] 杨建华,王鹏. 一种基于BP神经网络的车牌字符识别算法[J]. 软件工程师,2015,18(1):19-20. [5] Basu J K,Bhattacharyya D,Kim T.Use of artificial neural network in pattern recognition [J].International Journal of Software Engineering and its Applications,2010,4(2):23-34. [6] 贺瑜飞. 车牌字符识别的一种快速算法[J]. 哈尔滨师范大学自然科学学报,2014,30(5):40-43.