基于MATLAB与神经网络的汽车牌照识别系统

2012-03-09 02:05
时代农机 2012年7期
关键词:字符识别车牌牌照

刘 岩

(新疆机电职业技术学院,新疆 乌鲁木齐市 830000)

1 引言

近几年,随着我国国民经济的的飞速发展,城市化进程不断加快,城市交通运输问题已成为很多大城市经济发展的瓶颈,所以智能交通系统(简称 ITS,Intelligent Traffic System)便应运而生,它的推广直接关系到城市交通的治理效率与现代化进程的发展。其中,智能交通系统的一个核心组成部分,汽车牌照识别系统(简称LPR,License Plate Recognition System)对于交通的实时监控、交通治理等道路与交通的智能化有着不可或缺的作用。

汽车牌照识别系统的应用十分广泛,例如交通控制与诱导,交通流量监测,超速行驶,车辆安全防盗,港口、小区与机场的交通管理以及闯红灯、不停车自动收费等实时监控违章车辆等方面。并且在某种意义上,汽车牌照是机动车辆的唯一标识,因此,汽车牌照识别系统近几年引起专家们的格外重视,并且已经有部分先期产品投入市场使用。但是在实际的检验当中,系统的使用存在一些问题,比如:对光线强度比较敏感,系统可移植性不好,识别效率与准确率不够高等,所以造成识别后期还需要人工来完成部分工作,这个不符合智能交通的初衷,所以文章提出了一种与神经网络相结合的算法来改进现有系统的问题,并利用MATLAB来实现汽车牌照识别系统。

2 汽车牌照识别系统总体工作流程

汽车牌照识别系统是模式识别技术与计算机视觉技术在智能交通领域的重要应用,它的总体工作流程为:汽车驶过某个路段时,车辆检测器被触发,启动图像采集设备,将摄像头通过视频信号将拍摄到的包含汽车拍照的图像传至计算机,利用牌照定位模块提取牌照并进行定位,然后字符分割模块对牌照上的字符进行分割,最后由基于人工神经网络算法的字符识别模块进行字符识别,输出识别结果,如图1所示。

图1 识别系统总体工作流程

3 汽车牌照识别系统各模块组成

3.1 图像预处理模块

图像在生成、传输或者转换过程中,受到很多因素的影响,如:光学系统失真、系统噪声、曝光不足或者过量等,尤其是相对于运动的物体,往往图像与原始图像之间或者与真实事物之间会产生一定差异,这种差异称为降质或者退化。因此要对包含汽车牌照的图像进行图像转换、图像增强、灰度化和边缘检测等预处理,以达到去除噪声、增强边界和增加对比度等效果,更好的识别图像。

3.2 牌照定位模块

这一模块就是要从预处理阶段处理后的汽车图像中定位出牌照的位置,以分割出来牌照图像,即在一张汽车图片中准确找到车牌的所在位置,并得到其矩形区域。现实环境下,各种因素叠加导致情况比较复杂,比如:汽车图像的光照均匀程度、汽车车身倾斜程度、天气状况好坏等等,如何适应实际情况准确得定位到牌照矩形区域是整个牌照识别过程的关键步骤。首先将拍摄到的视频图像进行相关搜索,找到符合汽车牌照特征的若干区域作为候选区,并对候选区域做进一步识别、判断,最后选定最佳的区域作为牌照区域,并将其从图象中切分出来。这一模块的流程图如图2所示:

图2 牌照定位图

3.3 字符分割模块

牌照的字符分割就是把进行几何校正、去噪、二值化处理并定位好的牌照矩形区域的字符串进行分割,以得到单个的字符图像,然后进行识别。其中对于字符的分割本文采用垂直投影法。由于字符在垂直方向上的投影必然在字符间或字符内的间隙处取得局部最小值的附近,并且这个位置应满足牌照的字符书写格式、字符、尺寸限制和一些其他条件,所以利用垂直投影法对复杂环境下的汽车图像中的字符分割有较好的效果。这一模块的流程图如3所示。

图3 字符分割模块

3.4 字符识别模块

字符识别就是对分割得到的单个字符图像进行二值化、归一化处理后,进行字符识别以得到最终结果。字符识别方法目前主要有模板匹配字符识别算法、统计特征匹配法、支持向量机模式识别算法和人工神经网络字符识别算法。其中,模板匹配字符识别算法首先将分割后的字符图像二值化,后将其缩放为字符数据库中样本的尺寸大小,然后与所有的样本进行相似性检验,最后选最佳匹配作为结果。该方法识别速度较快,但是对噪点较为敏感。人工神经网络字符识别算法有两种:一种是先对待识别字符进行特征提取,然后用所获得特征来训练神经网络分配器;另一种方法是利用神经网络的优势,直接把待处理图像输入网络,由网络自动实现特征提取直至识别出结果。如图4所示。

图4 字符识别模块

4 汽车牌照识别系统的MATLAB实现

4.1 图像预处理与车牌定位

由于输入牌照是彩色的,含有大量颜色数据,在存储时会占用很大空间,并且会在信息处理过程中降低系统的执行效率,因此在对图像处理时,通常先将彩图转换成灰色的,从而提高系统的效率。对彩图灰度化、边缘提取、然后利用形态学方法对车牌进行定位。具体操作流程如下:先对图像进行灰度转换,二值化处理然后采用4×1的结构元素腐蚀图像,去除图像的噪声。采用25×25的结构元素,对图像进行闭合运算使车牌所在的区域形成连通。在利用形态学滤波去除其它区域。部分结果如下图5所示。

图5 图像预处理与车牌定位图

4.2 车牌字符分割

确定车牌所在的位置后进行的工作是将字符切分,然后分离出车牌号码的全部字符图像。下图为形态学滤波后的二值化图像。如图6所示:

图6 形态滤波后图像

4.3 车牌字符识别

在本程序中用人工神经网络字符识别车牌字符。在车牌字符识别部分,字符集中包含约50个汉字,26个大写英文字母及10个阿拉伯数字,所以总体字符样本并不太多。

(1)构造训练样本如图7所示的数字和字母

图7 构造训练样本图

将样本进行归一化为50×20大小,再将图像按列装置成为一个1000×1的行向量,并与上述18个图像的样本排列在一起,构成了1000×18的矩阵样本,用构造好的样本库对神经网络进行训练。

(2)利用神经网络进行字符识别。

由于神经网络存在收敛速度较慢、存在局部极小、隐层及其节点之间的个数很难决定等缺点,所以本文采用了有动量的梯度下降法进行改进,即按照某一时刻的负梯度方向的值修正网络权重,同时加入动量因子,修正负梯度方向的值,使得整个网络能够更快更好的收敛。在整个车牌识别处理过程中,采用了四个神经网络,完成了中英文字符、以及数字的分类、识别等功能。最终识别结果如图8所示:

图8 网络进行字符识别图

5 结语

文章以 MATLAB作为开发平台,并利用其强大的图像处理与计算工具箱,结合神经网络设计并实现了文章的车牌识别系统。通过对350张汽车图像进行识别运算得出结论,文章设计系统的车牌识别正确率能够达到96.1%,一次识别的运行时间在1s左右,基本满足实际的需求。

猜你喜欢
字符识别车牌牌照
数字图像处理技术在车牌识别系统中的应用
红景天 直销牌照何日可待
一种改进深度学习网络结构的英文字符识别
新能源汽车牌照叫停疑云
牌照
第一张车牌
基于MATLAB 的车牌识别系统研究
仪表字符识别中的图像处理算法研究
牌照红利之后的直销未来
基于CUDA和深度置信网络的手写字符识别