1.一种对道路图像进行车牌识别的方法,其特征在于,包括车牌定位,车牌字符分割和车牌字符识别三个步骤;
所述车牌定位,是对输入的图像进行分割,得到一组车牌候选区;
所述车牌字符分割,是对车牌候选区分别进行字符的分割,删除错误候选区,对每个其他候选得到一组字符块;
所述车牌字符识别,是对每组字符块进行识别,排除错误候选区,生成识别出的车牌号码,车牌颜色以及车牌区域坐标;
(1)所述车牌定位步骤中,输入为一张图片,大小任意,然后进行预处理、基于DBSCAN的聚类两个步骤;
所述预处理过程的任务是对原始彩色图像进行处理,生成一张包含边缘信息的二值图像;预处理过程包含图像灰度化,sobel纵向边缘检测+车牌颜色增强,图像二值化三个步骤;
所述基于DBSCAN的聚类的任务是对二值图像进行聚类处理,生成一组车牌候选区;其步骤为:使用DBSCAN密度聚类方法对二值图片进行聚类,将所有的点划分为几个高密度区,超过一定阈值T的区域称为候选区;这里将临界半径分为RH和RW,表示长宽方向上的半径,RW=3*RH;然后计算各个区域的属性,包括长、宽,长宽比,删除区域两侧过少的点;
最后对候选区的属性进行判断,排除不合形状的区域,输出可能的候选区;
所述的sobel纵向边缘检测+车牌颜色增强,其步骤为:对全图进行sobel纵向检测,在检测过程中,对于边缘信息p(x,y),若大于K,对其周围x*x邻域进行扫描,对其中每一行,如有车牌颜色出现,则增强p(x,y)10%,这里的车牌颜色指各种车牌中可能出现的颜色集合;
(2)所述的车牌字符分割包含二次预处理和基于投影的分割两个步骤;
所述二次预处理过程是对每个候选区进行灰度化,局部二值化,水平投影操作,生成二值车牌图像;
所述基于投影的分割是对二值图像进行垂直投影,然后逐个字符切分,最后输出一组图像字符块;
所述的二次预处理,其步骤为:先对区域图片进行灰度化,然后利用均值阈值将其二值化,最后通过水平投影,寻找投影图中上下低谷区域,认为其为无用区域,删除之,得到二值车牌局部图像;
所述的基于投影的分割,其步骤为:首先进行垂直投影,认为波谷区为无用区,其它为字符区,以此划分出若干区域;然后对于区域进行分析判断,排除非车牌区域;最后再对每一字符图像切除上下空白;生成一组字符区域;
(3)所述的车牌字符识别,其步骤为:输入为单个二值区域,输出是识别出来的字符,包括汉字、数字和字母;首先如果区域的宽高比>4,其区域内点密度大于某一阈值,则直接识别该字符为1;然后将整个二值图像序列作为特征,带入各自分类器进行分类,输出结果;如果识别的字符不为7个,则认为其为非车牌区域;最终生成识别出的车牌号码,车牌颜色以及车牌区域坐标;
用所述分类器进行分类,是预先分别对数字、字符和汉字建立二值模板,分类时采用模板匹配的方式进行识别,输出识别结果。
2.一种车牌识别的系统,其特征在于,包括:车牌定位模块、车牌字符分割模块、车牌字符识别模块三个部分,是基于权利要求1所述的车牌识别方法的;输入是一张图片,输出是若干子区域图片和识别结果描述文档xml文件;
有多种参数选择,具有动态配置参数的功能,具有动态定义输出的功能,输出车牌局部图片、驾驶员位置局部图片、车标局部图片、车身局部图片、缩略图;方便替换车牌识别方法,易于进行批量处理;
所述多种参数选择是指在程序名后加参数plate或other或all,分别只识别车牌输出号码及位置,只计算输出其他局部图片和进行全部处理,实现关键过程和其他过程的分离。
3.根据权利要求2所述的车牌识别系统,其特征在于计算输出所述驾驶员位置局部图片,是依据车牌位置和车型大小,估算驾驶员位置,并与原图像进行比对,校正后输出驾驶员位置局部图片;计算输出所述车标局部图片,是依据车牌位置,对车牌上方区域进行扫描,寻找车标,在分割后输出车牌位置局部图片;计算输出所述车身局部图片,是依据车牌位置和车型大小,估算车身位置,并与原图像进行比对,校正后输出车身局部图片。
对道路图像进行车牌识别的方法和系统\n技术领域\n[0001] 本发明属于数字图像处理及模式识别技术领域,具体涉及一种对道路图像进行车牌识别的方法和系统。\n背景技术\n[0002] 近年来,随着计算机及互联网技术的飞速发展,各种机动车数量的迅猛增长,各类信息包括与交通相关的信息呈现爆炸式增长的态势,为了能够更加安全、高效的管理这些信息,智能交通系统(Intelligence Transportation System)应运而生。智能交通系统可以在收费卡口,停车场,刑事追踪等方面展现出强大的作用,而对车牌的检测和识别是其最为核心的组成部分。\n[0003] 目前,虽然现在已经有了很多相对成熟的车牌识别产品,但是更高的准确率,更少的耗时,依然吸引着人们去不断进行研究。实际上,随着相关领域的新发展,例如新的底层特征的发明,更好的分类算法的提出等,都为车牌识别算法的改进提供了新的机会。另外,现在商用的车牌识别系统大多只对特定的条件下有比较好的效果,例如特定的光照,距离,角度,车牌制式(包括颜色、格式、文字),而在变化了的环境下系统的准确率可能会大大降低甚至失效,还没有哪个系统可以在各种不同的条件下做到健壮稳定(与人识别车牌的能力还有很大差距)。在本文的第三部分会对关于这方面的一篇文章进行专门讨论。再有,对于自然条件拍摄的图片和视频,例如手持或车载摄像机拍摄下来的,进行车牌检测与识别也是一个值得研究的方向。\n[0004] 目前存在的一些车牌识别技术中,大都将整个识别分为三个过程,如图1所示,为b车牌定位,c车牌字符分割,d车牌字符识别。\n[0005] 其中对于b,使用的技术种类繁多,虽然可以分成几类,但类之间的界限并不是很明显。大致有如下一些方法:A边缘检测后二值化,这个是使用的最多的一种方法,它在与数学形态学方法结合后,就已经能够得到比较好的就结果了。很常用的一个边缘检测算子是纵向sobel算子。它的计算式为 而纵向边缘检测相较于横向,它的优势,而纵向边缘检测相较于横向,它的优势在于一个含有车牌的图像中车的横向边缘较多,而车牌上字符的纵向边缘较多。这种方法计算快速,效果较好,但是一个很大的缺点就是难以处理复杂的图像,如何有效地去除不相关的边缘信息,(例如车辆进气口,灯光区域,周围树木,粗糙的地面等),是一个非常关键的问题.B数学形态学操作,主要是腐蚀、膨胀,开闭运算等。C连通区域分析(CCA),最典型的是四连通和八连通方法以及各种聚类方法,与连通区域目的相同,分出一些候选区域。D分块分析。将图像分为若干块,分别计算其均值、方差、边缘信息等特征。滑动窗口。与分块思想类似,但是是逐点计算特征的。E彩色图像处理,依据RGB颜色信息。F各种分类器,包括Ada-Boost,SVM,ANN,GP,GA等。\n[0006] 对于c,现在的技术分为如下几类。A二值图像处理投影方法。是当前各种文献中使用最多的一种技术,通常的做法是先进行横向投影,剪切掉上下区域;然后进行纵向投影,切分出每一个字符。B局部自适应二值化。在很多文章中局部自适应二值化或者类似的方法,它通过分块、逐点或者分字符来计算某一区域内的均值,对比度等特征,然后分别进行二值化。出C倾斜校正方法。种类比较多,有利用HT定位车牌框的,也有使用颜色信息的,还有直方图分析的。D层次分割与合并、分裂方法。E数学形态学,腐蚀、膨胀运算。车牌字符分割这一步其实难度是比较大的,因为如果分割失误或者二值效果不好,后面的字符识别很有可能就会失效。而不同的光照条件,车牌周围的近似颜色或形状,不同的车牌制式,都会制约着车牌字符分割的方法,使得目前难以产生极其健壮的分割技术。多数方法都还只是在特定情况下表现出良好的性能。\n[0007] 对于d,OCR(光学字符识别)是模式识别领域的一个重要分支,它的目标是将图像形式的各种文字识别为文本形式下的。车牌字符识别便是OCR的一种特殊形式,车牌字符识别的过程可以简化为特征提取与特征匹配。针对字符图像的特征提取的方法多种多样,有逐像素特征提取法、骨架特征提取法、垂直方向数据统计特征提取法、基于网格的特征提取法、弧度梯度特征提取法等很多。另外不进行特征提取,或者说将字符图像的黑白值直接作为特征,依靠分类器的强大分类能力进行识别,也是一种可以采用的方式。而特征匹配的方法,主要分为以下三种A.基于统计/混合/分层次的分类器B.ANN.C.模板匹配法.其中ANN是最为常见的且性能较优的。\n发明内容\n[0008] 本发明的目的在于提供一种对静态图像进行车牌识别的方法和系统,旨在解决智能交通系统(ATI)中的核心问题,获取监控图像中的车牌号码,为后面更深层次的应用做准备。\n[0009] 本发明提供的所述车牌识别的方法,包括车牌定位,车牌字符分割和车牌字符识别三个步骤;\n[0010] 所述车牌定位,是对输入的图像进行分割,得到一组车牌候选区。它的输入为一张图片,大小任意,然后进行预处理,基于DBSCAN的聚类两个步骤,输出一组车牌候选区;\n[0011] 所述预处理过程的任务是对原始彩色图像进行处理,生成一张包含边缘信息的二值图像。它包括图像灰度化,sobel纵向边缘检测+车牌颜色增强,图像二值化三个步骤。\n[0012] 所述的sobel纵向边缘检测+车牌颜色增强,是对全图进行sobel纵向检测,在检测过程中,对于边缘信息p(x,y),若>K,对其周围x*x邻域进行扫描,对其中每一行,如有车牌颜色出现,则增强p(x,y)10%;实施例中K=30,x=7;这里的车牌颜色只各种车牌中可能出现的颜色集合。\n[0013] 所述基于DBSCAN的聚类是使用DBSCAN密度聚类方法对二值图片进行聚类,将所有的点划分为几个高密度区,超过一定阈值T的区域称为候选区,阈值T根据实际的场景大小通过调试而确定。这里将临界半径分为RH和RW,表示长宽方向上的半径,一般RW=\n3*RH;实施例中取RH=10,RW=30,T=300;然后计算各个区域的属性,包括长、宽,长宽比等,删除区域两侧过少的点。最后对候选区的属性进行判断,排除不合形状的区域,输出可能的候选区。\n[0014] 所述的车牌字符分割,是对车牌候选区分别进行字符的分割,删除错误候选区,对每个其他候选得到一组字符块。它包含二次预处理和基于投影的分割两个步骤;\n[0015] 所述二次预处理过程,是先对区域图片进行灰度化,然后利用均值阈值将其二值化,最后通过水平投影,寻找投影图中上下低谷区域,认为其为无用区域,删除之。得到二值车牌局部图像。\n[0016] 所述基于投影的分割,它的输入为二值车牌局部图像,输出是一组图像字符块,通常为7个(车牌上的字符数)。首先进行垂直投影,认为波谷区为无用区,其它为字符区,以此划分出若干区域。然后对于区域进行分析判断,以排除非车牌区域。最后再对每一字符图像切除上下空白。生成一组字符区域。\n[0017] 所述车牌字符识别,是对每组字符块进行识别,排除错误候选区,生成识别出的车牌号码,车牌颜色以及车牌区域坐标。它的输入为单个二值区域,输入是识别出来的字符,包括汉字、数字和字母。首先如果区域的宽高比>4,其区域内点密度大于某一阈值,则直接识别该字符为1。然后将整个二值图像序列作为特征,带入各自分类器进行分类,输出结果。如果识别的字符不为7个,则认为其为非车牌区域。最终生成识别出的车牌号码,车牌颜色以及车牌区域坐标。\n[0018] 所述的分类器,其特征在于,预先分别对数字、字符和汉字建立二值模板,分类时采用模板匹配的方式进行识别,输出识别结果。\n[0019] 本发明还提供一种车牌识别的系统,包括实现所述的车牌识别方法三个步骤的三个模块:车牌定位模块、车牌字符分割模块和车牌字符识别模块。输入是一张图片,输入是若干子区域图片和识别结果描述文档xml文件。可以有多种参数选择,具有动态配置参数的功能,具有动态定义输出的功能,可以输出车牌局部图片、驾驶员位置局部图片、车标局部图片、车身局部图片、缩略图等,可以方便替换车牌识别方法,易于进行批量处理。\n[0020] 所述多种参数选择是指在程序名后加参数,plate,other,all,可以分别只识别车牌输出号码及位置,只计算输出其他局部图片(由车牌位置推断)和进行全部处理。实现了关键过程(车牌识别)和其他过程的分离。\n[0021] 所述的计算输出驾驶员位置局部图片,依据车牌位置和车型大小,估算驾驶员位置,并与原图像进行比对,校正后输出驾驶员位置局部图片。\n[0022] 所述的计算输出车标局部图片,依据车牌位置,对车牌上方区域进行扫描,寻找车标,在分割后输出车牌位置局部图片。\n[0023] 所述的计算输出车身局部图片,依据车牌位置和车型大小,估算车身位置,并与原图像进行比对,校正后输出车身局部图片。\n附图说明\n[0024] 图1是车牌识别流程图。\n[0025] 图2是车牌定位模块流程图。\n[0026] 图3是车牌字符分割模块流程图。\n[0027] 图4是对一张图片进行识别的实施例图。\n[0028] 图5是车牌识别系统的流程图。\n具体实施方式\n[0029] 为了使本发明的目的、技术方案及优点更加明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。\n[0030] 图1示出了车牌识别方法的主要流程。包括车牌定位,车牌字符分割和车牌字符识别三个阶段。中间传递的值是1或多个车牌候选区域,在b、c、d依次的运行过程当中,错误的候选区被逐步抛弃。最终输出车牌号码。\n[0031] 图2示出了车牌定位模块流程。对于一张输入原始图片,例如图4左上角所示。首先对它进行灰度化,灰度化的公式为gray=0.299R+0.587G+0.114B,其中gray代表灰度值,R,G,B分别为图像的三个分量。其次进行纵向sobel边缘检测,在纵向检测过程当中,进行对车牌颜色的增强,具体的规则是(蓝色举例),对于边缘信息p(x,y),若>30,对其周围7*7邻域进行扫描,对其中每一行,如有蓝色点出现,则增强p(x,y)10%,这里蓝色指(G<150,R<150,B>G,B>R)。再次进行二值化,得到一幅黑白点图,如图4中右上角所示,不难看出,车牌附近的点比较密集,此为下一步聚类的基础。\n[0032] 之后采用DBSCAN密度聚类算法得到一组候选区,图2中虚线所示部分为聚类算法的具体步骤。它的大体思想就是对于密度比较高的区域,认为它们属于同一区域。在此实施例中,横向半径RH取值为10,纵向半径RW取值为30,密度阈值取250。之后进行后处理,删除两次空白区域,排除不合形状的区域,在此实施例中,认为车牌区域形状应满足:\n2.5<长宽比<7,80<长<220,20<宽<60。至此,定位阶段结束。图4中,右侧中部偏上的一张图可以看出,共分出了5个区域,这5个区域即为候选区。中部偏下的图片示出了车牌的那个候选区的局部图像。\n[0033] 图3示出了车牌字符分割模块流程。对于输入的每一个候选区,先进行一系列的预处理,包括灰度化,二值化和水平投影。图4中最下面中央的是二值化的结果,而它左边是其对应的水平投影图,它的上面是它在经过上下无用区间切割之后的结果。然后进行基于投影的分割,具体包括垂直投影、分出字符区和空白区;区域分析、淘汰错误候选;对单个字符细切分三个过程。结果如图4中央偏下的小图所示,由几条纵向白线切分出了各个字符。之后带入识别引擎进行文字的识别,输出车牌号码苏BPG016。如图4左侧中部小图所示。\n[0034] 图5示出了车牌识别系统的大体流程。它支持三种不同的使用方式,分别为参数是all、无参数或参数other但无后续坐标的情况;参数plate的情况;参数other后面加上两组坐标的情况。在参数为all时,该系统将进行全部操作,先定位并识别车牌,然后由其计算各种局部区域图片,最后输出。参数plate表示只识别车牌并输出,参数other表示只计算各种局部区域图片并输出。这里的局部区域包括,驾驶员区域,车标区域和车身区域。\n这些局部区域图片将会为智能交通系统的其他后续应用提供一定的帮助。最后的输出中还包括一个xml文档,描述识别的结果。
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2006-10-25
|
2006-05-25
| | |
2
| |
2008-04-02
|
2006-09-30
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 1 | | 2015-03-12 | 2015-03-12 | | |
2 | | 2015-03-12 | 2015-03-12 | | |