多种类车辆牌照自动识别系统的研究
2020-11-23孙溢成
孙溢成
随着现代计算机科学技术的快速发展,智能化的出行方式也渐渐融入到了人们的日常生活中,为了减少驾驶车辆出行的道路压力,有秩序的监管出现的交通违规问题,自动化的交通管理也成为了当代的主流解决方式。现代智能化交通系统(Intelligent Transportation System)中车辆牌照识别(License Plate Recognition,LPR)技术是计算机领域视觉与模式识别技术在交通行业应用的重要研究课题之一。在1980年美国研究所就很多图像处理、识别的方法提出了初级理论,但由于当时计算机性能,车辆普及率及自动化监控的实时性等原因阻碍了车牌识别智能化的发展。90年代随着科技的发展,A.S.Johnson、EunRyung Lee等优秀学者提出了许多在图像特征提取和字符识别上的经典理论意见。近几年国内武汉大学的喻晓、张礽婧、李幕龙等学者也提出了十分经典的基于车牌颜色和纹理特征定位车牌的理论,推动了国内在该领域的发展进程。
1 车牌自动识别技术研究意义
现代的智能化图像处理主要利用图像的多媒体信息作为传递媒介,在图像、文字信息中包含了许多丰富的高层语义识别的理解及表达方式。准确的提取并识别图片或文字中的字符,对于图像高层语义的理解和研究起到了至关重要的作用。本文将对图像中的文字字符进行提取、识别、辨认,将其转变为人工文字。为了防止样本字体过于复杂,加重样本库的负担,将以车牌识别为例,车牌的组成由汉字、英文字母(除I和O)、数字3个部分组成。本次识别方法主要利用神经网络,使用模板匹配法完成,但由于场景图像种类丰富,拍摄角度复杂以及色差等问题,模板匹配法识别准确率仍然需要进一步完善。
2 车牌识别技术的原理和难点
2.1 车牌识别系统概述
车牌识别系统主要由获取原图像、图像处理、车牌文字定位、字符分割、字符识别五大步骤组成,具体设计步骤如图1所示:
图1 车牌系统流程图
车牌识别系统运行时,当车辆到达指定位置时,会进行信息捕获,所获取的车牌图像大小、方位角度、图像清晰程度等都要符合事先设定好的要求。获取原图像是通过触发模块在车辆到达预定区域时,控制摄像机进行快速拍摄获取车牌的原图像。生活中常见的触发装置有埋设于地下的感应线,优点是成本低、可靠性高,缺点是安装时需要埋于地面,对于不同型号的车辆会存在一定的定位偏差。之后通过图像预处理操作,对获取的原图像进行处理并调整及修改图像的某些参数为了使后几步骤的运作简便化。最后在经过车牌文字定位、字符分割、字符识别一步一步的将车牌图像中所需要获取的信息结果输出。
在车牌识别系统中,由于存在不同的外界条件因素,对其实际使用会产生不同的影响。其中包括背景复杂程度、车牌污染损坏、拍摄角度、光照条件变化等因素导致车牌形变模糊从而无法识别。
2.2 字符识别方法
字符识别是车牌系统的关键运作模块,其选择合适的算法能进一步提升识别效果。文字图像先通过分割,提取图像特征对车牌图像字符位置和符号区域进行定位识别后分割处理,以提高后续识别的质量。识别预处理功能是将上一步分割出来的文字图像信息进行分析处理,将图像中可能出现的空缺、污渍遮挡等问题处理掉。还增强图像中文字符号的大小规格、位置角度等进行处理识别化,方便判断复杂性。识别判断是根据所获得的图像文字特征,通过识别将识别好的字符进行分类,处理好后完成识别目的。
文字识别原理图如图2所示:
图2 文字识别原理图
2.3 BP神经网络
人工神经网络(Artificial Neural Network,Artificial Neural Network)是一种网络结构,它基于由大量简单神经元组件(相互连接的基本组件)组成的自适应非线性动力学系统,模拟人脑中的神经元细胞。
神经网络的工作阶段可以分为学习训练期和工作识别期,其作用是调节整个神经元之间的连接权重和确定连接权重。在学习训练期间,已知类别的输入会随机输入到神经网络中。通过固定学习规则调整和组合更改的每个输入都可以使PE之间的连接权重和网络输出朝正确的方向移动。当学习期到工作期结束时,权重系数保持不变,神经网络的输入变为未知向量,输入信息被神经元多次传输,最终在输出层产生输出向量,并可以通过根据输出矢量将对象划分为特定类别来实现对对象的识别。
本文中对车牌进行字符识别采用BP神经网络算法,BP(back propagation)神经网络是一种网络结构,它基于由大量简单神经元组件(相互连接的基本组件)组成的自适应非线性动力学系统,模拟人脑中的神经元细胞。BP神经网络原理是由神经元正、方向传播之间用过误差来判断识别信息并加以分类学习的过程。BP神经网络由输入层、输出层和隐含层组合,相邻每层之间的神经元是相连的,是误差传播算法学习训练的多层前馈网络也是应用最多的神经网络模型之一,图3就是一个典型的三层BP神经网络模型:
图3 典型的三层BP神经网络模型
3 基于神经网络的牌照识别系统设计
本文将介绍通过MATLAB(R2020a)软件进行仿真,通过上文介绍的车牌识别系统的各项步骤结合BP神经网络的算法。具体实现步骤如图4所示:
图4 车牌识别系统具体实现流程图
3.1 图像预处理技术
图像预处理是车牌识别系统的第一步,只有先将所获原图像的参数预先处理才会为后续的车牌识别系统提高准确率和可靠性。其中图像预处理能去除复杂环境背景、噪音干扰,使存储空间的利用率大大提高。图像处理则包含了:灰度处理、二值化、腐蚀膨胀、边缘化等。
3.1.1 灰度处理
在获取的车牌图像中,数字图像分为灰度图像和彩色图像,灰度处理技术与RGB彩色图像向灰度转换技术基本相似。其中灰度处理技术通过求平均值、最大值和加权平均值三种方式进行处理识别。具体实现如图5所示。
图5 原图像(左)和灰度图(右)
3.1.2 图像二值化
图像二值化是将获取到图片转变为只有黑白两种颜色。其原理是按照原图中识别到的车牌区域与背景的灰度值不相同,例如:假设一个灰度值x,当图像中的某一快区域图像的亮度值高于所设定的x值时,则该区域图像的像素值为1,反之,该区域图像的像素值为0。由此原图像中的其它颜色就将由白色和黑色代替(所需目标颜色为白色,不需要的背景为黑色)。则关于灰度值x的选择方式有局部阈值法、动态阈值法、全局阈值法等。本文使用较为常见的二值化处理方法。在MATLAB仿真中车牌图像通过二值化处理图像如图6所示。
图6 车牌图像二值化
3.1.3 图像中值滤波
在车牌的图像获取过程中,会受到很多外在因素的影响,其中复杂环境下的噪音为主要影响因素,所以在车牌图像预处理中首先要解决嘈杂环境下噪音对车牌图像影响的问题。需要对图像中低频信息、高频信息的各项特征都需要不同方式的处理方法。低通滤波的方式是在过去对车牌图像的噪音处理中最为常见的。但缺点是图像中边缘部分存在一定的高频信息,若只使用低通滤波处理方式的话,会造成车牌图像边缘变得更加模糊从而无法识别。通过中值滤波后图像在Matlab仿真中如图7所示:
图7 车牌图像中值滤波前(上)后(右)对比图
3.2 车牌定位技术
由于基于颜色空间的定位法主要是通过颜色来判断及分割定位车牌各个区域的信息,但现实生活中,受到外界条件的影响会出现比较复杂的背景环境,然而使用基于颜色空间定位法,必然是大大的影响实际的识别效果。
然后基于数学形态与HSV颜色空间结合车牌定位技术是通过形态学运算、删除干扰因子、图像边缘检测、HSV颜色空间选定区域等多项技术结合识别来完成分割和定位的功能。本文就采用了基于数学形态与HSV颜色空间结合的车牌定位技术,通过将获取的原图像灰度化、二值化等图像预处理,加上边缘边框识别检测、形态学操作等步骤精确的定位车牌。
经过二值化处理后,车牌边框会因为螺丝钉或者漂浮在空中遮挡车牌的物体出现图片撕裂,这时候就需要扫描车牌的字符之间的距离来判断相对应的区域。最后,经过边框和螺丝钉区域识别的结果,对其进行处理清除最终提取车牌字符。车牌边框与螺丝钉清除如图8所示。
图8 定位剪切后的彩色车牌图像
3.3 车牌字符分割技术
在现实中存在很多复杂条件的背景环境,车牌上的字符信息就很容易受到遮挡或者损坏污染。这样就给车牌识别系统的字符分割运作增加了很多难度,所以本文将通过聚类分析的方式来进行车牌字符在复杂的背景环境下的字符分割,其算法步骤:首先将第一步经过预处理的精准的定位出车辆牌照的区域图像,然后除掉边框和螺丝钉,再进行灰度处理、二值化、膨胀腐蚀将图像优化处理,接着根据面积大小过滤噪音与污点、聚类分析、识别计算每一个聚类的形状的数据信息(长宽比例、面积大小),最终将所需字符进行分割,总体流程图如图9所示。
图9 字符分割总体流程图
本次文章将运用多个车牌字符通过放大或缩小的形式来完成统一,其具体操作如下:
1)将车牌字符的原图像设为f(x,y),图像的长度为h0,宽为w0,图像上任意一点为(x0,y0):进过字符图像统一化的图像为g(x,y),其长度为h1,宽度为w1,其图像上任意一点为(x1,y1),两者之间的公式为:
2)车牌字符图像统一化后,若图像上的(x0,y0)为整数,其灰度值与原字符图像上(x0,y0)的灰度值一一对应;若图像上(x0,y0)不为整数,该点的像素还要通过插值算法来进行变换。因此,本文字符图像统一化技术中使用的插值算法为双线性算法。
3)若使用双线性算法,图像统一化后的点(x1,y1)的灰度值计算是通过原字符图像上(x0,y0)相邻的4个点取整求取近似值,计算公式如下:
(4)分割出来的字符会存在着大小差距,因此需要进一步的处理,以便提高接下来的字符识别准确度。本文对分割出来的字符进行了归一化处理,归一化切割出来的字符图像的大小为40×20,与模板中字符图像的大小相匹配。
最终统一化完成字符图像的大小为40×20,其结果图如图10所示。
图10 字符分割效果图
3.4 基于BP神经网络车牌字符识别技术
字符识别是车辆牌照识别系统中最重要的环节,选择合理有效的识别方式十分重要。因为在实际拍摄中受到场外复杂环境的影响,车牌识别系统的检测与识别存在噪音、字体模糊、字符断裂、拍摄角度倾斜等问题。由于传统的模板匹配识别技术方法及特征统计匹配识别法容错率较低,不能很好的识别车牌照,本文采用神经网络识别方法。
基于神经网络识别车辆牌照,第一步提取字符的特征,用BP神经网络进行识别。将导入车牌字符的模板库通过神经网络对其学习训练,经过学习训练后得到的数据对其识别分割好的字符,进行测试提取结果。本文采用BP神经网络识别车辆牌照字符流程图如图11所示。
图11 BP神经网络车牌字符识别流程图
BP神经网络的学习方法是利用误差反方向传播,通过多次修改网络权重值的矩阵格式的组合。在针对BP神经网络对车牌识别进行学习时,需要有相对应的训练样本库。如图12所示。
图12 数字0~9、字符A~Z和各省份开头汉字样本库
在进行车牌字符识别前需要先设定各个参数,然后对网络进行学习训练,BP神经网络对于识别数字方面的识别率和高效性较强。识别结果如图13所示。
图13 BP神经网络识别Matlab仿真结果图
4 结束语
在现实生活中势必有不同的自然情况及其车辆型号不同、受损不同、复杂的背景等多方面因素的影响,车牌识别系统的识别率就会有所下降从而达不到指定的要求。其中主要因素有:车牌的特性;复杂的外部环境条件。
本文基于BP神经网络的车辆牌照识别系统设计的学习与研究,分析和实验了车牌识别系统的关键技术并加以应用。其中包含了车牌图像的图像预处理技术、字符定位技术、字符的分割技术和字符的识别技术,对其进行分析理解并加以阐述。经过对这些车牌识别技术的学习与了解,进一步提高了车牌识别系统的可靠性、稳定性和高效性,使得车牌识别系统的相关技术得到进一步的实现和应用,对车牌识别智能化能实现自动识别、自动感应做出贡献。在一定程度上适应较为简单的需求环境,也希望通过更加严谨高效的研究提高汽车管理的正规化、高效化和智能化水平,对今后汽车交通自动化管理的研究前景和推广应用意义。