车牌图像识别系统是现代智能交通管理的重要组成部分之一。车牌识别系统使车辆管理更智能化,数字化,有效提升了交通管理的方便性和有效性。
车牌识别系统主要包括了图像采集、图像预处理、车牌定位、字符分割、字符识别等五大核心部分。本文主要介绍图像预处理、车牌定位、字符分割三个模块的实现方法。其中图像预处理模块是将图像灰度化和用Roberts算子进行边缘检测。车牌定位和分割采用的是利用数学形态法来确定车牌位置,再利用车牌彩色信息的彩色分割法来完成车牌部位分割。字符的分割采用的方法是以二值化后的车牌部分进行垂直投影,然后在对垂直投影进行扫描,从而完成字符的分割。最后使用MATLAB软件环境进行字符分割的仿真实验,结果表明该方法具有良好的性能。
关键词:图像处理,车牌定位,字符分割
目 录
1 绪论
1.1 车牌图像识别研究的背景
现代社会已进入信息时代,随着计算机技术、通信技术和计算机网络技术的发展,自动化信息处理能力和水平不断提高,作为现代社会主要交通工具之一的汽车在人们的生产生活的各个领域得到大量使用,对他的信息进行自动采集和管理具有十分重要的意义,成为信息处理技术的一项重要研究课题。
此外,智能交通系统,简称ITS(Intelligent Traffic System)已成为现代社会道路交通发展趋势。只能交通系统,是在当代科学技术高速发展的背景下产生的。其目标在于将现金的计算机处理技术、数据通信技术、自动控制技术等综合应用于地面交通管理体系,从而建立起一种高效、准确、实时的交通管理系统。公路交通基础建设的不断发展和车辆管理体制的不断完善,为以视觉监控为基础的智能交通系统的实际应用打下了良好基础。
在智能交通系统中,车牌图像自动识别系统是一个非常重要的发展方向。车牌自动识别系统简称ALPRS或LPRS,该系统可以对车辆进行自动登记、验证、监视、报警。系统应用场合包括:高速公路,桥梁,隧道等收费管理系统。城市交通车辆管理,智能小区、智能停车场管理,车牌验证,车流统计等。同时,汽车牌照自动识别的基本方法还可以应用到其他检测和识别领域,所以车牌自动识别问题已成为现代交通工程领域中研究的重点和热点问题之一。
车牌识别系统是一项科技含量很高的多种技术结合的产品,主要有计算机视觉、数字图像处理、数字视频处理、模式识别等技术组成。也是智能交通系统的核心技术,产生于60年代。在80年代,由于城市交通问题日益严重,美国和欧洲许多国家投入了大量的人力和物力,建立了自动化高速公路网,安装了摄像、雷达探测系统和光纤网络,建立智能交通系统。在美国、欧洲、日本等发达国家的带动下,世界各国也开始建立智能交通系统。由于公路车流量日益增大、道路交通日益拥挤,车辆管理相对越来越困难,因此各个发达国家和发展中国家都在积极建设适应未来交通运输需求的智能交通系统
车牌图像识别的难点:
(a)由于车牌图像多在室外采集,会受到光照条件、天气条件的影响,会出现图像模糊,对比度低,目标区域过小,色彩失真等影响,并且会伴随复杂的背景图像,这些都会影响车牌定位及识别。
(b)每次采集时目标所处位置不会一样,采集视角会有很大变化,并且由于车牌挂的不正,都将导致车牌出现扭曲。
(c)牌照多样性。其他国家的汽车牌照格式,如尺寸大小,牌照上字符的排列等,通常只有一种。而我国则根据不同车型、用途,规定了多种牌照格式,例如分为军车、警车、普通车等。我国标准车牌照是由汉字、英文字母和阿拉伯数字组成的,汉字的识别与字母和数字的识别有很大的不同,增加了识别的难度。
(d)我国汽车牌照的底色和字符颜色多样,蓝底白字、黄底黑字、黑底白字、红底黑字、绿底白字等多种。
(e)由于环境、道路或人为因素造成汽车牌照污染严重使得车牌的对比度降低,特征不是很明显,即使在定位准确的情况下,字符的识别也会受到很大影响。
目前在国内存在多种牌照格式,且存在以上种种困难和特殊性,加大了我国车牌图像识别的难度,因而如何提高识别率和识别处理的实时性及实用性成了一个重要的研究课题。
1.2 研究车牌图像识别的目的和意义
车牌识别系统的主要任务是分析和处理摄取到的复杂背景下的车辆图像,定位分割牌照,最后自动识别汽车牌照上的字符,车牌识别是利用车辆牌照的唯一性来识别和统计车辆,它是以数字图像处理、模式识别、计算机视觉等技术为基础的智能识别系统。在现代化交通发展中车牌识别系统是制约交通系统智能化、现代化的重要因素,车牌识别系统应该能够从一幅图像中自动提取车辆图像,自动分割牌照图像,对字符进行正确识别,从而降低交通管理工作的复杂度。车牌识别系统将获取的车辆图像进行一系列的处理后,以字符串的形式输出结果,这样不但数据量小,便于存储,操作起来也更容易,因此车牌识别系统的便捷性是人工车牌识别所不能比拟的,它蕴藏着很大的经济价值和发展空间,对车牌识别技术的研究是非常有的意义的。在车牌识别系统中最为重要的两个技术是车牌定位和车牌字符识别,这两个技术的好坏直接影响到整个车牌识别系统的实时性和准确性。国内外己有不少学者对车牌定位技术做了大量的研究,但在实际的应用中还没有一个有效可行的方法,如由于车辆抖动造成车牌图像的歪斜、由于污迹和磨损造成车牌字符的模糊、由于光照不均造成车牌图像的模糊等都会或多或少影响到车牌定位的准确度。针对以上实际情况,很多学者开始在鉴于车牌图像本身特征的基础上研究车牌定位技术,并先后提出了一些有效的定位方法,以减小种种主、客观因素对车牌定位准确度的影响。然而智能交通的不断发展使得对车牌定位系统有了更高的要求,主要表现在系统的实时性和准确性。
车牌字符识别的实质是对车牌上的汉字、字母和数字进行快速准确的识别并以字符串的形式输出识别结果,字符识别技术是整个车牌识别系统的关键。车牌识别系统与其它图像识别系统相比较而言要复杂的多,在字符识别中,汉字识别是最难也是最关键的部分,很多国外较为成熟的车牌识别系统无法进入中国市场的原因就在于无法有效的识别汉字。此外,由于外界环境的影响,系统必须保证能够在任何天气情况下全天不间断的正常工作。到目前为止,在众多的车牌自动识别方法中还没有一个可以达到理想的效果,因此对车牌识别技术的研究意义重大。
1.3 车牌号识别技术研究现状和趋势
1.3.1 国内外车牌图像识别研究现状
目前,国内外有大量关于车牌图像识别的研究报道,国外在这方面的研究开展的比较早。在上世纪70年代,英国就在实验室中完成了“实时车牌检测系统”的广域检测和开发。同时代,诞生了面向被盗车辆的第一个实时车牌自动监测系统。发展到今日,国外对车牌检测的研究已经取得了一些令人瞩目的成就,如YuntaoCui提出了一种车牌识别系统,在车牌定位以后,利用马尔科夫场对车牌特征进行提取和二值化,对样本的识别达到了较高的识别率。Eun Ryung等利用图像中的颜色分量,对车辆牌照进行定位识别,其中提到了三种方法:①以Hough变换为基础的边缘检测定位识别;②以灰度值变换为基础的识别算法;③以HLS彩色模式为基础的车牌识别系统,识别率分别为81.25%,85%,91.25%。日本对车牌图像的获取也做了大量研究,并为系统产业化做了大量的工作。Luis开发的系统应用于收费站,全天识别率达到了90%以上,即使在天气不好的情况下也达到了70%。国外对车牌识别的研究起步比较早,总体来讲其技术较为领先,同时因为他们车牌种类单一,车牌规范性较高,易于定位识别,目前已经实现了产品化,并在实际的交通应用中得到了广泛的应用。由于中国的车牌格式与国外的有较大的差异,所以国外关于车牌识别的报道只具有参考价值,其在中国的应用效果可能没有在其国内的效果好,但其识别系统中采用的很多算法具有很好的借鉴意见。
从车牌识别系统进入中国以来,国内有大量的学者从事这方面的研究,提出了很多新颖快速的算法。中国科学院自动化所的刘智勇等开发的系统在一个样本量为3180的样本集中,车牌定位准确率为99.42%,切分准确率为94.52%,这套系统后来应用到汉王车牌识别系统,取得了不错的效果。南京大学的熊军等提出了基于字符纹理特征的定位算法,准确率达到95%,华中科技大学的陈振学等学者提出了一种新的车牌图像字符分割和识别算法,使用一维循环清零法,通过对垂直投影图进行一次扫描,有效的清除了杂点和分隔符,正确分割率达到了96.8%。浙江大学的张引,潘云鹤等提出了彩色边缘算子和彩色边缘检测与区域生长相结合的牌照定位算法,算法简单,且全面作用在颜色空间的三个分量上,检测出的牌照区域易于与背景剥离。但是计算量和存储量都比较大,难以满足实时性的要求。此外当车辆颜色与附近区域颜色相近时,定位失误率会增加。国内还有很多学者都在进行这方面的研究,并且取得了大量的研究成果。
1.3.2 我国车牌特点
目前我国的汽车号牌种类非常多,有大型汽车号牌、挂车号牌、小型汽车号牌、使馆汽车号牌、领馆汽车号牌、警用汽车号牌、教练汽车号牌等。不同的号牌的外廓尺寸,颜色,数量及使用范围都不相同。
本次设计中主要用到的是小型汽车号牌(如图1-1所示),这种类型的号牌外廓尺寸是440mm×140mm,一共7个字符,每个字符的高宽比为2:1。首个字符为中文字符,为各个省,自治区,直辖市的简称,第二个字符为英文大写字符,表示发牌机关的代号,前两个字符确定该车牌所在地,后五个字符由阿拉伯数字及英文大写字符组合而成,并且后五个字符间距相同,七个字符大小也相同。下图给出了本文中用到的车牌样式,如图1-1所示。
图 1-1 小型汽车号牌
1.3.3 车牌图像识别技术的应用前景
车辆牌照自动识别技术是智能交通系统的一个重要组成部分,它在交通管理、监控中有着广泛的应用。车辆牌照识别系统技术能够从一幅车辆图像中准确定位出车牌图像,经过字符切分和识别后实现车辆牌照的自动识别,从而为以上应用提供信息和基础功能。目前车牌识别系统主要应用于以下领域:
(1)停车场管理系统
利用车牌识别技术对出入车辆的号牌进行识别和匹配,与停车卡结合实现自动计时、计费的车辆收费管理系统
(2)公路自动管理系统
以车牌自动识别技术为基础,与通信等其他高科技结合,对高速公路交通流状况进行自动监测、自动布控,从而降低交通事故的发生率,确保交通顺畅。
(3)安防布控
采用车牌识别技术实现对车辆的自动识别,快速报警,既可以有效查找被盗车辆,同时又为公安机关提供了对犯罪嫌疑人的交通工具进行远程跟踪与监查的技术手段。
(4)城市十字交通路口的“电子警察”
可以对违章车辆进行责任追究,也可以辅助进行交通流量统计,交通监测和疏导。
(5)小区、校园车辆管理系统
社区保安系统将出入的车辆通过车牌识别技术进行记录,将结果与内部车辆列表对比可以实现防盗监管。
目前,市场上已出现了一些可应用的汽车牌照自动识别系统。如CPRS-1型汽 车牌照识别系统是在国家“863”计划课题与国防图像目标识别课题相结合的研究基础上研制成功的,实现了识别汽车牌照中的数字、字母和汉字以及汽车牌照的底 色(白、黑、蓝、黄四种)的功能,可以全天候工作。另一种型号GW-PR-9902T的牌照识别器系统产品,采用新型的数字图像处理和识别技术,基于嵌入式工控机/DSP 和专用硬件电路,利用定向反射和自然光相结合的识别原理,实时地完成复杂情况下的汽车牌照的定位、分割以及识别。此类产品都已应用于高速公路的收费 监控系统。总体上说,虽然汽车牌照识别系统在国内还未形成一个成熟的产业,但是随着我国国民经济的迅速发展,机动车辆规模及流量大幅度增加,高速公路和城 市交通管理现代化水平的提高势在必行,迫切需要高科技的智能交通系统来充实和加强交通管理水平。车牌识别技术在智能交通系统中占有重要位置,车牌识别技术 的推广普及,必将对加强高速公路、城市道路管理,减少交通事故、车辆被盗案件的发生,保障社会稳定等方面产生重大而深远的影响。
1.3.4 车牌图像识别技术的发展趋势
车牌图像识别技术作为智能交通系统中的关键技术,在各国学者的共同努力下,已经取得了长足的发展,并且已经得到了不同程度的实际应用,但目前还存在着种种不足。
对于未来车牌识别产品的技术发展趋势,汉王科技智能交通部总经理乔炬认为,首先,因为市场需求不同,对识别产品的需求也有差异,因此就要求研究针对不同细分市场的车牌识别产品。其次随着算法的不断改进,基于视频触发的车牌识别产品将得到大范围的应用,但是视频触发技术取代外触发装置尚需时日。另一方面,现在的车牌识别系统设备过多,系统集成难度大,系统稳定性差,系统维护是一个让人头疼的问题。随着技术不断进步,以往多个设备实现的功能可能由一个设备完成。
目前,车牌识别技术和产品性能进入实用阶段的时间还不是很长,随着人工智能以及自动识别技术的进步,未来技术的发展空间还会非常大。例如,核心算法继续发展,识别率和识别速度进一步改善,图像处理中对模糊图像预处理能力增强,画质改善技术的提高等等。
1.4 车牌图像识别研究内容
车牌图像识别系统是计算机视觉和模式识别技术在智能交通领域的重要应用课题之一。车牌识别系统是一特定目标位对象的专用计算机系统,该系统能从一幅图像中自动提取车牌图像、自动分割自符,进而对分割自符的图像进行图像识别。系统一般由硬件和软件构成。硬件设备一般由车体感应设备、辅助光源、摄像机、图像采集卡和计算机。软件部分是系统的核心,主要实现车牌自符的识别功能。
车牌识别学科主要有模式识别、人工智能、图像处理、信号处理等。这些领域的许多技术都可以应用到车牌图像识别系统中,车牌识别技术的研究也必然推动这些相关学科的发展。车牌图像识别的关键技术有:车牌定位、字符切割和字符识别等。
车牌定位是要完成从图像中确定车牌位置并提取车牌区域图像,目前常用的方法有:基于直线检测的方法、基于域值化的方法、基于灰度边缘检测方法、基于彩色图像的车牌分割方法、神经网络法和基于矢量量化的牌照的定位的方法等。
字符切割时完成车牌区域图像的切分处理从而得到所需要的单个字符图像。目前常用的方法有:基于投影的方法和基于连通字符的提取等方法。
字符识别是利用字符识别的原理识别提取出的字符图像,目前常用的方法有:基于模板匹配的方法、基于特征的方法和神经网络法等。
2 车牌识别系统设计原理概述
一个完整的车牌图像识别系统要完成图像采集到字符识别输出,总体分为硬件部分和软件部分。硬件部分包括系统的触发,图像的采集,图像的传输;软件部分包括图像预处理,车牌在图像中的位置提取,字符分割,字符识别几个部分,一个车牌识别系统的结构如图2-1所示。
图2-1 车牌图像识别系统原理基本框图
原始图像:由停车场固定彩色摄像机、数码相机或其他扫描装置拍摄到的图像。
图像预处理:对动态采集到的图像进行滤波,边界增强等处理以克服图像处理。
车牌在图像中的位置提取:通过运算得到图像的边缘,再计算边缘图像的投影面积,寻找谷峰点以大概确定车牌的位置,再计算连通域的宽高比,剔除不在阈值范围内的连通域,最后便得到了车牌区域。
字符分割:利用投影检测的字符定位分割方法得到单个的字符。
字符识别:利用模板匹配的方法与数据库中的字符进行匹配从而确认出字符。
输出结果:得到最后的汽车牌照,包括汉字、字母和数字。
2.1 车牌在图像中的位置提取
自然环境下,由于汽车图像背景复杂、光照不均匀等原因,如何在自然背景中准确地确定牌照区域是整个识别过程的关键。一般采用的方案是首先对采集到的视频图像进行大范围相关搜索,找到符合汽车牌照特征的若干区域作为候选区,然后对这些侯选区域做进一步分析、评判,最后选定一个最佳的区域作为牌照区域,并将其从图像中分割出来。通过以上步骤,牌照一般能够被定位。
2.2 字符分割
在完成牌照区域的定位后,还需要将牌照区域分割成单个字符,然后进行字符识别,最后输出结果。字符分割一般采用垂直投影法。垂直投影法的原理是由于字符在垂直方向上的投影必然在字符间或字符内的间隙处取得局部最小值的附近,并且这个位置应满足牌照的字符书写格式、字符、尺寸限制和一些其他条件。所以利用垂直投影法对复杂环境下的汽车图像的字符分割有较好的效果。
2.3 字符识别
字符识别方法目前主要得算法有以下几种:
第一种模板匹配字符识别算法,具体描述如下:
模板匹配字符识别算法的实现方法是计算输入模式与样本之间的相似性,取相似性最大的样本为输入模式所属类别。该方法识别速度快,但是对噪点比较敏感。在实际应用中,为了提高正确率往往需要使用大的模 板或多个模板进行匹配,处理时间则随着模板的增大以及模板个数的增加而增加。
第二种统计特征匹配法,具体描述如下:
统计特征匹配法的要点是先提取待识别模式的一组统计特征,然后按照一定的准则所确定的决策函数进行分类判决。实际应用中,当字符出现字符模糊、笔画融合,断裂、部分缺失时,此方法效果不理想,鲁棒性较差。
第三种神经网络字符识别算法,具体又可以细分为两种,描述如下:
主要有两种方法:一种方法是先对待识别字符进 行特征提取,然后用所获得的特征来训练神经网络分类器。其中,字符特征的提取是研究的关键,特征参数过多会增加训练时间,过少会引起判断上的歧义。另一种方法是充分利用神经网络的特点,直接把待处理图像输入网络,由网络自动实现特征提取直至识别。这种网络互连较多,待处理信息量大,抗干扰性能好,识别率高。但是产生的网络结构比较复杂,输入模式维数的增加可能导致网络规模庞大。
第四种支持向量机模式识别算法,具体描述如下:
支持向量机(Support Vector Machine, SVM)是Vapnik及其研究小组针对二类别的分类问题提出的一种分类技术,其基本思想是在样本空间或特征空间,构造出最优平面使超平面与不同类样本集之间的距离最大,从而达到最大的泛化能力。主要有两种方法应用于字符识别:一种是先对待识别字符进行特征提取,然后用所获得的特征来训练 SVM 分类器。另一种是直接将每个字符的整幅图像作为一个样本输入,不需要进行特征提取,节省了识别时间。
实际应用中,车牌图像识别系统的识别率与牌照质量和拍摄质量密切相关。牌照质量会受到各种因素的影响,如生锈、污损、油漆剥落、字体褪色、牌照被遮挡、牌照倾斜、高亮反光、多牌照、假牌照等等;实际拍摄过程也会受到环境亮度、拍摄亮度、车辆速度等等因素的影响。这些影响因素不同程度上降低了牌照识别的识别率,也正是牌照识别系统的困难和挑战所在。为了提高识别率,除了不断的完善识别算法,还应该想办法克服各种光照条件,使采集到的图像最利于识别。
3 车牌识别系统程序设计
3.1 开发环境的选择
车牌图像识别系统的开发使用的是MATLAB,主要是因为MATLAB具有如下的特点:
第一,语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用其丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。可以说,用MATLAB进行科技开发是站在专家的肩膀上;
第二,运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短;
第三,MATLAB既具有结构化的控制语句(如for循环、while循环、break语句和if语句),又有面向对象编程的特性;
第四,语法限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用;
第五,程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行;
第六,MATLAB的图形功能强大。在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。MATLAB还具有较强的编辑图形界面的能力;
第七,MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢;
第八,功能强劲的工具箱是MATLAB的另一重大特色。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又可分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互功能。功能性工具箱能用于多种学科。而学科性工具箱是专业性比较强的,如control、toolbox、signal processing toolbox、communication toolbox等。这些工具箱都是由该领域内的学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高、精、尖的研究。
3.2 设计方案
该系统主要是由图像处理和字符识别两部分组成。其中图像处理部分包括图像预处理、边缘提取模块、牌照的定位以及分割模块。字符识别部分可以分为字符分割与特征提取和单个字符识别两个模块。
字符识别部分要求照片清晰,但由于该系统的摄像头长时间在室外工作,加上光照条件、摄像头角度和距离、车辆自身条件以及车辆的行驶速度的影响,想拍出较理想的图片很困难。因此,我们要对摄像头拍摄的图片进行预处理,主要包括图片灰度化和图片边缘提取等。
车牌定位和车牌分割是整个系统的关键,其作用是在经图像预处理后的灰度图像中确定牌照的具体位置,并将包含牌照字符的一块子图像从整个图像中分割出来,供字符识别子系统识别之用,分割的准确与否直接关系到整个牌照字符识别系统的识别率。
车牌识别系统的最终目的就是将不清楚的车牌照片进行识别,输出清晰的图片。现在字符识别的常用方法有模板匹配法和神经网络模型法。
3.3 图像预处理
利用摄像头拍摄到的车辆图像往往存在很多噪点,因此在进行识别前要进行车 辆图像的预处理。车辆图像的预处理是指对采集到的车辆图像进行灰度化和去噪处理,以使车辆图像尤其是牌照区域的图像的质量得到改善,同时保留和增强车牌中 纹理和颜色的信息,去除可能影响牌照区域纹理和颜色信息的噪点,为牌照定位提供方便。
3.3.1 图像灰度化
汽车图像样本目前大都是通过摄像机、数码相机等设备拍摄获取的,因而预处理前的图像都是彩色图像。真彩色图像又称RGB图像,它是利用R、G、B分量表示一个像素的颜色,R、G、B分别代表红、绿、蓝3种不同的颜色,通过三基色可以合成出任意颜色。而每个分量有255种值可取,这样一个像素点可以有,1600多万(255×255×255)的颜色的变化范围。而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,每一个像素点的变化范围为255种,所以在数字图像处理种一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。所以,对一个尺寸为m×n的彩色图像来说,存储为一个m×n×3的多维数组。
彩色图像包含着大量的颜色信息,不但在存储上开销很大,而且在处理上也会降低系统的执行速度。由于图像的每个像素都具有三个不同的颜色分量,存在许多与识别无关的信息,不便于进一步的识别工作,因此在对图像进行识别等处理中,经常将彩色图像转变为灰度图像,以加快处理速度。
数字图像分为彩色图像和灰度图像。在RGB模型中,如果R=G=B,则颜色表示一种灰度颜色,由此方法得到的值叫做灰度值。由彩色转换为灰度的过程叫做灰度化处理。灰度图像就是只有强度信息而没有颜色信息的图像,存储灰度图像只需要一个数据矩阵,矩阵每个元素表示对应位置像素的灰度值。彩色图像的像素色为RGB(R, G, B ),灰度图像的像素色为RGB ( r, r, r ), R, G, B可由彩色图像的颜色分解获得.而R, G, B的取值范围是0-255,所以灰度的级别只有256级。图像灰度化的算法主要有以下三种(等号为赋值操作):
(a)最大值法:使转换后的R、G、B值等于转换前3个值中最大的那个:
R = G = B = MAX(R, G, B) (3-1)
这种方法转换的灰度图亮度很高。
(b)平均值法:使转换后的R、G、B值等于转换前3个值的平均值:
R = G = B = (R + G + B)/ 3 (3-2)
这种方法产生的灰度图像比较柔和。
(c)加权平均值法:按照一定的权值对R、G、B的值加权平均:
R = G = B = (mR+ nG+ kB)/ 3 (3-3)
其中m、n、k分别为R、G、B的权值,m、n、k取不同的值就得到不同的灰度图像。由于人眼对绿色最为敏感,红色次之,蓝色最不敏感,因此使n > m > k将得到较易识别的灰度图像,一般情况下,当m = 0.229,n = 0.588,k = 0.144时得到的灰度图效果最好。MATLAB中的灰度转换公式运用的就是这个公式,所以直接使用im2gray函数对图像进行灰度化处理。
3.3.2 图像的边缘检测
边缘是指图像局部亮度变化显著的部分,是图像风、纹理特征提取和形状特征提取等图像分析的重要基础。所以在此我们要对图像进行边缘检测。图像增强处理对图像牌照的可辨认度的改善和简化后续的牌照字符定位和分割的难度都是很有必要的。增强图像对比度度的方法有:灰度线性变换、图像平滑处理等。
(1)灰度校正
由于牌照图像在拍摄时受到种种条件的限制和干扰,图像的灰度值往往与实际景物不完全匹配,这将直接影响到图像的后续处理。如果造成这种影响的原因主要是由于被摄物体的远近不同,使得图像中央区域和边缘区域的灰度失衡,或是由于摄像头在扫描时各点的灵敏度有较大的差异而产生图像灰度失真,或是由于曝光不足而使得图像的灰度变化范围很窄。这时就可以采用灰度校正的方法来处理,增强灰度的变化范围、丰富灰度层次,以达到增强图像的对比度和分辨率。我们发现车辆牌照图像的灰度取值范围大多局限在r =(50,200)之间,而且总体上灰度偏低,图像较暗。根据图像处理系统的条件,最好将灰度范围展开到s =(0,255)之间,为此我们对灰度值作如下的变换:
s = T(r) r=[r min,,r max] (3-4)
使得S∈[Smin, Smax],其中,T为线性变换,得到的结果如图3-1所示。
图3-1 灰度线性变换
若 r(50,200)、s(0,255),则:
(2)平滑处理
对于受噪声干扰严重的图像,由于噪声点多在频域中映射为高频分量,因此可以在通过低通滤波器来滤除噪声,但实际中为了简化算法也可以直接在空域中用求邻域平均值的方法莱削弱噪声的影响,这种方法称为图像平滑处理。例如,某一像素点的邻域S 有两种表示方法:8邻域和4邻域分别对应的邻域平均值为
其中,M 为邻域中除中心像素点f(i, j)之外包括的其它像素总数,对于4邻域M=4,8 邻域M=8。然而,邻域平均值的平滑处理会使得图像灰度急剧变化的地方,尤其是物体边缘区域和字符轮廓等部分产生模糊作用。为了克服这种平均化引起的图像模糊现象,我们给中心点像素值与其邻域平均值的差值设置一固定的阈值,只有大于该阈值的点才能替换为邻域平均值,而差值不大于阈值时,仍保留原来的值,从而减少由于平均化引起的图像模糊。
图像中车辆牌照是具有比较显著特征的一块图像区域,这此特征表现在:近似水平的矩形区域;其中字符串都是按水平方向排列的;在整体图像中的位置较为固定。正是由于牌照图像的这些特点,再经过适当的图像变换,它在整幅中可以明显地呈现出其边缘。边缘提取是较经典的算法,此处边缘的提取采用的是Roberts算子。结果如图3-4所示。
图3-3给出了对车牌图像的灰度图及对应的灰度直方图,该直方图表示了灰度图中各像素值出现的概率,通过该直方图,可以看出当前的灰度图是否满足灰度均衡化的标准,如果不满足则进一步进行该操作,使得灰度直方图能呈现一个比较均匀的分布,但是在本课题的研究中,还没有使用到该直方图,不过可以为以后系统的扩展做准备。
图3-4 robert算子边缘检测得到的图像
3.4 车牌定位和分割
系统的摄像头拍摄的图片是整个机动车的图片,而只有车牌部分是对系统有用的。所以我们要对照片进行车牌定位和分割。车牌的定位和分割是从经过图像预处理后的灰度图像中确定牌照位置,并将车牌部分从整个图像中分割出来,从而进行字符识别。车牌图像的灰度图的车牌部分是一个水平度很高的长方形图样,在原图中比较集中,且灰度值和周围图样有明显差异,因此很容易用边缘检测来对图像进行分割。车牌定位和分割的准确度直接关系到最后的字符识别的质量。下面是进行车牌定位操作框图,如图3-5所示。
3.4.1 车牌定位
机动车图像经过灰度化和边缘检测的处理后,边缘得到了加强,牌照区域已经非常明显。本文采用的是用数学形态学来进行图像处理和模式识别。数学形态学用具有一定形态的机构元素去量度和提取图像中的对应形状以达到对图像分析和识别的目的,能有效的去除噪声,保留图像原有信息的同时提取的边缘比较平滑,提取的图像骨架也比较连续,断点少。现在我们将经过预处理的图像进行图像腐蚀以及去除杂质,就可以得到相对准确的车牌位置。处理得到的结果如图3-8所示。
图3-6 腐蚀后的图像
图3-7 平滑轮廓之后的图像
图3-8 从对象中移除小杂质后的图像
3.4.2 车牌位置提取
车牌位置提取是车牌自动识别系统中的重要步骤,这一模块的正确性受到很多因素的影响,最大问题是二值化不彻底使投影图像中字符间的波谷不够分明;其次,车牌污损、反光、光照不均等原因使车牌图像交差,存在大量噪声;再次,车牌边框和铆钉也会造成分割不正确;还有车牌的前两个字符和后面五个字符之间的间隔符(小圆点)对字符识别有影响;车牌旋转对水平分割有较大影响。本文车牌部分的分割采用的是利用车牌彩色信息的彩色分割法。使用统计彩色像素点的方法分割出车牌区域,确定车牌底色蓝色RGB对应的灰度范围,然后统计在行方向的颜色范围内的像素点数量,确定车牌在行方向的区域。然后,在分割出的行区域内,统计列方向蓝色像素点的数量,最终确定完整的车牌区域。如图3-9所示。
图3-9 车牌位置提取得到的彩色图像
3.4.3 对定位后的彩色车牌进行进一步的处理
定位后车牌图像是彩色的,会占用较大的存储空间,加重计算机负担。且车辆图片不可避免存在噪声,所以要对图像进行灰度化,二值化以及滤波处理。图像的二值化处理就是将图像上的点的灰度置为两个数值,通常为0或255,使整个图像呈现出明显的黑白效果。也就是将256个亮度等级的灰度图像通过适当的门限值选取而获得仍然可以反映图像整体和局部特征的二值化图像。对图像的二值化处理有利于进一步处理图像,使图像变得简单,而且数据量较小,能突显出感兴趣的目标轮廓。滤波则是为了除去图像噪声,由于成像系统,传输介质和记录设备的不完善,数字图像在其形成、传输记录过程中往往受到噪声的污染,另外在图像处理的某些环节当输入的对象不如预期时结果中也会引入噪声。对于数字图像信号,噪声表现为或大或小的极值,这些极值通过加减作用与图像像素的真是灰度值上,在图像上造成亮暗点干扰,极大的降低了图像的质量。滤波方法有多种,本文采取的滤波方法为均值滤波。均值滤波是典型的线性滤波算法,旨在图像上对目标像素给一个模板,该模板包括了其周围的临近像素。再用模板中的全体像素的平均值来代替原来像素值。处理结果如图3-10所示。
图3-10 对定位后的彩色车牌进行进一步处理之后的结果
3.5 字符分割与归一化
图3-11 字符分割和归一化框图
3.5.1 字符分割
在汽车牌照自动识别过程中,字符分割有承前启后的作用。它在前期牌照定位的基础上进行字符的分割,然后再利用分割的结果进行字符识别。将得到的车牌区域图像进行二值化处理后,对图像进行垂直投影,投影图上有明显的类似于峰谷的波形起伏变化, 通过对投影图上的波形从左向右进行扫描,根据谷和峰的特征就可以判断出每个字符的位置;计算垂直峰,检测合理的字符高宽比。在字符切割时,往往由于阈值取得不好,导致字符切割不准确,针对这种情况,可以对切割出的字符宽度进行统计分析,用以指导切割,对因错误切割过宽的字符进行分裂处理。分割后得到的结果如图3-12所示。
3.5.2 字符归一化
由于数码相机拍摄的汽车图像大小不一样, 所以得到的牌照上的字符大小就不一样,为了便于字符的识别,需要对字符进行归一化处理。归一化处理的目的就是使车牌字符同标准模块里面的字符特征一样。而大小归一是指在长度和宽度方向上分别乘以一个比例因子,使其等于标准模块的字符大小,本文采用的大小归一的方法是分别从水平投影和垂直投影两个方向上对字符像素的大小进行归一化处理。
图3-12 字符分割并归一化后的结果
3.6 字符识别
字符的识别目前用于车牌字符识别(OCR)中的算法主要有基于模板匹配的OCR算法以及基于人工神经网络的OCR算法。基于模板匹配的OCR的基本过程是:首先对待识别字符进行二值化并将其尺寸大小缩放为字符数据库中模板的大小,然后与所有的模板进行匹配,最后选最佳匹配作为结果。模板匹配的主要特点是实现简单,当字符较规整时对字符图像的缺损、污迹干扰适应力强且识别率相当高。综合模板匹配的这些优点我们将其用为车牌字符识别的主要方法。
模板匹配是图像识别方法中最具代表性的基本方法之一,它是将从待识别的图像或图像区域f(i, j)中提取的若干特征量与模板T(i, j)相应的特征量逐个进行比较,计算它们之间规格化的互相关量,其中互相关量最大的一个就表示期间相似程度最高,可将图像归于相应的类。也可以计算图像与模板特征量之间的距离,用最小距离法判定所属类。然而,通常情况下用于匹配的图像各自的成像条件存在差异,产生较大的噪声干扰,或图像经预处理和规格化处理后,使得图像的灰度或像素点的位置发生改变。在实际设计模板的时候,是根据各区域形状固有的特点,突出各类似区域之间的差别,并将容易由处理过程引起的噪声和位移等因素都考虑进去,按照一些基于图像不变特性所设计的特征量来构建模板,就可以避免上述问题。下图给出了字符识别过程的框图。
图3-12 字符识别框图
此处采用相减的方法来求得字符与模板中哪一个字符最相似,然后找到相似度最大的输出。汽车牌照的字符一般有七个,大部分车牌第一位是汉字,通常代表车辆所属省份,或是军种、警别等有特定含义的字符简称;紧接其后的为字母与数字。车牌字符识别与一般文字识别在于它的字符数有限,汉字共约50多个,大写英文字母26个,数字10个。所以建立字符模板库也极为方便。为了实验方便,结合本次设计所选汽车牌照的特点,只建立了4个数字26个字母与10个数字的模板。其他模板设计的方法与此相同。
首先取字符模板,接着依次取待识别字符与模板进行匹配,将其与模板字符相减,得到的0越多那么就越匹配。把每一幅相减后的图的0值个数保存,即为识别出来的结果。如图3-13所示。
图3-13 字符识别的结果
4 实验结果及分析
本文以MATLAB7.0为实验平台,以摄取的彩色车牌照片为对象进行实验。实验的最终结果如图3-13所示。除此之外,按照此方法对另外一个车牌图像进行识别,得到的识别结果如图4-1所示。
图4-1 对另一车牌图像进行识别的结果
在得到这个结果之前,需要对车牌图像进行预处理、车牌定位、车牌分割等处理。由于摄像部分多工作于开放的户外环境,加之车辆牌照的整洁度、自然光照条件、拍摄时摄像机与牌照的距离和角度以及车辆行驶速度等因素的影响,牌照图像可能出现模糊、歪斜和缺损等严重缺陷,因此需要对原始图像进行识别前的预处理。预处理包括灰度化、车牌校正、平滑处理等。对于光照条件不理想的图像,可先进行一次图像增强处理,使得图像灰度动态范围扩展和对比度增强,再进行定位和分割,这样可以提高分割的正确率。在本文中根据采集到的图像本身的特点,对它进行了灰度化的处理。因为彩色图像包含着大量的颜色信息,不但在存储上开销很大,而且在处理上也会降低系统的执行速度,因此将彩色图像转化为灰度图像,以缩短处理速度。图像中车辆牌照是具有比较显著特征的一块图像区域,这此特征表现在:近似水平的矩形区域;其中字符串都是按水平方向排列的;在整体图像中的位置较为固定。正是由于牌照图像的这些特点,再经过适当的图像变换,它在整幅中可以明显地呈现出其边缘,于是对其边缘提取,此处边缘的提取采用的是Roberts算子。
在定位模块。本文采用的是车牌颜色与数学形态学相结合的定位方法。首先,将预处理后的图像用数学形态学的方法进行处理。数学形态学的应用可以简化图像数据,保持它们基本的形态特征,并除去不相干的结构。本文中对图像进行了腐蚀、平滑处理,腐蚀和平滑都具有滤波的作用,腐蚀是对图像内部做滤波处理,平滑是对噪声进行滤波。这样可以把字符与字符之间的杂色点去除,只有白色的字符和黑色的背景存在,这样有利于的字符分割进行。最后还用了bwareaopen来去除对象中不相干的小对象。再根据车牌底色等有关的先验知识,采用彩色像素点统计的方法,先确定行方向的车牌区域,再确定列方向的区域,得出最终的车牌区域。
车牌分割即把车牌的整体区域分割成单字符区域,具有承上启下的作用。其难点在于噪声合字符粘连,断裂对字符的影响,因此必须先将定位后的车牌进一步处理。包括灰度化、二值化、均值滤波、膨胀或腐蚀处理。分割采用的方法为寻找连续有文字的块,若长度大于某阈值T,则认为该块有两个字符组成,需要分割。为满足下一步字符识别的需要,将分割后的字符归一化。
最后将分割出来的字符运用模板匹配的方法与模板字符进行匹配,将其与模板字符相减,得到的0越多那么就越匹配。把每一幅相减后的图的0值个数保存,然后找数值最大的,即为识别出来的结果。模板的制作很重要,必须要用精确的模板,否则就不能正确的识别。
对于识别错误情况的分析可知,主要原因:一是牌照自身的污渍等影响了图像的质量;二是牌照字符的分割失败导致的识别错误;再就是部分字符的形状相似性,比如,B 和8;A 和4 等字符识别结果可能发生混淆的情况。
总之,尽管目前牌照字符的识别率还不理想,但是只要在分割出的字符的大小、位置的归一化,以及尝试提取分类识别能力更好的特征值和设计分类器等环节上再完善,进一步提高识别率是完全可行的。
5 展望与总结
高速公路、城市交通、停车场等基础设施建设水平的不断发展和车辆管理体制的不断完善,为以计算机视觉为基础的智能交通管理系统的实际应用提供了契机。在智能交通系统中,车牌自动识别系统是智能化交通系统非常重要的发展方向。从开始的收费辅助系统演变过来的车牌识别技术现在运用的领域是越来越广。它在车辆过路、过桥全自动不停车收费,交通流量控制指标的测量,车辆自动识别,高速公路上的事故自动测报,不停车检查,车辆定位,汽车防盗,稽查和追踪车辆违规、违法行为,维护交通安全和城市治安,防止交通堵塞,提高收费路桥的服务速度,缓解交通紧张状况等方面有重要作用,有重要的现实应用意义。
本文对车牌识别系统的软件部分进行了研究,分别从图像预处理、车牌定位、字符分割以及字符识别等方面进行了系统的分析。主要工作内容及结论如下:
整理和总结了国内外在车牌定位、分割、字符识别方面的研究成果和发展方向,系统介绍了我国车牌的固有特征,以及车牌识别的特点。
在车牌定位我们采用基于灰度跳变的定位方法,采用先对图像进行预处理,再进行二值化操作的方法。实验表明本方法既保留了车牌区域的信息,又减少了噪声的干扰,从而简化了二值化处理过程,提高了后续处理的速度。
基于彩色分量的定位方法,运用基于蓝色像素点统计特性的方法对车牌是蓝色的车牌进行定位,实验表明,用该方法实现的车牌定位准确率较高。
本设计采用的图像预处理、边缘检测、车牌长宽比特征识别等对车牌的定位都是非常有效的,而本设计提出的投影分析和阈值技术有效检测了车牌图像的上下左右边框、旋转角度,准确实现的车牌字符的分割,对多个车牌进行实验,均有很高的正确率。
本设计虽然只对蓝底白字车牌进行分割识别,对黑底白字车牌原则上整个算法可直接适用,对白底黑字车牌、黄底黑字车牌,需要对车牌定位算法进行调整,并将图像反转,而车牌字符的分割算法仍然行之有效。 因此,本设计提出的车牌字符的分割算法实验证明是准确、有效、可行的。但是也存在一些不足之处,本文的算法设计还需要一些优化的地方,比如在字符识别模板方面,增加易混淆字符的加权模板,并将识别出的字符作为模板,从而增大模板的数量,使得程序的准确率更高,鲁棒性更好。另外,如果一幅图像中有两张车牌,本系统是识别不了的,所以还有很多的改进的地方。在以后的系统中,可以增加功能得到更多车牌的信息,比如汽车类型,所属地区等。
通过对本课题的学习,我感觉车牌图像识别方面还有许多内容需要学习,希望能得到这方面老师更多的指导和意见。
参 考 文 献
[1] 白利波.车牌检测与识别算法研究[D].北京交通大学,2007
[2] 余棉水,黎绍飞,陈智斌.车牌自动识别系技术的研究[J].机电工程技术,2003(1):55-56
[3] 袁宝民,于万波,魏小鹏.汽车牌照定位研究综述[J].大连大学学报,2002(2):6-12
[4] 王广宇.车辆牌照识别系统的原理及算法研究[D].郑州大学,2000
[5] 崔江,王友仁.车牌自动识别方法中的关键技术研究[J].计算机科学,2002(11):1-4
[6] 许志影,李晋平.MATLAB在图像处理中的应用[J].计算机与现代化,2003(4):65-69
[7] 樊启斌,李虹.MATLAB语言的功能、特点及其应用[J].计算机应用,2000.4:29-32
[8] 成瑜.汽车牌照自动识别技术研究[J].南京航空航天大学学报,2006.4:29-30
[9] 黄剑玲.用MATLAB进行数字图像的分析和处理[J].计算机与现代化,2000(4)
[10] 郁梅等.基于视觉的车辆牌照检测[J].计算机应用研究,1999(5):65-6