苏康友
(广东白云学院 电气与信息工程学院,广东 广州 510450)
随着经济的快速发展,汽车拥有量不断上升,导致了交通堵塞、城市停车紧张、交通事故等问题不断发生。因此,国内外相继提出了适应运输要求的智能交通系统(Intelligent Traffic System, 简称ITS),其中汽车车牌识别系统是智能交通系统的核心,它的发展决定了智能交通系统的广泛应用[1]。车牌识别大致分三个阶段:第一阶段为图片处理阶段,80年代,首次提出车牌识别的理念,采用传统的摄像机拍下车牌,人工对图片加工处理和分类,并没有一个智能的系统;第二阶段为传统模式识别阶段,90年代,Johnson等采用CV和图像处理技术识别车牌,摆脱了人工识别车牌的过程[2];第三阶段为人工神经网络技术发展阶段,1980年,Fukushima提出了神经认知机(neocognitron)。神经网络在图像分类[3-4]、图像特征提取[5-6]、图像分割[7]、图像融合[8]、目标识别与追踪[9-10]方面得到了很大的运用,因此车牌识别系统也应运而生。
90年代开始,我国引入国外的算法中对ITS技术进行研究,但是国外不少算法被应用于我国的车牌识别时存在识别率低的问题。因为我国的车牌具有特殊性,包含了汉字、字母、数字,其中汉字识别是个技术难题,所以本文提出了基于改进型BP神经网络的车牌识别系统,对图像进行预处理,对车牌定位分割,再进入BP神经网络从而实现字符识别。
图像处理中,采用RGB中的三个分量(R:Red,G:Green,B:Blue)来表示真彩色;本文采用平均法对图像进行灰度化,即取三种变量R、G、B的平均值作为其灰度变量,减少彩色图像过多的信息干扰量。
图像信号在产生、传输过程中都可能受到噪声的污染,主要有高斯噪声(主要由阻性元器件内部产生)、椒盐噪声(图像切割引起的白点噪声或光电转换过程中产生的泊松噪声)、量化噪声(量化过程存在量化误差导致的噪音),这些噪音直接影响后序的边缘检测,因此降噪是图像处理的关键。本项目为了提高图像质量,研究三种去噪方法,分别是均值滤波、中值滤波、维纳(Wiener)滤波。采取最佳滤波获取灰度更加平滑的图片。
(1)均值滤波:
(2)中值滤波:
其中:Med表示中间取值;f表示车牌的原始图像函数;i、v表示图像二维模板中的二维序列号。
(3)维纳(Wiener)滤波:
对分割出来的车牌进行倾斜校正。由于对倾斜的车牌字符识别容易出错,所以车牌倾斜校正对车牌字符识别率有较大的影响。本系统用Imrotate函数进行旋转,得到完整的车牌字符。
在车牌定位中,本项目采用效果较好的边缘提取方式,经过形态学处理后的车牌特征越明显,车牌定位越准确。因此本项目分别进行Sobel算子、Robert算子、Laplacian算子运算,并选取最优边缘检测方式,对车牌进行边缘检测定位;同时利用蓝色车牌颜色阈值T,将图像的数据分成两部分,大于T的像素群则为前景目标,小于T的像素群则为背景,从而更加清楚地将图片的黑白二值化,对找出来的车牌位置进行分割。
(1)Sobel 算子边缘检测:如图1所示,采用原图作为矩阵内容,将边缘提取后该像素点的位置改为0,进行Sobel运算。
图1 Sobel算子边缘检测
(2)Robert算子边缘检测:采用Robert算子公式对图像进行运算,效果如图2所示。
图2 Robert算子边缘检测
(3)Laplacian算子:由于导数在边缘点出现零交叉,即边缘点两旁二阶导数取异号,因此对数字图像{f(i, j)}的每个像素,选取x轴方向和y轴方向的二阶差分之和,Laplacian算子运算结果如图3所示。
图3 Laplacian算子运算结果
由图1~图3可以看出,采用Laplacian算子运算进行车牌定位,车牌图像更加清晰,车牌边缘更加明确,更利于下一步的车牌字符识别。
BP网络模型利用误差反向传播训练算法模型,能够很好地解决多层网络中隐含层神经元连接权值系数的学习问题。它的特点是信号前向传播、误差反向传播;它的实现分为学习过程和识别过程两个部分。在学习过程中,同时进行着两个过程,分别是信息的正向传播和误差的反向传播。
本项目采用Sigmoid型的激活函数作为输出函数。
其对x的导数可以用自身表示:
采用MATLAB作为仿真环境,对车牌“沪JZ0265”进行车牌识别。仿真效果如图4~图5所示。
图4 车牌图像预处理
图5 车牌图像分割与识别
本文采用平均法对车牌图像进行灰度化,并对车牌图像采用中值滤波法去噪;利用Imrotate函数进行旋转,并选取Laplacian算子进行边缘检测,完成车牌图像的初始化;最后采用Sigmoid型的激活函数作为BP神经网络的输出函数,对车牌图像进行识别训练,实现了更精准的车牌自动识别。