中国科技论文在线
http://www.paper.edu.cn
基于遗传算法的神经网络车牌字符识别方
法#
屈鸿,王晓斌,武丽娟*
(电子科技大学计算机学院)
摘要:本文将遗传算法与神经网络结合起来进行车牌字符训练和识别。根据神经网络的特
点,对遗传算法的选择、交叉和变异算子进行了改进,并通过车牌字符识别实验进行了验
证。采用实数编码的方式,提高了网络权值与阈值的计算精度,运用多种交叉方式并行交
叉,拓宽了物种范围,利于搜索到全局最优解,自适应的变异概率控制方式一方面保证了
物种的多样性,另一方面让算法快速收敛于全局最优。实验结果表明遗传算法提高了神经
网络的训练效果,克服了 BP 神经网络收敛慢、易陷入误差函数局部极小值的缺点,提高了
车牌识别正确率。
关键词:车牌识别;遗传算法;神经网络
中图分类号: TP391.4
Neural network based on genetic algorithm method for
license plate recognition
quhong, Wang Xiaobin, Wu Lijuan
(School of Computer Science and Engineering, University)
Abstract: This paper combines genetic algorithm and neural network to recognize the license plate
characters. According to the characteristics of neural networks, we improve selection, crossover
and mutation operators of genetic algorithm, and verify by the license plate character recognition
experiment.The traditional genetic algorithm is improved by using real number coding method to
enhance the network weights and threshold accuracy. At the same time, we use a variety of
cross-way parallel crossbar, which is broadening the range of species and will help the search to
the global optimal solution. Adaptive mutation rate on the one hand to ensure the diversity of
species, on the other hand to make the algorithm rapid convergence to the global optimization.
Experiments show that genetic algorithm improves the training effects of neural network, and
overcomes the BP neural network ’s shortcomings which are slow convergence and easy to fall
into the local extreme point of the error function . The approach improves the accuracy of license
plate recognition.
Key words: license plate recognition; genetic algorithms;neural network
5
10
15
20
25
30
35
0 引言
车辆牌照识别技术(License Plate Recognition,LPR)是智能交通系统的一个重要组成
部分,它是数字图像处理、人工智能技术与模式识别在智能交通系统领域的重要应用。完整
的车牌识别系统主要包括三部分:车牌定位、字符分割以及字符识别。字符识别是最关键的
部分,常用的字符识别方法有模板匹配法[1~3],神经网络法[4~8],支持向量机法[9~11]。人工神经
网络由于良好的自适应性、自组织性、很强的学习能力、联想功能和容错功能使其得到了广
40
泛的研究与应用。对于车辆牌照识别而言,基于 BP 算法的多层前馈神经网络使用的比较多,
也取得了一定的成绩。BP 算法也称误差反向传播算法,是一类有导学习算法。但是 BP 算
法是基于梯度下降算法的,其训练过程很容易陷入误差函数的局部极值点,得不到全局最优
基金项目:教育部博士点新教师基金(200806141049)
作者简介:屈鸿(1977-),男,博士,副教授,研究方向:计算智能. E-mail: hongqu@uestc.edu.cn
- 1 -
中国科技论文在线
http://www.paper.edu.cn
解,同时由于网络初始值设置大多依赖于经验值,如果初始值选择不合适,容易导致训练过
45
程收敛过于缓慢甚至不收敛。遗传算法具有全局最优搜索能力,能够有效克服 BP 算法的不
足。本文将遗传算法与神经网络结合起来,充分利用它们各自的优点应用于车牌字符识别中,
经过测试验证,效果很好。
1 基于遗传算法的神经网络原理
神经网络包括学习过程和识别过程,学习过程的目的就是找到一组最佳的网络权值和阈
50
值使得实际输出与期望输出之间的误差最小,当这个最佳解找到后就表示学习过程结束。
基于遗传算法的神经网络就是把遗传算法作为神经网络的学习算法,先对神经网络隐层
的权值、阈值、输出层的权值、阈值进行编码,形成遗传空间里面的染色体,再采用遗传进
化中的选择、交叉、变异操作优化染色体,找到一组权值和阈值使得实际输出和期望输出之
间的误差最小则停止进化。图 1 为基于遗传算法的神经网络车牌字符识别简图:
55
图 1 基于遗传算法的神经网络车牌字符识别简图
2 遗传算法的改进实现
于传统的遗传算法采用单一的交叉方式和变异概率,这对于实数编码的遗传算法很容易
早熟,本文为了解决这个问题,并考虑神经网络的特点,对遗传算法的选择、交叉、变异算
60
子进行了改进。
2.1 选择算子的改进
在自然界中,物种的遗传方式大多数是优良的物种和优良的物种进行交配,但也有少数
优良的物种和差的物种交配,保持后代物种的多样性,因此,本文为模拟这种进化方式,对
父代的选择采用选择 7/8 适应度优良的个体,另外 1/8 选择适应度差的个体。为了避免最优
65
个体被交叉、变异操作破坏,采用了最优保存策略,即每遗传一代,将这一代中最好的个体
直接遗传到下一代。
2.2 交叉算子的改进
交叉算子[12-13]是遗传算法中最重要的算子,是产生新个体的主要方式,交叉算子选择的
好坏对算法的性能有着直接的影响。如果仅仅使用单一的一种交叉算子获得的效果不是很
70
好,本文通过大量的实验验证,将几种交叉算子结合起来使用大大地改善了算法的性能。将
- 2 -
创建网络字符识别初始化种群计算适应度值选择、交叉、变异操作训练好的神经网络是否达到进化终止条件NOYES
中国科技论文在线
http://www.paper.edu.cn
中间重组、菊花链交叉、基因均匀交叉、线性重组四种交叉算子以 1:1:1:1 的比例对父代进
行交叉操作。交叉概率设置为 0.7。下面主要讨论一下菊花链交叉方式。
菊花链交叉是指将要交叉的神经元的权值与阈值一起互换,随机选取两个父代个体,确
定好要交叉的位置,然后以神经元为单位进行交换,得到两个新个体。同样对于隐层权值、
75
隐层阈值、输出层权值、输出层阈值要分别进行交叉运算,只是选定的交叉位置,即需要交
叉的神经元序号相同。下面以隐层为例:其中, 代表父代 1 隐形层的第一个神经元的权
值,b1 代表父代 1 隐形层的第一个神经元的阈值, 代表父代 2 隐形层的第一个神经元的
权值,c1 代表父代 2 隐形层的第一个神经元的阈值。
80
图 2 菊花链交叉示意图
2.3 变异算子的改进
变异算子[14]在遗传算法中起辅助作用,它可以保持物种的多样性,能够避免遗传算法
陷入局部搜索。本文变异方法是对每个个体进行变异,分别对权值与阈值进行变异,采用自
适应变异概率,即在训练开始阶段,让变异概率较大,使算法尽可能的搜索各个局部最优,
85
随着进化的深入,将变异概率逐渐减小,使算法收敛于全局最优。
3 算法的实现与测试
结合遗传算法与神经网络进行字符识别要解决以下几个关键问题:
(1)神经网络的结构
(2)对问题解空间的编码
90
(3)遗传算法中适应性函数的确定
(4)遗传参数值的设定
下面对这些关键问题进行具体分析。
3.1 神经网络结构及算法参数
95
(1)神经网络结构
本文采用三层前馈型神经网络,据前文分析,车牌字符识别是小分类问题,含有一层隐
含层的神经网络可以逼近任意非线性函数,因此只需要三层神经网络就可以对字符进行识
别。由于车牌上的字符分为汉字、字母和数字,根据具体情况本文设计 4 个神经网络,分别
为汉字神经网络、字母神经网络、数字神经网络以及字母和数字混合神经网络。把归一化后
100
的字符图像中的每个像素点作为神经网络的一个输入,字符统一大小为 32*16,故共有 512
个输入。输出神经元节点数由待分类问题的类别数决定,对于汉字网络,我国车牌汉字包括
省、直辖市、自治区的简称共 31 个汉字,军用车汉字共 13 个,还有使馆、领馆、临时汽车、
教练车等一起共 51 个汉字,汉字网络输出节点数为 51;数字为从 0 到 9 共十个,数字网络
- 3 -
11父代1 α1,b1 α2,b2 α3,b3 α4,b4父代2 β1,c1 β2,c2 β3,c3 β4,c4交叉表 1 0 1 0子代1 β1,c1 α2,b2 β3,c3 α4,b4子代2 α1,b1 β2,c2 α3,b3 β4,c4
中国科技论文在线
http://www.paper.edu.cn
输出节点数为 10;车牌第二个字符为字母,从 A-Z(除了 I 不用外)共 25 个,字母网络共
105
25 个输出节点数;第三至第七个字符中不会出现字母 I、O,则字母数字网络输出节点数共
有 34 个。隐层单元数一般比输入层节点数少,结合遗传算法,一般选择 10-100 之间的数,
本文汉字网络选为 50,字母网络选为 40,数字网络选为 50,字母和汉字网络选为 60。隐层
与输出层激活函数均选择单极性的 Sigmoid 函数(公式 1)。同时对隐层和输出层每个神经
元加入一个误差修正值也叫阈值。表 1 为本文神经网络各层节点个数,表 2 为神经网络与遗
110
传算法各参数设置。
(1)
表 1 神经网络各层节点数
汉 字 网
字 母 网
数 字 网
字 母 数
络
络
络
字网络
输入层
512
512
512
512
隐层
输出层
50
51
40
25
50
10
60
34
(2)问题解空间编码
本文的问题解空间指的就是网络的权值与阈值,即对网络训练的目的就是找到一组最优
115
的权值与阈值的组合。一般情况下采用二进制编码方式,但车牌识别系统涉及到的参数较多,
对精度要求较高,二进制编码求解精度受染色体长度的限制,本文采用实数编码,一方面满
足了精度要求另一方面问题编码意义明确。
(3)适应性函数
要选择优良的父代进行各种遗传操作,就需要有一个标准,遗传算法以适应度函数作为
120
依据,在本课题中,误差是衡量个体好与坏的根本标准,即误差越小,说明个体适应度越高,
相反,误差越大,表明个体适应度差。本文的适应度函数 F 与误差 E 相关,F=C-E,C 为常
数,E 为误差,见公式 2:
其中, 表示网络的期望输出值, 表示网络的实际输出值。
125
表 2 神经网络与遗传算法各参数
(2)
网 络
类型
汉字
字母
数字
字 母
数字
交 叉
概率
0.7
0.7
0.7
0.7
变异概率 误 差 目
0.1->0.0001
0.1->0.0001
0.1->0.0001
0.1->0.0001
标值
0.0001
0.00001
0.00001
0.00005
进 化
代数
1000
1200
800
1200
3.2 算法测试
由于篇幅问题,对于 32×16 的样本 512 个输入的网络训练得到的权值和阈值不好全部
列出,下面以 7×5 的数字样本 35 个输入为例给出训练的优化曲线和隐层的阈值。而 32×
16 的结果只给出优化曲线。7×5 的数字样本如图 3。
- 4 -
1()1xfxe2()kkEtoktko
中国科技论文在线
http://www.paper.edu.cn
130
图 3 7×5 的数字样本 0 与样本 5
算法参数如下,隐形层神经元个数:20,输出层神经元个数:10,种群大小:400,由
于输入的个数比较少,为了扩大解的搜索范围,权值取值范围取:[-10,10],由于中间重组
和线性重组生成的子代空间会略大于父代值,因此最终权值会略大于[-10 10],算法遗传代
135
数:2000,图 4 是算法优化的曲线图。
图 4 中横坐标为进化代数,纵坐标表示误差值。从图 4 可以看出,在进化的开始阶段,
曲线比较平滑,误差收敛比较慢,到进化后期误差曲线急剧下降,这是因为在进化开始阶段,
变异概率比较大,算法基本上在整个解空间中搜索最优值,而在进化的后期,变异概率很小,
算法沿着全局最优收敛,经过 2000 代后,误差接近为 0,算法收敛效果优良。表 3 为数字
140
网络训练好后隐层阈值。
图 4 7×5 数字网络训练结果图
表 3 数字网络训练后隐层阈值
神经元
号
阈值
神经元
号
阈值
1
2
3
4
5
6
7
8
9
10
4.1298
9.6997
11
5.4397
6.4123
5.7615
4.7931
6.1266
5.7350
5.2849
4.5954
5.7543
12
13
14
15
16
17
18
19
20
4.2231
4.7711
5.3735
5.4468
2.1759
5.1540
3.9687
4.2383
5.6170
145
下面对 32×16 的样本进行测试,算法参数如下,隐形层神经元个数:50,输出层神经
元个数:10,种群大小:400,权值取值范围:[-1,1],交叉概率 0.7,同样,变异概率开始
- 5 -
0200400600800100012001400160018002000051015
中国科技论文在线
http://www.paper.edu.cn
取值较大,随着进化深入,变异概率逐步减小,算法遗传代数:800,图 5 是算法优化的曲
线图。
150
图 5 32×16 数字网络训练结果图
图 5 中横坐标为进化代数,纵坐标为误差值。从图 5 可以看出,经过 800 代的进化后,
输出误差基本降为零,与文献[12]相比,本文的算法收敛更快,使用神经元的数量更少。
总共采集了 80 幅不同大小、清晰度、牌照倾斜度的车牌图像,进行车牌识别,其中汉
字字符包括川、京、陕、浙、苏、云、豫、粤、黑、晋共 10 个,字母 A-Z 共 26 个,数字
155
0-9 共 10 个。本实验基于这样的规范:对于前面失败的自动淘汰、不进行图像修整,不参
加后续实验,表 4 为系统的识别结果。
表 4 系统识别结果
处理过程
车牌定位
字符分割
汉字
字母
数字
字母数字
正确数
78 个
518 个
70 个
72 个
232 个
354 个
正确率
97.5%
94.8%
94.6%
97.3%
91.6%
89.7%
表 5 本文算法与 BP 算法识别效果对比
BP 算法 本文算法
网络类别
汉字
94.6%
88.99%
字母
77%
97.3%
数字
91.6%
92.3%
字母数字
90.4%
89.7%
将本文算法与 BP 算法用于车牌字符识别效果进行比较,结果如表 5 所示。可以看出本
160
文算法在汉字与字母网络中的识别率比 BP 算法要高很多,对于数字网络和字母数字混合网
络而言,两种算法效果差别不大,这说明本文算法要优于传统的 BP 算法。
4 结论
通过上面的分析以及实验结果可以得出以下结论:
165
(1)将遗传算法应用在神经网络的训练上取得了较好的效果,有效克服了 BP 神经网
络收敛慢,容易陷入误差函数局部极小值的缺点;
- 6 -
010020030040050060070080002468101214161820
中国科技论文在线
http://www.paper.edu.cn
(2)通过实验表明,基于遗传算法的神经网络可以有效提高车牌识别正确率。
[参考文献 (References)
170
175
180
185
190
195
[1] 马俊莉,莫玉龙,王明祥. 一种基于改进模板匹配的车牌字符识别方法[J]. 小型微型计算机系统, 2003,
24(9): 1671-1672.
[2] 李兴阳, 王文青. 基于模板匹配的车牌字符识别算法研究[J]. 陕西师范大学学报, 2008, 36:177 -178.
[3] 曾 宪 贵 , 黎 绍 发 , 左 文 明 . 特 征 区 域 模 板 匹 配 法 实 现 汽 车 牌 照 的 精 确 识 别 [J]. 计 算 机 工 程 与 设
计,2003,24(9):26-27
[4] Sirithinaphong, T., Chamnongthai, K.. The recognition of car license plate for automatic parking system[J].
Signal Processing and Its Applications,1999 , vol.1: 455 - 457
[5] Jianlan Feng, Yuping Li,Mianzhou Chen. The research of vehicle license plate character recognition method
based on artificial neural network[J]. Informatics in Control, Automation and Robotics, 2010 , vol.2: 317 - 320
[6] Xing-Wang Zhang,Xian-gui Liu,Jia Zhao. A Vehicle License Plate Recognition Method Based on Neural
Network[J]. Granular Computing, 2010:845 - 847
[7] Jianwei Guo,Jinguang Sun. License Plate Recognition System Based on Orthometric Hopfield Network[J].
MultiMedia and Information Technology, 2008:594 - 597
[8] Guangmin Sun,Canhui Zhang,Weiwei Zou,etal. A new recognition method of vehicle license plate based on
Genetic Neural Network[J]. Industrial Electronics and Applications (ICIEA), 2010:1662 - 1666
[9] Abdullah S.N.H.S., Omar, K., Sahran, S., etal. License plate recognition based on support vector machine[J].
Electrical Engineering and Informatics,2009,1:78-82
[10] Xiaojun Chi;,Junyu Dong;,Aihua Liu, etal. A Simple Method for Chinese License Plate Recognition Based on
Support Vector Machine [J].Communications,Circuits and Systems Proceedings,2006,3:2141-2145
[11] Huang R., Tawfik H., Nagar A.K.,etal. Licence Plate Character Recognition Based on Support Vector
Machines with Clonal
and
Simulation,2009:101-106
[12] 熊军,高敦堂,沈庆宏,等. 遗传算法交叉算子性能对比研究[J]. 南京大学学报(自然科学), 2004, 40(4):
432-437.
[13] 刘智明,周激流,敖蔷. 遗传算法交叉算子的分析[J]. 四川大学学报(自然科学版), 2002, 39(5): 857-860.
[14] 孙秀娟,刘希玉,李丽丽. 基于自识别交叉算子和自适应变异算子的遗传算法研究 J]. 信息技术与信息化,
2008,1: 55-57.
[15] 刘滨. 基于神经网络的车牌字符识别研究[D],武汉大学,2004:51
Swarm Algorithms[J].Computer Modelling
Fish
Selection
and
- 7 -