基于改进bp神经网络的车牌识别算法研究

基于改进bp神经网络的车牌识别算法研究

ID:20574091

大小:1.96 MB

页数:69页

时间:2018-10-13

上传者:U-22107
基于改进bp神经网络的车牌识别算法研究_第1页
基于改进bp神经网络的车牌识别算法研究_第2页
基于改进bp神经网络的车牌识别算法研究_第3页
基于改进bp神经网络的车牌识别算法研究_第4页
基于改进bp神经网络的车牌识别算法研究_第5页
资源描述:

《基于改进bp神经网络的车牌识别算法研究》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

第一章绪论第一章绪论1.1车牌识别简介1.1.1研究背景现代社会已进入信息时代,随着计算机技术、通信技术和计算机网络技术的发展,自动化的信息处理能力和水平不断提高,并在人们社会活动和生活的各个领域得到广泛应用。作为现代社会的主要交通工具之一的汽车,在人们的生产、生活的各个领域得到大量使用,对它的信息自动采集和管理、对于交通车辆管理、园区车辆管理、停车场管理等方面有十分重要的意义,成为信息处理技术的一项重要课题[1]。智能交通系统是21世纪世界道路交通的发展趋势。公路交通基础建设的不断发展和车辆管理体制的不断完善,为以视觉监控为基础的智能交通系统的实际应用打下了良好基础。在智能交通系统中,车牌自动识别系统是一个非常重要的发展方向。系统能对车辆进行自动登记、验证、监视、报警,其应用场合包括:高速公路、桥梁、隧道等收费管理系统;城市交通车辆管理、电子警察、海关边境交通监控;智能小区、智能停车场管理;车牌验证、车流统计等。自20世纪90年代以来,电子信息技术越来越多地进入交通运输部门,并逐渐形成一个崭新的工程领域,即智能运输系统(IntelligentTransportationSystem),简称ITS[4][5]。随着交通现代化的发展要求,智能运输系统的优点越发的突出,越来越多的学者、科研人员都投入到对它的研究中来,而汽车牌照自动识别技术作为智能运输系统的重要组成部分,是识别道路行驶车辆身份、实施车辆管理、收费、流量控制等的关键技术之一。在车牌自动识别技术中,车牌定位、字符切割、字符识别及后处理是其主要的技术环节。随着社会经济的发展,机动车辆迅速增加,人们在赚取有机动车辆所带来的巨大利润以及享受汽车巨大便利的同时,也越来越受到交通拥堵、交通事故频发、环境污染加剧和燃油损耗上升所带来的困扰。为了解决上述交通问题,修建更多的道路是最直接和最有效的方法。然而,修建新路的巨额资金和城市空间的严格限制,使这一方法的有效性大打折扣。近年来,世界各国日益重视严重的交通问1 基于改进BP神经网络的车牌识别算法研究题,投入大量人力物力进行道路交通运输系统的管理和控制技术的开发,于是运用各种高新技术系统地解决道路交通问题的思想就应运而生了,智能运输系统ITS正是在这种条件下产生和发展起来的,并已经成为21世纪现代交通管理体系的模式和发展方向。一般认为,智能运输系统是将先进的信息处理技术、数据通讯技术、电子控制技术以及计算机处理技术等有效地综合运用于交通领域,通过对有关交通信息的实时采集、传输、处理,借助各种先进的技术和设备对交通信息进行协调处理,使车辆、道路、使用者三者之间密切配合,达到和谐地统一,不仅可以有效提高交通效率和安全,而且可使交通设施得以充分利用,实现交通运输的集约式发展,提高了整个公路运输的机动性、安全性和生产效率。ITS致力于应用人工智能技术、GPS和网络通信技术、检测技术、电子收费技术等来革命道路交通,试图有效地调整交通需求,提高道路通行能力,改善服务水平,减少环境污染和燃油损耗,增加交通安全,可以说这是解决道路交通问题的现实办法。ITS强调的是系统性、信息交流的交互性以及服务的广泛性,它实质上就是利用高新技术对传统的运输系统进行改造而形成的一种信息化、智能化、社会化的新型运输系统,它使交通基础设施能发挥出最大的效能,提高服务质量,使社会能够高效地使用交通设施和能源,从而获得巨大的社会经济效益。1.1研究现状自80年代以来,以美国、日本、欧洲为代表的各发达国家己从依靠扩大路网规模来解决日益增长的交通需求,转移到用高新技术来改造现有道路运输体系及其管理方式,从而达到提高路网通行能力和服务质量,改善环保质量,提高能源利用率的目的。由于车辆自动识别技术巨大的商业价值,国外技术成熟的发达国家都不公开该技术;而国内的车辆自动识别技术还不够成熟。由于受汽车行驶速度、光照条件、天气、牌照位置种类等多种因素的影响,不同环境设置条件下识别的效率也都有所差异,难以相互比较。ITS的早期构想是由美国在六十年代提出的,目前,世界上已经形成了美国、日本、欧盟三大ITS研发基地,推动其发展的三大组织是ITSAmerica、VERTIS、ERITCO,此外,亚洲的韩国、新加坡和我国的香港特区ITS发展水平也较高[3][11]。1)美国ITSAmerica2 第一章绪论20世纪60年代末期,美国的ERGS(ElectronicRoadGuidanceSystem)项目是世界上最早的ITS开发研究。美国运输部(DOT)是推动美国ITS工程的核心机构,主要负责把ITS国家发展计划提交国会审核,根据国会通过的预算,把经费拨给各大公司、大学及州(地方)政府。另外,DOT还负责拨运作基金给美国智能交通运输系统协会(ITSAmerica),由ITSAmerica提出技术咨询服务或完成由DOT委托的研究计划。ITSAmerica是成立于1994年9月的非营利、具有科学技教育推广性质的组织。成立的宗旨是协调加速美国先进运输技术的发展,组织成员包括政府部门、私人公司、学术团体及ITS国际成员等。ITS的目标是利用10年的时间将全美75个大城市区域的行车时间缩短15%以上,在全美450个行政区内的公路网络上建立智能工作点,并与大城市的系统联网。1995年,DOT正式出版公布了“国家智能运输系统项目规划”,明确规定了智能运输系统的7大领域(即基本系统)和29个用户服务功能(即子系统)。在投入上,美国ITS开发已成为20世纪兴建洲际高速公路网以来最为宏大的公路项目。自1992年起进行了20多项大规模实地试验,如1993年起在芝加哥地区进行交通信息系统(Trav-Tek)实验,动用汽车达5千辆,历时5年,耗资44万美元;在西部6个州进行的重车电子牌照(HELP)实验,动用汽车2万辆,历时1年。截至1997年,美国ITS的总投资已达到8亿美元,使其在短短数年里开发工作进展迅猛。目前,美国在智能运输系统领域独树一帜,国内从事智能车研制的公司多达3千家,已建立起相对完善的车队管理(通讯系统、地理信息系统、车辆自动定位系统、乘客自动计数系统、公交运营软件系统、交通信号优先系统),公交出行信息(出行前公交信息系统、车站/路边的公交信息系统、车上公交信息系统、综合乘客信息系统)、电子收费和交通需求管理技术等四大系统及多个子系统及技术规范标准。并于1997年8月在圣地亚哥到洛杉矶之间建成了第一条长8英里的试验示范公路[10]。2)日本VERTIS日本的智能运输系统起步较晚,但由于政府重视,其发展和推进速度却相当快。ITS推动委员会由建设省、警视厅、通产省、运输省、邮政省五个部门于1993年组成,并于1996年完成了一个投资预算为7.8兆亿日元为期长达20年的日本综合发展规划,作为日本发展ITS的蓝图,同时,日本的丰田、三菱、东芝3 基于改进BP神经网络的车牌识别算法研究等100多家企业也联合设立智能运输系统的研发和运营机构,加大智能交通产品的开发力度。1994年,由企业和学术团体成立了一个智能型车辆道路及交通协会VERTIS。VERTIS在日本推动ITS的各组织中扮演了极其重要的角色,其主要工作是推动ITS的开发与研究,赞助ITS世界及亚太会议,与各企事业及学术机构间联系和协调一些技术上的问题,支持ITS相关标准化的工作等。日本ITS工作目标是在未来的30年里将日本的交通事故次数减少50%,减少交通堵塞现象,总体油耗水平下降15%,CO2排放量减少15%,城市市区SO2排放量减少30%。日本ITS的核心工作是高速公路的运行效率,为此开发和试验了不停车自动收费系统。此系统从1997年由日本道路公团(JH)进行了试用,在日本东关东和东京湾设立了80多个ETC点,车辆在收费处不用停车付费,既减少了收费站,又减少了工作人员,使管理费用得到减少,并且能使高速公路车的处理能力提高4倍。在世界上已有17个国家采用了这项技术。近年,日本又投入了1.5亿日元开发了全国公路电子地图,打开了车辆电子导航市场[9]。3)欧盟ERTICO欧盟对ITS的研发也不甘落后,其研究领域和系统功能与美、日大致相同。1991年,欧盟各成员国的相关制造业、汽车业、通讯业、以及学术、研究机构和政府部门等共同组成了欧洲道路科技执行协会ERTICO。该组织的主要任务是在欧盟范围内推动电子通讯技术与交通运输的结合,协助研究和制定标准,协助推动欧盟拟定的ITS计划,并作为与国际ITS交流的窗口。发展的目的是改善交通安全和环保,减轻道路拥挤,积极布建泛欧交通信息咨询网络,统一海陆空的复合运输。由于大部分成员来自产业,因此,欧洲ITS不是以一整套统一的用户服务为起点和依据,而是在不同系统结果研究项目成果基础上进行分类和集成的,也就是任何一项ITS计划都是以产业界为主,市场为主导力量。这种自下而上的建立结构方式与美国和日本相比有所不同,效果和质量也会有所不同,所以在国际标准化的过程中,它们之间将发生竞争并相互影响。欧盟ITS的研究是通过实施两项研究计划展开的:DRIVE计划和PROMETHEUS计划(高效和空前安全的欧洲交通计划)。DRIVE注重道路基础设施智能化的研究,而PROMETHEUS则注重于汽车的智能化。在欧洲这两个计划是相互推动和发展的。1996年2月底欧共体事务总局13局第一次公布了T-TAP征集的具体74个子项目。至今,4 第一章绪论已有相当一部分的研究成果投入到实际的应用当中,并为使用者带来相当可观的经济效益[8]。4)韩国、新加坡、香港等国家、地区韩国的智能运输系统示范工程选在光州市,该工程预计耗资100亿韩元,选取了交通感应信号系统、公交车乘客信息系统等9项内容进行开发和检测智能交通系统的技术和效益,并以此验证智能运输在韩国的适用性。新加坡已拥有先进的城市交通管理系统,该系统除了有城市交通控制系统传统的功能外,还包括用电子计费卡控制车流量。香港早在1977年就在九龙设置了一套电脑化区域交通控制系统,现在全港约有320组交通灯由电脑控制,有利于车辆尽快通过交叉口。此外,香港电台、电视台每天都要发布几次交通信息,为司机提供最新的交通资料。公路上所有的车辆都配有无线对讲机,随时向公司报告行车情况并接受公司的行车指示。5)国内ITS的发展及应用我国是当今世界上公路建设速度最快的国家,在未来20年内,我国的道路仍然处于建设期。我国的ITS前身和基础工作早在70年代末就开始了,通过多年来中国交通领域科技界和工程界的不断努力,在中国高等级公路建设带动下,中国在ITS的开发和应用方面也取得了相当的进步,虽然智能运输系统的研发和推进在我国还处于起步阶段,但ITS作为新世纪的经济增长点和交通系统建设必然选择的重要性已得到国家相关部门的高度重视。90年代中期以来,交通部将ITS的研究纳入了公路、水运科技发展“九五”计划和2010年发展纲要;从1995年开始,交通部每年组织代表团参加ITS世界大会。1997年在北京召开了智能运输系统发展趋势国际学术研讨会。1998年1月交通部正式批复成立交通智能运输系统工程研究中心(ITSC)。为加强该中心在交通智能运输系统的研发及.试验能力,投资1400万元建设交通智能运输系统中心试验室,将为今后国家制定道路交通运输的发展和政策提供科学依据,现已完成了“交通智能运输系统发展战略研究”。1998年2月,在国家科委的领导下,交通智能运输系统工程研究中心还与欧盟合作成立了中欧ITS信息服务中心(STICNISC/ITS),并于同年7月正式向国际社会提供基于Internet的信息咨询和技术服务。由国家发展计划委员会及对外经贸部批准,并由交通部等四个部委支持的“99中国国际智能运输技术与5 基于改进BP神经网络的车牌识别算法研究设备博览会”于1999年8月在北京召开。目前,交通部己经被国家技术监督局确定为道路交通工程标准化委员会依托部门,同时国家技术监督局还确定ITS国际标准化组织技术委员会(ISO/TC204)在中国的归口部门为交通部,技术依托单位是交通部公路科学研究所,并正在筹备成立ISO/TC204中国委员会[7]。目前,国内的研究与开发还都是就某一个地区或城市进行的,全国范围的ITS研究计划尚没有制定,但已有许多部门在致力于这方面的研究了。智能交通系统(ITS)在我国尚属起步阶段,车牌识别技术在ITS系统中占有重要位置。目前,我国有很多ITS项目正在研究、策划和实施之中,出现了如北京汉王科技公司"汉王眼"等车牌识别技术产品。这些产品已经具有了一定的识别率。其中,有些项目是和国外公司合作共同开发和研究的,这样可以加速我国交通系统与国际接轨的步伐。1.1利用改进的BP神经网络实现车牌识别人工神经网络模式识别方法是近些年提出的新方法,为牌照自动识别研究提供了一种新手段,它具有一些传统技术所没有的优点:良好的容错能力、分类能力强、并行处理能力和自学习能力。基于BP神经网络的车牌照字符识别方法在交通部门的违章监测、路桥收费上有广阔的应用前景。BP(BackPropagation)神经网络是一种神经网络学习算法。其由输入层、中间层、输出层组成的阶层型神经网络,中间层可扩展为多层。相邻层之间各神经元进行全连接,而每层各神经元之间无连接,网络按有教师示教的方式进行学习,当一对学习模式提供给网络后,各神经元获得网络的输入响应产生连接权值(Weight)。然后按减小希望输出与实际输出误差的方向,从输出层经各中间层逐层修正各连接权,回到输入层。此过程反复交替进行,直至网络的全局误差趋向给定的极小值,即完成学习的过程。标准BP算法实质上是把一组样本输入输出问题转化为一个非线性优化问题,并通过负梯度下降算法利用迭代运算求解权值问题的一种学习方法。但是标准BP算法尚存在一些缺陷:易形成局部极小而得不到整体最优,迭代次数多,收敛速度慢,运用于车牌识别效果不太理想。虽然已经提出了许多对标准BP算法的改进方法,但目前还没有一种改进方法能够得到研究者们的公认,因此对标准BP算法的改进仍然需要大量而细致的研究工作。本文提出一种对标准BP算6 第一章绪论法进行改进的方法,与大多数改进算法不同,本文提出的改进算法一方面修改网络节点作用函数,通过动态调整节点作用函数的陡峭度来加快网络的收敛;另一方面,在BP算法中增加动量项。在训练过程中,动态调整节点作用函数的调节因子,使学习率和动量项的惯性因子等参数成为误差E的函数,根据误差的变化动态的做出参数自调节,既加快了网络的学习速度,又避免了陷入局部最小点,而最终达到全局收敛。通过对改进的BP算法进行的MATLAB仿真结果表明,改进的算法达到了预期的目的。实验表明通过优化神经网络激励函数、自适应的学习速率的训练过程来识别车牌,有效地弥补了标准的BP算法在车牌识别过程中的不足。1.1本文的主要内容及章节安排本文实验的图像是用数码相机在小区拍摄到的汽车彩色图像和在百度网络上搜索的汽车彩色图像,在各种光照条件和自然条件下的汽车图像都有,因此也对本课题的实现增加了难度。在整个车牌自动识别系统中实现高识别率主要有三个部分起着关键的作用:在全车身图像中车牌部分的定位、定位后车牌字符的分割、对单个字符的识别。本文由四大部分组成,车牌图像的预处理、车牌区域的定位、车牌图像中的字符分割、单个字符的识别,其中车牌定位和字符识别为本文的主要内容。本文的结构是按照系统的流程结构来安排的。第一章绪论。介绍了车牌自动识别系统的研究背景;国内外的研究现状;车牌研究的技术特色,并提出了所要作的改进。第二章车牌识别的基本原理。初步对车牌的定位及车牌字符的识别原理进行了介绍,并说明了实现软件的运行环境与工作要求条件。第三章车牌图像的预处理。包括车牌图像的灰度增强、直方图均衡化、二值化、车牌的倾斜校正和车牌中各种干扰的去除。第四章对车牌区域定位方法进行探讨。提出了一种基于边缘特征和改进BP神经网络的车牌定位方法。它通过滑动窗口抽取样本并输入神经网络,对比其输出的特征向量来描述图像中以滑窗左上角顶点为标记的不同位置的边缘特征,结合统计优选的方法提取车牌。第五章车牌字符的分割。介绍了字符分割的算法,在罗列并分析已有的一7 基于改进BP神经网络的车牌识别算法研究些分割算法后,介绍了本文采用的分割算法,它在对图像扫描的基础上综合考虑字符本身的宽度信息,从右边开始进行逐一分割的方法,同时利用回扫和车牌图像本身的特点,引进的先验知识不受字符的粘连和断裂的影响,具有很好的自适应性,能准确地分割车牌字符。第六章车牌字符的识别。进入单个字符识别阶段,介绍了神经网络概念和训练方法,并详细介绍了BP神经网络的特点和不足,对其提出了改进,将改进的BP网络运用于车牌字符的识别,对仿真结果进行了分析比较。第七章对车牌自动识别系统的实现做了一个总结,归纳了本文的优点与不足以及系统有待完善之处。8 第二章车牌识别的基本原理第二章车牌识别的基本原理1.1车牌识别的基本原理汽车牌照自动识别系统,其主要工作是采用计算机图像处理技术对由摄像装置拍到的汽车图像进行分析,自动提取车牌信息,确定汽车牌号。系统的最终目的是确定汽车牌号。一个完整的车辆牌照识别系统工作流程一般由四部分组成,如图2.1所示:获取原始图像车牌定位字符分割字符识别图2.1车牌识别系统的组成其中图像输入通常由硬件完成,车牌定位、分割和识别通常由软件完成。这几个步骤是车牌识别中的主要步骤,每一步都具有非常重要的作用,是缺一不可的。除此之外,在定位之前还应对图片进行处理,比如对不同尺寸的输入图像进行缩放、对光线不足而导致边缘纹理不太明显的图像进行灰度拉伸以增强对比度,突出图像中的纹理。对预处理后的图像运用神经网络对其提取特征值,通过特征值定位出车牌的区域。在定位出车牌的区域后,还要进行车牌的倾斜角度的计算,如果角度超过了一定的值就要进行旋转校正,否则图像是无法正确切分的。在进行切分之前以及切分之后,都要对图像中的噪声进行去除,因为车牌由于脏污、破损和变形等原因会导致二值化后的车牌图片出现干扰噪声,从而影响识别的结果。1.2车牌字符的识别原理车牌字符识别实际上就是对车牌上的汉字、字母、数字进行准确确认的过程。车牌字符识别实际上是依附在车牌上的印刷体文字的识别,能否正确识别不仅是文字识别技术的问题,还要考虑其载体-车牌区域的影响。车牌字符识别技术是文字识别技术与车牌图像自身因素协调兼顾的综合性技术。由于摄像机的性能、车牌的整洁度、光照条件、拍摄时的倾斜角度及车辆运动等因素的影响使牌照中的字符可能出现比较严重的模糊、歪斜、缺损或污秽干扰,这些都给字符识别带来了难度。近几年以来,人工神经网络以其抗噪声、容错、自适应、自学习能力强,融若干预处理和识别于一体,识别速度快等特点9 基于改进BP神经网络的车牌识别算法研究受到人们重视。计算机及其相关技术发达的一些国家开始使用神经网络技术解决车牌的自动识别问题[12]。由于人工神经网络技术抛开了传统的计算结构和相应的算法,采用了生物神经网络的模型,因此它能较好地实现人类存储知识及处理信息的机能,使系统可以模拟人类思维,对需要处理和解决的问题进行记忆、联想、推理,从而较好地解决了车牌识别中所提出的因字符残缺不完整而无法识别的问题。另外人工神经网络技术应用于车牌识别领域与传统方法相比,还可以避免繁重的数学分析和数学建模工作,可以将信息存储与处理并行起来,大大提高了运行速度,因此越来越受到人们的广泛关注。车牌字符识别的研究在技术上虽然取得了很大的突破,然而离实用化的要求还相差很远,许多新方法仅停留在理论和文章上或者限制在比较狭窄的约束范围内,并不能以产品的形式大范围的投入使用。因而车牌字符识别的研究仍然有很长的路要走。1.1实现软件的运行环境与工作要求条件介绍本文运用Matlab7.0进行仿真实验。MATLAB是矩阵实验室(MatrixLaboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。MATLAB的基本数据单位是矩阵,它的指令、表达式与数学方程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多。一种语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同于其他语言的特点,正如同FORTRAN和C等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MATLAB,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB最突出的特点就是简洁。MATLAB用更直观的,符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。MATLAB给用户带来的是最直观,最简洁的程序开发环境。以下简单介绍一下MATLAB的主要特点。1)语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。可以说,用MATLAB进行科技开发是站在专家的肩膀上。10 第二章车牌识别的基本原理具有FORTRAN和C等高级语言知识的读者可能已经注意到,如果用FORTRAN或C语言去编写程序,尤其当涉及矩阵运算和画图时,编程会很麻烦。例如,如果用户想求解一个线性代数方程,就得编写一个程序块读入数据,然后再使用一种求解线性方程的算法(例如追赶法)编写一个程序块来求解方程,最后再输出计算结果。在求解过程中,最麻烦的要算第二部分。解线性方程的麻烦在于要对矩阵的元素作循环,选择稳定的算法以及代码的调试动不容易。即使有部分源代码,用户也会感到麻烦,且不能保证运算的稳定性。解线性方程的程序用FORTRAN和C这样的高级语言编写,至少需要四百多行,调试这种几百行的计算程序可以说很困难。MATLAB的程序极其简短。更为难能可贵的是,MATLAB甚至具有一定的智能水平,比如上面的解方程,MATLAB会根据矩阵的特性选择方程的求解方法,所以用户根本不用怀疑MATLAB的准确性。2)运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。3)MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。4)程序限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。6)MATLAB的图形功能强大。在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。MATLAB还具有较强的编辑图形界面的能力。7)MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。8)功能强大的工具箱是MATLAB的另一特色。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计11 基于改进BP神经网络的车牌识别算法研究算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能。功能性工具箱用于多种学科。而学科性工具箱是专业性比较强的,如control,toolbox,signlproceessingtoolbox,commumnicationtoolbox等。这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高,精,尖的研究。9)源程序的开放性。开放性也许是MATLAB最受人们欢迎的特点。除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。Matlab7系统在Windows2000(SP3或SP4)或更高版本上运行,Matlab系统是采用C语言编写的,具有很好的移植性。1.1小结因为MATLAB在图像的灰度化、二值化、滤波等方面都很方便,所以用MATLAB做车牌识别比用其他工具有许多优势,本设计利用MATLAB的这些优点来对车牌进行识别。12 第三章车辆图像预处理第三章车辆图像预处理1.1车辆图像的灰度增强计算机和信息技术的快速发展,已使数字图像学成为一门专门的学科,广泛运用在纺织、机械、信息科学、生物、医药等现代工业中。而关于图像的处理如图像识别、轮廓提取、图像增强等热点问题的相关技术工作,大都是在灰度图像基础之上进行进一步处理的。汽车图像样本,目前大都是通过摄像机、数码相机等设备拍摄获取的,因而预处理前的图像都是彩色图像。真彩色图像又称RGB图像,它是利用R、G、B3个分量表示一个像素的颜色,R、G、B分别代表红、绿、蓝3种不同的颜色,通过三基色可以合成出任意颜色。所以对一个尺寸为m×n的彩色图像来说,存储为一个m×n×3的多维数组。如果需要知道图像A中(x,y)处的像素RGB值,则可以使用这样的代码A(x,y,1:3)。彩色图像包含着大量的颜色信息,不但在存储上开销很大,而且在处理上也会降低系统的执行速度。由于图像的每个象素都具有三个不同的颜色分量,存在许多与识别无关的信息,不便于进一步的识别工作,因此在对图像进行识别等处理中经常将彩色图像转变为灰度图像,以加快处理速度。数字图像为彩色图像和灰度图像。在RGB模块中,如果R=G=B,则颜色表示一种灰度颜色,其中R=G=B的值叫做灰度值。由彩色转换为灰度的过程叫做灰度化处理。灰度图像就是只有强度信息,而没有颜色信息的图像,存储灰度图像只需要一个数据矩阵,矩阵的每个元素表示对应设置的像素的灰度值。彩色图像的像素色为RGB(R,G,B),灰度图像的像素色为RGB(r,r,r),R,G,B可由彩色图像的颜色分解获得。而R,G,B的取值范围是0-255,所以灰度的级别只有256级。灰度化的处理方法主要有如下三种:1)最大值法:使R,G,B的值等于三值中最大的一个,即R=G=B=max(R,G,B)公式(3-1)2)平均值法:使R,G,B的值等于三值的平均值,即R=G=B=R+G+B3公式(3-2)3)加权平均值法:根据重要性或其它指标给R,G,B赋予不同的权值并使13 基于改进BP神经网络的车牌识别算法研究R,G,B等于它们的值的加权和平均,即R=G=B=WR+WG+WBRGB3公式(3-3)其中WR,WG,WB分别为R,G,B的权值。由于人眼对绿色的敏感度最高,对红色的敏感度次之,对蓝色的敏感度最低,当WR=0.30,WG=0.59,WB=0.11时,能得到最合理的灰度图像。图像增强是数学图像处理过程中经常采用的一种方法。为了改善视觉效果或者便于人和机械对图像的理解和分析,根据图像的特点或存在的问题采取的改善方法或者加强特征的措施称为图像增强。获取和传输图像的过程往往会发生图像失真,所得到图像和原始图像有某种程度的差别。这种差异如果太大,就会影响人和机器对图像的理解。在许多情况下,人们不清楚引起图像降质的具体物理及其数学模型,但却能根据经验估计出使图像降质的一些可能原因,针对这些原因采取简便有效的方法,改善图像质量。例如,图像信号变弱会使人们无法看清图像的细节,而采用增强对比度的方法可使图像清晰一些;图像的噪声干扰也容易使图像质量变差,运用平滑技术可以消减噪声;还有一些物理器件或系统工作原理可等效为一积分过程,信号经过这样的器件或系统后要变模糊,这时可使用微分运算突出边界或其他变化的部分,使图像增强。由于所拍摄的车辆图像的质量受天气、光照、观察点等的影响,车牌图像往往会产生对比度不足的弊端,使图像细节分辨不清,影响识别率。因此,需要将牌照图像进行图像灰度扩展,以便改善图像的观察质量,提高字符识别率。可采用对比度增强和直方图均衡化等技术。1.1灰度线性变换在某些情况下,为了将图像灰度级整个范围(A,B)或其中某一段扩展或压缩到记录器件输入灰度级动态范围(Z1,ZK)之内,以便充分利用记录器件灰度级动态范围,记录显示出图像中所需要的图像细节,往往采用灰度变换方法。基本方法是:假定原来图像灰度级范围为(A,B),其中某一灰度级为Z,经过变换后为Z',要求Z'应该在记录器件灰度级动态范围(Z1,ZK)之内。为此,用下列关系式将Z映射到Z':14 第三章车辆图像预处理Z'=t(Z)公式(3-4)显然,要根据图像灰度级范围(A,B),与记录器件灰度级动态范围(Z1,ZK)的不同关系,采用不同的映射关系,如图3.1中所示。1)图像曝光不充分,使(A,B)为(Z1,ZK)的子区,即A>Z1,BT时,标出该点为边界点,其像素值设定为0,其它的设定为255,适当调整常数T的大小来达到最佳效果。 25 基于改进BP神经网络的车牌识别算法研究目前,在图像处理方面使用得最多的是一种可抗噪声的Sobel算法。它定义了8个方向的模板。图4.4Sobel算子模板通常物体的边缘是连续且光滑的,而噪声是随机的。在任一边缘点附近沿边缘的走向总能找到另一边缘点,且这两边缘点之间的灰度差及方向差都不可能很大。但是噪声则不同,一般情况下,沿任一噪声点的方向(通过上述模板运算得到)不太可能找到与其灰度差及方向差都很小的噪声点。索贝尔(Sobel)算子通常对灰度渐变和噪声较多的图像处理得较好。图4.5Sobel算子边缘检测1.1Prewitt边缘算子Prewitt边缘算子是一种边缘样板算子,利用像素点上下、左右邻点灰度差,26 第四章车辆牌照定位方法的研究在边缘处达到极值检测边缘,对噪声具有平滑作用。由于边缘点像素的灰度值与其邻域点像素的灰度值有显著不同,在实际应用中通常采用微分算子和模板匹配方法检测图像的边缘[7]。该算子通常有下列计算公式表示:f'(x,y)=f(x+1,y-1)-f(x-1,y-1)x+f(x+1,y)-f(x-1,y)+f(x+1,y+1)-f(x-1,y+1)公式(4-5)f'(x,y)=f(x-1,y+1)-f(x-1,y-1)y+f(x,y+1)-f(x,y-1) 公式(4-6)+f(x+1,y+1)-f(x+1,y-1)G[f(x,y)]=f(x,y)+f(x,y)公式(4-7)'2'2xy式中f'(x,y)、f'(x,y)分别表示x方向和y方向的一阶微分,G[f(x,y)]为xyPrewitt算子的梯度,f(x,y)是具有整数像素坐标的输入图像,。求出梯度后,可设定一个常数T,当G[f(x,y)]>T时,标出该点为边界点,其像素值设定为0,其它的设定为255,适当调整常数T的大小来达到最佳效果。Prewitt算子不仅能检测边缘点,而且能抑制噪声的影响,因此对灰度和噪声较多的图像处理得较好。图4.6Prewitt算子边缘检测1.1拉普拉斯(Laplacian)边缘算子拉普拉斯算子是一个二阶导数算子,而前面提到的三种算子均为一阶导数 27 基于改进BP神经网络的车牌识别算法研究算子。该算子是一个与方向无关的各向同性(旋转轴对称)边缘检测算子。若只关心边缘点的位置而不顾其周围的实际灰度差时,一般选择该算子进行检测。该算子通常有下列计算公式表示:Ñ2f(x,y)=f(x+1,y)+f(x-1,y)+f(x,y+1)+f(x,y-1)-4f(x,y)公式(4-8)式中Ñ2f(x,y)表示数字图像中每个像素关于x轴和y轴的二阶偏导数之和,即处理后像素(x,y)处的灰度值,f(x,y)是具有整数像素坐标的输入图像。由于拉普拉斯算子为二阶差分,其方向信息丢失,常产生双像素,对噪声有双倍加强作用,因此它很少直接用于边缘检测。鉴于此,Marr和Hildreth将高斯滤波和拉普拉斯边缘检测结合在一起,形成了LoG(LaplacianofGaussian)算子,即高斯-拉普拉斯算子,也常称为马尔算子(Marr-Hildreth)。该算子先用高斯算子对图像进行平滑,然后采用拉普拉斯算子根据二阶微分过零点来检测图像边缘[8]。高斯-拉普拉斯算子通常具有如下形式:-æ2öæ2ö1rrÑ2=ç-÷ç-÷G(r)1expps4s2s222èøèø公式(4-9)式中,s是方差,r是离原点的径向距离,即r2=x2+y2,x、y为图像的横坐标和纵坐标。高斯拉普拉斯算子是两种算子的结合,既具备高斯算子的平滑特点又具备拉普拉斯算子锐化特点。平滑和锐化,积分和微分是一对矛盾的两个侧面,统一在一起后就变成了最佳因子。因为图像中包含噪声,平滑和积分可以滤掉这些噪声,消除噪声后再进行边缘检测(锐化和微分)会得到较好的效果。 28 第四章车辆牌照定位方法的研究图4.7Laplacian算子边缘检测1.1坎尼(Canny)边缘算子坎尼算子是一类最优边缘检测算子,它在许多图像处理领域得到了广泛应用。Canny考核边缘检测算子的指标是:低误判率,即尽可能地把边缘点误认为是非边缘点;高定位精度,即准确地把边缘点定位在灰度变化最大的像素上;抑制虚假边缘。Canny从这三项指标出发,推导出了最佳边缘检测算子-Canny边缘算子。该算子的基本思想是:先对处理的图像选择一定的Guass滤波器进行平滑滤波,抑制图像噪声;然后采用一种称之为“非极值抑制”(NonmaximaSuppression)的技术,细化平滑后的图像梯度幅值矩阵,寻找图像中的可能边缘点;最后利用双门限检测通过双阈值递归寻找图像边缘点,实现边缘提取。Canny方法也使用拉普拉斯算子,该方法与其它边缘检测方法的不同之处在于,它使用2种不同的阈值分别检测强边缘和弱边缘,并且仅当弱边缘与强边缘相连时才将弱边缘包含在输出图像中,因此这种方法较其它方法而言不容易被噪声“填充”,更容易检查出真正的弱边缘。29 基于改进BP神经网络的车牌识别算法研究图4.8Canny算子边缘检测后的图图4.9综合比较各边缘检测图1.1本文使用的车牌定位方法目前对于任意背景、位置和光照下的汽车图像,各种性能都满足要求的算法目前还没有。因此,综合多种算法进行定位分析既是客观实际的需要,本文提出了基于边缘特征和改进BP神经网络的车牌定位方法。它通过滑动窗口抽取样30 第四章车辆牌照定位方法的研究本并输入神经网络,对比其输出的特征向量来描述图像中以滑窗左上角顶点为标记的不同位置的边缘特征,结合统计优选的方法提取车牌。利用车牌边缘信息定位车牌算法对外界光照变化不敏感,取得了较好的定位效果。然而在复杂背景下,基于边缘信息定位车牌的方法受到背景信息的干扰,容易造成车牌区域误检。本文提出了一种基于边缘检测、数学形态学和垂直投影相结合的车牌定位方法,有效提高了基于边缘信息车牌定位算法在复杂背景下的准确性。图4.10给出了边缘检测与垂直投影相结合的车牌定位流程图。原始图像图像预处理边缘提取最终定位伪车牌投影判别车牌定位图4.10边缘检测与垂直投影相结合的车牌定位流程图在对车牌进行定位前,先将汽车图像通过灰度变换、直方图均衡化等增强预处理。由于罗伯特(Roberts)边缘算子定位精度高,在水平和垂直方向效果较好,对车牌边缘的识别效果不错,本文使用该算子对灰度图进行边缘检测。检测到边缘后在进行区域膨胀,腐蚀去无关的小物件,这时图像呈现出多个连通的判断区域。如图4.11给出了一幅车牌图像区域定位的前期处理过程。图4.11一幅实例的识别过程在多个连通的判断区域中,有许多区域跟车牌的区域大小比例很接近,通过大小很难找出正确的车牌区域,如何定位所有连通域中最可能是车牌的那一个,31 基于改进BP神经网络的车牌识别算法研究判断的标准是:测得该车牌的长宽比约为4.5:1,其面积和周长存在关系:(4.5×L×L)/[2×(4.5+1)×L]2≈1/27,以此为特征,取metric=27*area/perimeter2作为连通域的匹配度,它越接近1,说明对应的连通域越有可能是4.5:1的矩形。首先是排除宽度小于高度的区域,然后计算每个连通域metric值,部分matlab代码如下:[B,L]=bwboundaries(bw,4);subplot(247);imshow(label2rgb(L,@jet,[.5.5.5]));title('标示区域');imwrite(label2rgb(L,@jet,[.5.5.5]),'car7.标示区域.jpg');holdon%找到每个连通域的质心stats=regionprops(L,'Area','Centroid');%循环历遍每个连通域的边界fork=1:length(B)%获取一条边界上的所有点boundary=B{k};s=min(boundary,[],1);e=max(boundary,[],1);X=e(1)-s(1);Y=e(2)-s(2);if(Y/X>=1)&&(Y/X<=7)plot(boundary(:,2),boundary(:,1),'w','LineWidth',2)%计算边界周长delta_sq=diff(boundary).^2;perimeter=sum(sqrt(sum(delta_sq,2)));%获取边界所围面积area=stats(k).Area;%计算匹配度metric=27*area/(perimeter^2);%要显示的匹配度字串metric_string=sprintf('%2.2f',metric);32 第四章车辆牌照定位方法的研究temp(k)=abs(1-metric);%显示匹配度字串text(boundary(1,2)-35,boundary(1,1)+13,metric_string,'Color','g','FontSize',14,'FontWeight','bold');endend但一般的车牌都是在野外拍摄的,受时间和气候的影响较大,背景的复杂性使车牌图像中含有多个与车牌信息类似的边缘区域,符合上述的车牌长高比,会被误认为是车牌区域。下面根据车牌特点的先验知识和伪车牌区域图像颜色复杂、纹理信息不明显等自身特点,提出了结合垂直投影判别伪车牌的方法。从车牌字符的特点可以预见,车牌区域的垂直投影图将呈现多锯齿状,连续字符之间将在水平方向上出现有规律的明暗交替。根据这一特点,可以使用一条水平直线与投影图相交,统计交点的最大个数,以此判断真伪车牌。由于车牌的字符数为7,交点的最大个数不能小于14,否则认为是伪车牌。该方法的步骤如下:1)作该区域的垂直投影图;2)考虑到投影图会有尖峰噪声,从而影响后续统计,所以将投影图进行一次高斯滤波;3)从投影图底部开始,用一条水平线穿过投影图,统计水平线与投影图的交点个数;4)将水平线依次上移,直到到达投影图的顶部,并找到水平线交点的最大个数N;5)如果N小于一个阈值T,则认为是伪车牌区域。图4.12为实际投影图统计水平交点的示意图。图4.12(a)是与车牌区域有着相似的边缘信息的伪车牌区域;(b)是该图像的真实车牌区域。对两幅图进行垂直投影,图中的水平线是交点个数最大的水平线示意。从图中可以看到真实车牌的投影更加有规律,字符与字符之间有明显的间隔。33 基于改进BP神经网络的车牌识别算法研究图4.12投影图统计水平交点的示意图1.1实验结果与分析在matlab7.0环境下对上述提出的算法进行了测试,通过对150幅背景复杂的车辆图像进行了测试,车牌类型包括不同省市的汽车牌照,用单一的BP算法检测定位成功率为93.3%,而结合垂直边缘算子及投影定位成功率为97.3%。实验结果表明该算法具有较好的鲁棒性和准确性。34 第五章车牌区域的分割第五章车牌区域的分割1.1字符分割的简介字符分割的任务是把多行或多字符图像中的每个字符从整个图像中切割出来成为单个字符。对于字符分割的问题常常不被重视,但是字符的正确分割对字符的识别又是十分关键的。许多情况下字符存在着字体的多样性,而且常常由于图像需要二值化,二值化阈值的高低直接影响了字符的清晰程度,当阈值过低时字符会粘连,相反,阈值过高时字符会因过分细化而断裂。总之,各种因素使得字符分割的复杂性变大。1.1.1车牌区域二值化和统一背景在分割之前,须对识别的车牌区域二值化和统一背景(黑底白字)。1)车牌识别中的二值化就是将前景牌照号从牌照中分离出来,然后提交到下一步去切分开单个的字符。如果是对灰度图片进行二值化,那么关键是要找到一个阈值T,若原图中某点的灰度值f(x,y)大于等于T则二值化后等于255,否则等于0。二值化后要能再现原字符图像,基本不出现笔画断裂和粘连现象,尽量不丢失原字符的特征。如图5.1所示:图5.1车牌图像二值化2)对二值化的车牌图像统一背景色在二值化图像中,象素点仅用0或1表示。处理后的二值化图像由于牌照本身原有颜色的不同,会区分成为黑底白字和白底黑字2种,为此,需要将所有牌照图像都统一成某一种情况,例如都统一成黑底白字的二值图像。假定某牌照图像中字符象素点所占比例为r1,背景象素点所占比例为r2,则必有050%,而字符象素点所占比例r1<50%。因此可统计某车牌二值图像中白色象素点所占比例r,如果r<50%则说明该车牌的二值图像为黑底白字,不需要变换;如果r>50%则说明该车牌的二值图像为白底黑字,对该图像进行反转,即将原来的白色象素点1变成黑色0,原来的黑色象素点0变成白色1,这样处理后所有牌照都统一成为了黑底白字二值35 基于改进BP神经网络的车牌识别算法研究图像了。1.1校正车牌倾斜度由于拍摄角度的问题,从定位得到的图像有一部分是倾斜的。当对这类牌照进行竖直投影的时候,字符的投影在竖直方向相互重叠,使得原本字符之间的间隔的零值投影不存在。很显然,倾斜图像不适合直接用竖直投影的方法进行分割,考虑将其牌照图像进行纠偏。纠偏有三种方法。一种叫投影法:将图像每旋转一个方向后投影到一条线上,跌加所有的像素值,测算满足一定域值的线有色部分的长度,得到各个角度排列的线长度表,由于图像为长方型可以看到两个明显的凹点,间隔为90度,该角度就是纠偏的角度。另外一种方法是模糊后的主元分析法,将图像二值化,有色点可以看成是分布点,用数据分析的方法(概率中的协方差矩阵)查找其正交的主元方向。具体方法篇幅较长可以看一些数据分析的书.第三种方法为哈夫变换。将角度设为变换的系数。纠偏后,查找长方型区域的边缘应该很容易,不需要用图像处理的方法,只需要用扫描线的方法就可以查找边缘了.纠偏的具体算法采用针对透视畸变的线性变换,即:x'=ax+by+cy=dx+ey+f公式(5-1)'a、b、c、d、e、f的具体取值由大量的图像统计得出,本文中取a=e=1,d=-0.2,b=c=f=0,这个纠偏的算法简单易行,且基本可以满足下一步的处理要求。倾斜校正的过程由两步组成,第一步是对图像的倾斜角进行检测,第二步是根据检测到的倾角对图像进行旋转变换,使图像的倾斜得到校正。首先根据旋转的角度、图像对角线的长度计算旋转后的图像的最大宽度、高度,根据旋转后图像最大的宽度、高度生成新的缓冲区,假设图像的左上角为(left,top),右下角为(right,bottom),则图像上任意点(x,y)绕其中心(xcenter,ycenter)逆时针旋转angle角度后,新的坐标位置(x1,y1)的计算公式为:xcenter=(width+1)/2+left;公式(5-2)ycenter=(height+1)/2+top;公式(5-3)36 第五章车牌区域的分割x1=(x-xcenter)cosθ-(y-ycenter)sinθ+xcenter;公式(5-4)y1=(x-xcenter)sinθ+(y-ycenter)cosθ+ycenter;公式(5-5)若以某个固定的经验值对所有牌照统一进行旋转处理,又会使原本正常的牌照倾斜,导致新的错误。因此有必要针对特定的牌照图像,提取其倾斜角度,再加以相应的旋转处理。如何从牌照中自动提取其倾斜度,是预处理过程中的一个难点。采用Hough变换的方法,实验室校正的准确率达到了99%,证明此方案是可行的。1.1去除上下边框中的干扰字符粘连和有干扰的牌照图像如图5.2所示:图5.2多干扰车牌及其波形图完成了精确二值化以后,对于黑底白字且没有其他干扰的牌照图像而言,字符的左右间隔处的竖直投影值应该为零。但实际上,由于前面的定位不可能做到恰好卡在牌照的边框上,或者即使卡在边框上,在牌照的上下边沿处会有许多其他的干扰。这些干扰的来源各式各样:有的是该型号的牌照上本身有与字符的灰度值相同的矩形框;有的则是由于牌照在拍摄时污染所留下了阴影;还有可能是牌照上的铁钉。无论是何种干扰都对下面的分割非常不利,因为它使得原来应该作为分割依据的零值投影点的数值不为零。因此,去除上下边框的干扰是很有必要的。这里取整个牌照中间三分之一作为处理区域,在保证算法可靠性的同时简化计算,去除上下干扰的算法依据是:对处理区域作行扫描,字符的上下边沿处37 基于改进BP神经网络的车牌识别算法研究应该为背景,基本没有明暗跳变,而字符所在行有频繁的明暗跳变。当搜索到字符与背景的分界行时,将这个分界行所界定的字符区域之外全部置为背景的灰度值。可以比较一下处理前后不同的效果,从而体会去除上下干扰对于分割的重要性。如图5.3、5.4所示。5.3车牌有上下边框干扰5.4去除车牌上下边框干扰由上图可见,在去除上下干扰后波形分割比较明显,这对后期的字符分割提供了十分有利的条件。1.1.1去除分隔符在实验所用的牌照中,有一部分牌照在字符之间有一个分隔符,分隔符的位置随着牌照类型的不同而不同。在理想情况下,分隔符的左右两侧竖直投影值均为零。但大多数有分隔符的牌照中,分隔符与左右两侧的字符有不同程度的粘连。由于分割要综合利用字符的平均宽度和字符之间的间隙,而与字符粘连在一起的分隔符对这两个重要的依据都会有干扰。基于这一原因,考虑将其去除。以列循环的方式用来对牌照在竖直方向做一个“探测”(可以自上而下或自下而上两种方式进行)。当遇到白色像素点时停止该列的搜索,返回这个白色像素点所在行的行数。经过了除去上下干扰的牌照图像只有字符区域是白色,而背38 第五章车牌区域的分割景区域是黑色的。去除分隔符算法的思想为:在牌照的处理区域,从上往下“探测”牌照,遇到的白色像素点可能是字符或者分隔符。而“探测”到白色像素点的行位置是一个特征信息,分隔符的行起始位置一定在牌照的中间行;另一个特征信息是分隔符所在区域竖直方向的灰度投影,这个数值与字符区域的相应数值相比很小。这是整个去分隔符算法的重要依据。同时,要加入对分隔符左右两侧“探测”结果的判别,以进一步确认那是字符区域。1.1标记法去除左侧干扰在所处理的牌照图像中,有一部分牌照的最左侧会出现干扰,这是由于牌照左侧离摄像机照明灯较远,从而车牌左侧较淡的污染形成干扰。这个干扰对第一个字符的切割和将来的识别有很大的影响,考虑将其去除。仔细分析这个干扰的外形特点,如果直接用竖直投影、竖直切割的方法很难去除。因为它与第一个字符之间通常没有严格竖直投影零点,此外这个干扰多数呈现类三角形而不是类矩形,不适合切割去除,有些干扰甚至在底部延伸到第一个字符的下方,其竖直投影和第一个字符重叠。字符分割的算法很多,通常根据处理对象的不同有许多相应的方法。为了实现更好的分割,有关景物的总体知识和先验信息是很有用的,根据包含在图像中的信息,可以定制相应的判决准则和控制策略,使其完成自动分割,比如对多行文本的处理,邮政部门对邮政编码和地址的识别,金融等部门对支票签名手写字迹的分割识别等等,都是针对具体的不同研究对象而采用不同的算法。传统的字符分割算法可以归纳为以下三类:直接的分割法,基于识别基础上的分割法,自适应分割线聚类法。直接的分割法简单,但它的局限是分割点的确定需要较高的准确性;基于识别结果的分割是把识别和分割结合起来,但是需要识别的高准确性,它根据分割和识别的藕合程度又有不同的划分;自适应分割线聚类法是要建立一个分类器,用它来判断图像的每一列是否是分割线,它是根据训练样本来进行自适应的神经网络,但是对于粘连的字符是很难训练的。因为分割不可能做到完全正确,现在有的算法已经把字符的分割作为不必要的步骤,而是直接把字符组成的单词当作一个整体来识别。利用诸如马尔可夫数学模型等方法进行处理,这主要是应用于文本识别。以上的字符分割算法均是基于二值图像进行的。考虑到二值图像丢失掉很多信息,而且可能会造成字符粘连模糊或断裂39 基于改进BP神经网络的车牌识别算法研究的缺陷,对灰度图像的直接处理已经有人开始研究。由于本文所处理的对象是相对类型较少、变化较小的车牌图像,所以采用简单的直接分割法。具体就是直接找到车牌上每个字符的边界,之后对单个字符进行识别。由于对车牌中字符的字体,排列有详细的规定,尽管在对汽车进行拍摄时会产生一些变形,但是车牌中的字符字体基本上变化不是很大,本文对车牌中的字符分割的困难主要是集中在对车牌中存在的字符粘连,断裂的处理。1.1本文中采用的字符分割算法在经过了上面一系列的预处理之后,现在的牌照图像已经基本可以满足分割需要。由于牌照有其自身的规格要求,字符之间有一定的间隔,而这个间隔是最先可以想到的分割依据。对于二值化以后的牌照图像,基于完成了将字符统一为白色,背景统一为黑色这一步工作,当对整幅牌照图像做竖直投影时,可以很明显的看到相邻字符之间间隔的投影值正好处于波谷的位置,如图5.5所示。图5.5理想的牌照二值图像及其竖直投影在理想的情况下,这个波谷的值应该为零,并且每个字符之间都应该有相应的波谷。利用这个零值的波谷可以很容易的得到字符之间的间隔,从而将整个牌照切分为单个字符,进行下一步的识别。首先给出基于这一理想情况的算法。为此,要定义两个数组mark[],L[],一个参数number。其中mark[]记录了通过牌照图像竖直投影得到的上一个字符结束的位置,L[]记录了从上一个字符结束到下一个字符开始的间隔,而number则对mark[]和L[]数组中写入的数字进行计数。考虑到牌照字符数最多不会超40 第五章车牌区域的分割过10个,现将数组的大小定义为12。算法的步骤如下[24]:1)定义大小为12的两个零数组mark[],L[]:2)对经过预处理的牌照进行竖直投影;3)按照牌照图像的总列数开始循环;4)如果该列的投影值不为零,而下一列的投影值为零,则将下一列的值写入mark[]数组,同时对number加1,表示写入了一个新的间隔标记;如果该列的投影值为零,而下一列的投影值也为零,则对L[number]加l,表明L[]数组中记录的字符间隔长度增加。5)如果循环没有结束,跳回4)。以上的算法意义简单明了,也易于实现。有字符断裂的牌照图像,如图5.6所示:图5.6有字符断裂的牌照二值图像及其竖直投影虽然本文中采用的二值化方法对不同的牌照图像有一定的自适应性,但是由于总体上还是全局阈值法,不可能兼顾牌照图像不同的区域。而事实上,由于光线和其他不可预计的污染因素,对整幅牌照进行全局阈值的二值化以后,会出现有的字符断裂缺损的情况。如果在某一列应该有字符像素的地方经过二值化后被误作为背景,那么该列的投影值一定为零,用基于理想情况的分割算法必然会导致错误的分割线产生。即使识别对缺损字符有一定的容错性,但是基于分割的识别是无法绕过识别这个步骤的,所以首先要保证分割的正确性。首先考虑字符的粘连。这一类牌照图像是在非理想情况下遇到的最多的类别。引起字符粘连主要原因是:二值化的阈值取得相对略低,导致字符过粗而产41 基于改进BP神经网络的车牌识别算法研究生字符之间的粘连。如果在二值化的时候可以预见到这一点,相应的提高阈值当然是可以避免的,但是这个方法相对已经采用的二值化算法而言代价比较大,因为它牵涉到反馈机制。经过对大量图像的考察,发现粘连图像的竖直投影虽然没有理想的零值波谷,但是它还是有波谷的存在。从定量的角度来讲,用一个门限来定义波谷作为分割标准显然是行不通的。第一,图像与图像之间二值化的效果不一,在这幅图像适用的门限也许无法通过下一幅图像;第二,即使在同一幅图像内,也不能说最低的波谷就是分隔位置。这牵涉到具体的字符形态,当粘连的情况严重到一定的程度而又不引入新的解决办法会引起误分割。还有一类是上下干扰没有完全去除的情况。这类牌照的数量少,但还是存在。因为采用的去上下干扰的算法不能完全的处理字符与上下边框或其他干扰粘连很严重的情况通过以上的分析,很清楚的看到目前需要解决的问题:即如何在利用竖直投影的基础上,找到新的分割依据,而字符本身的宽度是一个很有用的信息[26]。不可能也没有必要找到一个适用于所有牌照的字符宽度标准,牌照的大小长短有差异,导致字符的宽度不一。即使是同样规格的牌照,由于字符形态不同,宽度还是有区别的,比如“1”的宽度就比其它字符小一些。如何有效的利用字符的宽度信息,使它对分割产生有益的指导作用是努力的重点。在汽车牌照自动识别过程中,字符分割有承前启后的作用。它在前期牌照定位的基础上进行字符的分割,然后再利用分割的结果进行字符识别。字符识别的算法很多,常采用垂直面积投影法来实现。面积投影法的公式如下:公式(5-6)由于字符块在竖直方向上的投影必然在字符间或字符内的间隙处取得局部最小值,并且这个位置应满足车牌的字符书写格式、字符尺寸和其他一些条件的限制。下图是图10在垂直方向上的面积投影图。从图形中很直观的看出投影值中出现了8条间隙,6个字母中间的间隙只有5个,还有三个间隙是字符间的。有字符的列其灰度值比较高,无字符的则相对比较低。依据这一点,再结合图1.1的特征,很容易得到每个字符的起始终止位置。第一个字符:7-19,第二个42 第五章车牌区域的分割字符:24-36,第三个字符:48-62,第四个字符:70-75,第五个字符:82-94,第六个字符:98-114,第七个字符:118-130。将图5.5按照上面的分析行数不变,列数分为7组,分别影射到7个不同的数组中。分割出来的7个字符如下所示,分别命名为M1.jpg,M2.jpg,M3.jpg,M4.jpg,M5.jpg,M6.jpg,M7.jpg并用imwrite函数写入图像文件夹中,以便在后期处理中可以直接进行调用。又因为在字符的模式识别中,其模板大小统一,因此得到的7个数组必须变换其大小,均统一成26×14的形式。图5.7分割出来的7个字符图像一般分割出来的字符要进行进一步的处理,以满足下一步字符识别的需要。因为图像中含有许多燥声,这在预处理的图像中已经看出来了。因此必须进行滤波,然后归一化,二值处理。使其最后得到的图像与标准模板一样。只含有两种灰度值,黑与白。但是对于车牌的识别,并不需要这么多的处理就已经可以达到正确识别的目的。在此简化了处理过程,未经滤波归一化,直接进行后期处理。43 基于改进BP神经网络的车牌识别算法研究第六章神经网络在车牌字符识别上的应用1.1神经网络简介字符识别是模式识别领域的一项传统的课题,这是因为字符识别不是一个孤立的问题,而是模式识别领域中大多数课题都会遇到的基本问题,并且在不同的课题中,由于具体的条件不同,解决的方法也不尽相同,因而字符识别的研究仍具有理论和实践意义。这里讨论的是用神经网络识别数字的问题[33]。人工神经网络模式识别方法是近些年提出的新方法,为字符识别研究提供了一种新手段,它具有一些传统技术所没有的优点:良好的容错能力、分类能力强、并行处理能力和自学习能力。因而,采用神经网络识别方式是一种很好的选择。神经元网络(NeuralNet)指由大量神经元互连而成的网络,有点象服务器互连而成的国际互连网(Internet)。人脑有1000亿个神经元,每个神经元平均与10000个其他神经元互连,这就构成了人类智慧的直接物质基础。神经元的工作机制:神经元由细胞体,树突(输入端),轴突(输出端)组成。神经元有两种工作状态:兴奋和抑制。每个神经元到另一个神经元的连接权(后者对前者输出的反应程度)是可以接受外界刺激而改变的,这构成了学习机能的基础。人工神经网络(ArtificialNeuralNetwork.简称ANN)正是在人类对其大脑神经网络认识理解的基础上人工构造的能够实现某种功能的神经网络。它是理论化的人脑神经网络的数学模型,是基于模仿大脑神经网络结构和功能而建立的一种信息处理系统。它实际上是由大量简单元件相互连接而成的复杂网络,具有高度的非线性,能够进行复杂的逻辑操作和非线性关系实现的系统。在众多的人工神经网络模型中,最常用的是BP(BackPropagation)模型,即利用误差反向传播算法求解的多层前向神经网络模型。BP网络在故障诊断、模式识别、图像识别、管理系统等方面都得到了广泛的应用。1.2神经网络与模式识别1.1.1神经网络与模式识别的关系模式识别[34]又常称作模式分类,从处理问题的性质和解决问题的方法等角44 第六章神经网络在车牌字符识别上的应用度,模式识别分为有监督的分类(SupervisedClassification)和无监督的分类(UnsupervisedClassification)两种。模式识别(PatternRecognition)是人类的一项基本智能,在日常生活中,人们经常在进行“模式识别”。随着20世纪40年代计算机的出现以及50年代人工智能的兴起,人们当然也希望能用计算机来代替或扩展人类的部分脑力劳动。(计算机)模式识别在20世纪60年代初迅速发展并成为一门新学科。模式识别(PatternRecognition)是指对表征事物或现象的各种形式的(数值的、文字的和逻辑关系的)信息进行处理和分析,以对事物或现象进行描述、辨认、分类和解释的过程,是信息科学和人工智能的重要组成部分。模式还可分成抽象的和具体的两种形式。前者如意识、思想、议论等,属于概念识别研究的范畴,是人工智能的另一研究分支。所指的模式识别主要是对语音波形、地震波、心电图、脑电图、图片、照片、文字、符号、生物的传感器等对象进行测量的具体模式进行分类和辨识。模式识别研究主要集中在两方面,一是研究生物体(包括人)是如何感知对象的,属于认识科学的范畴,二是在给定的任务下,如何用计算机实现模式识别的理论和方法。前者是生理学家、心理学家、生物学家和神经生理学家的研究内容,后者通过数学家、信息学专家和计算机科学工作者近几十年来的努力,已经取得了系统的研究成果。应用计算机对一组事件或过程进行鉴别和分类。所识别的事件或过程可以是文字、声音、图像等具体对象,也可以是状态、程度等抽象对象。这些对象与数字形式的信息相区别,称为模式信息。模式识别所分类的类别数目由特定的识别问题决定。有时,开始时无法得知实际的类别数,需要识别系统反复观测被识别对象以后确定。模式识别与统计学、心理学、语言学、计算机科学、生物学、控制论等都有关系。它与人工智能、图像处理的研究有交叉关系。例如自适应或自组织的模式识别系统包含了人工智能的学习机制;人工智能研究的景物理解、自然语言理解也包含模式识别问题。又如模式识别中的预处理和特征抽取环节应用图像处理的技术;图像处理中的图像分析也应用模式识别的技术。45 基于改进BP神经网络的车牌识别算法研究1.1神经网络模式与其它模式识别方法的比较针对模式特征的不同选择及其判别决策方法的不同,可将模式识别方法大致分为5大类。这5种识别方法均可实现字符识别,但它们特点不同,必须根据条件进行选择。1)统计模式法:对已知类别的模式样本进行各种特征的提取和分析,选取对分类有利的特征,并对其统计均值等按已知类别分别进行学习,按贝叶斯最小误差准则,根据以上统计特征设计出一个分类误差最小的决策超平面,识别过程就是对未知模式进行相同的特征提取和分类,通过决策平面方程决定该特征相应的模式所属的类别。此方法比较成熟,能考虑干扰、噪声等的影响,识别模式基元能力强。但对结构复杂的模式抽取特征困难;不能反映模式的结构特征,难以描述模式的性质;难以从整体角度考虑识别问题。2)句法结构方法:分为训练过程和识别过程:训练过程就是用已知结构信息的模式作为训练样本,先识别出基元和它们之间的连接关系,并用字母符号表示它们,然后用构造句子的方法来描述生成这些场景的过程,并由此推断出生成该场景的一种文法规则;识别过程就是对未知结构的模式进行基元识别及其相互关系分析,然后用训练过程中获得的文法对其作句法分析,如果它能被已知结构信息的文法分析出来,则该模式具有与该文法相同的结构,否则就可判定不是这种结构。此方法识别方便,可从简单的基元开始,由简至繁;能反映模式的结构特征,能描述模式的性质,对图像畸变的抗干扰能力较强,但当存在干扰及噪声时,抽取基元困难,且易失误。3)逻辑特征法:就是其特征的选择对一类模式识别问题来说是独一无二的,即在一类问题中只有1个模式具有某1种(或某1组合的)逻辑特征,此方法建立了关于知识表示及组织,目标搜索及匹配的完整体系;对需通过众多规则的推理达到识别目标的问题,有很好的效果,但当样品有缺损,背景不清晰,规则不明确甚至有歧义时,效果不好。4)模糊模式方法:就是在模式识别过程中引入了模糊集的概念,由于隶属度函数作为样品与模板相似程度的量度,故能反映整体的、主要的特性,模糊模式有相当程度的抗干扰与畸变,从而允许样品有相当程度的干扰与畸变,但准确合理的隶属度函数往往难以建立。目前有学者在研究,并将其引入神经网络方法46 第六章神经网络在车牌字符识别上的应用形成模糊神经网络识别系统。5)神经网络方法:就是使用人工神经网络方法实现模式识别。可处理一些环境信息十分复杂,背景知识不清楚,推理规则不明确的问题,允许样品有较大的缺损、畸变,神经网络方法的缺点是其模型在不断丰富完善中,目前能识别的模式类还不够多,神经网络方法允许样品有较大的缺损和畸变,其运行速度快,自适应性能好,具有较高的分辨率。神经网络的字符识别系统是神经网络模式识别系统的一种,原理是一致的。一般神经网络字符识别系统由预处理,特征提取和神经网络分类器组成。预处理就是将原始数据中的无用信息删除,平滑,二值化和进行幅度归一化等。神经网络字符识别系统中的特征提取部分不一定存在,这样就分为两大类:(1)有特征提取部分的:这一类系统实际上是传统方法与神经网络方法技术的结合,这种方法可以充分利用人的经验来获取模式特征以及神经网络分类能力来识别字符。特征提取必须能反应整个字符的特征。但它的抗干扰能力不如第2类。(2)无特征提取部分的:省去特征抽取,整个字符直接作为神经网络的输入(有人称此种方式是使用字符网格特征),这种方式下,系统的神经网络结构的复杂度大大增加了,输入模式维数的增加导致了网络规模的庞大。此外,神经网络结构需要完全自己消除模式变形的影响。但是网络的抗干扰性能好,识别率高。构造神经网络分类器首先要选择适当的网络结构:神经网络分类器的输入就是数字字符的特征向量;神经网络分类器的输出节点应该是字符数。10个数字输出层就有个10个神经元,每个神经元代表一个数字;隐层数要选好,每层神经元数要合适,目前有很多采用一层隐层的网络结构。然后要选择适当的学习算法,这样才会有很好的识别效果。在学习阶段应该用大量的样本进行训练学习,通过样本的大量学习对神经网络的各层网络的连接权值进行修正,使其对样本有正确的识别结果,这就像人记数字一样,网络中的神经元就像是人脑细胞,权值的改变就像是人脑细胞的相互作用的改变,神经网络在样本学习中就像人记数字一样,学习样本时的网络权值调整就相当于人记住各个数字的形象,网络权值就是网络记住的内容,网络学习阶段就像人由不认识数字到认识数字反复学习过程是一样的。神经网络是按整个特征向量的整体来记忆数字的,只要大多数特征符合曾学习过的样本就可识别为同一字符,所以当样本存在较大噪声时神经网络分47 基于改进BP神经网络的车牌识别算法研究类器仍可正确识别。在字符识别阶段,只要将输入进行预处理,特征提取后的特征向量作为神经网络分类器的输入,经过网络的计算,分类器的输出就是识别结果。1.1BP神经网络结构BP算法是一个快速下降的方法,它使用了最优化方法中最普通的一种沿梯度下降算法,目的是使实际输出和预期的样本输出之间的均方差最小化。误差逆传播神经网络是一种具有三层或三层以上的阶层型神经网络,如图所示为一个三层前馈神经网络:它包括输入层、隐含层(中间层)、输出层;输入层有i个节点,隐含层有j个节点,输出层有t个节点。上、下层之间各神经元实现全连接,即下层的每一单元与上层的每一单元都实现权连接,而每层各神经元之间无连接。网络按有教师示教的方式进行学习,当一对学习模式提供给网络后,神经元激活值从输入层经各中间层向输出层传播,在输出层的各神经元获得网络的输入响应。这以后,按减小希望输出与实际输出之间误差的方向,从输出层经各中间层逐层修正各连接权值,最后回到输入层。BP神经网络按拓扑结构来分类,属前向网络,但它采用的是反向传播的学习方法,故又称为反向传播神经网络(Back-PropagationNeuralNetwork),简称为BP网络。BP模型是一种多层感知器结构,由若干层神经元组成,除输入层和输出层外,包括一个或多个中间隐含层。一个具有3个输入和一个隐含层的BP网络模型结构如图6.1。输出层 输入层隐含层图6.1典型BP网络模型结构示意图48 第六章神经网络在车牌字符识别上的应用具体算法步骤如下:1)设置初始权系w(0)为较小的随机非零值,即把所有权值和域值都设置成较小的随机数。2)提供输入/输出样本对(即输入和预期输出值),计算网络的输出:设第p组样本输入、输出分别为:up=(u1p,u2p,„,unp)dp=(d1p,d2p,„,dnp)p=1,2,„,L节点i在第p组样本输入时,输出为:éùyipf[x(t)]=fw(t)Ι公式(6-1)=åêúipijjpêúëûj式中IjP——在第p组样本输入时,节点i的第j个输入f是激励函数,采用Sigmoid型,即f1(x)=公式(6-2)1+ex可由输入层经隐层至输出层,求得网络输出层节点的输入。3)计算网络的目标函数J设Ep为在第p组样本输入时网络的目标函数,取L2范数,则111p=-=å-=å公式(6-3)ppkpkpkp2 2[]2()E(t)dy(t)dy(t)et2223kk式中ykp(t)--在第p组样本输入时,经t次权值调整网络的输出,k是输出层第k个节点。网络的总目标函数为:åPJ)(t=E(t)公式(6-4)p作为对网络学习状况的评价。判别:若J≤e公式(6-5) 式中e--预先确定的,e≥0则算法结束,否则,至步骤2)。1.1反向传播学习算法(BP算法)及不足我们知道,较早将人工神经网络用于实际应用中的是感知机模型,它对人工神经网络的发展起了很大的作用。它的出现曾掀起了人们研究人工神经网络的热潮,但它存在着许多的不足,例如,它连很简单的非线性问题都处理不好。所以49 基于改进BP神经网络的车牌识别算法研究它的应用受到了很大的限制。人们发现,采用多层网络是可以解决非线性问题的,只是用感知机学习方法不能调整多层网络的连接权。因此人们开始研究对多层网络连接权的校正方法,逐渐发展起来一种新的对多层网络的训练方法――误差逆传播算法(BackPropagation),主要意思是从后向前计算,人们把采用这种算法进行误差校正的多层前馈网络称为BP网络。BP神经网络的强大非线性映射能力,已经成为目前大量采用的一种人工神经网络模型,从理论到实践都很成熟,理论上已证明可用之模拟任何非线性系统。BP网络各层节点之间全部互相连接,同层节点之间不连接,每层节点的输出只影响下一层节点的输出。BP算法的主要思想是:对于n个输入学习样本aL已知与其相对应的输出样本1,y,yq,,,,yL学习的目的是用网络的实际1a,an22输出c1,cLcq,与目标矢量2y,,L1yy之间的误差来修改其权值,使2qck(k=1,2,L,q)与其期望的y尽可能的接近。即:使网络输出层的误差达到最小,k它是通过连续不断地在相对于误差函数斜率下降的方向上计算网络权值和阈值的变化而逐渐逼近目标的。每一次权值和偏差的变化都与网络误差的影响成正比,并以反向传播的方式传递到每一层的。标准梯度BP算法解决了多层前向人工神经网络的训练问题,在实际应用中有着重要的意义,但也存在一些不足,其主要表现在:1)BP算法的收敛速度比较慢,一般需要成千上万次的迭代计算;2)系统训练可能不稳定;3)目标函数可能陷入局部极小值;4)网络隐含层神经元数目的选取和连接权W初值的选取,往往靠经验。另外新加入的样本要影响到已学习完的样本,还有一些理论上的问题,如网络的收敛性与结构之间的关系。1.1BP神经网络的Matlab程序编制一般地,应用Matlab7.0编制BP神经网络计算程序,可按下面的这些步骤进行:1)综合分析所要研究的领域问题,初步确定网络的模型结构,包括输入、输出层神经元数目,拟采用的网络层数及各隐含层神经元数目等。50 第六章神经网络在车牌字符识别上的应用输入、输出层神经元数目:车牌识别的BP神经网络模型中,输入层神经元数目就是影响车牌识别的因子数,输出层节点数就是识别结果。拟采用BP网络的层次:对于BP网络,有一个非常重要的定理,即对于任何在闭区间内的一个连续函数都可以用单隐层的BP网络逼近,因而一个三层BP网络就可以完成任意的n维到m维的映射。隐含层神经元数目:隐含层的神经元数目选择不存在一个理想的解析式来表示,往往需要根据设计者的经验和多次实验来确定。隐单元数目太多会导致学习时间过长、误差不一定最佳,也会导致容错性差、不能识别以前没有看到的样本,因此一定存在一个最佳的隐单元数。以下3个公式可用于选择最佳隐单元数时的参考公式:nåCn>ki1i=0,其中,k为样本数,n为隐单元数,n为输入单元数。如果1i>n1i=。,C0n1n1=+m+a,其中,m为输出神经元数,n为输入单元数,a为[1,10]n之间的常数。n1=logn,其中,n为输入单元数。22)建立输入数据文件,包括学习样本及预测样本。3)对网络输入、输出数据进行预处理。利用公式(6-6)对网络输入进行规格化预处理,并利用公式(6-7)将网络仿真输出后的数据还原。2(y-y)y¢=min-1公式(6-6)y-ymaxmin¢y=2(y-y)min-1y-ymaxmin式中:y、-分别为每组因子变量的最大值和最小值;y、y¢-分别为maxymin 每组因子变量规格化前和规格化后的值。经过规格化后的BP网络输入数据全部在(-1.0,1.0)内,这样可以大大加快网络的训练速度。51 基于改进BP神经网络的车牌识别算法研究4)建立网络,进行网络各项函数及参数的选定和设置。基本包括以下几项:选择各层神经元的传递函数:隐含层采用双曲正切Sigmoid激活函数f(x=-e-2x+e-2x,而在输出层采用纯线性激活函数f(x)=x。)(1)(1)初始权值和阈值的选取:初始权值的选取对于网络的收敛效果及收敛速度有很大的影响。如果初始权值太大,使得加权后的输入和n落在了s型激活函数的饱和区,从而导致其导数f¢(n)非常小,而当f¢(n)®0时,Dq®0,从而使得n调节过程几乎停顿下来。所以,一般取初始权值在(-1,1)之间的随机数,这样每个神经元的输入值经过初始加权后的都接近于零,从而保证了每个神经元的权值都能够在它们的s型激活函数变化最大处进行调节。设定网络训练参数:网络最大训练次数epochs;网络性能目标goal;学习速率lr;学习速率增长比例因子lr_inc;学习速率下降比例因子lr_dec;最大验证失败次数net.trainParmax_fail;(所谓验证失败,是指调整后的网络对验证输入矢量的输出误差没有降低)性能参数的最大增长值perf_inc;动量常数mc;目标函数的最小梯度grad最长训练时间time;在网络训练的过程中,只要满足下列五个条件之一,网络训练便会终止:达到最大训练次数epcchs;网络输出误差降低到目标值goal;训练时间达到最大值time;目标函数的下降梯度降低到最小梯度min_grad;连续验证失败次数达到最大次数max_fail。设定网络的目标函数:一般设为平方和误差函数或均方误差函数,本文设定为均方误差函数。52 第六章神经网络在车牌字符识别上的应用5)进行网络学习训练。6)进行网络输出仿真计算。7)将网络训练、仿真等有用结果写入输出文件。如果运算结果不满足要求,可以调整上述1~4步,重新编制程序进行计算。1.1改进BP神经网络用于车牌识别1.1.1激励函数的改进针对BP算法的不足,现对标准BP算法作了如下一些改进。一般来说,标准BP算法的激励函数通常取S型函数,其输出动态范围为(0,1),这不一定优越。从权值调整公式可知,权值的变化也正比于前一层的输出,而其中一半是趋向于0。这会引起权值调节量的减少或不调节从而加长训练时间。为了解决这个问题,本文使S型函数的输出范围变成(-1/2,1/2)。即由原来的f(n)=11+e-n变成了f(n)11=-+21+e-n,其一阶导数为公式(6-7),其形式和原函数一致:111f(n)()f(n)22¢=-=-2241+e-n4公式(6-7)采用改进后的激励函数可以显著减少收敛时间,通过matlab进行车牌仿真实验,收敛时间相对改进前的15ms加快了40%~50%,改进效果明显。1.1.2附加动量法针对收敛速度慢、系统训练不稳定及可能陷入局部极小等问题,通常的改进方法是采用附加动量法。该方法是在反向传播法的基础上在每一个权值及阈值的变化上加上一项正比于前次权值变化量的值,并根据反向传播法来产生新的权值及偏差变化。隐含层从第i个输入到第k个输出带有附加动量因子的权值调节公式为:Dwki(t+)=(1-a)hdx+aDw(t)公式(6-8)1kiiki其中:t为训练次数,h为学习速率,a为动量因子,aDw(t)为附加动量ki项。利用附加动量法可以平滑梯度方向的剧烈变化,增加算法的稳定性。其它带有附加动量因子的权值及阈值调节公式类似于公式(6-8)。 53 基于改进BP神经网络的车牌识别算法研究1.1自适应学习速率选择适当的学习速率h,能加快网络的训练速度,增加网络学习的稳定性。但网络在学习训练的过程中对学习速率的要求可能是不一样的,对训练初期功效较好的学习速率,不见得对后来的训练适合。为此,可以在网络的训练过程中采用自适应的学习速率。通常,调节学习速率的准则是:检查权值的修正值是否真正降低了目标函数,如果确实如此,则说明所选取的学习速率小了,可以对其增加一个量;反之,就应该减小学习速率的值。下面是一种自适应学习速率的调整公式:ìh(t)Et公式(6-9)ít+1ïh(t)其它î针对BP算法的改进,通常是将这两种方法结合起来,形成自适应学习速率动量梯度下降法,有较好的效果。6.7字符识别目前,字符识别的方法可以分为三大类。1)模板匹配法这个方法是把输入的字符直接和标准的字符原型进行比较,找到与之最匹配的模板。模板匹配对噪声很敏感,而且对字符的字体风格不具有适应性。在对车牌中的汉字识别中,由于它的汉字只是有限的几个,可以考虑构建标准字库来进行模板匹配。由于车牌中字符的字体会因拍摄条件的变化而产生变异,所以使用模板匹配构建标准字库时需要的模板数量较大[36]。2)特征分析匹配的方法这类方法是基于特征平面来进行匹配的,是使用率较高的一类方法,相比较于模板匹配而言,它能更好的获得字符的特征,有的特征对噪声是不明显的。根据所提取特征的类型,特征分析匹配的方法又可以分为下面几种:整体变换分析法:比如Hough变换、投影变换、链码变换等。这些变换可以减少特征矢量的个数,并且这些特征的提取是相对容易的,这类特征模板的生成是较容易的,但是通常都需要较大的计算量。找到一个合适的变换来较多的反 映字符的主要特征又是很关键的。54 第六章神经网络在车牌字符识别上的应用由点的统计分布得到的特征抽取法:这些特征包括字符的轨迹,交叉点和距离等。这些特征在某种程度上可以接受字体的变化,速度较高,复杂性也较小。但是通常这类特征的掩模的生成比较困难[37]。几何和拓扑的方法:这种方法是利用字符的结构,把字符分解成构成它的元素,主要是获取字符的关键形状特征,比如字符的骨架或轮廓中的这些特征有端点,连接点,笔划的交叉点弧,凹度,凸度等。所以这个方法首先要把字符进行细化,然后再从中抽取上述的特征,用拓扑结构来描述,从而把一个字符用拓扑图来表示,进而识别。这类特征也是允许存在一定的字体变形,这种方法可以较高速的处理字符,但是通常特征提取的过程是复杂的,并且这些特征的模板也不容易生成[38]。3)神经网络的识别方法:此方法是利用神经网络的机制来提取字符中存在的特征,训练己有的样本,从而构建一个稳定的神经网络来进行识别。用人工神经网络进行字符识别主要有两种方法:一种方法是先对待识别字符进行特征提取,然后用所获得的特征来训练神经网络分类器。识别效果与字符特征的提取有关,因此,字符特征的提取就成为研究的关键。另一种方法则充分利用神经网络的特点,直接把待处理图像输入网络,由网络自动实现特征提取直至识别。神经网络训练的缺点是可能会需要很长的时间,不过训练好的网络可以很方便的直接用于识别。待识别的车牌字符特点:目前我国一个标准车牌中有三类不同识别对象:汉字、英文字符和数字0-9。其中汉字51个,除I和O以外的英文大写字母A-Z和数字0-9,共34个字符。车牌字符总共仅80多个字符,字符的大小一致,字型统一。粗网格特征是属于统计特征中的局部特征,又称局部灰度特征。它通过把字符分成NxN个网格,统计每个网格中的像素量,而每个网格各自反映字符的某一部分特征,在识别阶段,把各个网格组合起来作为字符的统计特征并以此来识别字符。粗网格特征提取方法是先把待识别字符进行大小和位置归一化,再等分为NxN维个网格,然后依次统计各网格内的黑像素(或白像素)的数量,从而取得一个以数值表示的网格特征。55 基于改进BP神经网络的车牌识别算法研究为了BP神经网络能对车牌字符进行正确识别,识别前对单个字符图像进行归一化处理,分两个步骤:第一步,位置归一化为了消除汉字点阵位置上的偏差,需要把整个汉字点阵图形移动到规定的位置上当字符的中心位置产生偏移时,对基于网格的特征提取方法将产生很大的偏差,因此在特征提取之前,必须基本保证字符处在图像的中心位置,一般是将除字符之外的其他背景图像裁剪掉,使得字符填满整个图像。第二步,大小归一化通过归一化图像中的像素对应在原图像中的点的位置的像素值来决定归一化图像中像素点的灰度值。粗网格特征反映了字符的整体形状分布,车牌字符识别属于小分类问题。为了保留字符的整体结构特征和细节特征,将归一化后字符点阵的每个像素点作为一个网格,直接输人到神经网络分类器中。实验表明,此方法对所有车牌字符都有较好的分类效果。对字符4提取网格特征的步骤:对于如图6.2所示的待识别字符0,首先归一化为32x16的比例尺寸的字符点阵如图6.3,黑像素为1,白像素为0,得出的0,1组成的矩阵即为字符的特征向量。图6.2原始字符图像图6.3大小归一化后的图像实现的部分代码如下:rgb=imread('0.jpg');%读取图像rz=imresize(rgb,[32,16]);%归一化为32x16bw1=im2bw(rz,0.6);%图像二值化BP网络是采用误差反向传播算法对网络权值进行训练的多层前向网络,BP网络设计的最大特点就是网络的权值是通过使网络输出与样本输出之间的误差平方和达到期望值而不断调整网络的权值训练出来的。进行神经网络设计的首要任务就是网络结构的确定,网络结构的设计包括:输入/输出神经元个数、隐含层个数、隐含层中神经元数目以及每层传递函数的确定。多层前馈网络能以任意精度逼近连续非线性函数,但这一结论只在网络任意56 第六章神经网络在车牌字符识别上的应用大的条件下才严格成立、不同的问题需要从网络中得到不同的能力,设计一个解决具体问题的神经网络时,必须选择适当大小的网络结构。在有限数据(样本)上学习后有推广能力是对多层前馈神经网络的基本要求。网络的体系结构对它的容错性、收敛性、记忆能力等也有很大影响。相对其它性能而言,网络的泛化能力是主要的。泛化能力与网络结构(规模)、给定样本数量与问题本身的复杂程度有关。在实际应用中需要面对的是对于一个有限的训练样本,如何确定合理的网络结构以保证网络具有好的泛化能力。神经网络的输人层与输出层的神经元数目由问题本身的性质决定,隐藏层的层数及各隐藏层的神经元数目则需要根据问题的性质和对神经网络的性能要求来决定。神经网络对小类别字符集有较高的识别率,因此在车牌字符识别系统中,设计两个神经网络:数字与字母网络和汉字网络。数字与字母网络识别35个字符,汉字网络识别51个汉字。多层前向网络与单层前向网络相比,在达到同样的误差目标情况下,虽然较容易完成学习目标,但由于存在着较多的神经元节点和连接权值,因而需要更多的调整与运算,计算量较大,容易导致网络的归纳与泛化能力下降。具有单隐层的三层神经网络足够执行任意复杂的函数映射、用于车牌字符识别的两个神经网络所处理的都是小类别的分类问题,因此只需采用具有一个隐含层的三层BP神经网络。输人层神经元个数根据待识别字符所提取的网格像素特征的维数大小确定。在本系统中,对归一化为32xl6点阵大小的字符,以每一个像素点为一个网格,故输人层神经元个数取512。隐含层节点数的数目增加达到一定的程度时,计算的复杂度增加,网络训练的收敛速度将降低,网络的推广能力将变差,所以需要根据问题的规模合理地选择隐藏层单元数。同时,太少的神经元数目,训练网络时可能陷人局部极小点太多的神经元数目,又会使网络的训练时间过长,而且效果也不一定很好。以经验公式确定数字网络的隐藏层神经元个数为52。实验表明此值确定的网络较容易训练,而且训练成功的网络泛化能力较好,识别率较高。输出层神经元个数由设计网络时所采用的输出表示和决策规则所确定。输出端是对目标期望输出进行8421编码,因此输出端采用6个神经元作为输出。对57 基于改进BP神经网络的车牌识别算法研究[33]武强,童学锋,季隽.基于人工神经网络的数字字符识别.计算机工程,2003,(14).[34]耿冠宏,孙伟,罗培.神经网络模式识别[J].软件导刊,2008,(10).[35]陈松灿,杨国庆,徐涛.数字神经网络的优势[J].计算机研究与发展,1991,(5).[36]任洪娥,杜建波,于鸣.车牌自动识别中的字符特征提取方法[J],东北林业大学学报,2006,(03).[37]余静,游志胜.自动目标识别与跟踪技术研究综述[J],计算机应用研究,2005,(01).[38]刘玲,张兴会.智能化车牌识别系统研究[J],仪器仪表学报,2004,(S1).[39]崔屹.数字图像处理技术及应用,电子工业出版社.[40]袁曾任.人工神经网络及其应用,清华大学出版社.[41]武春香等.三层BP网隐含节点数确定方法的研究,武汉测绘大学学报,1998,(6).[42]段竹,吴镝.图像增强方法研究[J].商场现代化,2009,(01).[43]肖莎,尹酉,刘江沙.基于小波变换的图像增强技术[J].科技咨询导报,2007,(04).[44]李向阳.图像检索中多个特征量的提取与比较[J].广东农工商职业技术学院学报,2008,(03).[45]刘国峰,辛晓辉.车牌定位常见技术介绍与分析[J].电脑知识与技术,2006,(08).[46]李波,曾致远,周建中,罗勤.车牌识别系统研究与实现[J].计算机技术与发展,2006,(06).[47]蔡昌,张永林.一种基于简单算法的图像边缘检测方案[J].暨南大学学报,2005,(05).[48]曾飞,李志俊.边缘检测算子在车牌区域检测中的改进[J].中国水运(理论版),2007,(05).[49]黄国胜.基于神经网络的实时车牌定位与识别系统研究[D].武汉理工大学,2002.62 参考文献[50]张文琴,狄红卫.一种基于小波和形态学的边缘检测方法[J].暨南大学学报,2004,(05).[51]段瑞玲,李庆祥,李玉和.图像边缘检测方法研究综述[J].光学技术,2005,(03).[52]王润民,钱盛友.一种基于能量滤波和小波的车牌定位方法[J].光电子激光,2006,(09).[53]吴文钦.汽车牌照识别系统相关技术研究与实现.西南交通大学,2000.[54]LIG,ZENGRL,LinL.Researchonvehiclelicenseplatelocationbasedonneuralnetworks[C].ProceedingsofIEEEFirstInternationandControl,2006:174-177.63 基于改进BP神经网络的车牌识别算法研究致谢三年的研究生学习生活很快就要结束,有太多的感悟和体会伴随着成长。在三年的研究生学习期间,本人始终得到了导师刘锋教授的悉心指导和热情教诲,以及生活上的很多无私关怀,使我在研究生学习生活中受益匪浅。我想衷心的谢谢这期间在各方面给予我帮助和关心的人们,感谢你们为我学业上的进步和为人处事的成熟所做的点点滴滴。首先感谢我的导师刘锋教授。刘老师在整个课题期间对我的悉心指导,和在关键问题上的点拨使我能够顺利的完成课题。他渊博的知识、扎实的理论基础以及严谨的科学态度让我真切的感受到一个科研工作者所应该具备的素质。他让我在课题上的收获突破了课题本身,而这些收获必将对我今后的工作生活产生深远的影响。在此,向刘锋教授致以我最衷心的感谢。另外,在论文研究期间还得到了同学们给予的充分合作和帮助。在此,对他们一并致以衷心的感谢。感谢我父母多年来的养育和教导,感谢所有支持、关心、爱护我成长的人们,你们是我不停前进的一个理由,祝你们万事如意!64 攻读学位期间发表的学术论文目录攻读学位期间发表的学术论文目录[1]梅林.增加动态网页对搜索引擎可见度的策略.甘肃科技,2008,24(1):41-42,62.[2]梅林,刘锋.基于边缘检测与垂直投影相结合的车牌定位方法.甘肃科技,2009,25(3):15-17.65

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