基于改进的BP神经网络的车牌识别技术研究

2018-10-23 02:02:44韩美林王园园
计算机与数字工程 2018年10期
关键词:字符识别车牌字符

张 娜 韩美林 王园园 杨 琳

(商洛学院电子信息与电气工程学院 商洛 726000)

1 引言

车牌识别技术是智能交通系统中较重要的一部分,被广泛地应用于各个领域中,如收费系统、交通监控、停车场管理等。是国内外学者研究的热门问题,从80年代初国外就开始研究车牌自动识别技术,如N.A.Siddique等提出车牌识别系统,包括图像的分割、特征提取、字符识别等三部分[1]。R.A.Lotuf等采用边界检测技术提取字符特征,再通过特征字符匹配法进行比较确定车牌号码[2]。十九世纪后,随着计算机视觉(Computer Vision Tchnolo⁃gy)的发展,开始研究用人工神经网络技术和遗传算法来达到车辆牌照自动识别的目的[3~4]。近年来,国内学者也开始了车牌识别方面的研究,黄志斌等利用基于串行分类器的字符识别算法对车牌识别系统中的分类器进行了详细的研究[5]。谭同德等提出基于开源视觉库OPENCV的车牌定位方法[6],该方法在卡口环境下有较好的定位效果。叶必锭等提出基于结构特征和纹理特征的车牌定位方法[7],该方法不受车牌大小、位置等因素限制,定位率高、速度快,具有较好的鲁棒性。由于BP神经网络的学习能力良好、分类能力强大、容错能力和鲁棒性较好,并可以实现输入到输出的非线性映射。但对较为大型的数据进行运算时,BP神经网络要收敛就需要耗费大量的时间,有时由于参数设置的不合适会使整个学习训练过程接近于停顿状态。因此本文对BP神经网络进行了改进,添加动量因子及采用自适应学习速率来解决上述问题。

2 车牌图像预处理

2.1 彩色图像灰度化

由于车牌在拍摄时受到种种因素的限制和干扰,往往由于光照、摄像、传感器灵敏度以及光学系统等的不均匀性而引起图像某些部分较暗或较亮。根据图像处理系统的条件,本文将灰度范围量化在(0,255)之间。图1中的(b)图为对(a)图进行灰度化处理。

图1 灰度化图像

2.2 图像边缘检测

图像的边缘包含了很多重要的特征信息,车牌字符和车牌背景灰度的对比度很大,且车牌是横向连续排列的,因此要对车牌图像进行边缘检测[8~9]。在边缘检测算法中,由于Sobel算子对噪声具有平滑作用,能够滤除部分噪声,提供了准确的边缘方向信息。采用3×3的Sobel算子对车辆的图像进行边缘提取,如式(1)所示,其中Sx作用于垂直边缘,sy作用于水平边缘。

图2为边缘检测效果图,图2(a)为Roberts边缘检测效果图,图2(b)为Sobel边缘检测效果图,图2(c)为LOG边缘检测效果图,图2(d)为Canny边缘检测效果图。对比(a)、(b)、(c)、(d)四图可以看出Sobel算子可以很好地检测出车牌区域边缘,同时抑制背景区域和噪声区域,本文中边缘检测采用Sobel算子。

2.3 二值化处理

车牌的定位容易受图像的二值化影响,二值化后的图像能提取出有效的信息,图像二值化最主要的是选择一个合适的阈值,以便将车牌的背景与字符有效分开[10]。车牌图像进行二值化后的图像如图3所示。

图2 边缘检测效果图

图3 二值化图像

3 车牌定位和字符分割

车牌识别系统中较重要的一部分为车牌定位和字符分割。车牌定位的功能是将车牌的位置从车辆图像中分离出来,会直接影响后续处理效果;字符分割的功能是对字符特征信息进行提取,然后将车牌中的汉字、字母、数字分别进行分割[11]。

3.1 运用数学形态学进行车牌定位

本文采用形态学变换中的开运算和闭运算,来突出车牌的连通区域,一个完整区域不出现任何孔洞和细缝就是二维连通区域[12]。将二值化车牌图像中白色像素区域是连通区域的进行标记,用递归连通区域标记法从图像第一个像素开始读数据,若当前的点值不为1,则继续下一个点;若当前的像素点为1,则搜索该点的上下左右四周的像素点,若有一个像素点为1,则将当前的点标记为1,否则,将四周的点分别作为当前点,继续搜索,最终得到多个连通区域。最后根据车牌矩形宽度和高度分离出正确的车牌区域,并记下车牌区域的坐标位置,在灰度车辆图像中定位出车牌图像。定位出的车牌图像如图4所示。

图4 车牌定位图

3.2 基于垂直投影的字符分割

对灰度车牌图像先进行二值化,再进行垂直投影将车牌的7个字符对应的7个投影区域分出来。根据垂直投影图的特征,通过找出每个投影区域的左右边界来分割车牌字符,其垂直投影图如图5所示。

