背景介绍 车辆牌照字符识别是在车牌检测的基础上,经过字符准确分割处理后,对车牌上面的汉字、英文字母、数字进行有效的确认的一个过程。与其它字符识别相比,车牌字符识别有其特殊性,主要体现在以下几点: (1)字符集小。车牌上出现的汉字字符为省、自治区、直辖市或特殊机构的简称。加上26个英文字符以及10个数字,字符类别不超过100类。 (2)待识别的字符图像小。字符图像来源于定位分割得到车牌图像,车牌占车辆图像中的比例很小,因此,车牌字符一般都很小,字符的宽高通常在20~30个像素之间,这样就增加了识别的难度。 (3)车牌字符图像受到的干扰因素多。车牌识别系统是全天候工作的系统,由于受到天气、外界干扰、车辆运动、车牌倾斜以及拍摄角度等因素的影响,导致提取到的车牌字符图像中的字符的大小、粗细、位置及倾斜度都不一样。另外,车牌的清晰度、清洁度、新旧、底色及光照背景等因素,可能会使采集到的图像存在严重干扰,如字符模糊、畸变甚至断线等。因而,要求所采用的识别方法具有很强的抗干扰性和环境适应性。 (4)存在一些结构特征非常相似的字符。例如:数字“2”与字母“Z”,数字“8”与字母“B”,数字“5”与字母“S”等。 目前已经有许多种字符识别的方法如统计分类器方法、人工神经网络方法、模板匹配方法等。由于车牌字符是单一字体,因此本文采用模板匹配方法对车牌字符进行识别。在基本的模板匹配算法的基础上,序贯相似性检测算法将具有旋转、平移、缩放不变的中心矩描述方法与传统的模板匹配方法相结合,提出了一种快速算法以克服传统匹配方法的不足。 车牌字符图像预处理在实际的车连监控场景中,获取的车牌图像大小与光照条件相差比较大,因此在字符识别之前,通常需要将字符区域的图像进行预处理,主要包括车牌字符的缩放、灰度级拉伸、阈值分割等步骤。在不同成像环境下,车牌字符的大小和灰度变化范围存在较大差异。因此,需要将这些字符转换为标准的字符模板的尺寸。 字符识别通常需要将彩色或灰度图像进行分割为二值图像,并输入到车牌字符分类器进行识别。图像分割的全局阈值算法相对比较简单,但是抑制车牌图像噪声和不均匀光照的能力较差。局部阈值选取法是根据区域灰度分布特性,自适应调节图像分割的阈值,效果一般好于全局阈值方法。 为了消除字符的光照不均匀等不利因素的影响,本文采用Niblack自适应阈值分割方法对车牌字符进行分割[80]。 在车牌字符图像分割中,由于汉字的笔画宽度一般要小于英文字母和数字,并且车牌的汉字所包含的目标像素数量要大于字母和数字。因此,本文在字符图像分割采用不同的策略,前者采用的高斯函数方差file:///C:/Users/DIY/AppData/Local/Temp/msohtmlclip1/01/clip_image002.gif和阈值file:///C:/Users/DIY/AppData/Local/Temp/msohtmlclip1/01/clip_image004.gif要小于后者,这样可以使得分割出汉字包含有更多的细节信息。Niblack算法可以突出车牌字符区域,并削弱背景干扰的影响。该方法具有局部自适应性,能消除不均匀光照的干扰。 距离变换由于不同环境下拍照图像的清晰程度、光照条件、分辨率相差,导致分割得到的字符图像的线段宽度与标准模板不一致,并且存在一定程度的形状失真。为了消除这些因素的影响,本文采用距离变换对车牌字符的二值图像进行处理。 常用的距离测度函数有欧氏距离、街区距离、棋盘距离、Chamfer距离等。Chamfer距离的每一步计算只使用了一小块图像邻域,其思路就是全局的距离由局部距离的传播来近似计算,其数学模型是绝对值加权的距离公式。 模板匹配模板匹配方法是将待识别字符与事先构造的模板进行比对,根据与模板字符的相似度大小来确定识别结果。该类方法适用于单一字体,并且经过旋转和剪切校正的固定大小的字符。这种方法既可以用于二值图像,也可以用于灰度图像。模板匹配经常采用归一化相关系数进行相似度评价。这种方法具有较快的识别速度,尤其对二值图像速度更快,可以满足实时性要求,但是,它对噪声很敏感,而且对字符的字体风格不具有适应性,任何有关光照、字符清晰度和大小的变化都会影响识别的正确率,因此在实际应用中为了提高正确率往往需要使用大的模板或多个模板进行匹配,而处理时间则随着模板的增大以及模板个数的增加而增加。 车牌字符匹配过程中需要采用合适的个体评价函数作为适应度函数。模板匹配是图像识别中最具有代表性的方法之一。模板匹配通常事先建立标准模板库,模板库中的标准模板通常是二值化的数字模板,并且图像模板大小相同。 由于车牌字符属于单一字体的有限字符集,如果前面的预处理工作做得比较好,预处理的图像质量较高,并且图像的几何失真较小,这种方法的识别率基本能够达到要求,可以获得较高的识别率。模板匹算法基本思想是:将归一化后字符二值图像与模板库中的字符二值图像逐个进行匹配,采用相似度的方法来计算车牌字符与每个模板字符的匹配程度,最相似的就是匹配结果。 模板匹配首先需要计算待识别字符与所有模板字符之间的相似度函数,然后依次从待识别的字符与模板字符的相似度中找出最大相似度值所对应的模板字符,并判断是否大于该字符的阈值file:///C:/Users/DIY/AppData/Local/Temp/msohtmlclip1/01/clip_image006.gif,如果file:///C:/Users/DIY/AppData/Local/Temp/msohtmlclip1/01/clip_image008.gif大于file:///C:/Users/DIY/AppData/Local/Temp/msohtmlclip1/01/clip_image006.gif,那么待识别字符的匹配结果就是该模板字符,如果小于file:///C:/Users/DIY/AppData/Local/Temp/msohtmlclip1/01/clip_image006.gif,则拒绝识别。该算法可用于类似车牌字符等印刷体字符识别。在字符较规整时,算法对字符图像的缺损、污迹有较强的抗干扰能力,而且识别率高,但是它在字符旋转、变形,笔划粗细不同等情况下,识别能力有限。本文 分级车牌字符识别在车牌字符的模板集合中,存在一些结构特征非常相似的字符。例如:汉字“吉”与“晋”、、数字“2”与字母“Z”、数字“8”与字母“B”、数字“5”与字母“S”。这些车牌字符的类间距离相对比较小,而模板匹配方法是一种衡量字符整体特征相似性的度量方法,在车牌字符存在变形、破损、干扰的情况下,很容易产生识别错误。另一方面,这些相似字符的某些局部区域又存在明显的差异。因此在识别出某个车牌字符之后,可采用分级匹配的字符识别策略,也就是在与该车牌字符模板比较相似的字符模板集合中,将车牌字符划分为多个局部区域,采用模板匹配方法对各个局部特征进行匹配,并根据累计的匹配系数进行字符识别。 为了解决相似字符对的误分类问题,本文预先定义了容易误分类的字符集合,当待识别字符判断为集合中的第一个字符时候,可对未知字符和已分类字符的局部细节进行比对,从而找出正确的字符。如果矩阵中的某一行的相关系数大于某一个阈值(如0.85),则将其构成一个集合。其中,有21个汉字“沪渝冀辽黑苏浙皖闽赣鄂湘粤川云陕藏桂蒙新宁”与其它汉字的相似度均比较小。因此,如果识别字符属于这21个汉字组成的集合,则不进行下一级的分类,而相似度比较高的共有10个集合: (1)“京吉”;(2)“津豫”;(3)“晋吉甘青”;(4)“吉京晋鲁甘青”;(5)“鲁吉”;(6)“豫津琼”;(7)“琼豫”;(8)“贵青”;(9)“甘晋吉青”;(10)“青晋吉贵甘”。 与汉字的处理方法相似,可以分别针对英文字符和数字组成的模板集合计算其相关系数矩阵。需要注意的是,在中国大陆的车牌中,字母“O”与数字“0”的图像相同。对于25个英文字母(不包括字母“I”),其中车牌的第2位属于英文字母,根据相关系数大小将大于0.85的英文字母作为类间距离比较接近的字母,有11个英文字母(“ACEJKLRSWXZ”)与其它字母相似度较低,类间距离较小的英文字母可以分为14个集合: (1)“BG”;(2)“DQOU”;(3)“FP”;(4)“GB”;(5)“HMN”;(6)“MHN”;(7)“NHM”;(8)“ODQU”;(9)“PF”;(10)“QDO”;(11)“TY”;(12)“UDO”;(13)“VY”;(14)“YTV”。 可以看出,有部分集合中的元素都相同,而部分集合的元素并不完全相同,这种相似字符集合的划分有利于更好地处理相似字母的识别问题,例如,虽然字母“Q”和“U”都与字母“D”和“O”的类间距离比较小,但是字母“Q”和“U”的类间距离却比较小。因此,当第一级识别结果为某一个字母时,就将以该字母为首位的集合中的其它字母进行下一级识别,并找出最可能的字母。车牌的第3-7位字符为英文字母或数字,该集合的划分与汉字和英文字母的划分和识别过程相同。其中,有13个字符与其它字符相关性较低(“356CEJKLRSTWX”),其它类间距离较小的字母和数字可以分为14个集合: (1)“0DQU”;(2)“17TY”;(3)“2Z”;(4)“4A”;(5)“71TY”;(6)“8BG”;(7)“9V”;(8)“A4”;(9)“B8G”;(10)“D0QU”;(11)“FP”;(12)“G8B”;(13)“HMN”;(14)“MHN”;(15)“NHM”;(16)“PF”;(17)“Q0D”;(18)“T17Y”;(19)“U0D”;(20)“VY”;(21)“Y17TV”;(22)“Z27”。 对于字符结构特征相似的集合,虽然它们的整体相似度比较高,但是局部特征存在有明显的差异,本文将待识别字符的左半部、右半部、上部、中部、下部共5个区域的进行模板匹配,匹配仍然采用相关系数。 本文将待识别字符与其所在的字符集计算平均匹配系数,其最大值所对应的字符即为字符识别的结果。对不同的省建立不同的搜索模板集,通过启发式搜索找到备选模板集中相应的模板子集,它不但可以加快识别速度,还能够提高车牌字符识别率。 实验结果对于质量较好的车牌图像,现有的许多车牌识别算法都能够取得较好的效果。为了测试分级模板匹配方法的识别效果,本文特意从不同场景中挑选了500幅存在各种干扰的图像进行测试,其中车牌字符的线段宽度变化范围为2~9个像素,字符高宽比为0.9~2.2。测试所用字符包括了车牌中所使用的10个数字和25个英文字符,以及全国各省和直辖市的简称,共31个汉字字符。这些测试图像包括了影响车牌检测效果的几种主要因素,如车牌尺寸变化、透视失真、光照变化、复杂背景、车牌质量退化等。 总结本文提出了一种基于距离变换的分级车牌字符识别算法。该方法首先根据字符的高度和宽度将将所有字符采用线性插值方法调整到标准大小,并将字符的亮度调整到范围0-255内。其次,采用Niblack自适应阈值分割方法对车牌字符进行分割。由于汉字的与字母或数字的线段宽度不一致,对于同样大小的字符,车牌的汉字所包含的目标像素数量要大于字母和数字。因此,本文在字符图像分割采用不同的策略,前者采用的方差和阈值要小于后者,这样可以分割出汉字的更多的细节信息。然后,采用距离变换将二值图像变换为灰度图像,并与模板进行匹配。它可以避免多种干扰因素的影响。最后,为了解决结构特征非常相似字符的误识别问题,采用全局和局部模板匹配的分级处理方法来综合判决进行识别。实验表明该字符识别方法具有较高的识别率,并能够应用于各种复杂的监控场景。 图灵视控(北京)科技有限公司 技术服务电话:4008-035-305
|