资源描述
车牌图像的字符分割设计与实现THE DESIGN AND IMPLEMETATION OF VEHICLE IMAGES CHARACTER SEGMENTATION 摘 要:车牌识别LPR(License Plate Recognition)是指通过计算机视觉、图像处理与模式识别等技术从车辆图像中提取车牌字符信息,从而确定车辆身份的技术。车牌识别系统是智能交通系统ITS (Intelligent Transportation System) 的一个重要组成部分,在公路电子收费、出入控制、交通监控等方面有着重要的应用价值。 车牌识别主要包括车牌定位、字符分割和字符识别三大部分。而本文研究的车牌图像字符分割是在车牌定位成功后把车牌的整体区域分割成单字符去娱乐区域,所以本文就车牌定位和字符分割这两个问题进行了深入的研究。 在车牌定位时,首先对图像HSI空间的亮度分量均衡化,这样既提高了图像的亮度适用范围又不影响颜色信息。接着利用车牌图像中字符颜色和车牌底色具有固定颜色搭配这一规律,在HSI空间中根据颜色,搜寻符合字符颜色与车牌底色搭配规律的像素点作为颜色对特征点。然后使用动态算子进行数学形态学处理,根据车牌的形状特征,对逐行扫描得到的待定车牌区域进行分析,最后得到类车牌区域。 字符分割在车牌定位后进行,但首先需要对类车牌区域进行倾斜校正,本文提出了一种针对颜色对特征点区域进行主成分分析的车牌水平校正方法。该方法通过对车牌图像中颜色 对特征点区域采样进行主成分分析,求出车牌水平方向的倾斜角度,在旋转校正时又加以填充处理,保证了图像的信息完整性。 在字符分割阶段,首先通过特征点区域的形状特征精确定位车牌区域;接着通过灰度化、灰度拉伸、二值化、边缘化等处理,进一步精确定位字符区域。二值化的过程中针对不同颜色的车牌选取了最适合的阈值算法。然后根据字符尺寸特征提出动态模板法进行字符分割,并将字符大小进行归一化处理。最后使用C语言构建了车牌定位与字符分割系统软件。该软件包含上述的车牌定位、校正和分割等步骤。通过大量的图片试验,特别是对存在大量干扰、光线不足及多车牌等图片的处理结果表明,本文所提出的车牌定位与字符分割算法,抗干扰能力强,实时性和稳定性好,为后续的字符识别创造了有利条件。关键词: 车牌识别;车牌定位;字符分割;数学形态学;The Design and Implementation of Vehicle Images CharacterSegmentation Abstract:License plate recognition (LPR) is the technique to draw the character information from the vehic1e image and confirm the identity of the vehicle through using computer vision, image processing, pattern recognition, and so on. LPR is an important study field in the Intelligent transportation system (ITS) and it has great apply value in the electronic toll collection,pass controlling,traffic monitoring and so on.LPR consists of plate localization, character segmentation, and character recognition. This paper aims at researching the following two aspects oft he license plate recognition system: license plate localization and character segmentation.In the stage of license plate location,lightness component of the image should be balanced in HSI space at first,so the suitable scope of image lightness has been enhanced,and the color information of image can not been affectedAnd color pairpixels are extracted in HSI color space according to the rule that character color and plate color should be matchedMathematics morphological operation which use dynamic operator is adopted in order to extend the color pair in real plate to a whole areaThen,the image is scanned line by line to get the areas that seem like real plateSlant correction should be done before character segmentationA horizontal slant correction approach based on color pair pixels area and principal component analysis is presentedThrough principal component analysis of the color pair pixels area,the slant angle of the plate can be obtainedWhen revolving adjustment,filling process should be performed to guarantee the integrity of the image informationIn the stage of character segmentation,plate area is located by shape of color pair pixels area,and pretreatment including gray proportion binarization and edge detection is taken before extract the character areaThe most suitable threshold value algorithm has been selected on plates in different colors dring the process of binarizationThen,according to the characteristic of character size proposed that the dynamic template method carries on the character division,and transform characters to identical sizeFinally ,a software platform is constructed by language of CThis software contains all the steps that mentioned aboveThrough the experiments on large numbers of pictures especially on which have massive disturbances,inadequate lighting and multicar licenses,the algorithm of license plate location and character segmentation has been proved to be real time,steady and good at anti-jamming,which create favorable conditions for the following character recognition Keywords:license plate recognition; license plate location ;character segmentation ;mathematical morphology1前言1.1 课题研究的背景和意义 随着经济全球化的发展和人民生活水平的提高,世界各国汽车数量迅速增加,城市的交通压力也越来越大。如何有效地进行交通管理日益成为各国政府相关部门所关注的焦点。针对这一问题,智能交通系统(Intelligent Transport Systems,ITS)的研究被提到了重要的位置。智能交通系统ITS是90年代兴起的新一代交通运输系统,迄今为止国际上没有公认的定义。第一届ITS世界大会认为,智能交通系统是将先进的信息技术、计算机技术、数据通信技术、电子控制技术、人工智能技术等有效的集成并应用于地面交通系统,从而建立起可以在大范围内发挥作用的,实时、准确、高效的地面交通系统。智能交通系统在有效利用现有交通设施、减少交通负荷和环境污染、保证交通安全、提高运输效率、促进社会经济发展、提高人民生活质量、推动社会信息化及形成新产业等方面均具有极其重要的作用,从而受到世界各国的重视。车辆自动识别(Automatic Vehicle Identification,AVI)是智能交通系统中的一项基础技术,它通过辨别车辆所具有的车牌、条形码、射频识别标志等特征来自动识别车辆,为交通管理、通行收费、区域出入控制等工作的开展提供条件。车辆牌照识别(Vehicle License Plate Recognition,VLPR)技术是车辆自动识别技术的重要组成部分:其功能是对采集到的汽车图像进行处理和分析,以自动识别其中的牌照编号。牌照是机动车辆的身份标志。通过车牌识别系统的图像采集和处理获得尽可能多的车牌信息,达到识别车牌号码的目的,从而使现代交通领域达到更高的智能化管理程 度。 车牌识别技术自1988年提出以来,受到了人们的广泛关注。它可以应用于以下领域: (1)交通监控。利用车牌识别系统的摄像设备,可以直接监视相应路段的交通状况,获得车辆密度、队列长度、排队规模等交通信息,观察和防范交通事故。它还可以同雷达测速器或其它的检测器配合使用,以检测超速的车辆。当发现车辆超速时,摄像机获取该车的图像,并得到该年的牌照号码,然后给该车超速的警告信号。 (2)交通流控制指标参量的测量。一些交通流指标的测量对交通流控制相当重要。该系统能够测量和统计很多交通流指标参数,如总的服务效率,总行程时间,以后简称为车辆牌照识别为车牌识别。总的流入量和流出量,年型及年流组成,日车流量,小时年流量,年高峰时间段,平均车速,车辆密度等。这也为交通诱导系统提供必要的交通流信息。(3)高速公路上的事故自动测报。这是由于该系统能够监视道路情况和测量交通流量指标,能及时发现超速,堵车,排队、事故等交通异常现象。 (4)对养路费交纳、安全检查、运营管理实行不停车检查。根据识别出的车牌号码从数据库中调m该车档案材料,可发现没及时交纳养路费的车辆。另外,该系统还可发现无车牌的车辆。若与车型检测器联用,可迅速发现所挂车牌与车型不符的车辆。 (5)车辆定位。由于能自动识别车牌号码,因而极易发现被盗车辆。,以及定位出车辆在道路上的行驶位置。这为防范、发现和追踪涉及车辆的犯罪,保护重要车辆(如运钞车)的安全有重大作用,从而对城市治安及交通安全有重要的保障作用。由于车牌识别系统在智能化交通控制管理中发挥着越来越重要的作用,吸引了各国的科研工作者对其进行广泛的研究。由于需适应各种复杂背景,加之要识别的车辆种类繁多、颜色变化多端,以及检测时要适应不同天气变化导致的不同光照条件,因此,目前的车牌识别系统都或多或少地存在一些问题。但是,随着计算机性能的提高和计算机图像处理技术的发展,车牌识别技术必将日趋成熟。1.2 研究的主要内容车牌识别系统车牌识别系统是以特定目标一一车辆牌照为对象的专用计算机视觉系统。该系统能够从一幅图像中自动提取车辆牌照,进行字符分割,进而对分割出的字符图像进行识别。一个典型的车牌识别系统包括图像采集、车牌定位、字符分割、字符识别以及结果输出五个功能模块,其原理流程如图1-1 所示:图1 车牌识别系统流程图 Fig l license plate recognition system flow chart 系统的工作原理:当车辆通过检测区域时,检测装置将车辆的通过信号传送到图像采集设备;图像采集设备采集车辆图像,并将图像传送到计算机;计算机对车牌进行自动定位和识别并将识别结果送至监控中心或收费处等应用场所。系统的核心部分为图像采集、车牌定位、字符分割、字符识别。下面简述各部分的主要功能: (1)图像采集部分:当系统发现有车辆通过时(通过检测器检测或是通过视频中运动目标的检测),触发图像采集系统,一般采用CCD摄像机摄取车牌前视图或后视图,由光照检测装置控制现场的光照,位置检测装置控制摄像机的拍摄角度。 (2) 图像预处理部分:需要对采集到的图像进行图像增强、平滑、恢复等操作,目的是突出车牌的主要特征,以便更好地提取车牌。(3)车牌定位:车牌的定位是一个寻找最符合车牌特征区域的过程,从本质上讲,就是一个在参量空间寻找最优定位参量的问题。车牌定位算法需要挖掘并提取车牌区域的独有特征,从而将车牌图像分割提取出来。在车牌定位过程中,由于采集到的图像中军牌区域经常是倾斜的,为避免后续的字符分割和字符识别的失败,必须对车牌行倾斜校正。 (4) 字符分割:即从定位得到的车牌图像中分离出单个字符(包括汉字、字 母和数字等)的图像,以便于字符识别。 (5) 字符识别:对分割得到的字符图像进行归一化处理,进行字符识别,转换为文本存入数据库或直接显示出来。1.2.1 车牌识别系统的评价指标从技术上评价一个车牌识别系统有三个指标,即识别率、识别速度和后台管理系统。 1.识别率 一个车牌识别系统是否实用,最重要的指标是识别率。国际交通技术作过专门的识别率指标论述,要求是24 小时全天候全牌正确识别率为85%95%。为了测试一个车牌识别系统的识别率,需要将该系统安装在一个实际应用环境中,全天候运行24 小时以上,采集至少1000 辆自然车流通行时的车牌照进行识别,并且需要将车辆牌照图像和识别结果保存下来,以便调取查看。然后,还需要得到实际通过的车辆图像以及正确的人工识别结果,之后便可以统计出以下识别率(1)自然交通流量的识别率=全牌正确识别总数/实际通过的车辆总数;(2)人工可识别车牌的百分率=人工正确读取的车牌总数/实际通过的车辆总数;(3)系统可识别车牌的识别率=全牌正确识别总数/人工正确读取的车牌总数;这三个指标决定了车牌识别系统的识别率,诸如可信度、误识率等都是车牌识别过程中的中间结果。必须认识到的一点是系统的识别率达到100%是不可能的,因为车牌照污损、模糊、遮挡,或者恶劣的天气情况(下雪、冰雹、大雾等)都会影响到系统的识别率。 2. 识别速度识别速度决定了一个车牌识别系统是否能够满足实时应用的要求。一个识别率很高的系统,如果需要几秒钟,甚至几分钟才能识别出结果,那么这个系统就会因为满足不了实时要求而毫无实用价值。例如,在高速公路收费中车牌识别系统的作用之一是减少通行时间,处理速度是这一类应用减少通行时间,避免车道堵车的有力保障。国际交通技术提出的识别速度是1 秒以内,越快越好。3. 后台管理体系 一个车牌识别系统的后台管理体系,决定了这个车牌识别系统是否好用。后台管理体系的功能应该包括: (1)识别结果和车辆图像数据的可靠存储。当多功能的系统操作使得网络出差错时,后台管理系统应能保护图像数据不会丢失,同时便于事后人工排查。 (2)有效的自动比对和查询技术。识别出的车牌号码应能够同数据库中成千 上万的车牌号码自动比对和提示报警。如果车牌号码没有被正确读取时,可采用模糊查询技术以得出相对最佳的比对结果。 (3)完善的系统功能。一个好的车牌识别系统不仅可联网运行,还需要提供实时通信、网络安全、远程维护、动态数据交互、数据库自动更新、硬件参数设置、系统故障诊断等功能。1.2.2 车牌识别系统的实际配置即便是一个达到实用标准的车牌识别系统,由于所选择的技术路线,软硬件体系结构以及触发方式不同,要发挥其有效的功能,还需要根据实际的应用需求确定相应的系统配置。 1.车牌识别技术。路线系统中车辆图像的采集方式决定了车牌识别的技术路线。目前国际通行的两条主流技术路线是自然光和红外光图像采集识别。自然光和红外光不会对人体产生不良的心理影响,也不会对环境产生新的电子污染,属于绿色环保技术。 自然光路线是指白天利用自然光线,夜间采用辅助照明光源,用彩色摄像机采集车辆真彩色图像,用彩色图像处理方法识别车牌。自然光技术路线与人眼感习惯一致,并且真彩色图像能够反映车辆及其周围环境真实的图像信息,不仅可以用来识别汽车牌照,而且可以用来识别车牌颜色、车流量、车型、车体颜色等车辆特征。红外光路线是指利用车牌反光和红外光的光学特性,用红外摄像机采集车辆灰度图像,由于红外特性,车辆图像上儿乎只能看见车牌,然后用黑白图像处理方法识别车牌。 950nm 的红外照明装置可抓拍到很好的反光车牌照图像。因红外光是不可见光,它不会对驾驶员产生视觉影响。另外,红外照明装置提供的是不变的光,所抓拍的图像都是一样的,不论是在一天中最明亮的时候,还是在一天中最暗的时候,唯一的例外是在白天,有时会看到一些牌照周围的细节,这是因为晴朗天气下太阳光的外光波的影响。采用红外灯的缺点就是所捕获的车辆牌照图像不是彩色的,不能获取整车图像,并且严重依赖车牌的反光材料。2.软硬件体系结构。一个车牌识别系统的基本硬件配置是由摄像机、主控机、采集卡、照明装置组成的,而软件是由一个具有车牌识别功能的图像分析和处理软件,以及一个满足具体应用需求的后台管理软件组成。车牌识别系统于是出现了两种产品形式,一种是软硬件一体,或者用硬件实现了识别功能的模块,形成一个全硬件的车牌识别器,例如DSP。另外一种形式是开放式的软、硬件体系,即硬件采用标准工业产品,软件作为嵌入式软件。两种产品形式各有优缺点。开放式体系的优点是由于硬件采用标准工业产品,运行维护容易掌握,备品备件采购可以从任何一家供应商获得,不必担心因为一家供应商倒闭或供货不足而出现产品永久失效或采购困难的问题。3.触发方式。车牌识别系统有两种触发方式,一种是外设触发,另一种是视频触发。外设触发工作方式是指采用线圈、红外或其他检测器检测车辆通过信号,车牌识别系统接收到车辆触发信号后,采集车辆图像,自动识别车牌,以及进行后续处理。视频触发方式是指车牌识别系统采用动态运动目标检测和图像序列处理技术,实时检测车道上车辆的运动状况,发现车辆通过时捕捉车辆图像,识别车辆牌照,并进行后续处理。视频触发方式不需借助线圈、红外或其他硬件车辆检测器。1.2.3车牌识别系统中的难点车牌识别系统在实验室里已经取得了令人满意的效果,但很难应用于实际工程中,这是因为实验室的环境是处于理想状态的,而在自然环境里,由于受到天气等因素的影响,识别率很难达到要求。我们大致的把这些因素归纳为三类: (1)汽车牌照本身的特征。牌照缺乏统一的标准。根据中华人民共和国公共安全行业标准对机动车辆牌照的有关规定,车牌的规格、颜色和适用范围各有不同。由于缺乏统一的标准,使得车牌识别过程中字符的分割难度较大,缺乏统一的模式规则的指导作用。牌照的质量无法保证。有些牌照被污损,而有些牌照的字符模糊不清,对光线的散射性不好,这些不确定性极大地影响了识别的准确率。车牌附近环境恶劣。车牌附近往往有复杂的外形或挡车器等,不利于车牌的定位和分割。 (2)外部环境的特征。外界光照条件各不相同,白天和晚上光照不同。光照对图像质量影响很大。不同的光照角度,对车牌光照的均匀度影响也较大。不同时间,不同气候条件,以及背景光、车牌反光程度决定了车牌区域的亮度特征。 外界背景的复杂程度也影响着车牌的定位准确率。背景中与车牌区域特征相似区域的大小反映了背景的噪声程度。例如与车牌字符相似的背景远处的广告语容易影响车牌的粗定位。 (3)车牌识别系统应用方案的特征。不同实际工程其摄像方位和角度不一样。实际工程中摄像方位相对于车辆行驶的方向一般是正上方、左侧和右侧,摄像角度一般在1530度之间。相对来说,摄像角度越小,车牌在平面图像中变形越小,识别效果越好。摄像方位和角度对车牌字符分割影响较大,对车牌校正方法的校正能力的要求也更高了。 光线较暗时,不同的人工光照角度、方位和亮度对车牌识别系统影响也不一样。尽管规范车牌对光的散射能力较强,但人工光照的方位角度不会影响车牌的亮度。亮度不均匀对车牌照二值化算法的适应性提出了更高的要求。不同的实际工程,图像的分辨率要求也不同。分辨率大小影响车牌识别系统的识别速度和字符的识别率。分辨率过高时,整个识别系统的处理时间会明显增多,特别是在车牌分割,车牌二值化的处理中时间会显著增加。分辨率过低,字符识别率会下降,字符中的汉字二值化效果较差,车牌识别系统的识别率会下降。 除了这三点客观因素外,对于本文的而言,从各种干扰中得到车牌区域,把倾斜的车牌校正,以及把粘连的车牌字符分割开都是系统成败的关键。而如何准确且快速地实现系统要求更是系统设计的难点。3 车牌定位31 几种常见的车牌定位方法 车牌定位方法的出发点是通过车牌区域的特征来判断车牌,所利用的车牌的特征主要包括: (1)车牌区域的几何特征,即在某个相对固定的拍照位置拍得的图像上车辆牌照子图像区域l每度和宽度一定,并且宽高比例一定。 (2)纹理特征,目前车辆牌照是由一个省份汉字(军警牌除外)后跟字母或阿拉伯数字组成的7个字序列。除第1个汉字外,字母和数字的笔画在竖直方向都是连通的,且其之间有一定的间隔。 (3)颜色特征,现有车牌有四种类型:小型汽年的蓝底白字车牌,大型汽年的黄底黑字车牌,军警车的白底黑字、红字车牌,外籍汽车的黑底白字车牌。牌照矩形区域内的颜色一定是限定的四种色彩之一,特征明显。 目前,车牌定位方法可以分为两大类:(1)基于灰色图像的车牌定位方法,(2)基于彩色图像的车牌定位方法。311 基于灰度图像的车牌定位方法早期由于受计算机运算速度和内存大小的影响,考虑到实时性,车牌定位主要是基于狄度图像处理技术,现在很多!学者仍然沿此路线进行研究。目前基于灰度图像的车牌定位方法主要有以下几种。 (1)基于纹理特征分析的定位方法。该方法利用汽车牌照中文字笔画变化频率比较稳定的特点,即笔画间隔的像素是稳定在某一个范围内、笔画数也存在下限的特征。设定阈值,通过扫描确定上下边界位置和左右边界位置。这样在已缩小的范围内再用上述方法进行递归检测,直到牌照位置比较稳定为止。该算法对于牌照的倾斜或变形以及光照不均、偏弱或偏强有很好的效果,但对噪声敏感,图片中的灰尘、脏污以及车牌区域外的文字都会对定位造成很大的影响。 (2)基于数学形态学的定位方法。数学形态学是一门建立在集合理论基础上的学科,它是几何形态分析和描述的有力工具,近年来在机器视觉和数字图像处理领域得到广泛的应用和发展。数学形态学进行图像处理的基本思想,是利用一个结构元素来探测一个图像,看是否能将这个结构元素很好的填放在图像内部,同时验证填放元素的方法是否有效。腐蚀、膨胀、开启和关闭是数学形态学的基本运算。使用数学形态学方法之前通常先将图像转换为二值图片,然后设计一结构元素对图片进行膨胀可以连接车牌区域像素点,对图片进行腐蚀可以去除噪声。最后再用边缘特征分析方法提取车牌区域。通常还耍利用车牌的一些先验知识去除伪车牌区域。 (3)基于边缘检测的定位方法。图像的边缘是指在灰度级上发生急剧变化的区域,而在背景或者物体的内部这种灰度的变化是比较平缓的。边缘检测的任务是精确定位边缘和抑制噪声。能够进行检测的方法有多种,如Roberts边缘算子、Prewitt算子、Sobel算子以及拉普拉斯边缘检测。这些方法正是利用了物体边缘处灰度变化剧烈这一特点来检测图像的边缘。各算子对不同边缘类型的敏感程度不同,产生的效果也不一样,经过大量实验分析可知,Roberts边缘算子是一种利用局部方差算子寻找边缘的算子,定位比较精确;Prewitt算子和Sobel算子对噪声有一定的抑制能力,但不能完全排除伪边缘;拉普拉斯算子是二阶微分算子,对图像中的阶跃型边缘点定位准确且具有旋转不变性,但容易丢失一部分边缘的方向信息,同时抗噪能力较差。所以针对不同的环境和要求,选择合适的算子来对图像进行边缘检测才能达到好的效果。 使用边缘检测方法的定位准确率较高,反映时间快,能有效去掉噪声,适合于包含多个车牌的图像,并且在多车牌图像的情况下定位速度也很快。但是对车牌严重褪色的情况,由于检测不到字符笔画的边缘会导致定位失败。定位后的区域在外界有干扰以及车牌倾斜时比车牌稍大。312 基于彩色图像的车牌定位方法与灰度图像相比,彩色图像色彩丰富,信息具有原始性和完整性,在设备存储量和速度允许的情况下可以取得更好的处理效果,而且人类视觉系统又对色彩非常敏感。因此,很多研究人员认为彩色图像比灰度图像更有利于图像分割和目标提取。车辆牌照具有与牌号、车身、背景不同的颜色,所以近年来很多学者已经开始应用彩色图像处理技术进行车牌定位,采取的主要方法有: (1)采用多层感知器 网络对输入彩色车牌图像进行彩色分割,通过投影法分割出潜在的车牌区域并根据先验知识得出合理的车牌区域。 (2)彩色边缘检测算子与区域生长相结合的牌照定位算法。这种方法的主要思想是通过边缘检测算子对彩色图像进行边缘检测,增强牌照区域,并借助数学形态学膨胀技术实现区域的连通,采用区域生长方法标记候选区域,最后利用车牌的先验知识,剔除虚假车牌区,确定真正的车牌区域。 (3)利用颜色空间距离和相似度进行车牌底色的颜色分割,再采用投影法根据车牌的宽高比确定车牌候选区域,最后对候选区域的灰度图像进行纹理分割提取车牌。 (4)将彩色图像转换到色调饱和度亮度空间(HSI空间),统计车牌底色在HSI 空间中的各分量的经验范围并提取车牌候选区域,然后对候选区域进行投影分析和形态学操作提取车牌。32 基于数学形态法的车牌定位基于灰度的方法能很好的利用车牌区域的灰度分布、字符排列、长宽比例、边缘特性等特征。由于图像中会存在其他非车牌区域具有年牌的特征,给定位结果带来影响。基于彩色图像的车牌定位技术的研究增加了彩色信息,改善了车牌的定位效果。但是,图像中除了车牌外还有车身和周围景物等其它物体的颜色可能与车牌颜色相同或相近,这将造成有效定位率下降。 上述方法虽然已经考虑了车牌底色的颜色信息,但是却没有考虑到车牌颜色特征的另一个重要特点,即车牌背景与字符具有固定的颜色搭配。 目前,已经有一些车牌定位算法的研究利用到了车牌背景与字符的固定颜色搭配。其中,李文举提出了边缘颜色对的概念。我国车牌颜色的重要特点是车牌背景与字符具有固定的颜色搭配,即蓝底白字(蓝牌)、黄底黑字(黄牌)、白底黑字(白牌)和黑底白字(黑牌)。车牌背景与字符交界的点必然存在固定的颜色配对,将这些固定的颜色配对点称为颜色对特征点。例如底色为蓝色的车牌中会出现相邻的两个像素,一个像素为蓝色而另一个像素为白色,则将这两个像素都看作是蓝白特征点:底色为黄色的车牌存在黄黑特征点:底色为白色的车牌存在白黑特征点:底色为黑色的车牌也存在白黑特征点。以上所述蓝白特征点、黄黑特征点和白黑特征点就是我国车牌中可能出现的三种颜色对特征点。 于是,基于颜色对特征点和数学形态学的车牌定位方法逐渐成型。 考虑到车牌背景与字符的固定颜色搭配,在HSI彩色空间对彩色图像进行色彩分析,并找出颜色对特征点。颜色对特征点充分考虑到了车牌本身的纹理和颜色搭配等信息,能有效得去除很多干扰。又考虑到车牌区域每一行上字符与背景跳变很频繁,得到颜色对特征点后,设计一种水平方向上的形态学算子,把每一行上相距较近的颜色对特征点连接起来,再使用一个更大的形态学算了进行去噪,在得到的车牌区域中根据车牌的先验知识分析去除伪车牌区域。3.3 图像增强 由于拍摄时光照强度的不同,会造成图片亮度不均。为了不影响车牌定位的准确性,我们需要对图片进行图像增强。直方图是多种空间域 处理技术的基础,其可以有效地用于图像增强。在较暗的图像中,直方图的组成成分集中在灰度较低的一侧;而明亮图像的直方图则倾向于灰度级较高的一侧;对于低对比度的图像直方图 则集中于一段较窄的灰度级中。通过直方图均衡化可以将图像调整为灰度级丰富且 动态范围大的图像。对车牌图像进行直方图均衡后可以提高其对比度,有利于提高车牌定位的准确性。这里介绍将图像转换到HSI模型的方法,这样只需要对亮度分量I进行直方图均衡化即可以达到图像增强的效果。图 2 RGB分量均衡化 Fig 2 RGB component equalization 图 3 HSI分量均衡化 Fig 3 HSI component equalization 以上为彩色图像均衡化步骤。一般RGB直方图均衡化后的图像相比原始图像,图像的细节更加清楚了但是单独对各RGB分量进行均衡化将产生不正确的颜色,而对HSI颜色空间的亮度分量直方图均衡化后的图像,虽然会影响到整体图像的彩色感观,但没有改变图像的色调和饱和度值,因此本文采用的是对HSI中的亮度分量进行直方图均衡化的方法。3.3.1视觉空间和颜色空间的转换人类的视网膜南感光细胞覆盖。这些细胞类似于CCD芯片上的感受基(像素)。颜色丰要是由视网膜上称为锥状体的三种不同的感光细胞感知不同波长的光而形成的。这三剩t锥状体分别感知红色(R)、绿色(G)和蓝色(B)的光,所有其它颜色都是这三种颜色的不同混合效果。因此,红、绿、蓝这三个颜色被称为人类视觉的三原色,由此形成的一套理论称为三原色原理,R、G、B分别表示构成颜色的一个分量。 颜色空间也叫颜色模型,它指的是通过基本颜色分量来定义其他各种颜色的模型结构。之所以将颜色模型称为颜色空间,是因为人们发现用笛卡尔空间坐标的形式来映射颜色模型往往显得更加直观、有效。常用的颜色宅间有RGB颜色空间,CMY颜色空间和HSI颜色空间等。图 4 RGB颜色空间 Fig 4 RGB color space如图4所示,RGB颜色空间将所有的颜色值映射到一个立方体中。这样,任意颜色值都可以由3个取值在0到l之间的颜色分量来表示。取值为0表示最小的颜色分量,而l表示最大的颜色分量。比如,(0,0,0)表示黑色,(1,l,1)表示白色。 在RGB颜色空间中,黑色(无光)点为坐标原点,以(0,0,0)为起点,其他颜色都可以看作足在原点即黑色的基础上叠加三种颜色分量形成的。这种形成颜色的方法称 为叠加原色法,相应的RGB三原色称为叠加三原色。用RGB颜色空间来描述色彩虽然方便,但不符合人眼的视觉原理。在颜色相同 的情况下,明晴的细微变化会引起RGB值的较大跳跃,不利于颜色的检测。为了定 量地描述颜色对人眼的视觉作用,可以选用色调(hue)、饱和度(saturation)、亮度 (intensity)这三个与视觉特征有关的量。HSI彩色模型就是按照色调、饱和度和亮度值建立起来的。色调是由物体反射光线中占优势的波长来决定的,不同的波长产生不同的颜色感觉,如红、橙、黄、绿、青、蓝、紫等。色调是彩色的最重要的属性,是决定颜色本质的基本特性。颜色的饱和度是指一个颜色的鲜明程度,饱和度越高,颜色越深,如深红,深绿。在物体反射光的组成中,白色光愈少,则其饱和度愈大。在颜色中加上白色或灰色愈多,其饱和度就愈小。亮度是指刺激物的强度作用于感受器所发生的效应,其大小是由物体反射系数来决定,反射系数越大,物 体的亮度愈大,反之愈小。图 5 HSI颜色空间Fig 5 HSI color space为了准确迅速地检测颜色,需要将图像由RGB颜色空间转换至HSI颜色空间。现有的HSI空间模型有四面体、圆柱体、圆锥体等多种定义公式,本文采用圆柱体的HSI坐标系进行颜色空间转换的实现,示意图如图5所示。332提取颜色对特征点 我国车牌颜色的重要特点是车牌背景与字符具有固定的颜色搭配,即白底黑字(白牌)、蓝底白字(蓝牌)、黑底白字(黑牌)和黄底黑字(黄牌)。因此可以根据这一特点,把颜色信息和边缘信息融合起来,尽量排除干扰以精确保留车牌特征。 HSI颜色空间模型中的i分量与图像的彩色信息无关,h分量抽出了色度而忽略了亮度信息,可以减少光照影响。对于具有某种目标色的像素,可以直接通过对h、J和i三个分量设定一个阈值范围来把它们提取出来,无需进行比较复杂的色彩距离计算,这样可以在色彩分割的时候节省大量的时间,这种方法对蓝色和黄色尤其有 效。但是,白色的色度没有意义,黑色的色度和饱和度也没有意义,也就是说这些分量取值不规律。所以白色像素只能利用饱和度和亮度两个分量来提取,黑色像素只能根据亮度分量来提取。在实际中的各种车牌颜色的阈值范围通过收集的样本车牌的颜色值统计得到。并且,为了适应车牌褪色、光线、灰尘等的影响,适当放宽了各种颜色的阈值范围,综合以后,得到彩色判断条件如下: 按照公式把彩色像素点从RGB空问转化到HSI空问,得到h、s和,三个分量的值:如果s0 O 5,则该像素点为白色; 如果iO 35,则该像素点为黑色: 如果220h01和i01同时成立,则该像素点为蓝色: 如果20h01和iO .35同时成立,则该像素点为黄色; 如果350h0 l和i)035同时成立,则该像素点为红色: 不符合以上条件的像素点视为无效点。 在以上的判断条件里面,蓝色和黑色的取值范围有重台的部分,这是因为存光线较晴的条件下,蓝色和黑色的亮度分量比较接近:考虑到四种底色的车牌颜色搭配中,没有蓝色和黑色的搭配,所以这两种颜色取值范围可以有重合的部分。在这里对红色点也进行判断,是因为在白底黑字的车牌中,前两个字符是红色的,不能忽略。通过上面的分析可以得到车牌及其背景的颜色边缘点。但是,在车牌外区域也有很多其他像素点的颜色和纹理符合车牌的四种颜色边缘点。由于有车牌区域颜色固定搭配的先决条件因此,下面还可以继续根据颜色边缘点的配对规律来继续排除多余的非车牌干扰点。这个过程也就是提取颜色对特征点的过程。4 车牌字符分割算法与实现41常见字符分割方法 车牌字符分割技术是指将定位后的车牌区域分割成单个字符区域。字符区域分割的准确与否将直接影响到下一步的字符识别,因此许多学者也对此进行了研究,提出了很多关于车牌字符分割的方法。迟晓君等提出了基于投影特征值的车牌字符分割算法。根据车牌预处理图像垂直投影图的特点,提出一个特征值,并由车牌图像的先验知识和此特征值相结合来进行字符分割。吴进军等提出了车牌字符分割新方法。通过在车牌定位图像上定位出车牌的第三个字符,再进行字符区域的分裂和合并,并针对字符缺损情况,进行字符区域扩展,而且对字符区域高度进行调整,从而最终实现车牌字符的分割。王兴玲提出了基于类间方差车牌字符分割的模板匹配算法。根据字符串的结构和 尺寸特征,设计车牌字符串模板,通过该模板在车牌区域滑动匹配进行分类,并结合最大类间方差判决准则,确定最佳匹配位置,分割出车牌字符。赵海燕等提出了基于最小面积法进行的车牌字符分割。依据车牌横平时所形成的连通域面积最小的特点提出最小面积法计算旋转角度,然后进行灰度均值化处理,并通过水平投影去除边界,最后根据实际车牌信息做垂直投影进行有效分割。陈黎等提出基于聚类分析的车牌字符分割方法。按照属于同一个字符的像素构成一个连通域的原则,结合牌照字符的同定高度、间距的同定比例关系等先验知识,来对车牌字符进行分割。北京理工大学的吴大勇、魏平等提出了基于区域最小值判断分割点的算法引。根据车牌字符垂直投影的信息,区域最小值的定义是以当前像素位置为中心,指定区域宽度内的投影信息最小值。在确定具体分割点时,先找投影信息的波谷横坐标x,接着利用以x为中心的区域最小值与图像在x处的垂直投影进行比较,如果相等,则 判断x才是真正的分割点坐标。陈寅鹏等提出了复杂车辆图像中的车牌定位与字符分割方法。该方法利用车牌字符等宽,排列规则的特点,引入模板,并使用该模板与竖直积分投影曲线匹配,计算最佳匹配位置,从而得到字符分割的准确结果。李文举等提出了质量退化的车牌字符分割方法。首先对字符外轮廓垂直距离采用尺度自适应三次B样条小波变换进行字符的粗分割:然后应用基于目标占有率模板匹配的字符识别反馈进行字符的精分割,使字符分割效果好。刘弈 等提出了一种利用颜色信息的车牌字符分割新算法。考虑到一般字符分割采用灰度处理方法丢失了很多颜色信息,而采用一种基于模糊神经网络的算法,充分利用车牌的颜色信息,根据车牌底色对不同分量进行加强,并将颜色信息作为模糊神经网络的输入量,最后进行字符分割。 以上的算法在特定的情况下是可以较好的将车牌宁符分割出来,但我国由于环境,道路或人为因素使得车牌污染严重,使得在车牌存预处理后,会出现不同程度的噪声,严重影响到车牌字符的正确分割。另外在国外许多国家车牌的底色和字符颜色通常只有对比度较强的两种颜色(例如韩国,其车牌底色为红色,车牌的字符为白色),我国汽车牌照仅底色就有蓝、黄、黑、白等多种颜色,字符颜色也有黑、红、白等若干种颜色。而且,很多其他国家的汽车牌照格式通常只有一种,而我国则根据不同车辆、车型、用途,规定了多种牌照格式。这都在很大程度上加大了车牌字符分割的难度。因此寻求一个更具有适用性、鲁棒性的字符分割方法,还需要探索和完善。 以上种种分割方法实现方式虽然各式各样,但归结起来总是基于几个基本点: (1)车牌区域的垂直投影呈现明显的波峰和波谷,波峰即为字符区域,波谷基本上都是字符间的间隙。 (2)第一个字符为汉字由于左右偏旁汉字中会出现间隙,而第二个字符和第三个字符间隔较大,所以可由 此做分界线,分段分割。 (3)字符比例固定。车牌字符总长度为409mm,其中单个字符宽度为45mm高度为90mm,第二和三字符间间距为34mm,其中中间小圆点宽度为lOmm,与第二和三字符间间距为12mm,其余字符间间距为12mm;字符“l”的宽度约为135mm,与其它字符间间距约为225mm,连续两个字符“l”间间距约为385mm,第三字符为字符1时,与第二字符问问距约为445mm。标准字符不包含字符“I”,故可以不考虑这种情况。 (4)字符颜色与车牌底色具有固定的颜色搭配。如果单纯地使用颜色对特征点进行投影以精确定位车牌边界时,由于颜色判断的精确度的误差和颜色对干扰点的存在,本应连续的字符边缘可能会有断裂,而不应是字符边缘的却有可能存在干扰点。这时就会对分析造成很大的影响。而将车牌区域二值化后,由于字符颜色与车牌底色的强烈色彩反差,字符与底色呈现两极化。但是此时仍不适合于做投影分析,因为车牌区域图像内仍可能有干扰像素,如白色车辆的蓝白车牌(如图2-9(b),此时如果得到的车牌区域包含了车身部分,则二值化后车身区域与字符属于同一颜色。对这样的图像进行投影得不到精确定位需要的信息。 应该注意到,车牌字符区域的纹理特征,这些特征是旁边干扰区域所不具有的特征,所以对二值化的图像进行边缘化处理,通过字符的纹理特征、边缘的跳跃性来判断车牌字符区域。 通过以上的分析,最终结合以上所有特点,本文提出了几种算法。42车牌字符分割算法4.2.1 MATLAB车牌字符分割这是一个简单的车牌字符分割程序,程序大概分为三步:1、 灰度化/二值化/直方图均衡化/归一化大小; 2、 去噪 ;3、 分割;由于使用MATLAB作为平台,第一步几乎可以以一句话完成。而对于去噪一步,需要花一点心思。不要以为去噪就是传统的高斯、中值滤波之类的东西,在自然环境中,干扰是无穷无尽的。对于我们的车牌识别程序,干扰我们的通常会有光照、车牌上的污点等等,这些干扰通常会使用普通图像处理手段来解决,比如用高斯等平滑滤波,用直方图均衡化等。然而,还有另外一些干扰也要引起我们的注意的问题,因此解决这种问题更显得程序的通用性。就是车牌的边沿、螺丝等等,这些是几乎每个车都有给出一个网上摘录下来的车牌!图 6 标准的车牌Fig 6 Standard plate我们可以看到,尽管车牌已经比较完美地定位(切割)了出来,但是对于提取纯字符任务来说,我们还面临着边沿、螺丝、空隙等挑战。在这里尝试采用比较常见的统计手段来解决这个问题:在得到二值化图像之后,我们可以得到一个二值矩阵,当某位置的值等于0的时候,表示该像素点为全黑,反之,则该像素点为纯白。然后我们可以对此二值矩阵分别对行、列进行求和统计。图 7 经二值、平度化、平滑后的车牌图像 Fig 7 The binary, pingdu change, smooth the vehicle images after图 8 图 6是二值、灰度化并平滑后的结果,效果还是不错的。我们分别对二值化结果分别做一个行、列的求和统计,并叠加得出图 8的结果:红色代表对各行数值求和结果、蓝色代表对各列求和结。大家已经可以看出些什么名堂来了吧?当值高的时候,代表白色的像素(痕迹)在这里多。通过红色曲线,我们已经可以轻易地去掉上下区域的直线。对于水平切割,这里采用了最落后的阀值法,对水平总和数据求数学平均,然后低于数学平均值的那一整行像素将被删除。而对于蓝色曲线,不能盲目地copy水平切割的方法。仔细观察M、0这两字母与其他字母的曲线。经比较后不难发现,因为M与0这两个字母中间是空心的,所以曲线波动较大。真正应该分割点的是最低的波谷处。以下是代码摘要:seg_target=sum_cols = (sum(sum_cols)/length(sum_cols);for i=1:length(seg_target) if seg_target(i) preseg_bgs_img = preseg_bgs_img;bgs_img(i,:); endendseg_target = sum_rows 10 nb_char = nb_char + 1; seg_charnb_char = temp_char; end temp_char = zeros(size(preseg_bgs_img,1),1); endend以下是水平分割结果(预分割):图 9 水平预分割的车牌图像 Fig 7 Level of pre segmentation vehicle images可以看出顶上的螺丝钉与下面的边沿被切除掉了,接着,我们做最后的分割,有些时候我们会连垂直方向上的一些边都当成了字符,其实一个很简单的解决方法就是设定一个阀值让体积比较正常的字符通过,过滤掉类似边沿的假结果。其实不应该设定一个固定阈值,而是根据不同图片计算出不同的阀值。以下是最终的结果:图 10 字符分割后的车牌图像 Fig 10 After Character segmentation vehicle images效果还不错可以,不作可视化过程显示的话用时0.02秒,就是通用性差,用其他质量没有这么好、分辨率没这么高的车牌做分割惨不忍睹。这种傻瓜程序,最要命的地方莫过于其工作环境必须很优越:对齐了的车牌牌照、尽量减少的灯光影响等,其实实用性基本没有。但是由于框架是正确可用的,所以对于改进的地方,应该从分割点的选取,总体的思路是改进各种阀值的选取,包括二值化的因子、高斯平滑的sigma因子等等,我们事先应当做一个直方图统计等东西来计算出各种针对当前牌照的浮动阀值。还有一个可以改进的地方是,图像在进入之前最好先做归一化处理,即大小和颜色等。最后的感触是,我从一开始的兴致勃勃已经到了现在的很痛苦的状态。总想着这是很简单的事情,却处处需要自己打点,考虑各种情况等。希望经过这次实现LPR程序的经历逐渐让自己变得更加成熟和沉着。 最后放上已经写好的function,进行调用就可以了!现在放出写好的function,如下调用:number_char, outstanding_char = Seg_Char(original_image,disp);e.g: number_char, outstanding_char = Seg_Char(original_image,true);5车牌字符分割算法实现51MATLAB的开发环境本文字符分割技术主要使用的是MATLAB软件进行操作的,MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学
展开阅读全文