热点推荐词:

常见问题

基于SIFT特征匹配的车牌识别方法

文字:[大][中][小] 手机页面二维码 2019/3/1     浏览次数:    
    基于SIFT特征匹配的车牌识别方法
    摘要:针对智能交通系统中基于视觉的车牌识别中存在的依赖于光学字符识别以及在复杂环境下准确率低的问题,提出了基于SIFT特征匹配的车牌识别方法。通过基于插值的超分辨率图像重建方法对车牌图像进行预处理,基于轮廓特征对车牌进行定位,通过SIFT特征匹配的方式,利用模板库中的车牌字符模板对车牌进行定位验证以及字符识别。实验结果表明该方法能有效提高车牌识别的效率。
    关键词:尺度旋转不变特征描述算子(SIFT)特征匹配;车牌识别;智能交通系统;
    引言
    车牌识别技术(VehicleLicensePlateRecognition,)是指通过视觉传感器检测受监控路面的车辆并自动提取车辆牌照信息(包括汉字、大写英文字母、阿拉伯数字和车牌颜色等),并且进行相应处理的技术。车牌识别是智能交通系统(IntelligentTransportationSystem,)中的重要组成部分之一,有着广泛的应用场景。同时其研究涉及计算机视觉、模式识别、机器学习等学科,需要面对这些学科中研究的诸多难点;因此开展此问题的研究有重要的理论研究意义和广阔的社会应用价值。
    目前对车牌识别的研究主要分为两种方法:基于光学字符识别的方法和基于视觉的字符识别方法。由于基于光学字符识别的方法在很多智能交通系统中的局限性,基于视觉的字符识别方法[1]成为了当前国内外研究的热点。基于视觉的字符识别方法中,常用的方法有:基于模板匹配的方法和基于轮廓特征的方法。呙润华等[2]提出了基于BP神经网络的模板匹配方法用于车牌识别;陈玮等[3]提出了基于欧拉数的模板匹配方法用于提高模板识别的准确率。而针对模板匹配方法存在的问题,王磊等[4]提出了基于双边缘特征的车牌识别方法;马爽等[5]通过多特征提取的神经网络进行车牌识别。与这些方法不同的是,本文提出了基于SIFT特征匹配的方法进行识别。相比于模板匹配的方法,这种方式采用局部特征的方式,对复杂环境下的车牌识别问题更加鲁棒;而相比于边缘轮廓等特征,SIFT特征已经经过了许多视觉任务的检验,更加稳定,匹配效果更好。
    一般来说,车牌识别方法包括以下几个步骤,如图所示:车辆图像预处理、牌照分割以及字符切分和字符识别。采集车辆图像的环境往往很复杂,受到很多因素影响,如天气,光线等;进而使得采集到的图像不够清晰。为了能够有效地识别车辆和车牌,一般先采用一定的图像预处理对图像进行预处理,以消除对后面识别有影响的各种噪声。牌照定位是指在待处理的图像中将牌照的位置标示出来,当然对于多个车牌,需要能够同时都进行分割。字符切分是将图像中定位的牌照区域中的字符一一切割出来。而字符识别是对切割出来的牌照字符图像进行识别,转化为文本。

    车牌识别往往需要车辆运动的情况下采集图像,汽车的高速运动会使得采集到的图像上存在噪声和模糊等情况,传统的车牌识别方法依赖于准确的车牌定位和有效的光学字符识别。而在复杂环境中准确定位目标是模式识别中的一个难点,车牌的定位往往存在很多错误,从而影响最后的车牌识别。并且在复杂的图像中,实现准确有效的光学字符识别也存在难度。因此在本文的方法中,通过超分辨的图像构建方法先得到较为清晰的图像;提出了基于SIFT特征匹配[6]的车牌自动识别,避免使用光学字符识别,如图2所示。首先对采集到的连续图像,通过插值的方式进行图像重建;对重建好的图像进行预处理;然后通过图像的边缘特征进行车牌的定位;由于使用边缘特征进行定位时,存在着大量非车牌区域,因此,定位时,通过与模板库中字符图像的匹配对定位的结果进行验证和剔除;最后根据匹配结果识别出字符。

    相关研究介绍
    牌照分割方法一般地,在车牌识别之前,首先要在待处理图像中进行牌照分割。牌照的快速准确定位是车牌识别中至关重要的一步,然而牌照分割往往受到复杂环境,如噪声、光照变化、视角变化等因素的影响,高效的牌照分割实为不易。近几年来,许多国内外研究者根据不同的应用场景,提出了不同的车牌定位算法,其中比较经典的算法有:基于颜色特征的方法[7]、基于轮廓特征的方法[8]、基于数学形态的方法[9]等。
    字符切分和字符识别车牌字符识别是在牌照分割的基础上进行的,与印刷体字符识别、手写体字符识别类似。受实际环境的影响,采集到的车牌图像中存在噪声、字符断裂、字体模糊、污渍、视角等问题,传统的字符识别方法并不能有效地直接应用到牌照识别中。针对牌照字符的特点,研究者提出了许多的解决方法,一般车牌字符识别分为2个步骤:字符切分和字符识别。
    基于投影分割的方法是字符切分中常用的方法:首先对分割到的牌照区域进行二值化,在行或者列进行投影,得到像素的行分布和列分布;根据分布的峰值进行字符切分。投影分割的方法往往与其他操作相结合,如等[10]将投影分割与数学形态分析相结合,提出了自适应字符分割方法,该方法能在图像质量较差的图像中得到较好的结果;Kim等[11]将轮廓分析和跟踪方法与投影方式相结合实现字符的分割。此外,字符切分的方法还有基于连通域分割的方式。
    而目前主要的字符识别可以分为三类:基于模板匹配的方法、基于统计分类器的方法以及基于特征点匹配的方法等。
    童剑军等[12]提出了一种“子区域权值模板”的车牌字符识别方法,将牌照分为6个不同的子区域,根据不同的权重进行识别;魏武等[13]也提出一种基于模板匹配的车牌识别方法;另外马俊莉等[14]也通过构造字符模板库,将待识别的字符图像与模板库中的标准模板进行匹配,从而实现车牌识别。基于模板匹配的方法主要适用于无旋转、形变以及尺度变化的字符。
    基于统计分类器的方法也是字符识别中常用的方法,如隐马尔科夫随机模型(HMMs)[15]、SVM等[16]。随着人工神经网络近些年来被成功应用到模式识别领域,在车牌字符识别中也提出了许多基于人工神经网络的方法,如Anagnostopoulos等[17-18]将概率神经网络(PNNs)[19]应用到车牌识别中,在含有噪声的样本得到了较好的准确率。
    许多有效的图像局部特征应用到目标识别中。
    刘维一等[20]在模板匹配的基础上,根据车牌的特点,提出了特征点匹配的识别方法,根据得到的特征点对各字符编码;Lee等[21]也通过提取灰度图像的字符特征进行字符相似度计算;这类特征点匹配的方法相比模板匹配算法,能更好地获得字符特征,但是其过程相对复杂。
    本文对于字符的识别也是采用特征点匹配的方式实现。
    其中SIFT特征匹配方式是目前图像匹配中应用最广泛和有效的方式之一。
    特征特征是图像处理最为经典的不变性特征,被常常应用到图像处理,目标识别中。SIFT特征[6]于年Lowe在ICCV上提出,是一种尺度旋转不变特征描述算子(ScaleInvariantFeatureTransform,SIFT),其计算过程主要包括以下几个步骤:
    (1)首先构建尺度空间,检测极值点,以实现特征点的尺度不变性。对于尺度空间的构建,一般采用高斯核。
    不同于传统的特征点检测方法,SIFT方法使用了(Difference-Of-Gaussianfunction)进行兴趣点检测,从而得到稳定的关键点。
    (2)对候选特征点过滤并进行精确定位。
    由于DOG值对噪声和边缘较为敏感,因此在上面检测到的特征中可能包含有噪声,需要经过进一步的检验和筛选才能确定为特征点。
    为了提高关键点的稳定性,对尺度空间DOG响应函数进行曲线拟合,利用DOG响应函数在尺度空间的展开式分别对图像的行、列和尺度三个量进行修正,去除低对比度的极值点。
    除了去除低对比度的极值点外,DOG响应函数在图像边缘有较强的边缘响应,因此还需排除边缘响应点。
    (3)计算特征向量。
    在特征点检测的基础上,以特征点为中心,在一定范围的邻域内进行计算,生成特征向量。在SIFT中,采用梯度方向直方图作为特征向量。每45°为一个bin,将整个空间分为8个bin,每个bin的值代表该方向上梯度的幅值。计算邻域内每个点的梯度方向,将其投票到对应的bin上。在直方图统计时,每相邻3个像素点采用高斯加权,Lowe等[6]采用的是[0.25,0.5,0.25]的模板连续加权两次。同时,将极值点周围区域梯度直方图的主峰值作为兴趣点的主方向;如果还存在另一个相当于主峰值80%能量的峰值时,将其作为兴趣点的辅方向,增加描述的稳定性。
    对于邻域的生成,SIFT特征是以兴趣点为中心的σ?15σ区域分为的5?5小格,以2?2的区域作为一个单位,每个单位生成一个8维直方图向量,因此每个有4?4个单位,共生成4?4?8=128维的向量。
    基于SIFT匹配的车牌识别方法
    基于插值的超分辨图像重建对于给定的连续输入帧,在文本的方法中,通过双次插值的方式,从低分辨率的图像中构建出更高分辨率的图像。
    双3次插值(Bicubicinterpolation)是二维图像中比较常用的一种方式,它能比双线性插值得到的图像边缘更加平滑。对于图像上的点,根据其邻域范围内的像素点推导出插值后的新像素点。双3次插值可以看成是一个连续的插值函数,它的一阶偏导数连续,并且交叉导数处处连续,其计算方式如下:
    (1)一般地,邻域窗口的大小为4×4的大小,在图像空间上,新的像素点的值由这个邻域内的16个像素点推导而成。具体地,对于像素点(xy)周围邻域的16个点,跟双线性内插相似,先在某个方向上内插,再对于每个像素点依次处理。如先在x方向上求出f(xy-1)、y)、f(xy+1)、f(xy+2),再通过这3个像素点的计算结果在y方向上内插,得到f′(xy)。每一组4个像素点组成一个连续的内插函数。
    而在本文中,实际上除了(xy)两个方向外还有一个t方向;因此在实现线性插值时,将上述的2个方向扩展到3个方向。
    基于轮廓特征的车牌定位在得到的车牌图像上,本文根据车牌的轮廓特征进行车牌定位。通过分析发现汽车车身和背景往往是竖向轮廓;而车牌本身横向轮廓居多。根据这一个特点,本文使用如下方法进行车牌定位:
    (1)图像预处理。采用高斯滤波器进行平滑,消除图像上的噪声。
    (2)Sobel水平边缘检测并且二值化图像。一般在图像上包含着许多与目标无关的边缘信息,在本文的处理中,只检测水平边缘,剔除部分无用的边缘;然后对图像进行二值化,得到水平边缘图像。
    (3)形态学处理。汽车图像还存在一些无关的的轮廓,如车身、车灯等。需要有效排除这些干扰信息,并把相近的字符边缘连通起来。因此,本文中主要采用形态学操作来实现,即做闭合(先膨胀再腐蚀)开启(先腐蚀再膨胀)运算。膨胀可以把临近边缘连接成一个整体,腐蚀可以滤除一些细碎的边缘,经过形态学变换可以滤除噪声边缘,得到车牌区域。由于字符都是横向排列的,因此要连通这些字符只需进行横向的膨胀即可。
    (4)矩形轮廓查找与筛选。经过前面的操作,理论上来说车牌上的字符已经连通成一个矩形区域,通过轮廓查找可以定位该区域。当然,在本文的方法中实际上寻找的是在水平方向排列紧密的纵向边缘区域,将其连通成了一个矩形区域。在实际中,除了车牌符合这个特点外,其他一些部分,如路间栏杆,车头的轮廓也符合这些特征。因此会找到很多这样的区域,在此基础上,通过检测到的矩形区域与字符模板库中图像的匹配结果,对矩形区域进行筛选,最终,定位车牌所在的矩形区,如图3所示。
    基于SIFT匹配的定位验证和字符识别
    经过上面的处理,可以得到粗略的车牌定位结果。
    从图3的结果中可以看出,由于背景环境以及图像噪声的影响,可能得到错误的结果。为了更精确定位到车牌区域,同时有效地进行车牌识别,在本文的方法中,采用了SIFT特征匹配的方式对车牌的定位进行优化,同时实现字符识别。
    车牌字符模板库要进行SIFT特征匹配,首先建立字符模板库。在我国大陆地区,车牌中的字符由三部分组成:汉字、数字以及英文字母;其中汉字为各个省份的简写,如闽、浙、粤等。本文建立的车牌字符库如图4所示。
    本文的车牌字符库中包含了24个大写英文字母的图像(其中O和I,容易与数字0和1混淆,因而在车牌中不使用),10个数字(0~9)的图像,以及32个省份、直辖市的简写汉字图像。实际上,车牌中的汉字包括各个省份、自治区、直辖市的简写等。在本文的工作中,由于数据采集的受限,仅对商用、民用车牌进行识别,因而建立的车牌字符库中仅有32个汉字,其中23个省份的简写、5个自治区以及4个直辖市。本文所收集的这些字符图像来源于不同光照,拍摄角度,不同车辆的车牌图像;每个字符有15个模板。
    针对字符模板库中的每幅字符图像,计算其特征,结果如图5所示。在本文的方法中,SIFT特征为维,图5中给出了特征点的位置和方法。
    基于SIFT特征的车牌定位方法对于通过轮廓特征定位的车牌候选区域,在本文中,通过与模板库中字符的匹配结果,进行准确的定位,排除错误区域。
    算法1基于SIFT特征的车牌准确定位算法首先对候选区域进行SIFT特征检测。
    将候选区域与模板库中的字符图像进行特征匹配,统计其匹配的有效字符数Nm。其中对字符匹配有效的定义为:图像与字符模板匹配的SIFT特征点超过字符模板SIFT特征点数的50%。
    如果Nm>T,其中T为阈值,则认为该区域为车牌区域。而我国的车牌一般有7个字符组成,如“闽DXX123”;因此在实验中设置T=4。
    车牌区域与字符模板的匹配方法对于待检测的候选区域,首先计算其SIFT特征,然后将其与字符模板库的图像进行匹配。在文本的匹配中,采用欧式距离作为特征相似度的度量方式,在候选区域内的特征点Ci,要在字符模板图像的特征点中找到与之匹配的特征点,则必须满足以下条件:
    Mk)<Tm(2)其中,公式(2)中,Dist(CiMj)表示特征点Ci和特征点的欧式距离。
    从公式(2)中,可以看出,Ci和Mj这两个特征点匹配的条件是:
    (1)首先到Ci的距离必须是所有点对中最小的,或者说是相似度最高的;(2)同时,这个距离与距离Ci第二小的点Mi的距离的比值,要小于一定的阈值。
    至此,本文的方法已经可以实现特定字符与候选区域图像的特征匹配,如图6所示。
    从图6的匹配结果中,可以看到,每个字符的匹配结果中,存在一些错误匹配的结果,如图中的字符“闽”、“D”、“5”、“京”、“K”,“6”等。针对匹配中的这些错误,本文提出了相应的过滤策略:
    (1)在我国的车牌中,中文字符所在的位置在车牌的前端,因此在进行中文匹配的时候,将匹配点在距离车牌起始位置超过1/3的点排除掉。
    (2)对于其他字符,首先根据匹配点在水平方向的分布进行分割:统计字符在水平方向的分布,根据分布的波谷,将匹配点分割为若干区域,如图7所示。每个区域表示一个字符的候选区域。
    (3)对于每个分布区域,根据匹配点的空间一致性对候选区域进行筛选。所谓的空间一致性,是指所有的匹配点,在其所在的图像域中的相对位置要一致。例如在图6中,可以看到待识别图像在与字符“6”匹配时,有2个字符上有SIFT特征点与“6”的模板匹配,分别是“6”和“9”。
    对于匹配点在空间分布的一致性判定,在本文中采用的方法如下:
    (1)在原图和匹配图中选择一对相互匹配的特征点作为参考点,分别表示为p(xy)和-P(-x-y),分别计算原图和匹配图中每一个点相对于参考点的位移D(Dx和-D(DxDy)。
    (2)而两幅图像匹配点空间分布的一致性,在本文中,通过每个对应匹配点空间分布的差异来衡量,即pˉpˉi)=D(DxDy)×-D(DxˉDyˉDy)|*|-D(DxˉDyˉ)|(3)当匹配的特征点在空间中分布是一致的时候,-Pi)=1;反之,如果当匹配的特征点在空间中分布方向相反时;Consist(Pi-Pi)=-1。在最终确定字符位置时,选择空间分布一致性最高的区域为字符所在位置。
    在图6中,字符模板库图像“6”,与待识别图像中字符“6”所在区域匹配的特征点,坐标分别为:(77,20)—(6,61)、(85,24)—(13,64),共2个匹配对;而与待识别图像中字符“9”所在区域匹配的特征点,坐标分别为:(107,26)—(11,53)、(104,14)—(13,64)和(80,9)—(11,53),共个匹配对。在模板图像中,以点(77,20)为参考点,而在待识别图像中,以(6,61)为参考点;那么可以得到字符模板图像与待识别图像中“6”所在区域的匹配对在原图和待识别图像中的位移分布为:(8,4)、(7,3);其对应的一致性为:Consist“6”
    4)×(74|?|(73)|=0.9983;同理,可以得到字符模板图像与待识别图像中“9”所在区域一致性为:Consist“9”=0.7074;Consist“6”>Consist“9”,因此,选择“6”所在区域为最终匹配区域。
    实验和分析
    实验平台及数据库本文的实验是在Windows平台下,基于以及VS2010实现的。为了对本文提出的车牌识别方法进行验证,所需要的数据除了上文中说到的字符模板图像外,还需要相应的测试数据。在实验中,采用的测试数据库有三部分:在停车场进出口拍摄到的车牌图像(命名为数据集A);在室内停车场拍摄的车牌图像(命名为数据集B)以及在户外和网络上收集的包含汽车的图像(命名为数据集C),如图8所示。
    其中,停车场进出口采集的图像有517张;在室内停车场拍摄的车牌图像有110张;而在户外和网络上收集的包含汽车的图像有410张,测试数据一共有1037张测试图像,其中每张测试图像中,车牌区域的大小为全图的4%~15%。
    实验参数设置实验中,不同的参数会对实验的结果产生影响。在本文的方法中主要涉及到的参数有超分辨率图像重建时插值窗口的大小,SIFT特征计算时的参数,以及字符匹配时的一致性检验的阈值,具体设置如下:
    (1)超分辨率重建时,采用3方向的插值,插值窗口大小为4×4×4。
    (2)SIFT特征计算,采用Lowe算法[6]中的参数,其中构建尺度空间时,高斯参数初始值σ=1.6,特征维度为128。
    (3)对匹配字符时一致性检验的阈值。
    实验结果及分析实验中采用模式识别常用的评价标准来衡量本文所使用方法的有效性。本文使用准确率和召回率评价车牌定位的效果,而对于车牌的识别效果,采用识别率衡量。在这三个数据集上的测试结果如表1所示。
    召回率=#正确定位的车牌数量数据集中所有的车牌数量准确率=#正确定位的车牌数量定位到的所有车牌数量识别率=#正确识别的车牌号码的数量数据集中所有的车牌号码的数量(4)从表1的结果中可以看出,数据集A的结果最好,其次是数据集B,最后是数据集C。因为数据集A采集的环境在相对固定和简单的停车场内,拍摄角度固定;而数据集B和数据集A类似,但是数据集B的角度变化相对更多些;而数据集C的数据来源于复杂的环境,难度更大,如图9所示。
    同时,可以发现在基于轮廓特征的车牌定位方法的基础上,结合SIFT特征验证的方式,能有效提高车牌定位的效率;数据集A的准确率提高了约14%;数据集提高了近15%;而数据集C提高了16%。从这个结果可以看出,基于SIFT特征的车牌定位能够有效排除初步定位中的许多误判,提高准确性。
    最后,使用本文的字符识别方式识别出车牌字符,结果如图10所示。字符识别出错主要有两部分原因:
    一是字符车牌定位失败;另一个是由于在与字符库模板匹配时,由于形变过大导致失败。
    另外,图10中得到的实验结果都是在超分辨率预处理的基础上进行的;本文在实验中同时比较了有无使用超分辨率预处理的结果,如表2所示。从表2中可以看出,超分辨率预处理能有效提高在复杂环境下车牌识别的效率。
    最后,为了进一步验证本文方法的有效性,将本文提出的方法与传统的基于轮廓特征和模板匹配的方法进行了对比,结果如表3所示。实验表明本文的方法相比于这两种传统的方法更为有效。
    结束语

    在本文的工作中实现了基于SIFT特征匹配的车牌自动识别方法。相比于传统方法依赖于车牌定位和字符识别的方法,本文的方法直接通过与字符匹配的方式定位和识别车牌牌照,提高了车牌识别的准确率,为后续智能车牌检索系统提供良好的技术支持。


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

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

请扫描二维码访问手机站

[向上]