基于BP神经网络的车牌识别技术研究
摘 要
随着科学技术的不断发展,交通管理手段正从人工管理逐步转变成自动或
半自动方式,车牌识别问题作为现代交通工程领域中研究的重点和热点问题之一,受到越来越多人们的关注。近年来,神经网络在许多领域中得到应用,利用神经网络自适应的特点,本文采用基于BP构成的神经网络进行字符识别。
本文通过对在车牌识别系统中图像预处理、车牌定位、字符分割、字符识别四个关键环节的分析研究,提出了一种基于神经网络的车牌字符自动识别算法。用此方法对车牌图像进行实验,对车牌字符样本进行特征提取,并且在MATLAB环境下对车牌字符识别进行仿真模拟,结果证实此算法对车牌字符的定位和分割具有良好的效果,对车牌字符的识别具有一定的准确性。 关键词:BP神经网络;车牌定位;车牌识别;字符分割;字符识别
1. 引言
随着汽车数量的增加,使得世界各国都存在着交通拥挤的城市状况。为了解决这一问题,众多城市将车道拓宽,但仍远远不能解决问题,在不增加现有的道路设施情况下,如何提高交通运输效率已成为世界各国研究的焦点。智能型交通体系(ITS——Intelligent Transportation System)是未来交通监管系统的主要发展趋势。车辆牌照识别技术(LPR——License Plate Recognition)又是ITS中的核心技术之一。因此研究与开发车牌识别系统对于我国交通管理领域的发展具有重要实用价值。
目前的车牌识别系统还存在着很多不足。识别率还不可能做到百分之百,但随着研究的不断深入,车牌识别技术肯定会逐步走向成熟。现代智能交通的发展,使其具有巨大的应用潜力,更广阔的市场。与此同时,神经网络在分类等问题中得到广泛应用,针对车牌识别问题,首先要找到车牌的一些特征,以及对应的评价数据,用这些数据来训练神经网络。
由于人工神经网络具有并行处理、分布式存储与容错性等结构特点,因此被广泛应用于LPR系统中。结构上的并行性使神经网络的信息存储必然采用分布式方式,即车牌字符信息不是存储在网络的某个局部,而是分布在网络所有的连接权中。这些特点必然使神经网络在车牌识别的两个方面表现出良好的容错性:
(1)由于字符特征信息的分布式存储,当网络中部分神经元损坏时不会对车牌识别系统的整体性能造成影响。
(2)神经网络通过预先存储信息和学习机制进行自适应训练,可以从不完整的车牌信息和噪声干扰的车牌图像中通过联想恢复原始的完整记忆,从而实现对不完整输入信息的正确识别。
基于以上特性,人工神经网络应用于车牌识别系统具有很大的研究价值。
2 bp神经网络原理简介
BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。
2.1 BP算法
误差反向传播算法(BP算法)的学习过程,由信息的正向传播和误差的反向传播两个过程组成。输入层各神经元负责接收来自外界的输入信息,并传递给中间层各神经元;中间层是内部信息处理层,负责信息变换,根据信息变化能力的需求,中间层可以设计为单隐层或者多隐层结构;最后一个隐层传递到输出层各神经元的信息,经进一步处理后,完成一次学习的正向传播处理过程,由输出层向外界输出信息处理结果。当实际输出与期望输出不符时,进入误差的反向传播阶段。误差通过输出层,按误差梯度下降的方式修正各层权值,向隐层、输入层逐层反传。周而复始的信息正向传播和误差反向传播过程,是各层权值不断调整的过程,也是神经网络学习训练的过程,此过程一直进行到网络输出的误差减少到可以接受的程度,或者预先设定的学习次数为止。
2.2 BP网络模型
BP网络模型包括其输入输出模型、作用函数模型、误差计算模型和自学习模型。
图2.1 BP神经网络模型
(1)节点输出模型 隐节点输出模型:
Oj=f(∑Wij×Xi-qj) (2.1) 输出节点输出模型:
Yk=f(∑Tjk×Oj-qk) (2.2) 其中,f-非线形作用函数;q -神经单元阈值。 (2)作用函数模型
作用函数是反映下层输入对上层节点刺激脉冲强度的函数又称刺激函数,一般取为(0,1)内连续取值Sigmoid函数:
f(x)=1/(1+e) (2.3) (3)误差计算模型
误差计算模型是反映神经网络期望输出与计算输出之间误差大小的函数:
(2.4)
其中,tpi- i节点的期望输出值;Opi-i节点计算输出值。 (4)自学习模型
神经网络的学习过程,即连接下层节点和上层节点之间的权重矩阵Wij的设定和误差修正过程。BP网络有师学习方式-需要设定期望值和无师学习方式-只需输入模式之分。自学习模型为:
△Wij(n+1)= h×Фi×Oj+a×△Wij(n) (2.5) 其中,h-学习因子;Фi-输出节点i的计算误差;Oj-输出节点j的计算输出;a-动量因子。
3 车牌识别原理
一个完整的汽车车牌识别系统的工作过程主要分为以下四个步骤[4]。如下图所示: 图像处理 车牌定位
图1 车牌识别主要步骤
(1)图像处理:
无论对改善牌照图像的可辨认度,还是简化字符的定位与分割,图像转换及压缩,图像水平校正和图像增强处理都是很有必要的。 (2)车牌定位:
主要包括车牌图像的边缘提取与二值化,车牌水平方向的定位算法,车牌垂直方向的定位算法。最后确定车牌在整个图像中的相对位置,输出长方形车牌图像。
(3)字符分割:
利用像数累积检测的字符定位分割方法得到单个的字符。 (4)字符识别:
利用模板匹配的方法与神经网络数据库中的字符进行匹配从而确认出字符,得到最后的汽车牌照,包括英文字母和数字。
识别训练 字符分割 车牌识别