张国云 向灿群 吴健辉 郭龙源 涂 兵
(湖南理工学院信息与通信工程学院 湖南 岳阳 414006)(复杂系统优化与控制湖南省普通高等学校重点实验室 湖南 岳阳 414006)
基于改进BP网络的车牌字符识别方法研究
张国云 向灿群 吴健辉 郭龙源 涂 兵
(湖南理工学院信息与通信工程学院 湖南 岳阳 414006)(复杂系统优化与控制湖南省普通高等学校重点实验室 湖南 岳阳 414006)
针对传统BP算法在车牌字符识别速度较慢和识别准确率较低的问题,提出一种改进的BP网络车牌字符识别方法。通过对BP算法的输入特征数优化,在不降低识别精度的情况下精简了输入层节点数,提升了识别速度。改进后的BP算法采用全参数自动调整,引入自适应学习率、动量因子、坡度因子,增加了BP算法的识别精度;同时通过更好的利用车牌字符特征和BP网络特征,降低了算法结构的复杂性,增强了算法的鲁棒性。实验结果表明,该算法在实际采集的自建整副车牌数据集上的识别率上比传统BP神经网络车牌识别算法提高近6.5%;在识别速度上提高近1.3 s。
改进BP网络 车牌 字符识别 全参数自动调整
车牌字符识别是公安卡口、电子警察、高速公路测速与收费、停车场管理、天网监控、专车专停管理等领域的一项重要技术,具有重要的实际应用价值。近年来,国内外广大科研人员围绕车牌字符识别开展了广泛的研究,针对车牌上的字符提出了一些有针对性的算法,取得了一定的识别效果。在非机器学习方法上,万燕等[1]针对低质量的车牌字符开展了基于形状上下文的识别研究,采用局部特征和形状上下文特征的两级识别方法,有效地提升了相近字符的识别率;莫林等[2]提出了基于评分模型的车牌字符识别方法,首先对待识别字符进行分区,然后对分区的各个方格进行评分,采用类似模板匹配的方式,最终得分高的字符模板作为识别结果;Zahedi等[3]将尺度不变特征应用到车牌识别系统中来,有效地改善了不同环境不同光照下的车牌识别结果。而在基于机器学习的识别方法上,王桂文等[4]提出了SVM和正交盖氏矩相结合的车牌字符识别方法,杨建华等[5]提出了采用BP神经网络的识别方法,Dong等[6]采用BP神经网络联合模板匹配进行车牌识别。这些方法针对特定的车牌字符,都取得了一定的识别效果。然而,基于特征的非机器学习方法尽管不需要训练直接应用,却存在易受干扰,且单字符识别时间较长的问题,通用的经典SVM和BP网络方法由于受到训练样本的影响,因此很多研究人员采用与其他方法进行结合的方式进行识别,影响了其应用的通用性。但是BP网络作为目前应用最广泛的神经网络模型之一,在各个领域已经得到了广泛的应用[7-8],如果针对车牌字符的特点进行改进,则有可能大幅度提高字符的识别结果和速度。通过综合分析和探究,本文在传统BP网络的基础提出了一种改进的算法,通过提取字符的主要特征减少输入层的维数,在结构上降低BP算法的复杂度,同时融入了自适应学习率、动量项以及坡度因子等参数,加快了BP算法的收敛速度。实验结果表明改进后的BP网络算法在车牌识别率和速度上均有提升,具有一定的实际应用价值。
1.1 车牌图像预处理
车牌识别的原理可分为四个过程,首先从一幅图像对车牌进行定位,然后将定位成功后的车牌从原始图像中提取,对提取的车牌进行预处理以便切割成单个字符,最后对切割的单个字符用改进后的算法进行识别并得出识别结果。车牌识别的大概过程如图1所示,为了方便描述,将预处理、牌照定位和字符分割统称为车牌图像预处理。
图1 车牌识别系统
具体处理过程如下:
1) 图像预处理。对原始图像灰度化、二值化、除噪等处理。灰度化采用加权平均值法,二值化采用动态阈值法,运算速度快,并且对不同的车牌均有很好的分割效果。
2) 车牌定位。采用的车牌定位算法是基于对车牌特征信息分析得出的,算法运算简单,具有较好的鲁棒性以及运算速度快等特点。
3) 字符切割。对提取的车牌进行灰度化、去噪、二值化等处理,然后使用垂直投影法获得单个字符所在区域,切割字符区域后对字符进行归一化处理。车牌图像预处理结果如图2所示。
图2 车牌图像预处理
经过车牌图像预处理后,能够将原始图像中的车牌提取出来,并将提取的车牌分割成大小统一的单个可识别字符。
1.2 特征值选取
目前对于字符特征提取与选择还没有确定一套通用的理论方法,传统的方法主要有两种:基于统计的特征选取和基于字符结构的特征选取。特征选取的目的是获取一组“少而精”的特征数据进行字符的快速识别,结合本文改进的BP网络算法,对字符提取7个特征,包括4个占空比特征,以及面积、均值、中心二阶矩3个特征。假设采用如图3所示的M×N训练模板,二值图像矩阵像素点像素为f(i,j),假设白色区域像素为‘0’,黑色字符区域像素为‘1’,则特征参数可以进行如下计算。
图3中占空比为在给定区域D1、D2、D3、D4内像素为‘1’的像素点个数占整个区域像素点个数的比值,则:
(1)
(2)
(3)
(4)
S对应于二值图像的像素面积,这里的面积是指二值图像中像素值为‘1’的像素的个数,则:
(5)
均值C是指字符的面积S与字符的宽度L之间的比值,即:
(6)
中心二阶矩是指获得字符灰度直方图后各点值f(x)与均值C之差的平方和,如图4所示。则中心二阶矩B可表示为:
(7)
图3 字符划分
图4 “湘”字在X轴上的投影面积
2.1 传统BP神经网络原理
传统BP神经网络通常为三层前向神经网络,由输入层、一层隐含层和输出层组成,每一个节点表示一个神经元,同层节点间无信号传递,相邻层节点间两两连接,信号由输入层向输出层单向传递。其结构如图5所示。
图5 BP神经网络结构
BP神经网络的每个神经元可表示为一个多输入、单输出的非线性函数,其各层之间可用相对应的函数关系式表示,输入层向隐含层的函数关系可表示为:
(8)
式中,ai是输入信号,在车牌识别中为提取的特征值;ωij是输入层的第i个节点和隐含层的第j个节点之间的权值;θj是隐含层的第j个节点的阈值。各层的传递函数有多种形式,本文采用的为Sigmoid函数,可表示为:
(9)
经传递函数的作用,则隐含层的输出可表示为:
(10)
隐含层向输出层的函数关系跟输入层向隐含层的关系类似,函数关系表示为:
(11)
(12)
式中,vjt是隐含层的第j个节点和输出层的第t个节点之间的权值;γt是输出层的第t个节点的阈值;lt是第t个输出结果。
BP神经网络实现的过程分两个阶段:学习阶段和识别阶段。学习阶段根据输入的学习样本,按照初始权值、阈值以及传输函数获得一组输出结果,这个过程中信号是正向传递的;然后通过计算给定的理想结果与实际输出结果之间的误差来对权值、阈值进行修改,这个修改信号是从输出层到输入层反向传递的。反复进行这两个过程,直至结果收敛为止,这是学习阶段。理论上权值、阈值的好坏决定识别效果的好坏,因此研究更优的权值和阈值将是改进方向之一。
2.2BP算法全参数自动调整
在传统BP算法的基础上引入学习率自适应系数η、动量因子λ以及坡度因子δ,并且这些引入量可随BP学习算法的状态改变而改变。
2.2.1 学习率自适应调整
传统BP算法中针对权值和阈值的变化量的计算式如下:
(13)
(14)
(15)
(16)
(17)
(18)
vjt(N+1)=vjt(N)+Δvjt
(19)
γt(N+1)=γt(N)+Δγt
(20)
ωij(N+1)=ωij(N)+Δωij
(21)
θj(N+1)=θj(N)+Δθj
(22)
本算法引入学习率自适应系数η,如式(23)、式(24)。
α=η·α
(23)
β=η·β
(24)
若经过一批次权值调整后总误差变大,则认为此次调整无效,此时取0<η<1的数;若总误差减小,则认为此次调整有效,取η>1的数。
2.2.2 增加动量项
将T时刻以前的状态考虑进来,可以减小震荡,加速收敛。
(25)
(26)
(27)
(28)
动量项可以反应以前积累的调整经验,对T+1时刻权值和阈值的调整有阻尼作用。当误差曲面出现很大的起伏时,可减弱振荡趋势,从而提高训练的速度。
2.2.3 引入坡度因子
当调整进入到平缓区时,可以压缩神经元的净输入,使其脱离函数的饱和区,这就可以改变误差函数形状,使其退出平坦区。在其原函数中引入坡度因子δ:
(29)
2.3 算法设计
通过对切割好的字符进行特征提取,按照本文的改进获取7个主要的特征作为BP网络的输入。BP网络结构设计为:输入层含7个节点,隐含层含179个节点,输出层7个节点,隐含层节点数计算式如式(30)。
(30)
式中m为输入层节点数,n为输出层节点数,P为训练样本数。输出7个节点分别对应于二进制的7位。将0~9、A~Z以及34个字符编码为0~87的7位二进制数,如‘0’编码为‘0000000’,‘2’编码为‘0000010’依此类推,这里由于Sigmoid函数永远无法达到0或1,所以BP网络永远无法收敛,为避免这个问题的出现这里采用‘0.1’代替‘0’、‘0.9’代替‘1’,则‘2’的二进制由‘0.1 0.1 0.1 0.1 0.1 0.9 0.1’,训练与输出结果均以7位二进制形式体现。综合本文对BP网络参数的改进,对输入车牌字符的识别的具体流程如图6所示。
图6 算法实现流程
本文的实验环境硬件平台为Dell5500图形工作站,其基本配置为IntelCorei7-4710MQ四核处理器、NVIDIAGT940 2GB独立显卡、6GBDDR3内存、1TB硬盘,所使用的软件仿真平台为MatlabR2014b。实验中分别用本文方法、基于传统BP网络识别算法以及文献[6]提出的BP网络识别算法进行对比实验,下面对实验过程和结果进行分析。
3.1 字符识别训练样本和测试样本
本文用5套共1 360个分辨率为25×20的单字符训练样本,其中每套样本包含“湘”、“川”、“粤”、“贵”、“京”、“陕”、“辽”等全国32个省和直辖市的简称汉字(不包括香港和澳门特别行政区)、0~9数字字符以及大写A~Z英文字符。测试样本为自建的数据集,共200副蓝底白字小车车牌。部分训练样本如图7所示,自建测试数据集部分样本如图8所示。
图7 部分训练样本
图8 部分测试样本
3.2BP网络训练结果
用传统BP神经网络识别算法与改进后的算法对样本进行训练,最大迭代次数设置为10 000,最大精度为0.01,训练误差结果如图9所示。从图中可知,改进后的算法在收敛速度上远大于传统BP神经网络识别算法。由于改进后的算法输入节点数小于传统BP网络识别算法,故初始总体误差较小。在迭代过程中由于自适应学习率与动量因子的作用,改进后的算法没有出现起伏状态。在多次训练过程中,传统BP算法偶尔出现无法收敛情况,而改进后的算法由于引入了坡度因子,始终能够收敛,结果如图10所示。
图9 误差曲线图
图10 误差曲线图
3.3 单字符识别结果
首先对训练好的网络进行单字符识别,从测试车牌中随机选择70副车牌进行预处理和字符分割,然后选择70个汉字字符、200个数字字符、160个字母字符分别输入到训练好后的传统BP网络、文献[6]提出的改进BP网络以及本文改进后BP网络中,各个字符的识别统计结果分别如表1和表2所示。
表1 汉字识别结果
表2 字母及数字识别结果
实验结果表明,改进后的算法与基于传统BP网络识别算法相比,在汉字字符识别率上提高了4.3%,识别速度上提高近150ms;在字母、数字识别率上提高了4.5%,识别速度上提高近150ms。与文献[6]的算法相比,在汉字字符识别率上提升了2.8%,识别速度上提高近100ms;在字母、数字识别率上提高了2.5%,识别速度上提高了近50ms。对比前两种BP识别算法,在单字符的识别上,无论是汉字还是数字和字母,改进后的方法在识别的准确率和速度上有明显提升,并且随着样本的增加,其识别的稳定性更好,具有很好的鲁棒性。
3.4 整副车牌识别结果
在单字符识别的基础上对整副车牌进行了整体识别,采用自建的200副蓝底白字的实际拍摄车小车牌照数据集,分别用传统BP网络、文献[6]方法和本文方法进行对比使用,部分车牌的识别结果对比如表3所示。由于实际车牌中部分字符受到污染,所以传统BP网络的误识率明显增加,文献[6]在传统BP网络基础上有所提升,但抗干扰的能力依然较低,而本文方法由于采用了参数的自适应调整,因而对污染牌照依然有较好的识别效果,并且识别时间明显降低,达到实际使用要求。
表3 整副车牌识别结果对比
通过对实验结果进行统计,本文方法和传统BP算法及文献[6]算法的识别准确率和识别速度分别如表4所示。其中本文方法准确无误识别的车牌有188副,识别准确率达到94%,整副车牌的平均识别时间为1.5s左右。相比前两种BP网络算法,车牌整体识别准确率提高了近7个百分点,速度提升了1.3s左右。通过对误识车牌的分析,识别错误的字符均是受到较为严重的污染或者车牌拍摄时存在反光、车牌变形严重等,因此,通过改善车牌图像获取的质量,特别是适当的补光,本文改进后的BP网络车牌字符识别率将会进一步提高。
表4 整副车牌识别结果
本文在传统BP神经网络算法的基础上,通过对输入层节点数的优化以及引入学习率自适应系数η、动量因子λ、坡度因子δ,降低了算法结构的复杂度,有效的提升了算法的收敛速度,降低了算法的收敛误差。改进后的识别算法与传统BP网络识别算法相比,在车牌的识别率以及识别速度上均有较高提升。本文目前只针对蓝底白字的小车牌照进行实验,在下一步的研究中将进一步扩大训练样本和测试样本。同时针对汉字字符、字母、数字分开训练得到3组不同的权值阈值,在识别前对待识别字符进行判断,对不同的字符调用对应的权值和阈值进行识别,最终实现对各种不同车牌的高效率整体识别。
[1] 万燕,李晓园,周增刚.基于形状上下文的低质量车牌字符识别方法[J].计算机应用与软件,2013,30(5):267-270,310.
[2] 莫林,凌文彪,张福元,等.基于评分模型的车牌字符识别方法[J].计算机应用与软件,2015,32(5):203-206.
[3]ZahediM,SalehiSM.LicenseplaterecognitionsystembasedonSIFTfeatures[J].ProcediaComputerScience,2011,3:998-1002.
[4] 王桂文,孙涵.基于正交盖氏矩和SVM的车牌字符识别[J].计算机工程,2012,38(13):192-195,198.
[5] 杨建华,王鹏.一种基于BP神经网络的车牌字符识别算法[J].软件工程师,2015,18(1):19-20.
[6]DongJ,SunM,LiangG,etal.TheImprovedNeuralNetworkAlgorithmofLicensePlateRecognition[J].InternationalJournalofSignalProcessing,ImageProcessingandPatternRecognition,2015,8(5):49-54.
[7]YangG,GuC,HuangY,etal.BPneuralnetworkintegrationmodelresearchforhydraulicmetalstructurehealthdiagnosing[J].InternationalJournalofComputationalIntelligenceSystems,2014,7(6):1148-1158.
[8]AiH,GuoS.BridgeHealthEvaluationSystembasedontheOptimalBPNeuralNetwork[J].InternationalJournalofControlandAutomation,2014,7(1):331-338.
RESEARCH ON LICENSE PLATE CHARACTER RECOGNITION METHOD BASED ON IMPROVED BP NEURAL NETWORK
Zhang Guoyun Xiang Canqun Wu Jianhui Guo Longyuan Tu Bing
(CollegeofInformationandCommunicationEngineering,HunanInstituteofScienceandTechnology,Yueyang414006,Hunan,China)(KeyLaboratoryofOptimizationandControlforComplexSystems,HunanInstituteofScienceandTechnology,Yueyang414006,Hunan,China)
Aiming at the problem that the traditional BP algorithm is slow in the recognition speed of the license plate and the recognition accuracy is low, an improved BP neural network license plate character recognition method is proposed. By optimizing the input feature number of BP algorithm, the number of nodes in the input layer is reduced and the recognition speed is improved without reducing the recognition accuracy. The improved BP algorithm adopts the all parameter automatic adjustment and introduces adaptive learning rate, momentum factor and slope steepness factor, which increases the recognition accuracy of BP algorithm. At the same time, through better use of the license plate character features and BP network features, it reduced the complexity of the algorithm structure, and enhanced the robustness of the algorithm. The experimental results show that the recognition rate of the algorithm is 6.5% higher than that of the traditional BP neural network license plate recognition algorithm based on the self-built license plate data set, and the recognition speed is improved by 1.3 s.
Improved BP neural network License plate Character recognition All parameter automatic adjustment
2016-01-22。湖南省教育厅产业化培育项目(13CY021);湖南省教育厅开放基金项目(15K051)。张国云,教授,主研领域:机器视觉。向灿群,硕士生。吴健辉,副教授。郭龙源,副教授。涂兵,讲师。
TP391
A
10.3969/j.issn.1000-386x.2017.04.041