基于MATLAB车牌字符识别的算法研究
作者:马晨
来源:《数字技术与应用》2017年第09期
摘要:智能交通系统广泛应用在控制服务、制造车辆、道路交通等领域。而在智能交通系统中最关键的技术之一就是车牌字符识别技术。文中采用神经网络技术来实现车牌字符识别。人工神经网络,可较好的自组织自学习能力、较大规模并行处理、分布式信息存储等。BP算法是人工神经网络中的一种监督式的学习算法,是非线性变化单元构成的,并且非线性映射能力十分强,在理论上能逼近任意函数,可以依据实际情况设定网络的学习系数、网络的中间层数以及各层的处理单元等参数。
关键词:车牌字符识别;MATLAB;神经网络
中图分类号:TP391.41 文献标识码:A 文章编号:1007-9416(2017)09-0121-03 1 引言
智能交通系统将先进的信息技术、传感器技术、数据传输通信技术、计算机技术以及电子控制技术等高效率地应用其中,覆盖范围广、准确性高、实时性好。而图像处理和模式识别技术也是现今研究热点,在公共安全、交通管理及军事部门有着极其重要的应用价值。车辆牌照识别技术,要求通过车牌提取、图像预处理、特征提取、车牌字符识别等技术,辨别车辆牌号、颜色等信息,能够将汽车牌照从复杂的背景中并且是在运动状态中提取并识别出来。由于我国车牌种类繁多,拍摄时所处的环境条件各异,使得车牌字符识别的过程存在一定的困难。 典型的车牌自动识别主要由图像采集、图像预处理、图像二值化、车牌定位、字符定位、字符分割、字符识别等部分组成,本文主要就字符识别技术进行研究,基于MATLAB数据处理平台,采用BP神经网络对汉字、字母、数字进行识别,最终实现车牌字符识别目标。 2 人工神经网络
人工神经网络[2](Artificial Neural Networks,简写为ANN)也简称为神经网络(NN)或称作连接模型,是一种高度模仿生物伸进网络行为特点,能处理分布式并行信息的一种数学模型算法,一般分为生物的神经网络和人工的神经网络这两类。在人脸识别,汽车的自动驾驶,光学字符识别(OCR)等很多实际问题中取得了惊人的成功。其工作原理是可根据系统复杂的程度来调整内部多数节点间互相接连的关系。人工神经网络在顺利工作之前要先按照事先规定好的一系列学习准则进行学习,一般来说人工神经网络有两种学习训练的方法,一种是利用已经给好的样本标准来模仿或是学习,被称为有导师或者有监督的学习;还有一种就是光指定好某些规则或学习的方法,但是具体的内容要根据系统的所在环境的不同而改变,系统能凭借自
龙源期刊网 http://www.qikan.com.cn
身主动探索环境的规律和特点,这样的训练方法与人脑的功能更加相似,被称为无导师或者无监督的学习。 3 BP神经网络 3.1 BP神经网络[3]概念
BP神经网络是现在最普遍运用的一种神经网络模型,它是能按照误差反向传播算法学习的一种多层前馈网络。BP神经网络不用提前准备叙述表示映射关系的数学方程式,它本身就能通过训练兵储存非常多的输入—输出的映射关系,能通过逆向传播一直根据需要改变网络的阈值和权值,因此网络的误差平方和就能达到最低,也即是BP神经网络的训练规则——梯度下降法[8]。
3.2 BP神经网络[4]算法的计算过程
一个单层网络和单元,含有的隐层为1。网络共有6个单元,0用于表示阈值,1、2为输入层,3、4为第一隐层,也是唯一隐层,5为输出层单元。网络接收两个输入,发送一个输出。每个单元接收一组输入,发送一个输出。为权值,为当前层单元,为上一层单元,为下一层单元。为0时,权值为阈值。其具体计算过程如下: (1)初始化。
选择网络拓扑结构。权值和阈值置为均匀分布的较小值。选择学习因子。 (2)前向计算。 (4)权值修正。
设为上述过程的计算次数,那么权值修正公式为: (5)判定计算是否完成。
令,取新样本,返回第二步。对样本集合中,每个样本学习一次,称为一个。BP神经网络算法的完成标准:对样本集合中,每个样本学习一次、计算一次期望输出和实际输出的2-范数,并将其累计到累积范数,如下:
一个完成后,每个样本都进行了一次学习,同时累积范数也计算完成。此时可对进行判定,如果小于可接受的最大误差,那么计算完成。或者可对次数进行判定,如果大于可接受的最少次数,那么计算完成。 4 神经网络算法的实现
龙源期刊网 http://www.qikan.com.cn
4.1 神经网络算法的设计思路
采用人工神经网络应用于车牌字符识别的分类任务[5]时,需完成以下设计:
第一:输入编码,即待识别的图像中的字符图像,包括:汉字、数字、英文字母,并提取特征,可对图像进行处理,分解出边缘、区域等局部图像特征,然后把这些特征作为ANN的输入。
第二:图像的重新采样。特征向量编码是图像的高与宽像素的乘积,高维度特征也意味着大量的输入权值,原始图像将增加处理难度,为了降低处理复杂度、提高计算速度和识别率,需重新采样图像。
第三:数据归一化[7]处理,目的是将输入特征的个属性缩放至一个统一的区间[0,1]内从而使各个属性在分类中的具有相同的贡献。
第四:输出编码。使用同类别数目n相等的输出单元数目,每个输出对应于1种类别标号,训练时对于第i个输出单元置一个高值,而其他单元置低值作为目标输出,测试时取具有最高值的输出单元编号作为网络的预测值,这就是常说的n取1输出编码。
第五:确定隐藏层单元数目,由于在解一般问题时1个隐藏层就可以解决问题,因此设计过程中是分别采用1个、2个隐藏层,通过实验发现,更多隐藏单元数目意味着更多的权值,在训练时收敛更快。但是,隐藏层数目的增加在大大增加训练时间时并不会显著地提高泛化精度。
第六:网络其他参数的设定,迭代次数epochs设置为5000,训练模式采用的是RProp。 4.2 神经网络的车牌字符识别[6]的软件设计
本文中,根据车牌上不同信息的特征,把分类器分为汉字网络、英文字母网络、数字和字母混合网络这三种,该设计可以使计算时间大幅减少,是神经网络结构的设计更加简单,识别的准确率与效率也会大幅提高。以MATLAB R2010b 为实验平台,根据所研究的基于神经网络的车牌字符识别方法,将流程图设计如图1。 5 实验结果与分析
在MATLAB[1]测试环境下,其中一幅图像的神经网络车牌字符识别过程如图2。 该图像的字符识别结果如图3。
实验结果表明,随着迭代次数的增加,训练越来越接近目标所需要的数据,这就要求设置适当的参数才能满足较好的要求。对于字符相近的情况,如“8”、“B”在识别的过程中有可能出
龙源期刊网 http://www.qikan.com.cn
现错误,也表明,神经网络在小样本的情况下,会影响字符识别率。神经网络的优点是自学能力,随着样本不断增加,识别率逐步提高,通过对样本的识别和学习,调整网络中的参数,从而达到优化网络的效果。然而神经网络也存在一定问题,在开始时必须对网络进行训练,在没有初始训练时,网络无法进行识别,另外,训练也增加了额外的识别时间,所以该方法的识别时间略长。 参考文献
[1]刘卫国.MATLAB程序设计教程[M].北京:中国水利水电出版社,2010.10:100-120. [2]郭荣艳,胡雪惠.BP神经网络在车牌字符识别中的应用研究[J].计算仿真,2010,(09):72-75.
[3]刘滨.基于神经网络的车牌字符识别研究[D].武汉大学,2004:10-12.
[4]梁晓龙.基于BP神经网络的车牌字符识别算法研究[D].西安电子科技大学,2010:20-21. [5]刘红艳,高丽清,王连明.基于宇符组合特征及BP神经网络的车牌汉宇识别田东北师大学报(自然科学版),2012,44(09):60-64.
[6]陈学保.车牌字符识别算法的研究[D].重庆大学,2013:7-9.
[7]苏泽.基于彩色数字图像的车牌识别系统的设计与实现[D].吉林大学,2014:11-13. [8]王健.基于Matlab的车牌识别系统[D].吉林大学,2015:8-10.
龙源期刊网 http://www.qikan.com.cn
龙源期刊网 http://www.qikan.com.cn
因篇幅问题不能全部显示,请点此查看更多更全内容