本系统的实现用到了MATLAB 图像处理引擎和VC6.0。图1.2-1.4是系统处理过程中不同阶段的图像:
由于神经网络可以逼近任意复杂度的函数,且不需要确切编程就能通过其自学习的特点自动完成问题到解的映射,使神经网络在模式识别领域应用广泛。然而大部分系统仅在最后的识别模块使用它,这大大限制了它对提高系统性能的作用。本文通过尝试把它引入系统的各个模块来进一步提高系统性能,同时也使整个系统更加具有应对复杂变化的外界环境的能力。本文工作内容如下:
1推导神经网络权值更新的数学公式,包括输出层和隐含层,并用C++代码实现该算法。
2设计算法对车牌图像进行预处理时能够根据图像具体情况而由神经网络的判别结果选择处理流程。
3 车辆牌照位置的确定。首先对车牌图片进行灰度变换。利直方图均衡化算法和中值滤波对图像进行增强处理,为后面的车牌定位做准备。应用边缘检测算法检测出边缘信息,并使用图像腐蚀技术,对非车牌区域进行腐蚀处理,获得车牌位置的疑似位置,并使用神经网络对结果进行判别,然后采用一种基于字符特征和图像区域特征相结合的定位方法,提取出车牌位置。
4 字符的分割。首先对分割出的车牌进行二值化、倾斜校正、去除干扰和边框,然后利用垂直投影信息结合字符排列特征的垂直投影统计方法分割字符。
5 获得字符的特征值。该过程首先对分割后的单个字符尺寸归一化为统一的40*40,然后采用分区域统计笔画特征数的方法提取出待识别字符的24维特征信息,最后把提取出的字符特征值作为输入,对神经网络进行训练。最后识别出字符。源'自:751-'论.文'网"]www.751com.cn
2人工神经网络算法
2.1人工神经网络模型
人工神经网络兴起于上世纪中期,心理学家W.S.McCulloch和数理逻辑学家W.Pitts建立了神经网络的数学模型,称为MP模型。MP模型是对神经元的形式化数学描述,以及对人类大脑结构的模拟建模。该模型的基础就是简化的神经元模型。如图2.1所示。
单个神经元模型
神经元作为逻辑处理单元,拥有两个状态,激活状态和非激活状态。有多个输入,单个输出(在有些模型中虽然有多个输出,但输出值都相同,这样只是为了表示要输出到多个不同的神经元),神经元对多个输入值进行简单的运算,一般是求和运算,若结果大于设定的阈值,该神经元就被激活,然后它将向与其输出端连接的神经元输出信号,该信号可以是布尔量,也可以是0—1间的任何小数。为了区分不同神经元输出信息量的不同,需要对该神经元的输出值乘以其权重。该权重的不同代表了神经元间联系的强弱。实际上,神经网络学习、记忆的能力就是起源于这些权值。多个神经元按某种结构连接起来就构成了神经元网络,图 2.2 是三层神经网络模型。
3层BP神经网络模型
如图2.2,BP神经网络共有三层,分别为输入层神经元,输出层神经元和隐含层神经元。输入层神经元接受外界输入信号,(在人工神经元网络中主要是特征值),隐含层是对输入信号的初步处理层,该层对输入信号加权后进行运算,根据阈值决定是否要激活,最后的输出层以隐含层的输出为输入,根据相同的运算得到输出结果。神经元间的连接强度由权值决定,是神经网络的重要参数。其在功能上存储了神经网络训练获得的知识。对权值设定和更改将直接决定人工神经网络的性能。
2.2人工神经网络的核心——权值的更新