热点推荐词:

常见问题

自然场景下的车牌检测与识别算法

文字:[大][中][小] 手机页面二维码 2019/3/5     浏览次数:    
  自然场景下的车牌检测与识别算法
  摘要:车牌自动识别是智能交通系统的关键技术之一,主要包括车牌检测和字符识别两部分。为提高车牌检测速度和精度,本文提出了一种基于学习、由粗到精的车牌检测方法。首先采用颜色点对和垂直边缘相结合的方法,快速检测出车牌感兴趣区域;然后采用一种基于梯度方向直方图特征和支持向量机的机器学习方法实现车牌的精确定位。在车牌识别阶段,首先采用基于连通域分析与字符固有特征相结合的方法进行字符分割,然后根据字符结构提取3种稳定且有效的特征,采用支持向量机对分割的字符进行识别。采用上述方法对412幅不同角度、不同光照条件、不同时间段下拍摄的图像进行检测与识别,实验结果表明本文提出的算法精度高、鲁棒性好、识别速度符合实时性的要求。
  关键词:颜色边缘;车牌检测;支持向量机;字符识别;连通域分析;
  1引言
  车牌是车辆的唯一标识,具有特殊性和重要性。因此,车牌自动识别是智能交通管理系统中的关键部分。此外,基于图像的车牌识别方法具有非接触式、不需要在车辆上额外安装附加设备等特点,拥有更加广泛的应用前景。但目前提出的算法大多针对拍照角度、拍摄距离基本一定、光照条件好的应用场合,如不停车收费系统、停车场车辆自动管理等。而对于交通流量、交通安全等方面的监控系统等应用,则需要针对自然场景下的车牌识别技术。
  车牌自动识别系统主要包括车牌检测和车牌识别两部分。车牌检测常见的方法[1]有以下几种:
  (1)基于颜色分割的方法。此类方法采用颜色阈值实现车牌检测。一般先将图像从RGB彩色空间转换到HSV颜色空间,再根据阈值分割将车牌与背景分开。当车牌周围出现与车牌颜色相差不大的区域时,难以保证检测的准确率。(2)基于边缘检测和数学形态学的方法。对图像进行形态学处理突出车牌区域,然后对增强图像进行边缘提取,最后统计窗口内的边缘数定位车牌区域。该类方法简单,快速,但是对于车牌以外边缘同样敏感,误检率较高。(3)基于小波变换的方法。将图像转换为索引图像,对索引图像进行小波变换得到不同子带下的小波系数。根据车牌区域的小波系数幅值大,密度高的特点,设定阈值去除非车牌区域的小波系数,从而定位车牌。该方法在噪声较小的情况下定位效果较好,分割精度高,其缺点是检测速度较慢,在噪声大的情况下误检率增大。(4)基于机器学习的方法[2]。此类方法一般采用一个滑动窗口在灰度图像上依次移动,将窗口所包含的图像作为分类器的输入,判断该窗口是否为车牌区域。逐点扫描的方式以及基于学习的分类器使得该类方法的定位准确率高。但是在整幅图像上进行多尺度窗口扫描,运算量较大,检测速度较慢。
  为了兼顾车牌的定位速度和定位准确率,本文提出了一种从粗到精、基于学习的车牌检测方法。
  首先利用车牌的颜色信息和边缘信息快速检测出车牌候选区域,再利用梯度方向直方图和支持向量机(SupportVectorMachine,SVM)对候选区域进行筛选,从而实现车牌区域的快速精确定位。
  针对精确定位的车牌区域的字符进行识别,主要包括字符分割和字符识别两部分。常用的字符分割方法有三种:水平投影法[3]、模板匹配法、连通域分析法[4]。水平投影法算法简单,运行速度快,但是对于字符的粘连问题和字符的断裂问题效果较差;模板匹配法的运行速度快,且有效的解决了字符不连通问题,但是其设计逻辑复杂,对于左右边框的分割效果较差;连通域分析法可以有效的解决字符的倾斜问题,但是对于汉字字符的一些分离问题也得不到解决。为了有效地分割出车牌中的每个字符,本文提出了一种基于连通域分析和车牌字符固有特征相结合的方法实现精确的字符分割。
  目前字符识别方法主要包括模板匹配法和基于机器学习的方法。模板匹配法是最直接的字符识别方法,该方法识别速度较快,但是对噪声敏感,鲁棒性较差,因此对自然场景中摄取的车牌识别率不高。基于机器学习的方法识别率高,抗干扰性能好,但需要对字符提取合适的特征以提高准确率和运算速度。
  为了进一步提高车牌的识别率,本文根据中国民用汽车车牌的标准格式,提出了一种基于多特征多分类器的字符识别方法。具体而言,对于车牌中结构复杂的汉字,提取高维特征;对于结构相对简单的数字和字母则提取低维特征。对其分别采用相应的分类器实现车牌字符识别。在系统分类器方面,由于SVM能够在训练样本较少的情况下达到很好的分类推广能力,不仅降低了车牌字符训练样本收集复杂性,同时也提高了识别精度。为此,本文采用SVM作为字符识别的分类器。
  2车牌检测
  本文提出算法的主要流程如图1。首先对输入图像进行预处理,实现车牌的精确定位。然后进行字符分割和识别。车牌检测是系统的第一步,也是非常重要的一步。
  我国车牌具有一些显著特征,其中最主要的是颜色特征、纹理特征。颜色特征是指具有固定的颜色搭配,即蓝底白字、黄底黑字、白底黑字、白底红字、黑底红字五种固定组合,且车牌区域具有丰富的字符纹理特征。本文针对使用量最大的蓝底白字车牌,提出一种由粗到精的基于学习的车牌检测算法,如流程图2所示。
  2.1粗检测粗检测阶段主要分为颜色点对提取[5],形态学处理,连通域分析三部分。为了提高粗检测阶段的召回率,避免出现漏检情况,若检测出的颜色点对区域过小无法提取候选区域时则提取垂直边缘进行车牌候选区域的提取。
  2.1.1颜色点对提取车牌由文字、字母和数字组成并依次排列,具有较强的边缘特征。车牌一般包含两种颜色即车牌背景色与文字颜色。对于蓝底白字类型的车牌,分布在车牌字符的边缘位置的蓝-白点对(即左边为蓝色点右边为白色点和左边为白色点右边为蓝色点形成的一对点)是车牌区域的一个显著特征。
  为此,本文采用了先进行边缘提取、再提取蓝白颜色点对区域的方法实现候选车牌区域检测。
  具体而言,首先将RGB彩色图像转换成灰度图像,使用Sobel算子提取边缘,在边缘点对应的彩色图像相应位置提取蓝白边缘点对,并将距离小于阈值T的两个颜色点对进行连接,即将车牌文字区域的像素点赋值为1,其背景区域的像素点赋值为0,生成一幅二值图像。
  采用的阈值是通过对从412幅图像中任意选取的200幅图像测试而得。阈值的大小为5。
  图3车牌区域特征点提取Fig.3Featurepointextractionofplateregion2.1.2形态学处理由于颜色点对的提取对阈值有一定依赖性,不可避免地会出现一些小的噪声,可能会影响后面的结果,因此需要采用形态学处理去除噪声等影响。
  本文采用和车牌长宽比相似的矩形结构元素进行闭运算以获取车牌候选区域的连通域。矩形结构的大小分别采用3×5,5×7,7×9,对200幅图像的测试结果表明,5×7的效果最优。
  图4形态学处理Fig.4Morphologicalprocessing2.1.3连通域分析形态学处理之后会形成若干个连通区域[6]。
  由于附属在车上的停车证、年检证等在形状和颜色等方面和车牌有一定的相似性,经过上述处理后,形成了伪车牌区域。一般而言车牌具有规范的长宽比,为此本文根据车牌的结构以及车牌的宽高比(R)、面积(A)、宽度(W)、高度(H)、密度(D)等参数去除伪车牌区域、保留感兴趣车牌区域。为后续的车牌精确检测和识别提供基础。
  根据对小型民用车车牌的标准样式以及从412幅实验图像中任意选取的200幅图像的车牌区域粗检测实验,同时采用粗检测阶段可以误检但不能漏检的策略,得出以下参数:
  A=W×H>500(1)W>50,H>15(2)2<R=W/H<5(3)D>0.5(4)当连通区域的属性满足上述条件时则判定为车牌候选区域,否则判定为非车牌区域。若车牌候选区域个数为0,则返回原图对其进行垂直边缘统计,再进行感兴趣区域提取。图5给出了车牌区域粗检测结果。从图中可看出,成功检测了车牌区域,但同时也包含了疑似区域。
  2.2精确检测通过测量感兴趣的中心像素点的收敛度,通过基于颜色特征的粗检测得到了车牌的候选区域。
  但自然场景下的车牌图像由于受光照、拍摄角度、天气等影响,车牌区域的精确定位难度很高。由于基于学习的方法可以利用收集典型样本对分类器进行训练并通过提取候选区域的纹理特征进一步提高定位精度。因此,本文采用基于学习的方法对已经获取的车牌候选区域及其周边区域进行分类从而实现车牌区域的精确定位。
  为了去除角度的干扰,首先需要对车牌候选区域进行倾斜校正。
  2.2.1倾斜校正一般水平倾斜对于车牌检测的影响较大,这里只考虑水平倾斜校正的方法。倾斜校正的方法主要包括:(a)霍夫变换:通过寻找图片中的矩形区域或者最长直线来计算角度。(b)旋转投影法[7]:旋转车牌图片,找出垂直方向上两个峰值的最小距离对应的旋转角度即车牌的倾斜角度。(c)主成分分析法[8]:通过分析边缘图像的主元素方向来确定车牌的倾斜角度。(d)方差公式推导[9]:该方法是基于正置图像的投影图像边缘点的方差最小的原则来确定倾斜角度的。
  本文使用40幅图像对上述方法进行倾斜校正实验,结果表明,采用旋转方差公式推导法对车牌进行倾斜校正有较好的效果。
  2.2.2精确检测梯度方向直方图(HistogramOrientationGradient,HOG)特征是一个计算和统计图像中局部区域梯度方向直方图的特征描述子。该特征将图像分成若干个小的连通区域,将每一个连通区域看作一个细胞单元(cell),统计各细胞单元中每个像素的梯度方向直方图,将统计的结果形成一个特征描述子。HOG特征在文字识别[10]、交通标志识别[11]等领域被广泛应用,取得了很好的效果。鉴于车牌区域的精确定位依赖于其包含文字的这一特点,本文采用HOG特征描述车牌区域。
  车牌候选区域HOG特征的计算主要分为五部分:
  (1)为降低图像局部区域的阴影和光照变化造成的影响,需要对候选区域图像进行灰度化和灰度归一化处理;(2)计算图像中每个像素的梯度,首先采用算子[-1,0,1]和[-1,0,1]T分别计算出像素点水平方向的梯度大小Gx(x,y)和垂直方向的梯度大小Gy(x,y),最后计算出每个像素点的梯度大小G(x,y)和方向α(x,y);Gx(x,y)=F(x+1,y)-F(x-1,y)(5)Gy(x,y)=F(x,y+1)-F(x,y-1)(6)G(x,y)=槡Gx(x,y)2+Gy(x,y)2(7)α(x,y)=tan-1Gy(x,y)Gx(x,y)(8)(3)本文将图像分为若干个大小为7×6个像素的细胞单元(cell)。将每个cell的梯度方向180°分为9个方向块(忽略正负方向),并对cell块中每个像素用梯度方向在直方图中进行加权投影,即可得到该cell的9维特征向量,如图6(a);(4)将细胞单元组合成大的块(block),并在块内进行梯度直方图归一化。一个block内所有cell的特征向量串联起来便得到该block的HOG特征,如图6(b)。将所有block的HOG特征排成一列即为总的HOG特征。
  图6计算HOG特征Fig.6HOGfeaturecomputation根据上述方法可计算出候选区域的HOG特征。
  图7分别给出车牌区域与非车牌区域的HOG特征的可视图。由图可看出,HOG特征可以有效地表征车牌区域的轮廓和纹理特征。
  SVM是一种基于统计学习理论的分类器。由于其最终决策函数只由少量的支持向量决定,在训练时只需要选取关键样本,因此SVM是一个简单且鲁棒性很好的分类器。自然场景下的车牌图像复杂多变、难以获得大量的典型样本。为此,本文采用SVM作为车牌区域精确定位的分类器,采用上述的HOG特征作为分类器的输入。
  本文收集整理了310个正样本和330个负样本对SVM分类器进行训练,其中正样本为车牌所在区域截取图像,负样本则为不包含车牌区域的背景区域。为获得大小和位置精确的车牌区域,本文在已获取的车牌候选区域进行尺度放缩和位置的绕动。首先根据候选区域的长宽比,选取三个不同尺度的扫描窗口,同时对每个尺度对应的图像进行位置扰动(即在候选区域左上角点的周围进行图像的移动和旋转)得到不同的图像,计算该图像中每个区域的HOG特征,通过SVM分类器进行判决,最后选取权重值最大的区域为车牌区域。如图8所示。
  图8车牌候选区域尺度缩放和位置的绕动Fig.8Scaletransformationandpositionperturbationofplatecandidateregion图9给出了部分检测结果,其中红框代表粗定位的结果,绿框代表经过基于学习的方法精确定位的结果,实验结果表明基于学习的方法提高了车牌区域定位的精确度。
  图9车牌检测Fig.9Licenseplatedetection3车牌字符识别
  车牌字符识别主要分为字符分割和字符识别两部分。车牌精确定位之后,本文采用一种连通域分析和车牌字符固有特征相结合的方法实现字符分割,然后针对不同类型的字符提取不同特征,采用SVM对字符进行识别。
  3.1字符分割首先对车牌图像二值化,去除车牌的上下边框之后提取车牌图像中的各个连通区域。对各连通区域进行标记,并根据连通区域的宽度和高度对粘连字符进行分割,对断裂字符进行合并从而得到车牌后6个数字字母的位置。之后根据数字字母的宽度和位置信息推导出汉字的位置,实现所有字符的分割。图10给出了部分字符分割结果,红框代表先分割出的字母和数字,绿框代表根据车牌特征分割出的汉字区域。
  图10字符分割Fig.10Charactersegmentation3.2字符识别对分割的字符进行识别从而实现车牌的识别。
  我国标准车牌的字符排列顺序为汉字、字母和字母或数字,如图11所示。为提高车牌识别准确率,本文分别采用汉字分类器、字母分类器、数字和字母分类器对不同类型的字符进行识别。
  791信号处理第32卷图11民用小型汽车车牌标准样式Fig.11Standardformofcarlicenseplate3.2.1车牌字符图像预处理与特征提取为提高字符识别率,在字符识别前需要对字符进行一些预处理,如二值化、尺寸归一化。对字符图像二值化是为了方便计算字符的统计特征,又由于分割后的单个字符的尺寸大小都不一样,所以需要进行尺寸归一化。
  经过预处理后,字符变成了大小相同,顺序排列的一系列字符。字符的特征提取对字符的精确识别至关重要。而车牌区域包含汉字、字母和数字三种字符。为提高识别率和识别速度,本文提出了一种针对不同类型字符提取不同特征的车牌字符识别方法。对于结构比较复杂的汉字,提取字符的网格特征和字符的笔画特征,由此形成的特征向量不仅保证了字符的全局特征,而且体现了字符的局部细节。具体而言,首先将36×24的点阵均匀地分成6行4列的24个网格,每个网格提取4个笔画结构特征,则每个汉字字符生成的特征向量的维数为96。而对于结构比较简单的数字和字母,本文根据十三点特征的原理,将36×24的点阵均匀地分成4行4列16块,统计每块内的白色点像素个数,并生成16个特征;然后分别统计水平方向中间两行和边缘两行的白色像素个数以及垂直方向中间两列和边缘两列的白色像素个数生成8个特征,统计总的白色像素生成1个特征,计算Hu不变矩得到7个特征,最后每个数字字母字符生成一个32维的特征向量。
  3.2.2字符识别的SVM算法实现SVM是一个二分类分类器,但是车牌字符识别是一个多分类问题,所以必须将多分类问题转换为二分类问题进行识别[12]。本文采用一对多方法进行分类器设计,即每个分类器只将一个字符与其余的字符分开,训练时该字符样本的标号为+1,其余字符样本的标号为-1。本文一共选取常规汉字字符24个,需构造24个SVM,字母24个,需构造24个SVM,数字和字母34个,需构造34个SVM。
  4实验结果与分析
  为检测算法的有效性,本文采集了自然场景中的车牌图像。实验数据库由412幅图像构成,包含了不同车牌倾斜角度(-20°~20°)、不同时间段(清晨、中午、夜晚)、不同光照条件(晴天、阴雨)等的图像。大部分图像拍摄于比较复杂的环境下(如周围有许多类似车牌的干扰区域)、部分图像存在车牌变形、模糊等情况。图像采集装置是CannonEOS600D,自动对焦模式下采集了412幅图像。实验中处理平台是Lenovo台式机,处理器频率为2.66GHz,内存大小2GB。
  为了评估本文算法性能,将车牌检测率和车牌识别率作为评估准则。具体计算公式如下:
  车牌检测率=正确定位的车牌数量总的车牌数量车牌识别率=所有字符正确识别的车牌数量总的车牌数量(9)其中正确定位车牌是指定位的区域包含了完整的车牌区域。所有字符均正确识别是指车牌中的七个字符全部正确识别。
  4.1车牌检测为了验证本文提出的检测方法的有效性,本文针对412幅图像进行了两组车牌检测实验,第一组实验直接根据车牌的颜色特征检测车牌的候选区域,然后在候选区域的基础上提取HOG特征,最后通过SVM分类器进行分类。第二组实验则是首先提取图像的边缘信息,在边缘点附近搜索车牌颜色对区域,得到候选区域,提取候选区域的HOG特征,采用SVM分类器对该候选区域进行分类。两组实验结果如表1所示。结果表明:在边缘图像对应位置进行车牌区域的定位在保证车牌定位准确度的基础上大大提高了检测速度。
  图12给出了部分正确检测的图像。可看出本文提出的检测算法对于光照、拍摄角度、倾斜等具有良好的鲁棒性。
  图12车牌正确检测示例Fig.12Examplesoftruedetection图13给出了未能正确检测的15幅图像。可以看出,误检主要是由于图像中包含了类似于车牌区域的字符笔画或者图像纹理复杂;漏检的主要原因是车牌区域反光严重、模糊或者车牌缺损。通过增加不同环境和不同形变的车牌作为训练样本可以进一步提升车牌检测率。
  图13车牌检测失败示例Fig.13Examplesoffalsedetection4.2字符识别本文采用基于连通域分析和车牌固有特征结合的分割方法对精确定位的车牌区域进行字符分割,分割正确率为99!。为字符识别打下了基础。
  首先从412幅实验图像中任选200幅图像,从中分割出的车牌字符作为训练集,剩余的212幅作为测试图像。为验证本文提出的针对不同字符类型提取不同特征的混合特征方法,进行了三组实验,即所有字符均采用逐像素点特征或Gabor特征和不同字符类型采用不同特征。实验结果如表2所示。结果表明,本文提出的针对不同字符类型提取不同特征的混合特征方法不仅提高了识别精度,还提高了识别速度。
  表2车牌单个字符识别结果Tab.2Resultsofsinglecharacterrecognition特征提取法字符识别率逐像素点特征91.64!
  Gabor特征93.26!
  混合特征95.15!
  此外,为了获得最优的识别性能,本文分别采用了线性SVM、RBF-SVM以及Poly-SVM作为分类器,结合混合特征,针对字符识别进行了实验。结果表明,RBF-SVM的识别精度最高,但速度略慢。
  表3车牌单个字符识别结果Tab.3Resultsofsinglecharacterrecognition分类器字符识别率识别时间/ms线性SVM94.74!30RBF-SVM95.15!55Poly-SVM94.90!45综上,212幅测试图像车牌区域所有字符均可以正确识别的图像为191幅,即车牌识别率为90.1!。由此可见,本文提出的车牌识别算法针对自然场景下的车牌识别精度高,同时,对于光照、拍摄角度等具有良好的鲁棒性。
  5结论

  本文针对自然场景下的车牌识别进行了深入的研究。提出了一种基于学习、由粗到精的车牌检测方法。首先采用颜色和边缘特征快速检测出车牌感兴趣区域;然后采用一种基于梯度方向直方图特征和支持向量机的机器学习方法实现车牌的精确定位。在车牌识别阶段,采用基于连通域分析与字符固有特征相结合的方法进行字符分割,根据字符结构稳定且有效的特征,通过支持向量机对分割的字符进行识别。实验结果表明本文提出的算法精度高、鲁棒性好、识别速度符合实时性的要求。


本文由 安徽车牌识别系统 整理编辑。

返回上一步
打印此页
在线咨询
在线客服:
133 3565 4420

请扫描二维码访问手机站

[向上]