图5 二值化后车牌图像的垂直投影

从图5可明显地观察到7个垂直区域左右有投影值为0的部分,这就是字符的左右边界区域。分割字符步骤:先从左到右依次检测每一个坐标的投影数值,当检测到第一个不为零的投影数值时,该值所对应像素点的坐标是第一个字符区域的左边界;然后继续向右检测,当检测到第一个为零的投影数值时,该值所对应的像素点的坐标是第一个字符区域的右边界。最后重复此方法得出其余6个字符区域的左右边界。

若车牌图像投影图中的字符投影块数目为7,并且每个字符投影块宽度都大于标准字符宽度阀值的最小值和小于最大值,说明字符没有出现黏连或者断裂,直接进行分割车牌字符。若投影块数目比7小,判断车牌的字符某处有黏连,找到黏连出进一步分割。若数目大于7,可推断出车牌的字符有断裂,则进一步合并处理。其分割流程图如图6所示。

图6 垂直投影的分割流程图

通过上述得到的车牌字符大小不同,为了提高车牌识别准确率对分割后的字符进行归一大小整定,归一化后的车牌图像如图7所示。

图7 字符分割归一化结果图

4 基于改进的BP神经网络的车牌字符识别

车牌识别速度和准确率决定了车牌识别系统是否能够满足实际应用的关键[13]。由于BP神经网络具有良好的学习机制、快速的分类方式与较强的容错能力,即使在有干扰的情况下仍然能够快速准确地提高车牌字符识别速度以及准确率。

4.1 BP神经网络模型

BP神经网络是由误差的反向传播和信息的正向传播两个过程组成,是误差逆传播算法训练的多层前馈网络,是应用最为广泛的神经网络模型之一[14~15]。

BP网络包括输入层、隐含层和输出层,且相邻层之间的神经元是全互连的。图8所示的是一个典型的三层BP网络模型。输入为 X0,X1,…Xn-1;输出为Y0,Y1…Ym-1;训练样本期望输出为d0,d1…dm-1。输入单元i到中间单元 j的权值:Vij,中间单元 j到输出单元k的权值:Wjk,其中输出单元θk和中间单元的阈值ψj。

图8 典型的三层BP网络模型

中间层各单元的输出:

输出层各单元的输出:

4.2 BP神经网络算法改进

BP神经网络被广泛地应用,但对较为大型的数据进行运算时,BP神经网络要收敛就需要耗费大量的时间,有时由于参数设置的不合适会使整个学习训练过程接近于停顿状态。因此本文对BP神经网络进行了改进,添加动量因子及采用自适应学习速率来解决上述问题。式(4)中ω(k)为权值向量的负梯度,E为误差。η为动量因子,其范围为0~1之间,其表达式如式(5)所示:

α为学习率,α的值大于0,表达式如式(6)所示:

4.3 车牌字符识别系统实验及结果分析

4.3.1 参数设定

本文将BP神经网络的层数设为3,针对汉字、字母、数字这三种种类设计3个隐含层。输入层对图像进行特征提取采用13特征提取法,因此输入节点数目设为13,各隐含层分别识别汉字、字母、数字的神经元输出层节点数设为10。初始值的设定为η=0.95,α=0.1,E=4.9×10-5。

4.3.2 实验结果

采用所提出的算法对车牌进行识别,随机选取260幅图片,首先选取130张图片作为训练样本,训练结束后再随机选取图片进行识别。识别后的图像如图9所示。

图9 车牌字符识别

4.3.3 结果分析

由图9可见,所提出的算法能较好地识别出车牌字符。对随机选取的260幅图像的识别结果进行统计,可得到车牌识别率为98.85%,车牌识别的准确率为96.15%,如表1所示。

表1 识别结果统计表

5 结语

随着机器视觉技术的发展,车牌识别技术已成为智能交通领域中不可或缺的部分。本文首先对车牌图像进行预处理,采用数学形态学的方法对车牌进行定位,采用垂直投影法对车牌的字符进行分割,采用改进的BP神经网络方法即添加动量因子与自适应学习率模式对车牌的字符进行识别。通过对随机选取的260张图像进行识别,实验结果表明采用本文所给的方法可使车牌字符识别的准确率达到了96.15%,该算法具有良好的鲁棒性和有效性。

猜你喜欢
字符识别车牌字符
寻找更强的字符映射管理器
字符代表几
一种USB接口字符液晶控制器设计
电子制作(2019年19期)2019-11-23 08:41:50
数字图像处理技术在车牌识别系统中的应用
电子制作(2019年12期)2019-07-16 08:45:16
消失的殖民村庄和神秘字符
一种改进深度学习网络结构的英文字符识别
第一张车牌
基于MATLAB 的车牌识别系统研究
电子制作(2017年22期)2017-02-02 07:10:11
仪表字符识别中的图像处理算法研究
基于CUDA和深度置信网络的手写字符识别