马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 eecsseudl 于 2013-4-29 10:15 编辑
车牌识别系统的设计 一、
摘要(150-250字) 随着公路逐渐普及,我国的公路交通事业发展迅速,所以人工管理方式已经不能满着实际的需要,微电子、通信和计算机技术在交通领域的应用极大地提高了交通管理效率。汽车牌照的自动识别技术已经得到了广泛应用。汽车牌照自动识别整个处理过程分为预处理、边缘提取、车牌定位、字符分割、字符识别五大模块,其中字符识别过程主要由以下3个部分组成:①正确地分割文字图像区域;②正确的分离单个文字;③正确识别单个字符。用MATLAB软件编程来实现每一个部分,最后识别出汽车牌照。在研究的同时对其中出现的问题进行了具体分析,处理。 二、
设计目的和意义 目的: 1、让学生巩固理论课上所学的知识,理论联系实践。 2、锻炼学生的动手能力,激发学生的研究潜能,提高学生的协作精神。 意义: 车牌定位系统的目的在于正确获取整个图像中车牌的区域,并识别出车牌号。通过设计实现车牌识别系统,能够提高学生分析问题和解决问题的能力,还能培养一定的科研能力。 三、
设计原理 由于车辆牌照是机动车唯一的管理标识符号,在交通管理中具有不可替代的作用,因此车辆牌照识别系统应具有很高的识别正确率,对环境光照条件、拍摄位置和车辆行驶速度等因素的影响应有较大的容阈,并且要求满足实时性要求。
图1 牌照识别系统原理图 该系统是计算机图像处理与字符识别技术在智能化交通管理系统中的应用,它主要由牌照图像的采集和预处理、牌照区域的定位和提取、牌照字符的分割和识别等几个部分组成,如图1 所示。其基本工作过程如下: (1)当行驶的车辆经过时,触发埋设在固定位置的传感器,系统被唤醒处于工作状态;一旦连接摄像头光快门的光电传感器被触发,设置在车辆前方、后方和侧面的相机同时拍摄下车辆图像; (2)由摄像机或CCD 摄像头拍摄的含有车辆牌照的图像通视频卡输入计算机进行预处理,图像预处理包括图像转换、图像增强、滤波和水平较正等; (3)由检索模块进行牌照搜索与检测,定位并分割出包含牌照字符号码的矩形区域; (4)对牌照字符进行二值化并分割出单个字符,经归一化后输入字符识别系统进行识别。 四、
详细设计步骤 1. 提出总体设计方案。 车辆牌照识别整个系统主要是由车牌定位和字符识别两部分组成,其中车牌定位又可以分为图像预处理及边缘提取模块和牌照的定位及分割模块;字符识别可以分为字符分割与特征提取和单个字符识别两个模块。 为了用于牌照的分割和牌照字符的识别,原始图象应具有适当的亮度,较大的对比度和清晰可辩的牌照图象。但由于该系统的摄像部分工作于开放的户外环境,加之车辆牌照的整洁度、自然光照条件、拍摄时摄像机与牌照的矩离和角度以及车辆行驶速度等因素的影响,牌照图象可能出现模糊、歪斜和缺损等严重缺陷,因此需要对原始图象进行识别前的预处理。 牌照的定位和分割是牌照识别系统的关键技术之一,其主要目的是在经图象预处理后的原始灰度图象中确定牌照的具体位置,并将包含牌照字符的一块子图象从整个图象中分割出来,供字符识别子系统识别之用,分割的准确与否直接关系到整个牌照字符识别系统的识别率。 由于拍摄时的光照条件、牌照的整洁程度的影响,和摄像机的焦距调整、镜头的光学畸变所产生的噪声都会不同程度地造成牌照字符的边界模糊、细节不清、笔划断开或粗细不均,加上牌照上的污斑等缺陷,致使字符提取困难,进而影响字符识别的准确性。因此,需要对字符在识别之前再进行一次针对性的处理。 车牌识别的最终目的就是对车牌上的文字进行识别。主要应用的为模板匹配方法。 因为系统运行的过程中,主要进行的都是图像处理,在这个过程中要进行大量的数据处理,所以处理器和内存要求比较高,CPU要求主频在600HZ及以上,内存在128MB及以上。系统可以运行于Windows98、Windows2000或者Windows XP操作系统下,程序调试时使用matlab。 2. 各模块的实现。 一、预处理及边缘提取
图2 预处理及边缘提取流程图
1、图象的采集与转换 考虑到现有牌照的字符与背景的颜色搭配一般有蓝底白字、黄底黑字、白底红字、绿底白字和黑底白字等几种,利用不同的色彩通道就可以将区域与背景明显地区分出来,例如,对蓝底白字这种最常见的牌照,采用蓝色B 通道时牌照区域为一亮的矩形,而牌照字符在区域中并不呈现。因为蓝色(255,0,0)与白色(255,255,255)在B 通道中并无区分,而在G、R 通道或是灰度图象中并无此便利。同理对白底黑字的牌照可用R 通道,绿底白字的牌照可以用G 通道就可以明显呈现出牌照区域的位置,便于后续处理。原图、灰度图及其直方图见图2与图3。对于将彩色图象转换成灰度图象时,图象灰度值可由下面的公式计算:
G=0.110B+0.588G+0.302R
(1)
G= (2)
图3
图4 2、边缘提取 边缘是指图像局部亮度变化显著的部分,是图像风、纹理特征提取和形状特征提取等图像分析的重要基础。所以在此我们要对图像进行边缘检测。图象增强处理对图象牌照的可辩认度的改善和简化后续的牌照字符定位和分割的难度都是很有必要的。增强图象对比度度的方法有:灰度线性变换、图象平滑处理等。 (1)灰度校正 由于牌照图象在拍摄时受到种种条件的限制和干扰,图象的灰度值往往与实际景物不完全匹配,这将直接影响到图象的后续处理。如果造成这种影响的原因主要是由于被摄物体的远近不同,使得图象中央区域和边缘区域的灰度失衡,或是由于摄像头在扫描时各点的灵敏度有较大的差异而产生图象灰度失真,或是由于曝光不足而使得图像的灰度变化范围很窄。这时就可以采用灰度校正的方法来处理,增强灰度的变化范围、丰富灰度层次,以达到增强图象的对比度和分辨率。我们发现车辆牌照图象的灰度取值范围大多局限在r=(50,200)之间,而且总体上灰度偏低,图象较暗。根据图象处理系统的条件,最好将灰度范围展开到s=(0,255)之间,为此我们对灰度值作如下的变换:
s = T(r)
r=[r min,,r
max]
使得S∈[Smin,
Smax],其中,T为线性变换,
图5 灰度线性变换
(3)
若 r(50,200)、s(0,255) 则: (4)
图6 灰度增强后的图像
(2)平滑处理 对于受噪声干扰严重的图象,由于噪声点多在频域中映射为高频分量,因此可以在通过低 通滤波器来滤除噪声,但实际中为了简化算法, 也可以直接在空域中用求邻域平均值的方法来 削弱噪声的影响,这种方法称为图象平滑处理。 例如,某一象素点的邻域S 有两种表示方法: 8邻域和4邻域分别对应的邻域平均值为,
图7 8 -邻域、4 -邻域模板 (5) 其中,M 为邻域中除中心象素点f(i,j) 之外包括的其它象素总数,对于4邻域M=4,8 邻域M=8。然而,邻域平均值的平滑处理会使得图象灰度急剧变化的地方,尤其是物体边缘区域和字符轮廓等部分产生模糊作用。为了克服这种平均化引起的图象模糊现象,我们给中心点象素值与其邻域平均值的差值设置一固定的阈值,只有大于该阈值的点才能替换为邻域平均值,而差值不大于阈值时,仍保留原来的值,从而减少由于平均化引起的图象模糊。 图8 平滑处理后的图像 图像中车辆牌照是具有比较显著特征的一块图象区域,这此特征表现在:近似水平的矩形区域;其中字符串都是按水平方向排列的;在整体图象中的位置较为固定。正是由于牌照图象的这些特点,再经过适当的图象变换,它在整幅中可以明显地呈现出其边缘。边缘提取是较经典的算法,此处边缘的提取采用的是Roberts算子。
图9未滤波直接提取出的边缘 图10 经灰度校正后提取的边缘
图11 经平滑处理后提取的边缘 对比以上几幅图片,图8的边缘已经模糊掉了。图7中包含的噪声太多,图9未经滤波直接提取出的边缘图像最清晰,所包含的有用信息最多。分析这种情况产生的原因,归纳起来主要有以下方面:
1、原始图像清晰度比较高,从而简化了预处理
2、图像的平滑处理会使图像的边缘信息受到损失,图像变得模糊
3、图像的锐化可以增强图像中物体的边缘轮廓,但同时也使一些噪声得到了增强
综上所述,结合MATLAB实验过程,得出不是每一种图像处理之初都适合滤波和边界增强。本次汽车车牌的识别,为了保存更多的有用信息,经过多次比较,选择图9作为后期处理的依据。 二、牌照的定位和分割 牌照的定位和分割是牌照识别系统的关键技术之一,其主要目的是在经图象预处理后的原始灰度图象中确定牌照的具体位置,并将包含牌照字符的一块子图象从整个图象中分割出来,供字符识别子系统识别之用,分割的准确与否直接关系到整个牌照字符识别系统的识别率。由于牌照图象在原始图象中是很有特征的一个子区域,确切说是水平度较高的横向近似的长方形,它在原始图象中的相对位置比较集中,而且其灰度值与周边区域有明显的不同,因而在其边缘形成了灰度突变的边界,这样就便于通过边缘检测来对图象进行分割。
图12 牌照定位于分割流程图
1、牌照区域的定位 牌照图象经过了以上的处理后,牌照区域已经十分明显,而且其边缘得到了勾勒和加强。此时可进一步确定牌照在整幅图象中的准确位置。这里选用的是数学形态学的方法,其基本思想是用具有一定形态的机构元素去量度和提取图像中的对应形状以达到对图像分析和识别的目的。数学形态学的应用可以简化图像数据,保持它们基本的形态特征,并除去不相干的结构。在本程序中用到了膨胀和闭合这两个基本运算,最后还用了bwareaopen来去除对象中不相干的小对象。 图13 腐蚀后图像
图14 平滑图像的轮廓
图15 从对象中移除小对象后图像 2、牌照区域的分割 对车牌的分割可以有很多种方法,本程序是利用车牌的彩色信息的彩色分割方法。根据车牌底色等有关的先验知识,采用彩色像素点统计的方法分割出合理的车牌区域,确定车牌底色蓝色RGB对应的各自灰度范围,然后行方向统计在此颜色范围内的像素点数量,设定合理的阈值,确定车牌在行方向的合理区域。然后,在分割出的行区域内,统计列方向蓝色像素点的数量,最终确定完整的车牌区域。 图16 行方向区域和最终定位出来的车牌 3、车牌进一步处理 经过上述方法分割出来的车牌图像中存在目标物体、背景还有噪声,要想从图像中直接提取出目标物体,最常用的方法就是设定一个阈值T,用T将图像的数据分成两部分:大于T的像素群和小于T的像素群,即对图像二值化。均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素。再用模板中的全体像素的平均值来代替原来像素值。 图17 裁剪出来的车牌的进一步处理过程图 三、字符的分割与归一化 [m,n]=size(d),逐排检查有没有白色像素点,设置1<=j<n-1,若图像两边s(j)=0,则切割,去除图像两边多余的部分
|
根据图像的大小,设置一阈值,检测图像的X轴,若宽度等于这一阈值则切割,分离出七个字符
|
归一化切割出来的字符图像的大小为40*20,与模板中字符图像的大小相匹配
|
图17 字符分割与归一化流程图
1、字符分割 在汽车牌照自动识别过程中,字符分割有承前启后的作用。它在前期牌照定位的基础上进行字符的分割,然后再利用分割的结果进行字符识别。字符识别的算法很多,因为车牌字符间间隔较大,不会出现字符粘连情况,所以此处采用的方法为寻找连续有文字的块,若长度大于某阈值,则认为该块有两个字符组成,需要分割。
图18 分割出来的七个字符图像
2、字符归一化 一般分割出来的字符要进行进一步的处理,以满足下一步字符识别的需要。但是对于车牌的识别,并不需要太多的处理就已经可以达到正确识别的目的。在此只进行了归一化处理,然后进行后期处理。
图19 归一化处理后的七个字符图像 四、字符的识别 字符的识别目前用于车牌字符识别(OCR)中的算法主要有基于模板匹配的OCR算法以及基于人工神经网络的OCR算法。基于模板匹配的OCR的基本过程是:首先对待识别字符进行二值化并将其尺寸大小缩放为字符数据库中模板的大小,然后与所有的模板进行匹配,最后选最佳匹配作为结果。用人工神经网络进行字符识别主要有两种方法:一种方法是先对待识别字符进行特征提取,然后用所获得的特征来训练神经网络分类器。识别效果与字符特征的提取有关,而字符特征提取往往比较耗时。因此,字符特征的提取就成为研究的关键。另一种方法则充分利用神经网络的特点,直接把待处理图像输入网络,由网络自动实现特征提取直至识别。 模板匹配的主要特点是实现简单,当字符较规整时对字符图像的缺损、污迹干扰适应力强且识别率相当高。综合模板匹配的这些优点我们将其用为车牌字符识别的主要方法。 模板匹配是图象识别方法中最具代表性的基本方法之一,它是将从待识别的图象或图象区域f(i,j)中提取的若干特征量与模板T(i,j)相应的特征量逐个进行比较,计算它们之间规格化的互相关量,其中互相关量最大的一个就表示期间相似程度最高,可将图象归于相应的类。也可以计算图象与模板特征量之间的距离,用最小距离法判定所属类。然而,通常情况下用于匹配的图象各自的成像条件存在差异,产生较大的噪声干扰,或图象经预处理和规格化处理后,使得图象的灰度或像素点的位置发生改变。在实际设计模板的时候,是根据各区域形状固有的特点,突出各类似区域之间的差别,并将容易由处理过程引起的噪声和位移等因素都考虑进去,按照一些基于图象不变特性所设计的特征量来构建模板,就可以避免上述问题。 待识别字符与模板字符相减,值越小相似度越大,找到最小的一个即为匹配的最好的
|
图20 字符识别流程图 此处采用相减的方法来求得字符与模板中哪一个字符最相似,然后找到相似度最大的输出。汽车牌照的字符一般有七个,大部分车牌第一位是汉字,通常代表车辆所属省份,或是军种、警别等有特定含义的字符简称;紧接其后的为字母与数字。车牌字符识别与一般文字识别在于它的字符数有限,汉字共约50多个,大写英文字母26个,数字10个。所以建立字符模板库也极为方便。为了实验方便,结合本次设计所选汽车牌照的特点,只建立了4个数字26个字母与10个数字的模板。其他模板设计的方法与此相同。 首先取字符模板,接着依次取待识别字符与模板进行匹配,将其与模板字符相减,得到的0越多那么就越匹配。把每一幅相减后的图的0值个数保存,然后找数值最大的,即为识别出来的结果。 图21 识别结果 五、设计结果及分析 通过以上的方法,我对多幅图像进行了检测,有较好的识别效果。下面是对另一幅车牌照的检测,结果如图22---26 所示。
图22
图23
图24
图25
图26
对于光照条件不理想的图象,可先进行一次图象增强处理,使得图象灰度动态范围扩展和对比度增强,再进行定位和分割,这样可以提高分割的正确率。而采用了色彩通道的牌照区域分割算法充分利用了牌照图象的色彩信息,简化了算法的实现,加快了图象的处理速度,具有较高的检出正确率,而且整个过程用MATLAB 语言编程实现,无时间滞后感,可以满足实时检出的要求。但是在设计的过程中发现,使用另一幅图像后,识别效果始终没有那么理想。需要做一定的设置后才能识别出相应的字符。 在车牌字符分割的预处理中,用到了对分割出的字符车牌进行均值滤波,膨胀或腐蚀的处理。这在对于有杂点的车牌是很有用的,因为这样可以把字符与字符之间的杂色点去除,只有白色的字符和黑色的背景存在,这样有利于的字符分割进行。 字符识别过程使用的是模板匹配的方法,利用两幅图片相减的方法,找到相减后值最小的,即为相似程度最大的。模板的制作很重要,必须要用精确的模板,否则就不能正确的识别。 对于识别错误情况的分析可知,主要原因:一是牌照自身的污渍等影响了图象的质量;二是牌照字符的分割失败导致的识别错误;再就是部分字符的形状相似性,比如,B 和8;A 和4 等字符识别结果可能发生混淆的情况。 总之,尽管目前牌照字符的识别率还不理想,但是只要在分割出的字符的大小、位置的归一化,以及尝试提取分类识别能力更好的特征值和设计分类器等环节上再完善,进一步提高识别率是完全可行的。 六、总结 本文主要解决了以下几个问题:一、在背景的图象中如何定位分割牌照区域;二、对分割下来的牌照字符如何提取具有分类能力的特征;三、如何设计识别器。在车辆牌照字符识别系统的研究领域,近几年出现了许多切实可行的识别技术和方法,从这些新技术和方法中可以看到两个明显的趋势:一是单一的预处理和识别技术都无法达到理想的结果,多种方法的有机结合才能使系统有效识别能力提高。在本系统的设计时,也汲取了以上一些算法的思想,结合实际,反复比较,综合分析;二是在有效性和实用的原则下,结合神经网络和人工智能的新技术的应用是研究的一个方向。 根据车牌特点,一般采用的车牌定位算法有:1.边缘检测定位算法;2.利用哈夫变换进行车牌定位;3.色彩分割提取车牌等。这里我采用的是边缘检测的方法实现定位的。 字符分割的方法也有多种:1. 基于聚类分析的字符分割;2. 投影分割的方法;3.基于模板匹配的字符分割等。最常用的是投影分割,主要是针对在车牌定位,图像预处理后比较规则的车牌图像。优点是程序逻辑设计简单,循环执行功能单一,便于设计和操作,程序执行时间短。 字符识别的基本方法通常又三类:1.结构特征分析方法;2.模板匹配法;3.神经网络法。此处采用的是模板匹配的方法,即是将要识别的字符与事先构造好的模板进行比对,根据与模板的相似度的大小来确定最终的识别结果。 但是系统本身还存在许多不足,距离具体实用的要求仍有很大差距,但我却在这次课程设计中学到了很多知识。 七、
体会 课程设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。通过这次课程设计使我明白了自己原来知识还比较欠缺。这个课程设计让我学到了很多东西,涉及到方方面面的知识,在这整个过程中我们查阅了大量的资料,得到了老师和同学的帮助,我在此对他们表示谢意。在这期间遇到了很多困难,我知道做什么都不容易,只能塌下心来,一步一个脚印的去完成才行。这学期我们学习了数字图像处理这门课程,在这个课程设计中应用到了很多其中的知识。理论只有应用到实际中才能学着更有意义。学习是一个长期积累的过程,在后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。此外,还得出一个结论:知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了信心,相信会对今后的学习工作生活有非常重要的影响。同样此次课程设计也大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计做的并非对所以车牌都合适,但是在设计过程中所学到的学习方法是我最大收获和财富,相信定会使我受益终身。 八、
参考文献
[1] 冈萨雷斯.数字图像处理(第二版).电子工业出版社,2007.8
[2] 胡小锋、赵辉.VC++/MATLAB图像处理与识别使用案例精选.人民邮电出版社,2004.9 [3] 郁梅等,基于视觉的车辆牌照检测,计算机应用研究,1999(5),P65~67 [4] 叶晨洲,廖金周,一种基于纹理的牌照图象二值化方法,微型电脑应用,1999(6),P28~29 [5] 朱学芳等,一种自适应细化方法,模式识别与人工智能,Vol.10,No.2,1997(6),P140~145 [6] 杨万山等,基于BP 神经网络的工程图纸图形符号的识别,微型电脑应用,Vol.16,No.2,2000 [7] 袁志伟,潘晓露.车辆牌照定位的算法研究[J].昆明理工大学学报,2001,26(2):
56~60 [8] 刘阳,伊铁源等.数字图象处理应用于车辆牌照的识别.辽宁大学学报.2004,65~68 [9] 许志影、李晋平.MATLAB极其在图像处理中的应用.计算机与现代化,2004(4)
[10] 崔 江、王友仁.车牌自动识别方法中的关键技术研究.计算机测量与控制,2003.11(4)
[11] 宋建才.汽车牌照识别技术研究[J].工业控制计算机,2004,44~45. [12] 韩勇强、李世祥.汽车牌照子图像的定位算法[M].微型电脑运用,1999.60~65. [13] 梁玮、罗剑锋、贾云得.一种复杂背景下的多车牌图像分割与识别方法[D]. 2003. [14] 张 引,潘云鹤,面向车辆牌照字符识别的预处理算法,计算机应用研究,1999(7),P85~87 [15] 叶晨洲等,车辆牌照字符识别系统,计算机系统应用,1999(5),P10~13 [16] 李宏升等,利用牌照识别技术的停车场安全防盗系统,计算机系统应用,1999(5),P14~16
|