车牌识别系统Word格式.docx
《车牌识别系统Word格式.docx》由会员分享,可在线阅读,更多相关《车牌识别系统Word格式.docx(16页珍藏版)》请在冰豆网上搜索。
1)获取的车牌图像质量不高。
车牌图像往往含有大量复杂的背景信息,遮盖了有用信息。
很多时候受到照明条件、天气条件、及运动失真的影响,会出现图像模糊、清晰度不高、目标区域过小、色彩失真等现象,影响了车牌的定位。
2)车牌悬挂位置不唯一。
在汽车的各个位置都可能出现车牌,而且不能保证车牌的水平悬挂,甚至有的车牌出现了扭曲。
3)牌照多样性。
其他国家的汽车牌照格式,如尺寸大小,牌照上字符的排列等,通常只有一种。
而我国则根据不同车型、用途,规定了多种牌照格式,例如分为军车、警车、普通车等。
4)我国标准车牌照是由汉字、英文字母和阿拉伯数字组成的,汉字的识别与字母和数字的识别有很大的不同,增加了识别的难度。
5)国外许多国家汽车牌照的底色和字符颜色通常只有对比度较强的两种颜色,例如韩国,其车牌底色为红色,车牌上的字符为白色;
而我国汽车牌照仅底色就有蓝、黄、白、黑等多种颜色,字符颜色也有黑、红、白等若干种颜色。
6)由于环境、道路或人为因素造成汽车牌照污染严重,这种情况下国外发达国家不允许上路,而在我国仍可上路行驶。
使得车牌的对比度降低,特征不是很明显,即使在定位准确的情况下,字符的识别也会受到很大影响。
目前在国内存在多种牌照格式,且存在以上种种困难和特殊性,加大了我国车牌自动识别的难度,使得中国车辆牌照识别远远难于国外的车辆牌照识别。
因而如何提高识别率和识别处理的实时性及实用性成了一个紧要的任务。
1.2车牌识别系统现状
1.2.1国内外车辆牌照识别技术现状
目前,国内外有大量关于车牌识别方面的研究报道。
国外在这方面的研究工作开展较早。
在上世纪70年代,英国就在实验室中完成了“实时车牌检测系统”的广域检测和开发。
同时代,诞生了面向被盗车辆的第一个实时自动车牌监测系统。
发展到今日,国外对车牌检测的研究已经取得了一些令人瞩目的成就,提出了一种车牌识别系统,在车牌定位以后,利用马尔科夫场对车牌特征进行提取和二值化,对样本的识别达到了较高的识别率。
利用图像中的颜色分量,对车辆牌照进行定位识别,其中提到了三种方法:
①以Hough变换为基础的边缘检测定位识别;
②以灰度值变换为基础的识别算法;
③以HLS彩色模式为基础的车牌识别系统,识别率分别为81.25%、85%、91.25%。
日本对车牌图像的获取也做了大量的研究,并为系统产业化做了大量工作。
开发的系统应用于公路收费站,全天识别率达到了90%以上,即使在天气不好的情况下也达到了70%。
国外对车牌识别的研究起步早,总体来讲其技术已比较领先,同时由于他们车牌种类单一,规范程度较高,易于定位识别,目前,已经实现了产品化,并在实际的交通系统中得到了广泛的应用。
由于中国车牌的格式与国外有较大差异,所以国外关于识别率的报道只具有参考价值,其在中国的应用效果可能没有在其国内的应用效果好,但其识别系统中采用的很多算法具有很好的借鉴意义。
从车牌识别系统进入中国以来,国内有大量的学者在从事这方面的研究,提出了很多新颖快速的算法。
中国科学院自动化所的刘智勇等开发的系统在一个样本量为3180的样本集中,车牌定位准确率为99.42%,切分准确率为94.52%,这套系统后来应用于汉王公司的车牌识别系统,取得了不错的效果。
南京大学的熊军等提出了基于字符纹理特征的定位算法,准确率达95%。
华中科技大学的陈振学等学者提出了一种新的车牌图像字符分割与识别算法,使用一维循环清零法,通过对垂直投影图进行一次扫描,有效的清除了杂点和间隔符,正确分割率达到了96.8%。
浙江大学的张引、潘云鹤等提出了彩色边缘算子ColorPrewitt和彩色边缘检测与区域生长相结合的牌照定位算法ColorLP,算法简单,且全面作用在颜色空间的三个分量上,检测出的牌照区域易于与背景剥离。
但是计算量和存储量都比较大,难以满足实时性的要求。
此外,当车辆区域的颜色和附近颜色相近时,定位失误率会增加。
国内还有许多学者都在进行这方面的研究,并且取得了大量的研究成果。
1.2.2车牌识别技术的应用情况
车辆牌照自动识别技术是智能交通系统的一个重要组成部分,它在交通管理、监控中有着广泛的应用。
车辆牌照识别系统技术能够从一幅车辆图像中准确定位出车牌图像,经过字符切分和识别后实现车辆牌照的自动识别,从而为以上应用提供信息和基础功能。
目前车牌识别系统主要应用于以下领域:
1)停车场管理系统。
利用车牌识别技术对出入车辆的号牌进行识别和匹配,与停车卡结合实现自动计时、计费的车辆收费管理系统。
2)高速公路超速自动化管理系统。
以车牌自动识别技术为基础,与其他高科技手段结合,对高速公路交通流状况进行自动监测、自动布控,从而降低交通事故的复发生率,确保交通顺畅。
3)公路布控。
采用车牌识别技术实现对重点车辆的自动识别,快速报警,既可以有效查找被盗车辆,同时又为公安、检察机关提供了对犯罪嫌疑人的交通工具进行远程跟踪与监查的技术手段。
4)城市十字交通路口的“电子警察”。
可以对违章车辆进行责任追究,也可以辅助进行交通流量统计,交通监测和疏导。
5)小区车辆管理系统。
社区保安系统将出入社区的车辆通过车牌识别技术进行记录,将结果与内部车辆列表对比可以实现防盗监管。
目前,市场上已出现了一些可应用的汽车牌照自动识别系统。
如CPRS-1型汽车牌照识别系统是在国家“863”计划课题与国防图像目标识别课题相结合的研究基础上研制成功的,实现了识别汽车牌照中的数字、字母和汉字以及汽车牌照的底色(白、黑、蓝、黄四种)的功能,可以全天候工作。
另一种型号GW-PR-9902T的牌照识别器系统产品,采用新型的数字图像处理和识别技术,基于嵌入式工控机/DSP和专用硬件电路,利用定向反射和自然光相结合的识别原理,实时地完成复杂情况下的汽车牌照的定位、分割以及识别。
此类产品都已应用于高速公路的收费监控系统。
总体上说,虽然汽车牌照识别系统在国内还未形成一个成熟的产业,但是随着我国国民经济的迅速发展,机动车辆规模及流量大幅度增加,高速公路和城市交通管理现代化水平的提高势在必行,迫切需要高科技的智能交通系统来充实和加强交通管理水平。
车牌识别技术在智能交通系统中占有重要位置,车牌识别技术的推广普及,必将对加强高速公路、城市道路管理,减少交通事故、车辆被盗案件的发生,保障社会稳定等方面产生重大而深远的影响。
1.2.3车牌识别技术的发展趋势
车牌识别技术作为智能交通系统中的关键技术,在各国学者的共同努力下,已经得到了长足的发展,并且已经得到了不同程度的实际应用,但目前还存在着种种不足。
对于未来车牌识别产品的技术发展趋势,汉王科技智能交通部总经理乔炬认为。
首先,由于市场需求不同,对识别产品的需求也有差异,因此就要求研发针对不同细分市场的车牌识别产品。
其次,随着算法的不断改进,基于视频触发技术的车牌识别产品将得到大范围的应用,但是视频触发技术取代外触发装置尚需时日。
第三,现在的车牌识别系统设备过多,系统集成难度大,系统稳定性差,系统维护是一个让人头疼的问题。
随着技术不断进步,以往多个设备实现的功能可能由一个设备实现。
目前,车牌识别技术和产品性能进入实用阶段的时间还不是很长,随着人工智能以及自动识别技术的进步,未来的技术发展空间还会非常大。
例如,核心算法继续发展,识别率和识别速度进一步改善,图像处理中对模糊图像预处理能力增强,画质改善技术的提高等等。
2系统总体设计
2.1车牌识别系统总体设计
一个完整的车辆牌照识别系统是一个复杂的系统,应该包括图像采集、图像预处理、车牌定位、字符切分、字符识别以及图像编码、数码传输与更新等步骤,基本可以分为硬件部分和软件部分,硬件部分主要完成车辆图像的摄取采集,软件部分主要完成对采集到的车辆图像进行车辆牌照定位、车牌字符切分与车牌字符识别等工作,这部分工作最为复杂,最后对识别结果进行数据传送和存储,将处理后的识别信息交给管理系统进行管理。
整个系统的核心是软件部分的工作,能否通过牌照对车辆进行有效管理,很大程度上取决于软件部分识别车牌的准确性。
一个车牌识别系统的基本结构如图2所示:
图2车辆牌照识别系统结构图
2.2系统硬件设计
一个车牌识别系统的基本硬件配置由摄像机、主控机、采集卡和照明装置组成。
例如在停车场管理系统中,系统硬件主要包括车辆传感探测器、高性能工控计算机、高分辨率CCD摄像机、高放大倍数镜头、CCD自动亮度控制器和视频采集卡等。
首先是探测车辆的接近、通过和停留等。
常用的有光探测器、微波雷达通过型探测器、测速雷达探测器、声探测器、红外探测器、电磁感应探测器和压敏探测器等。
我国停车场应用较多的是红外探测器和电磁感应环探测器。
设置在停车场入口和出口的两对红外发射和接收设备进行车辆检测。
利用编码调制信号,增强抗干扰的能力,具有较强的可靠性。
前端工控机利用红外线探测到车辆经过的信号时,控制图像采集卡抓拍图像,并对抓拍的汽车图像进行牌照识别,同时控制摄像机光圈的大小,以适应外界环境不同的光照条件。
然后将识别出的牌照信息储存到服务器中,当车辆离开时,同样的进行牌照识别,将其与前面输入的牌照信息进行对比,计算出停车时间,然后计费。
本课题主要侧重算法的研究,主要工作是设计软件,对已摄取到的车辆照片实现车牌识别。
2.3系统软件设计
硬件设备采集到图片后首先要考虑图像的存储格式。
目前比较常用的图像格式有*.BMP、*.JPG、*.GIF、*.PCX等,本课题采集到的图片是*.JPG的格式。
软件系统的编写大多采用VC或者MATLAB语言,本课题选用了MATLAB语言。
MATLAB具有以下优点:
1)MATLAB编程效率高,使用方便。
MATLAB以矩阵作为基本语言要素大大提高了数值计算的编程效率。
MATLAB本身拥有丰富的函数库,并具有结构化的流程控制语句和运算符,用户在使用过程中能够方便自如地应用。
其图像处理工具箱更是大大扩展了MATLAB解决图像处理问题的能力,其他还有诸如用于神经网络和小波的工具箱等,对于算法的分析都有着很大的帮助。
2)MATLAB扩充能力强,交互性好,移植性和开放性较好。
MATLAB的库函数同用户文件在形式上是一样的,用户可以根据自己的需求方便地建立与扩充新的库函数,扩充其功能。
MATLAB可在Windows系列、UNIX、Linux、VMS6.1、PowerMac平台上使用,且所有的核心文件和工具箱文件都是公开的,用户可以修改源文件构成新的工具箱,从而可以扩充很多新的功能,利于算法的研究和改进。
3)较强的图形控制和处理功能,自带的API使得用户可以方便地在MATLAB与C、C++等其他程序设计语言之间建立数据通信。
本文设计的系统采用MATLAB搭建车辆牌照识别系统,具有非常明显的优势:
1)使用MATLAB的图形用户界面技术(GUI)编写牌照识别系统面板,可以达到与牌照定位切分程序及字符识别程序的无缝连接。
2)使用专业工具箱,使得研究人员不必过于关心程序的细节问题,可以将主要的精力放在算法的研究、设计方面,极大地减少了工作量,为算法的研究改进提供了先决条件。
整个软件系统是一个具有车牌识别功能的图像分析和处理软件。
首先将采集到的汽车图像进行灰度化、灰度拉伸和滤波处理,以降低噪点、增加车牌部分的对比度。
然后,通过对预处理后的图像进行小波变换分解提取图像边缘,并进行形态学处理,这时,车牌的轮廓已经非常清晰,并且可以和非车牌区域明显区分开来了,接着,根据车牌的特点进行车牌初步定位,对车牌区域和伪车牌区域进行筛选后,采用投影法进行车牌二次定位,提取出车牌图像。
将提取出的车牌图像进行二值化处理,根据投影图的特点查找倾斜的角度,采用坐标变换的方法进行车牌倾斜校正,并利用其垂直投影图中字符显示出的峰群的特点进行字符切分。
整个系统的设计主要采用了M语言,最后搭建了一个测试平台,将上述三个部分进行了系统化,对系统的性能进行了测试和分析。
3车牌定位
3.1图像预处理
车牌定位是车牌识别系统完成图像采集后对图像进行处理的第一步,它的好坏直接关系到整个系统识别率的高低,并且对识别速度有很大的影响。
车牌不能准确定位意味着后面的识别过程都是无效的。
车牌定位是指车牌部分的图像从整个图像中切分出来的过程,一般包括图像预处理、车牌搜索、车牌定位三个部分。
如下图3所示:
图3车牌定位的过程
3.1.1图像灰度化
灰度图是指只包含亮度信息,不包含色彩信息的图像,例如平时看到的亮度连续变化的黑白照片就是一幅灰度图。
灰度化处理就是将一幅彩色图像转化为灰度图像的过程。
彩色图像分为R、G、B三个分量,分别显示出红、绿、蓝等各种颜色,灰度化就是使彩色的R、G、B分量相等的过程。
灰度值大的像素点比较亮(像素值最大为255,为白色),反之比较暗(像素值最小为0,是黑色)。
图像灰度化的算法主要有以下3种:
1)最大值法:
使转化后R、G、B的值等于转化前3个值中最大的一个,即:
R=G=B=max(R,G,B)(3.1)
这种方法转换的灰度图亮度很高。
2)平均值法:
使转化后R、G、B的值为转化前R、G、B的平均值
R=G=B=(R+G+B)/3(3.2)
这种方法产生的灰度图像比较柔和。
3)加权平均值法:
按照一定的权值,对R、G、B的值加权平均,即:
(3.3)
其中,
、
、分别为R、G、B的权值。
取不同的值,将形成不同的灰度图像。
由于人眼对绿色最为敏感,红色次之,对蓝色的敏感性最低,因此使
将得到较易识别的灰度图像。
一般情况下,当
=0.299,
=0.587,
=0.114时,得到的灰度图像效果最好。
本课题使用加权平均值法处理车辆图像,得到的灰度图效果如图4所示:
图4(a)原始汽车图像(b)灰度图
3.1.2灰度拉伸
对车辆图像进行灰度化处理之后,车牌部分和非车牌部分图像的对比度并不是很高,此时如果直接进行边缘提取,由于车牌界限较为模糊,难以提取出车牌边缘,因而难以准确定位车牌。
为了增强牌照部位图像和其他部位图像的对比度,使其明暗鲜明,有利于提高识别率,需要将车辆图像进行灰度拉伸。
所谓灰度拉伸,是指根据灰度直方图的分布有选择地对灰度区间进行分段拉伸以增强对比度。
如图5所示。
它将输入图像中某点(x,y)的灰度f(x,y),通过映射函数T,映射成输出图像中的灰度g(x,y),即:
g(x,y)=T[f(x,y)](式3.4)
图5灰度变换的对比曲线
假定原图像f(x,y)的灰度范围为[s1,s2]希望变换后图像f(x,y)的灰度范围扩展至[t1,t2],可采用下述线性变换来实现。
g(x,y)=[(t2-t1)/(s2-s1)]f(x,y)+t1(式3.5)
图6(a)灰度图(b)灰度变换后的图像
车辆图像进行灰度拉伸前后的效果对比如图6所示,从图中可以看出,灰度拉伸后,对比度明显增强,车牌区域更加明显。
3.1.3图像平滑
车牌图像往往存在一些孤立的噪点。
在汽车牌照图像处理初期,若不能有效抑制或者去除这些噪点,将影响车牌定位的准确性或者造成无法定位。
通常采用图像平滑的方法去除噪点。
图像平滑包括空域滤波和频域滤波。
其中空域滤波中采用平滑滤波器的中值滤波去除噪点的效果最好。
中值滤波的主要原理是:
首先确定一个以某个像素为中心点的邻域,一般为方形邻域;
然后将
邻域中的各个像素的灰度值进行排序,取其中间值作为中心点像素灰度的新值,这里的邻域通常被称为窗口;
当窗口在图像中上下左右进行移动后,利用中值滤波算法可以很好地对图像进行平滑处理。
在二维形式下,一般取某种形式的二维窗口,将窗口内的像素排序,生成单调
二维数据序列
。
二维中值滤波
,其中
表示取窗口中值。
在实际应用中,窗口的尺寸一般先选3再选5,逐渐增大,直到滤波效果满意为止。
本文选择的窗口尺寸为3。
滤波效果如图7所示。
图7(a)灰度图(b)中值滤波后的图像
3.2图像预处理的matlab程序
输入的彩色图像包含大量颜色信息,会占用较多的存储空间,且处理时也会降低系统的执行速度,因此对图像进行识别等处理时,常将彩色图像转换为灰度图像,以加快处理速度。
对图像进行灰度化处理、提取背景图像、增强处理、图像二值化的主要MATLAB语句如下所示:
Cgray=rgb2gray(car);
%rgb2gray转换成灰度图像
s=strel(’disk’,25);
%strei函数
Bgray=imopen(Cgray,s);
%打开Cgray图像
figure,imshow(Bgray);
title('背景图像');
%输出背景图像
Egray=imsubtract(Cgray,Bgray);
%两幅图相减
figure,imshow(Egray);
title('增强黑白图像');
%输出增强
图像
max1=double(max(max(Egray)));
%Egray的最大值并输
精度型
fmin1=double(min(min(Egray)));
%eEgray的最小值并输
level=(fmax1-(fmax1-fmin1)/3)/255;
%获得最佳阈值
bw22=im2bw(Egray,level);
%将图像转换为二进制图像
然后采用Canny算子进行边缘检测,再用imopen和imclose对所得二值图像作开、闭操作进行滤波。
3.3车牌的定位
首先采用imclearborder函数对提取后的车牌边缘进行连通处理,删除和图像边界相连的细小的对象,使得相邻的区域可以连成一个整体。
然后进行数学形态学的腐蚀和膨胀运算,从而使车牌区域的垂直边缘连接成一个整体,同时和周围的干扰区域分离,成为一个独立的区域。
水平结构元素可以是形如[1…1]的滑动窗口,结构元素的大小取决于车牌图像的大小,一般取所有车牌图像大小的统计均值。
相应的代码如下:
a1=imclearborder(a1,8);
%8连通
st=ones(1,14);
%选取的结构元素
bg1=imclose(a1,st);
%闭运算
bg3=imopen(bg1,st);
%开运算
bg2=imopen(bg3,[1111111]'
);
首先进行闭运算,使得水平相邻的边缘连接成为连通区域,由于车牌长度比较长,所以选取的结构元素为[11111111111111]。
然后再进一步在垂直边缘上进行两次开运算,两次结构元素的选取是由实验的结果得到的。
在采用这两个结构元素进行开运算后使得车牌区域与其它背景区域分开,成为独立的连通域。
处理后的图像如图8所示。
从图中可以看出。
车牌区域已经非常明显,和其他区域有明显的区别。
图8开闭运算后的图像
由于前面开闭运算中有可能将部分车牌腐蚀掉,造成定位错误或者车牌缺失,所以先进行车牌的初步提取,去除伪车牌,然后结合车牌的纹理特征进行准确提取。
提取候选区域的步骤是:
首先对经过开闭运算处理的图像进行区域提取,并计算区域特征参数,然后根据车牌的先验知识对区域特征参数进行比较,提取车牌区域。
本课题选择使用车牌的宽高范围和比例关系对车牌进行初步定位。
对车牌的区域提取可以利用regionprops函数,对图像每个区域进行标记,然后计算每个区域图像特征参数:
区域中心位置、最小包含矩形,面积。
最后计算出包含所标记区域的最小矩形的宽和高。
提取车牌区域特征的代码为:
[L,num]=bwlabel(bg2,8);
%区域标记
Feastats=regionprops(L,'
all'
%区域特征提取
Area=[Feastats.Area];
BoundingBox=[Feastats.BoundingBox];
RGB=label2rgb(L,'
spring'
'
k'
shuffle'
width=BoundingBox((l-1)*4+3);
%计算包含标记区域的最小区域的宽
height=BoundingBox((l-1)*4+4);
%计算包含标记区域的最小区域的高
图9车牌区域标记
2007年实施的车牌标准规定,车前车牌长440mm,宽140mm。
其比例为440/140≈3.15。
根据图像像素的大小,这里选取筛选条件为宽在50到150之间,高在20到50之间,同时宽高比例应大于0.45,就可以比较准确的得到车牌的大致位置。
初步提取的车牌图像如图10所示。
图10定位后的车牌
4车牌字符切分
4.1车牌字符切分综述
在车辆牌照准确定位后,本章主要是对车辆牌照识别中的字符切分算法进行研究,依次研究了二值化、倾斜校正和字符切分三个算法。
车牌字符切分的流程框图如图11所示。
图11车牌字符切分流程
4.2车牌二值化
图像中对象物的形状特征的主要信息,常常可以从二值图像中得到。
二值图像与灰度图像相比,信息量大大减少,因而处理二值图像的速度快,成本低,实用价值高。
因此,在车牌字符切分前,首先对图像进行二值化处理。
4.3图像二值化的基本原理
图像的二值化处理就是将图像上的点的灰度值置为0或255,这样处理后整个图像呈现明显的黑白效果,即将256个亮度等级的灰度图经过合适的阈值选取,而获得的二值化图像仍然可以反映图像整体和局部特征。
二值化处理后的图像,其集合性质只与像素值为0或255的点的位置有关,不再涉及像素的其他级值,处理过程简单,且数据的处理和压缩量小。
为了得到理想的二值图像,一般