本圈每月组织工厂改善实践活动,征寻合作工厂,有意请与编辑联系
作为智能交通系统中的重要组成部分之一的车牌自动识别技术,目前已被广泛应用于城市道路监控、高速公路收费与监控、小区与停车场出入口管理、公安治安卡口等场合,成为研究的热点。
车牌识别技术是利用计算机等辅助设备进行的自动汽车牌照自动识别就是在装备了数字摄像设备和计算机信息管理系统等软硬件平台的基础之上,通过对车辆图像的采集,采用先进的图像处理、模式识别和人工智能技术,在图像中找到车牌的位置,提取出组成车牌号码的全部字符图像,再识别出车牌中的文字、字母和数字,最后给出车牌的真实号码。
01
车牌识别系统主要解决的问题
车牌识别技术可以实现自动登记车辆“身份”,已经被广泛应用于各种交通场合,对“平安城市”的建设有着至关重要的作。具体概括如下:
①电子警察系统
电子警察系统作为一种抓拍车辆违章违规行为的智能系统,大大降低了交通管理压力。随着计算机技术和CCD技术的发展,目前电子警察系统已经是一种纯视频触发的高清抓拍系统,可以完成多项违章抓拍功能,其中包括违章闯红灯抓拍功能、违章不按车道行驶抓拍功能、违章压线变道抓拍功能、违章压双黄线抓拍功能和违章逆行抓拍功能等内容。
电子警察自动抓拍违章车辆以及识别车牌号码,将违法行为记录在案。电子警察系统大大节省警力,规范城市交通秩序,缓解交通拥堵,减少交通事故。
②卡口系统
③高速公路收费系统
高速公路收费系统已经基本实现自动化,当车辆在高速公路收费入口站时,系统进行车牌识别,保存车牌信息,当车辆在高速公路收费出口站时,系统再次进行车牌识别,与进入车辆的车牌信息进行比对,只有进站和出站的车牌一致方可让车辆通行,自动收费系统可以有效地提高车辆的通行效率,并且可以有效地检测出逃费车辆。
④高速公路超速抓拍系统
系统抓拍超速的车辆和识别车牌号码,并通过公安专网将超速车辆的车牌号码传达到各出口处罚点,各出口处罚点用车牌识别设备对出口车辆进行车牌识别,与己经收到的超速车辆的号码对比,一旦号码相同立即报警。
⑤停车场收费系统
⑥公交车报站系统
当公交车进入和离开公交站台时,报站系统对其进行车牌识别,然后与数据库中的车牌进行比对,语音报读车牌结果和公交线路。综上所述,车牌识别技术的广泛应用使道路安全、交通通畅、车辆安全、环境保护得到了全面的保障。
02
车牌识别系统的基本工作原理及流程
车牌识别就是依次实现汽车图像的车牌定位、车牌字符分割、车牌字符识别算法的过程。车牌定位就是把车牌图像从含有汽车和背景的图像中提取出来,其输入的是原始的汽车图像,输出是车牌图像。
车牌的字符分割就是通过对车牌图像的预处理、几何校正等把字符从车牌图像中分割出来,分成一个个独立的字符,其输入是车牌定位后得到的车牌图像,输出是经过预处理、几何校正等后得到的一组单个的字符图像,并得到各个字符的点阵数据。字符识别是依次从单个字符点阵数据中提取字符特征数据,并给出识别结果。
车牌识别系统采用高度模块化的设计,将车牌识别过程的各个环节各自作为一个独立的模块。
①车辆检测跟踪模块
车辆检测跟踪模块主要对视频流进行分析,判断其中车辆的位置,对图像中的车辆进行跟踪,并在车辆位置最佳时刻,记录该车辆的特写图片,由于加入了跟踪模块,系统能够很好地克服各种外界的干扰,使得到更加合理的识别结果,可以检测无牌车辆并输出结果。
②车牌定位模块
车牌定位模块是一个十分重要的环节,是后续环节的基础,其准确性对整体系统性能的影响巨大。车牌系统完全摒弃了以往的算法思路,实现了一种完全基于学习的多种特征融合的车牌定位新算法,适用于各种复杂的背景环境和不同的摄像角度。
③车牌矫正及精定位模块
由于受拍摄条件的限制,图像中的车牌总不可避免存在一定的倾斜,需要一个矫正和精定位环节来进一步提高车牌图像的质量,为切分和识别模块做准备。使用精心设计的快速图像处理滤波器,不仅计算快速,而且利用的是车牌的整体信息,避免了局部噪声带来的影响。使用该算法的另一个优点就是通过对多个中间结果的分析还可以对车牌进行精定位,进一步减少非车牌区域的影响。
④车牌切分模块
车牌系统的车牌切分模块利用了车牌文字的灰度、颜色、边缘分布等各种特征,能较好地抑制车牌周围其他噪声的影响,并能容忍一定倾斜角度的车牌。这一算法有利于类似移动式稽查这种车牌图像噪声较大的应用。
⑤车牌识别模块
在车牌识别系统中,通常采用多种识别模型相结合的方法来进行车牌识别,构建一种层次化的字符识别流程,可有效地提高字符识别的正确率。另一方面,在字符识别之前,使用计算机智能算法对字符图像进行前期处理,不仅可尽可能保留图像信息,而且可提高图像质量,提高相似字符的可区分性,保证字符识别的可靠性。
⑥车牌识别结果决策模块
识别结果决策模块,具体地说,决策模块利用一个车牌经过视野的过程留下的历史记录,对识别结果进行智能化的决策。其通过计算观测帧数、识别结果稳定性、轨迹稳定性、速度稳定性、平均可信度和相似度等度量值得到该车牌的综合可信度评价,从而决定是继续跟踪该车牌,还是输出识别结果,或是拒绝该结果。这种方法综合利用了所有帧的信息,减少了以往基于单幅图像的识别算法所带来的偶然性错误,大大提高了系统的识别率和识别结果的正确性和可靠性。
⑦车牌跟踪模块
03
车牌识别系统的关键技术及算法
车牌定位
车牌定位是车牌识别系统的基础,其定位的准确与否直接影响到车牌的字符分割和识别效果,是影响整个车牌识别系统识别率的主要因素。车牌定位,即运用数字图像处理、模式识别、人工智能等技术对采集到的汽车图像进行处理,从而准确地获得图像中的车牌区域,其输入是原始的汽车图像,输出是车牌图像。在现实车牌识别系统中,由于光照不均匀、背景的复杂性等原因,造成准确定位出车牌的难度较大。目前,根据车牌的特征,常见的车牌定位方法有基于车牌颜色特征信息的定位法、基于车牌区域频谱特征的定位法、基于分类器的车牌定位法、基于车牌边缘特征的车牌定位法等,这些方法各有所长。值得注意的是,车牌定位算法的分类并不是唯一的,区别算法类别的标准并不十分明确。车牌定位算法的方法多种多样、各有所长,但存在着计算量大或者定位准确率不高等问题。
车牌定位是车牌识别的关键步骤,为了能在复杂背景和不均匀光照条件下快速准确定位车牌位置,基于改进IsotropicSobel边缘检测算子的车牌定位算法,由此来解决其存在的问题,该算法通过改进IsotropicSobel边缘检测算子,实现了车牌图像在水平、垂直以及对角线方向上的纹理特征提取,然后采用Otsu算法阈值化,再对阈值化后的二值图像做数学形态学运算得到车牌的候选区域,最后利用车牌特征去除伪车牌。
①算法流程图:
②对输入的彩色图像进行灰度化处理:
彩色图像包含更多的信息,但是直接对彩色图像进行处理的话,系统的执行速度将会降低,储存空间也会变大。彩色图像的灰度化是图像处理的一种基本的方法,在模式识别领域得到广泛的运用,合理的灰度化将对图像信息的提取和后续处理有很大的帮助,能够节省储存空间,加快处理速度。
③Sobel边缘检测算子
Sobel算子是根据邻域像素与当前像素的距离有不同的权值,强调中心像素的对边邻域像素对其的影响,而消弱4个对角近邻像素的作用。图像中每一个像素点都用这两个核做卷积,一个卷积核对图像垂直边缘响应最大,而另一个则对水平边缘响应最大,取两个卷积之中的最大值作为该像素点的输出值。这样使得Sobel算子对噪声有抑制作用,因此不会出现很多孤立的边缘像素点,不过Sobel算子对边缘的定位不是很精确,图像的边界宽度往往不止一个像素,不适合对边缘定位准确性要求很高的应用。与Prewitt相似,Sobel算子也是通过像素平均来实现的,也有一定的抗噪能力。值得注意的是它们都不是各向同性的,所以它们检测出来的边缘并不是完全连通的,会有一定程度的断开。
Sobel边缘检测还有另外一种形式,称为IsotropicSobel算子,该算子具有各向同性的特征,利用加权平均算子,权值反比于邻点与中心点的距离,当沿着不同方向检测边缘时梯度幅度一致,因此它的位置加权系数更准确,在检测不同方向上的边缘时梯度的幅度一致,但速度较一般Sobel算子要慢一些。用于边缘检测的算子很多,常用的还有Laplacian边缘检测算子、Canny边缘检测算子等。
④对边缘检测后的灰度图进行二值化处理
车牌图像经过边缘检测之后,车牌上的字符及边缘信息会突出出来,同时,其他非字符和非车牌边框的边缘纹理特征也突出了出来,为了减少噪声的影响,需要对车牌图像进行二值化处理,二值化是对图像进行阈值化的一种类型。根据阈值的选取情况,二值化的方法可分为全局阈值法、动态阈值法和局部阈值法,我们用最大类间方差法(也称Otsu算法)进行阈值化,来剔除一些梯度值较小的像素,减少需要查找的车牌范围,二值化处理后车牌图像的像素值为0或者255。
⑤对车牌图像进行图像形态学操作
车牌识别系统也是基于形态学操作的重要性质,对经过二值化后的车牌图像首先进行闭运算操作,使得车牌的字符区域连接起来,然后对车牌图像进行开运算操作,来消除车牌上的噪声,得到明亮的车牌区域从候选区域中去除伪车牌并定位出车牌区域通过对车牌图像的数学形态学运算,图像中剩下少部分的连通区域,即为车牌的候选区域,这些区域包括车牌区域和伪车牌区域,为此,需要从图像中去除伪车牌并定位出车牌。
通过对车牌图像的灰度处理、边缘检测、二值化、图像形态学操作定位出车牌的候选区域,接着利用车牌的特征,如长宽比、像素比等,从候选区域中定位出车牌
车牌字符分割
①车牌字符分割算法的研究
车牌字符分割就是对已经定位出的车牌区域内的车牌字符进行分割,从而获取车牌上的字符,是车牌字符识别的前提和准备。车牌字符分割的好坏,直接影响到识别效果的好坏。在车牌识别系统中,由于车牌污染、背景复杂、光照不均匀、车牌发生倾斜、边框影响以及间隔符等因素影响,很难找到一种普遍使用的分割方法。
车牌区域定位完成之后,由于提取出来的车牌区域内的车牌图像可能存在倾斜现象,因此,在车牌字符分割之前,需要判断车牌图像是否倾斜。在车牌倾斜的情况下,需要准确的求得车牌的倾斜角度,然后把发生倾斜的车牌校正过来,为接下来的字符分割创造条件,这就是车牌的倾斜校正。常用的倾斜校正算法包括Radon变换、Hough变换。在车牌的倾斜校正完成之后,需要去除车牌的上下、左右边界,然后才能把车牌上的字符一个个的分割出来,得到一个单独的车牌字符图像,为后续的车牌字符识别做好准备,即车牌的字符分割。
在车牌的字符分割中,有许多因素会对车牌的字符分割造成影响,例如图像的噪声、车牌的定位不精确、字符的粘连、汉字的不连通等。本文介绍一种改进的水平投影算法,该算法能够克服这些因素造成的不良影响,并且能够准确的分割出车牌,为后续的精确识别做好准备。为了分割出相互独立的字符,对经过Otsu算法阈值化的灰度图进行分割。
以下以改进的水平投影算法为例进行介绍:
1、去除车牌字符的上下边界以外的区域。对灰度化的车牌图像从下向上逐行扫描,并统计出每行的像素值为255的像素的个数,当像素值为255的像素个数大于7时(车牌有7个字符),认为寻找到车牌字符的下边界。同理,从上向下逐行扫描,能够寻找到车牌字符的上边界。去除车牌字符上下边界以外的区域。去除车牌字符上下边界之后,设车牌的高度为height,宽度为width。
2、对车牌图像从左向右逐列扫描,并记录统计出每列的像素值为255的像素的个数,并将结果保存在一位数组count[width+1]中,其中count[i]用于存储第i列像素值为255的像素的个数。
3、我国车牌的第一个字符是汉字,根据汉字的特征,设置两个阈值去分割车牌的第一个汉字字符,两个阈值分别为threshold1,threshold2。从左向右扫描灰度化的车牌图像,第一个大于阈值threshold1的列,即为汉字的开始位置,记为S然后,继续扫描车牌图像,直到寻找到小于阈值threshold1的列,记为H,比较这两列的宽度H-S与threshold2的大小,如果H-S
4、剩下的字符都是英文字母和阿拉伯数字,这些字符不存在不连通性的问题,于是,仅仅利用第一个阈值threshold1就可以分割出车牌剩下的字符。
5、当车牌的第一个汉字字符被分割出来之后,继续扫描车牌区域图像,当某一列的像素值为255的像素个数开始大于阈值threshold1时,这一列就是车牌字符开始的位置,当某一列的像素值为255的像素的个数开始小于阈值threshold1时,这一列就是车牌字符的结束位置。如此重复的下去,直到把车牌剩下的字符也分割出来为止。
②对提取的车牌字符特征进行归一化操作
从输入的车牌图像中提取的车牌的尺寸不一样,这就造成了分割出来的车牌字符的尺寸不一样,为了更好的识别车牌字符,在本文中,对车牌字符进行归一化处理,使得经过不同图像获得车牌车牌在字符分割后,所获取的车牌单个字符图像大小都为5×10像素。
车牌字符识别算法的研究
车牌的字符识别是车牌识别系统能够最终实现的关键因素,是对经过车牌定位和车牌字符分割后的一个个车牌字符进行识别。车牌识别系统中的字符识别与其它的字符识别相比,有其自身的特点,主要由以下方面的不同:车牌识别系统中字符的字量少,包括汉字、英文字母、数字,并且字型统一,相对于普通的汉字识别难度相对较低;从系统的实用性角度来看,作为一个实时的系统,它要求有较高的识别速度,这就决定了字符识别算法计算必须足够高效;同时,它还要求有很高的识别率,并且最低限度减少错误识别率。
①基于模板匹配的字符识别算法
该算法的步骤是,首先建立模板库,将待识别的字符进行二值化并将其归一化操作,然后作为输入模式的字符与所有的模板进行匹配,最后选择最佳匹配作为结果。算法的优点是,在预处理后的图片质量较高、车牌的倾斜程度较低、车牌的纹理特征清晰的情况下,这种算法识别的准确率较高,但是对字符细节信息的忽略导致了在识别相似字符时容易出错。在实际的车牌识别系统中获取的车牌,往往由于拍摄角度的不同、车牌污损、光照不均等原因造成了二值化后的字符会出现形变、粘连、断裂、细节模糊等情况,这些原因导致了模板匹配在车牌字符识别上的局限性,尤其是停车场车牌识别系统。停车场环境下,车牌图像受到光照的影响较大,为了提高字符识别的准确率,通常在停车场车牌识别系统中很少采用这种算法。
②基于特征统计匹配算法
基于特征统计匹配算法主要原理是先提取输入模式的车牌字符统计特征,再按照一定的规则与所确定的决策函数进行分类判断。字符的统计特征包括像素块数、字符的轮廓数、轮廓的形状等。像素块是指二值化图像中上、下、左、右四个方向上相互连通的所有白素区域所组成的一个连通区域的像素块,由此可知,汉字字符的像素块大于1,英文字母和数字的像素块数是1。
汉字的识别是将字符点矩阵看作是一个整体,根据每个字符的笔画特征点不同,将字符分解为横、竖、撇、捺等一种或几种的组合,经过统计从而得到相应的特征,接着再与字符库中的特征集进行匹配,获取输入字符的识别结果。在实际的应用中,由于外部原因造成了字符常常会出现模糊、倾斜等情况,导致了部分字符无法正确识别。
③基于分类器的字符识别
基于分类器的字符识别,是目前应用较广的一种车牌识别方式。其主要的思路是通过对样本数据的学习,达到自动将数据分类到已知类型。分类器其实是一种数学模型,目前有很多类型的分类器,包括Bayes分类器、决策树模型、BP神经网络分类器等。贝叶斯分类器的分类原理是通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类。也就是说,贝叶斯分类器是最小错误率意义上的优化。
贝叶斯分类器的特点是:
1)贝叶斯分类并不把一个对象绝对地指派给某一类,而是通过计算得出属于某一类的概率,具有最大概率的类便是该对象所属的类;
2)一般情况下在贝叶斯分类中所有的属性都潜在地起作用,即并不是一个或几个属性决定分类,而是所有的属性都参与分类;
3)贝叶斯分类对象的属性可以是离散的、连续的,也可以是混合的。贝叶斯定理给出了最小化误差的最优解决方法,可用于分类和预测。但在实际中,它并不能直接利用,它需要知道证据的确切分布概率,而实际上我们并不能确切的给出证据的分布概率。因此我们在很多分类方法中都会作出某种假设以逼近贝叶斯定理的要求。决策树(decisiontree)一般都是自上而下的来生成的。每个决策或事件(即自然状态)都可能引出两个或多个事件,导致不同的结果,把这种决策分支画成图形很像一棵树的枝干,故称决策树。决策树就是将决策过程各个阶段之间的结构绘制成一张箭线图,我们可以用下图来表示。
④决策树模型
决策树模型的特点:
1)与其他分类算法相比,决策树模型有以下优点:可理解性强、速度快。
剪枝是一种克服噪声的技术,同时它也能使树得到简化而变得更容易理解。另外,决策树技术也可能产生子树复制和碎片问题。当然,不同分类器对于一些分类有着不同的分类精度,因此我们在处理一些实际问题时,可以根据实际问题的分类属性和各种分类器的特点来选择相应的分类器,从而得到较高的分类精度。