基于BP神经网络的车牌字符识别方法
2017-03-17鹿琛王姗珊
鹿琛,王姗珊
1.山西大学计算机与信息技术学院,山西太原030006
2.同盛实验中学,山西临汾041000
基于BP神经网络的车牌字符识别方法
鹿琛1*,王姗珊2
1.山西大学计算机与信息技术学院,山西太原030006
2.同盛实验中学,山西临汾041000
基于BP神经网络的车牌字符识别方法,是以BP神经网络为工具,使用图像的灰度特征及四角特征作为输入,实现对于字符的准确识别。相较于前人的特征提取方法,这种方法更适用于相似字符的识别。同时,使用Matlab提供的并行方法可以明显提升整幅车牌图像的识别效率。实验表明,对于相似字符的识别精度和整张车牌的识别速率方面,这种方法都具有更好的效果。
字符识别;特征提取;并行识别;BP神经网络
车辆牌照,作为车辆的“身份证”,是交通系统中识别车辆信息的重要工具。随着时代的发展,现代交通系统,例如高速公路、城市交通设施(交通信号灯、车速检测器等)、大型停车场以及居民小区都需要对车辆的牌照进行识别和记录。而私家车数量的与日俱增,使得曾经依靠人工完成的车牌信息识别、记录因其劳动强度大、工作效率低等劣势很难达到当今社会对于高质量、高效率的要求。因此,车牌字符的自动识别日益受到重视。车牌识别是智能交通系统(Intelligent Transportation System,ITS)的重要组成部分[1]。一个典型的车辆牌照自动识别(License Plate Recognition,LPR)系统主要包括视频图像采集、图像预处理、车牌定位、车牌校正、字符分割、车牌字符识别、数据库管理系统等工作模块[2]。本文主要讨论在车牌成功定位、分割后,对单个车牌字符图片的识别技术。
目前字符识别主要有模板匹配[3,4]和字符特征[5,6]两大类。模板匹配的方法简单且有较高的识别率,但在光照不均和车牌倾斜、污损等条件下,字符常出现形变、粘连等问题[7],使车牌字符识别的正确率降低。字符特征提取有小波矩特征、网格特征等方法。这些特征提取方法中,对于相似字符的识别能力不是很强[8]。于是车牌字符多特征提取与BP神经网络的识别算法被广泛使用。但在现有的识别方法中[9]仍存在相似字符误识、识别效率较低的问题,本文提出了一种新的特征提取方法,对于相似字符,比如“0”和“Q”,“0”和“D”,“8”和“B”等有更好的区分能力。并提出了在Matlab实验环境下,使用分布式并行处理的方法,以提升对整张车牌的识别效率。
1 BP神经网络简介
前向反馈(Error back propagation,BP)网络是指基于误差反向传播算法(BP算法)的多层前向神经网络。BP网络的神经元之间使用的传递函数一般是Sigmoid型非线性可微函数[11]。公式(1)即为Sigmoid函数的数学表达式:
BP网络[6]通常由输入层、隐含层、输出层构成,相邻层之间的神经元全部互连,同层内的神经元不连接。图1所示为一个拥有3个输入节点、3个输出结点和4个隐含层结点的3层BP网络。
图1 BP网络结构图Fig.1 The structure of BPneural network
2 特征提取
特征是从原始数据中提取出来的与分类最相关的信息,这些信息使得类内方差最小化、类间方差最大化[10]。在基于BP神经网络的识别方法中,特征的提取至关重要,基本上决定了识别的正确率。本文选取图像的灰度特征和四角特征相结合对字符进行识别。
灰度特征是判断每个字符的基本特征。将字符归一化为12×12的象素点阵图,按每个象素位为0或1形成网络的144个灰度特征。
其次,对于相似的字符,比如“B”和“8”、“0”和“D”、“0”和“Q”,本文提出四角特征法,在灰度特征的基础上对其区分。具体方法如下:
(1)将归一化后的象素点阵图按象素分为12行12列;
图2 “0”和“Q”的四角特征选取方法Fig.2 Method of selection for quadrangle trait between 0 and Q
(2)从左上顶点出发,沿主对角线方向进行扫描,计算图像左上顶点到第一个黑色像素点的长度(即像素点数目);
(3)依据同样的方法计算右上、左下、右下顶点到第一个黑色像素点的长度。
这种方法不仅可以严格地区分“B”和“8”的区别,更能弥补前人方法[10]中对于“Q”和“0”识别效果不佳的问题。图2所示为字符“0”和“Q”的四角特征的提取过程。箭头方向表示扫描的方向。箭头穿过的值为“1”的像素点个数即为端点到第一个黑色像素点的长度。
经过四角特征的提取,可以得到“0”“D”“Q”“8”“B”的四角特征向量如下:
3 字符识别
中国的车辆牌照一般由七位数字组成,第一位数字为汉字,表示车辆所属的省份名。汉字后面的字符是由英文字母和阿拉伯数字组成。本实验需判定的汉字字符为31个,非字字符为34个。为了减少单个网络的处理量,在本方法中,使用两个BP神经网络分别用以处理汉字部分和字母数字混合部分。
3.1 输入向量的设计
两个神经网络均选取每一个字符图像的灰度特征和四角特征构造特征矢量,构造方法如下:
(1)对于灰度特征,按照从左到右、从上到下的顺序将归一化后的灰度点阵图排列成144行×1列的一维列向量;
(2)将每一个字符的四角特征排列入一个4行×1列的一维列向量中;
(3)将四角特征附带在灰度特征值后,形成一个148行×1列的一维列向量,该向量即为BP神经网络的输入向量。
3.2 隐含层和输出层的设定
对于BP神经网络隐含层神经元个数的计算公式,前人提出了很多种方法。这里使用公式(2)[11]来计算隐含层结点的数量:
H表示隐含层神经元个数,m表示输入层神经元个数,n表示输出层神经元个数。经上述公式计算,得到处理汉字的神经网络隐含层神经元个数为69;处理混合字符的神经网络隐含层神经元个数为72。
对于输出样本,我们为处理汉字的神经网络构造一个31行×31列的矩阵,为处理混合字符的神经网络构造一个34行×34列的矩阵。要求矩阵的每一列的元素中仅有一个位置为“1”,其余位置为“0”。每一列均代表一个字符。在对字符进行识别时,两个网络分别输出具有31行×1列和34行×1列的输出向量,这些元素中也只有一行的值为“1”。将输出向量与上述构造矩阵的每一列进行对比,找出矩阵中与神经网络的输出向量相同的列,从而判定输出的字符。
4 并行操作
基于BP神经网络的车牌字符识别方法在准确度方面的应用研究取得了很多成果,但在识别的速率上仍存在瑕疵。对于由七位数字组成的车辆牌照,传统方法使用串行操作,对车辆牌照的字符进行逐一识别,这样禁锢了识别效率。由于识别过程中对每一个车牌字符的识别是相互独立的,加之技术支持,特别是在Matlab 2010b以后,在Parallel Computing Toolbox中引入了图形处理器(Graphics Processing Unit,GPU)并行计算,使得程序执行可以达到更高的效率[13]。因此车牌字符识别的并行操作是可以实现的。并行操作的基本思想如下:
输入:7个未识别的字符a[1]…a[7]
输出:识别出的字符b[1]…b[7]
Begin:
(1)P0播送a[1]…a[7]给所有Pi;
(2)for all Piwhere 1≤i≤7 para-do识别字符a[i];
(3)P0依据i的值由小到大的顺序对识别结果进行输出;End
5 实验结果与分析
实验在全国31个省(直辖市、自治区)的车牌图像中随机选取300幅进行识别,其中共包含300个汉字、1800个字母或数字。供训练的样本是在各种背景和不同灰度的情况下提取出来的,用以更好地训练网络,提升网络在识别带噪声字符时的识别率[14]。部分二值化后的车牌图像如图3所示。BP神经网络训练函数各项参数的设定:网络训练的目标误差为0.001;训练的限定步数为5000,每50步显示一次训练结果。仿真环境为Matlab R2014 a。
图3 部分二值化后的车牌图像Fig.3 Partial license plate images after binarization
训练阶段的结果如图4、图5所示。网络在设定的最大训练次数内能够收敛于目标误差,这表示网络具有较强的学习能力。
图4 汉字网络误差收敛曲线Fig.4TheconvergencecurveofChinesedeviationsonnetwork
图5 非汉字网络误差收敛曲线Fig.5Theconvergencecurveofnon-Chinesedeviationsonnetwork
识别的结果如表1所示。随机抽取50张车牌图片分别用传统的串行方法和本文提出的并行方法进行识别,识别每一张车牌图像的平均时间如表2所示。实验表明,本文提出的方法是一种较好的识别方法,拥有广阔的应用前景。经实验分析,造成部分字符误识的原因在于噪声的干扰,诸如光照、字符倾斜、障碍物的遮挡等。如果对这些问题进行相应改善,可以更好地提高识别的准确率。
表1 车牌字符识别结果Table 1 Recognition results of license plate
表2 不同识别方法的执行时间Table 2 Execution time with different identification methods
[1]Wen Y,Lu Y,Yan J,et al.An algorithm for license plate recognition applied to intelligent transportation system[J]. Intelligent Transportation Systems,2011,12(3):830-845
[2]朱信忠.车牌自动识别技术的研究与实现[D].北京:国防科学技术大学,2005
[3]Khalil MI.Car plate recognition using the template matching method[J].International Journal of Computer Theory and Engineering,2010,2(5):1793-8201
[4]Bansal JC,Deep K.A modified binary particle swarm optimization for knapsack problems[J].Applied Mathematics and Computation,2012,218(22):11042-11061
[5]Jin L,Xian H,Bie J,et al.License plate recognition algorithm for passenger cars in Chinese residential areas[J]. Sensors,2012,12(6):8355-8370
[6]刘莉,叶玉堂,谢煜,等.基于RBF网络的光学字符提取与识别新方法[J].光电工程,2010,37(11):145-150
[7]Sedighi A,Vafadust M.Anew and robust method for character segmentation and recognition in license plate images[J]. Expert Systems withApplications,2011,38(11):13497-13504
[8]Villegas OOV,Balderrama DG,Domínguez H,et al.License plate recognition using a novel fuzzy multilayer neural network[J].International journal of computers,2009,3(1):31-40
[9]李会民,张仁津.基于改进BP网络的车牌字符识别方法研究[J].计算机工程与设计,2010(3):619-621
[10]关山,王伟杰,赵学增.基于BP神经网络的车牌字符自动识别方法的研究[J].东北电力学院学报,2004,24(4):56-60
[11]刘雄飞,朱盛春.车牌字符多特征提取与BP神经网络的识别算法[J].计算机仿真,2014,31(10):161-164,290
[12]章毓晋.图像处理和分析基础[M].北京:高等教育出版社,2006
[13]梁亮,朱超,杨捷,等.高光谱图像预处理的Matlab并行化研究[J].计算机工程与设计,2015,36(8):2157-2161
[14]谭勇,朱斌.基于改进特征提取的BP神经网络车牌识别[J].重庆文理学院学报:自然科学版,2009,28(3):42-45
License Plate Recognition Based on BP Neural Network
LU Chen1*,WANG Shan-shan2
1.College of Computer and Information Technology/Shanxi University,Taiyuan030006,China
2.Tongsheng Experimental High School,Linfen041000,China
License plate character recognition method based on BP Neural Network is a way that uses the gray feature and the feature of four corners as input to accurately identify character.Compared with previous research,it is more effectively in similar character recognition.Meanwhile,This article used the parallel identification method proposed by Matlab to enhance the recognition’s rate of plate image.According to the data of experiment,the proposed method had better effect in the recognition accuracy and the rate of recognition.
Character recognition;feature extraction;parallel operation;BP neural network
TP309.7
:A
:1000-2324(2017)01-0113-04
2016-12-16
:2017-01-13
鹿琛(1991-),男,硕士研究生,主要研究方向为图像处理.E-mail:376728343@qq.com
*通讯作者:Author for correspondence.E-mail:376728343@qq.com