车牌识别系统的设计与实现毕业论文Word格式文档下载.docx
《车牌识别系统的设计与实现毕业论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《车牌识别系统的设计与实现毕业论文Word格式文档下载.docx(21页珍藏版)》请在冰豆网上搜索。
车辆牌照识别系统综合运用了图像处理、模式识别以及人工智能等方面的理论技术。
系统主要包括:
提取含有车牌的图像,对复杂背景中的车牌进行定位以及车牌上的字符切分和识别。
车牌定位、字符切分、并运用独创的基于二值特征的识别算法和基于灰度特征的识别算法相结合,是ITS的一个重要组成部分,它的成功开发必将大大加速ITS的进程。
汽车牌照识别系统具有不影响车辆行驶状态,不需要车辆安装额外的设备,自动化水平高等优点。
由于车辆牌照识别系统的处理方法简单有效,适用于多种不同环境,车辆牌照识别系统正成为ITS系统最主要的组成部分。
车辆牌照识别系统可以广泛地应用于众多车辆认证的实际系统中。
如它可以广泛应用在:
高速公路收费、监管管理;
停车场收费管理;
偷盗车辆识别;
城市交通路口“电子警察”;
安防系统以及小区物业管理系统等。
汽车牌照识别系统是以图像识别技术为基础的智能交通管理系统,是21世纪世界道路交通管理的发展趋势。
高速公路的车辆管理体制通过智能管理可以杜绝漏收、少收、人情收费和个别贪污的行为;
可以实现特殊车辆的跟踪、丢失车辆的实时查询、小区车辆的科学管理以及道路车辆流量、型号的自动化统计。
汽车牌照的自动识别是车辆检测系统中的一个重要环节,可以切实有效地提高交通系统的车辆监控和管理的自动化程度,它在交通监视和控制中占有很重要的地位,是实现交通管理现代化和智能化的重要前提。
汽车牌照的识别问题己成为现代交通工程领域中研究的重点和热点之一。
1.2国内外研究现状
1.2.1国内研究现状
车辆自动识别系统是以解决交通拥挤问题和高速公路多发事故问题而产生的,是近20年来新兴起的一个跨学科的、系统化的综合研究体系,其目的是在不扩张路网规模的前提下,通过综合运用现代科学技术,来提高交通路网的通行能力和交通运输能力。
国内也有多家单位在进行这方面的研究,北京弗雷德科技有限公司,亚洲视觉科技有限公司,中科院沈阳自动化所的沈阳聚德公司,深圳市科安信实业有限公司,中国信息产业部下属的中智交通电子有限公司等也都有自己的产品。
各个大学也有自己的研究,如西北工业大学开发了一套基于OCR的车辆号牌的识别系统;
西安交通大学有基于视频的车辆号牌的识别系统;
浙江大学人工智能研究所也推出了一套车辆号牌的识别系统,据报道其号牌定位正确率为94%;
上海交通大学叶晨周研制的车辆号牌的识别系统,据报道汉字、数字和字母的识别率都大于96%,车辆号牌的识别率为82%;
同济大学关于车辆号牌自动定位分割算法的成功率据报道为90%,由上可得,都未见完全的识别率和识别正确率报道[2]。
1.2.2国外研究现状
车牌自动识别技术的研究国外起步地较早。
早在20世纪80年代,便有一些零零散散的图像处理方法用于车牌自动识别的某些具体应用。
在这个阶段,车牌自动识别技术的研究还没有形成完整的系统体系,一般采用简单的图像处理方法来解决某些具体问题,并且最终结果通常需要人工干预。
进入20世纪90年代后,车牌自动识别的系统化研究开始起步。
典型的如A.S.Johnson等提出车辆牌照的自动识别系统分图像分割(ImageSegment)、特征提取(FeatureExtraction)和模板构造(TemplateFormation)、字符识别(CharacterRecognition)等三个部分,完成车牌的自动识别。
R.A.Lotufo使用视觉字符识别技术(OpticalCharacterRecognitionTechnology)分析所获得的图像,首先在二值化图像中找到车牌,然后用边界跟踪技术提取字符特征,再利用统计最邻近分类器(StatisticalNearestNeighborClassifyingSystem)与字符库中的字符比较,得出一个或几个车牌候选号码,再对这些号码进行核实检查,确定是否为该车牌号码,最终确定车牌号码。
这个时期的应用在识别正确率方面有所突破,但还没有考虑识别实时性的要求,识别速度有待进一步提高。
目前国际上,一些发达国家已经将车牌识别技术广泛应用于实际中了。
例如,以色列Hi-tech公司的see/carsystem系列,新加坡OptAsia公司的VLPRS系列都是比较成熟的产品。
其中VLPRS产品主要适合新加坡的车牌,Hi-tech公司的see/carsystem有多种变形的产品来分别适应某一个国家的车牌。
see/carsystem系统可以对中国大陆的车牌进行识别,但不能识别车牌中的汉字,另外日本、加拿大、德国、意大利、英国等各个西方发达国家都有适合本国车牌的识别系统[3]。
1.3目前存在的问题
车牌识别系统在国内外研究都有一段时间了,国外的车牌识别系统有一定的应用,但是国内的车牌识别系统总体上来说还处于实验室阶段,识别率不高,原因具体体现在以下几点[4]。
首先,在具体应用中采集到的图片背景比较复杂,这对于图像的处理明显增加了难度。
其次,采集得到的图片受天气、光照等的影响,故在图像处理过程中需要利用有效的算法排除光照、天气对图像的影响,这无疑对我们车牌识别系统的算法提出了更高的要求。
这就需要研究性能更好的算法来提高算法的鲁棒性。
第三,在实际采集的图片中,很多采集到的车牌是旧车车牌,或者车牌表面不洁净,这造成图片中的车牌区域很模糊、车牌区域的颜色信息丢失、车牌字符粘连等情况。
这对车牌的定位、分割、识别都增加了难度。
第四,由于在路上行驶的车辆所挂的车牌多是在标准GA36-1992下生产的,由于该标准的不严密性,在该标准下生产的号牌其色度值分布范围广,再加上上一条原因,使得采集所得到的号牌其色度值分布范围广泛,从而加大了我们利用该信息的难度。
第五,在国内的车牌识别系统需要解决的一个难题就是在字符识别过程中的对汉字的识别问题。
由于中国汉字复杂、笔画多、分布较密,再加上如果图像的分辨率如果不是很高的话,那么图像中汉字将粘连在一起从而很难辨别。
在同一幅图像中,上面提到的困难可能几项都存在而不仅仅是单一困难的存在,当其中几项困难一起存在时,其带来的难度并不是简单相加的过程,所以难度更大。
这些就是存在于车牌识别系统中的一些问题,从这些问题中,我们也能看到车牌识别系统的难度。
2系统开发编程语言
2.1VisualC++介绍
VC是一个面向对象的可视化集成开发系统,它不但具有程序框架自动生成、灵活方便的类管理、代码编写和界面设计集成交互操作、可开发多种程序等优点,而且通过简单设置就可使其生成的程序框架支持数据库接口、OLE2、WinSock网络、3D控制界面。
VC以拥有语法高亮、只能感知(在编辑环境中,光标悬停在函数上时显示类定义和注释,键入函数或属性名时可以自动完成名称的输入)、高级除错、最小重建及累加链接功能而著称,这些特色功能有助于缩短程序编辑、编译及链接的时间花费,在大型软件开发中效果尤其显著[5]。
VC已历经数个版本,伴随着Microsoft.NET计划的展开,又诞生了一系列VC.NET版本,从当年1.0版本到现在最新的VC2010(10.0版本),VC在界面、功能、库支持方面都增强了很多。
VC1.0是Microsoft公司于1993年推出的,它集成了MFC2.0(MFC是一个以C++类的形式封装了WindowsAPI的基础类库,其中包含一个应用程序框架、大量Windows句柄封装类和很多Windows的内建控件和组件的封装类,1992年随着微软的MicrosoftC/C++7.0编译器发布,可以减少应用程序开发人员的工作量),可算是MicrosoftC/C++7.0的更新版本。
VC1.5集成了MFC2.5,增加了OLE2.0和支持MFC的ODBC。
VC2.0集成了MFC3.0。
VC4.0集成了MFC4.0,这个版本是专门为Windows95以及WindowsNT设计的。
由于VC2.0是在Windows95之前发布的,其发布时间与Windows95非常接近,当Windows95发布时,VC4.0也已经发布了,很多程序员直接从1.x过渡到4.0,把2.x跳过去了,所以VC2.0应用并不广泛。
VC5.0集成了MFC4.21,是4.2版以来比较大的一次升级。
VC6.0集成了MFC6.0,于1998年发布,发布至今一直被广泛地应用于大大小小的项目开发。
VC.NET2002(VC7.0)于2002年发布,集成了MFC7.0,支持.NET1.0,支持链接时代码生成和调试执行时检查。
VC.NET2003(VC7.1)集成了MFC7.1,于2003年发布,支持.NET1.1。
VC2005(VC8.0)集成了MFC8.0,于2005年发布,支持.NET2.0,该版本引进了对C++/CLI语言和OpenMP的支持。
VC2008(VC9.0)集成了MFC9.0,于2007年发布,支持.NET3.5。
VC2010(VC10.0)于2010年发布,集成了MFC10.0,支持.NET4.0,支持C++0x新标准。
VisualC++作为一个功能非常强大的可视化应用程序开发工具,是计算机界公认的最优秀的应用开发工具之一。
Microsoft的基本类库MFC使得开发Windows应用程序比以往任何时候都要容易。
C++提供的各种函数、指针操作和直接对硬件操作使得图像处理速度较快,专门为VC++设计的OpenGL和DirectX技术可以使开发人员在Windows环境下比较容易地完成图像图形的高性能处理和显示。
用VC++编制的应用软件无论在处理速度和图像的显示等方面都表现出较高的效率,因此在编制基于Windows的各类数字图像处理程序时,VC++是程序人员进行图像处理的最佳选择。
2.2OpenCV介绍
OpenCV(OpensourceComputerVisionlibrary)是1999年由Intel公司开发的图像处理和计算机视觉开放源码库,它由一系列C函数和少量C++类构成,实现了图像处理和计算机视觉方面的很多通用算法[6]。
现在由WillowGarage实验室提供支持。
OpenCV提供C++、C和Python接口,可以运行在Linux、Windows、MacOS和Android操作系统上。
OpenCV拥有包括500多个C/C++函数的跨平台的中、高层API,具有强大的图像和矩阵运算能力。
截止到2012年年初,OpenCV已发展到2.3.1版本。
每一次版本升级都伴随着众多的函数更新和优化。
早期版本的OpenCV包括CxCore、Cv、CxAuv、HighGUI和ml5个主要模块。
CxCore包括一些基本结构和算法函数,如数据结构和线性代数支持,主要提供对各种数据类型的基本运算功能;
Cv主要实现图像处理和计算机视觉功能,包括图像处理、结构分析、运动分析、物体跟踪、模式识别及摄像机标定等功能;
CxAuv是OpenCV附加库函数,包括一些实验性的函数,如ViewMorphing、三维跟踪、PCA(PrincipalComponentAnalysis)和HMM(HiddenMarkovModel)等函数;
HighGUI是用户交互部分,包括GUI(GraphicalUserInterface,图形用户接口)、图像视频I/O和系统调用函数等;
ml是机器学习模块,只要内容为分类器。
OpenCV中曾经还有一个CvCam模块,但从1.1版本开始OpenCV便不再包含它,其功能被HighGUI所取代。
由于OpenCV提供的视觉处理算法非常丰富,并且它部分以C语言编写,加上其开源的特性,处理得当,不需要添加新的外部支持也可以完整的编译链接生成执行程序,所以用它来进行图像处理非常方便。
本系统就是在VC++平台上使用MFC构建了一个软件,结合OpenCV视觉库针对车牌识别系统中各流程进行编程设计。
参考文献
[1]胡桂珍.基于数字图像处理的车牌识别系统研究[D].成都:
西南交通大学,2010
[2]贡丽霞.车牌识别系统中的车牌定位及倾斜校正技术研究[D].太原:
中北大学,2010
[3]刘玮.基于图像处理的车牌识别技术的研究[D].哈尔滨:
哈尔滨理工大学,2008
[4]李云.车牌定位与字符分割算法的研究及实现[D].成都:
电子科技大学,2010
[5]沈晶,刘海波,周长建.VisualC++数字图像处理典型案列详解[M].北京:
机械工业出版社,2012,2-7
[6]汤方义.基于OpenCV和CUDA的车牌识别系统的软件设计与实现[D].长春:
吉林大学,2011
[7]DaRochaGA,ManoelSJ.CharacterrecognitioninCarlicenseplatesbasedonprincipalcomponentsandneutralprocessing[J].PatternRecongnition,2006,39
(2):
26-31
[8]侯宏花.数字图像处理与分析[M].北京:
北京理工大学出版社,2011,74-136
[9]刘同焰.车牌识别系统的相关算法研究与实现[D].广州:
华南理工大学,2012
[10]闫青.车牌识别系统中车牌定位算法的研究[D].济南:
山东大学,2010
[11]K.Deb,JoKang-Hyun.HSIcolorbasedvehiclelicenseplatedetection[C].InternationalConferenceonContro1,AutomationandSystems,2008:
687-691
[12]HeoG,KimM,JungI,etal.Extractionofcarlicenseplateregionsusinglinegroupingandedgedensitymethods[C].2007InternationalSymposiumonInformationTechnologyConvergence,2007:
37-42
[13]张金艳.基于神经网络的车牌识别算法研究[D].秦皇岛:
燕山大学,2010
[14]LiBo,ZengZhiyuan,DongHuali.AutomaticLicensePlateRecognitionSystem[J].AppliedMechanicsandMaterials,2010,20:
438-444
[15]WeiW,WangM,HuangZ.AnAutomaticMethodofLocationforNumberPlateusingColorFeatures[C].IEEEInternationalConferenceonImageProcessing,2001,1:
782-785
[16]邹晔.基于纹理分析和梯度特征的车牌定位算法[J].科技广场,2009,(5):
109-111
[17]F.Faradji,A.H.Rezaie,M.Ziaratban.AMorphological-BasedLicensePlateLocation[C],IEEEInternationalConferenceonImageProcessing,2007:
57-60
[18]黄豪杰,李榕,常鸿森.基于边缘颜色分布的车牌定位新方法[J].激光杂志,2007,28(3):
57-59
[19]方万元,梁久祯.复杂背景下快速车牌定位算法[J].计算机工程与应用,2012,48
(2):
160-163
[20]郭航宇,景晓军,尚勇.基于小波变换和数学形态法的车牌定位方法研究[J].计算机技术与发展,2010,20(5):
13-16
[21]崔屹.数学形态学方法及应用[M].北京:
科学出版社,2002,100-120
[22]刘志军.基于神经网络的车牌识别技术研究[D].南京:
南京邮电大学,2011
[23]TindallD.W.Deploymentofautomaticlicenseplaterecognitionsystemsinmultinationalenvironments[C].EuropeanConferenceonSecurityandDetection.April,1997,(3):
42-46
[24]李云红,屈海涛.数字图像处理[M].北京:
北京大学出版社,2012,145-160
[25]姜谊,严京旗.车牌定位及倾斜校正方法[J].微型电脑应用,2010,26(4):
45-47
[26]张司兴.车牌识别算法研究及系统设计[D].南京:
南京理工大学,2010
[27]高原.车牌识别技术研究[D].北京:
北京交通大学,2011
[28]于彦国.车牌识别中的关键算法研究[D].长沙:
湖南师范大学,2011
[29]朱秀峰.车牌字符识别算法研究与实现[D].武汉:
华中科技大学,2012
[30]KovalV,TurchenkoV,KochanV.Smartlicenseplaterecognitionsystembasedonimageprocessingusingneuralnetwork[J].IEEEInternationalWorkshoponIntelligentDataAcquisitionandAdvancedComputingSystem,2003(8):
125-128
附录
附录1 译文
基于方向梯度直方图和支持向量机的多数据集车辆识别方法
IliasKamal
EquipeRITM
ENSLASB.P.713
Université
MohammedV,Souissi,Rabat-Morocco
ilias.kamal@
摘要:
本文采用线性和非线性内核的软边缘SVM来对图像分类,从多数据集中提取多维梯度直方图特征向量,并将序列最小优化算法(SMO)方法应用于从训练数据中搜索最优分隔超平面。
关键词:
支持向量机SVM,方向梯度直方图,机器学习。
Ⅰ、引言
SVM和其他类似神经网络和模糊系统的计算机软件技术都是机器学习和数据挖掘方向的技术。
简单来说,SVM是一种识别数据模式并分类或者分析的监督式学习方法。
与基于实际实验所产生的神经网络[1]相反,SVM有很深的理论背景,即统计学习理论(SLT)[2]和结构风险最小化(SRM)[3]。
Vapnik和Chervonenkis[4]于上一世纪60年代末首次提出SVM,但大部分无人问津,后直至90年代初才被人所重视[5]。
SVM,基于纯粹的函数估计问题的理论分析而逐渐演变成一种新型的用于估计/分类多维函数/数据的学习算法。
在本文中,我们将只关注于数据分类,更确切地说是基于特定特征的图像分类。
去讨论用于车辆识别的特征选择问题,是毫无意义的。
因为颜色或者纹理特征在给定大量相同颜色的汽车的时候效果并不明显,因此唯一可以选择的特征便是形状了。
不同类型的汽车通常有类似的形状,不仅如此,可以说它们有非常多相近的地方。
用于汽车识别的良好的特征是方向梯度直方图[6],它可以提供确切的关于形状定位的信息,并且开销不大。
Ⅱ、二元SVM
让我们来考虑一个二元线性分类问题并且它的输入或者说训练数据如下所示:
(1)
SVM的任务便是找到最优的分隔超平面(如图1和2),在所有分隔数据的超平面中,最优的意思是最佳的标准分隔超平面(如,OCSH,[7]有详细介绍)。
利用上述所示的训练数据,学习机将会得到如下所示的超平面公式或者决策函数:
(2)
这里,
,w是标准权值点,b是偏移量。
因此对于任何一个需要分类的新数据
,它必须遵守决策规则;
当
,
,当
。
注释:
为n+1维的分隔超平面,它的决策域在n维超平面内,并且它是超平面
和输入空间的交汇处,因此可以证明
那么总体的问题便是找到位于两个类别([8]有详解介绍)间的最大边缘超平面,因此最大的边缘在这里可以定义为:
(3)
它也等价于下式的最小值:
(4)
之后学习问题的规模便减少到(4)并被下述条件所约束:
(5)
公式(4)和(5),构成了一个不等条件下的二次型最优问题,它可以被典型的二次型(如,QP)方法解决。
图1有一个大边缘的线性分类器 图2有一个小边缘的线性分类器
A、线性软边缘分类器
在介绍中阐述的线性可分的例子并不是永远都有效的,尤其是当数