基于权系数标识符矩阵的车牌字符识别方法

点赞:5927 浏览:18018 近期更新时间:2024-02-02 作者:网友分享原创网站原创

摘 要: 为了提高对车牌字符的准确识别能力,提出了一种基于权系数标识符矩阵的模板匹配车牌字符识别方法.具体方法是在进行字符识别前为每一个车牌字符制定一个标准化的模板,再将每一个模板字符的像素依据像素区域、像素边缘区域和非像素及非像素边缘区域等标记成不同的区域,并依此为基准生成一个模板矩阵.根据车牌字符闭合区域个数及字符二值图像中间行、中间列黑白跳变次数,可将字符分为10类.进行字符识别时,首先判定待识别字符属于哪一类,然后与所在类的每一个字符的标准模板进行匹配,统计待识别字符落在每一个标准模板矩阵的不同区域的像素数,并根据不同区域的不同权值计算相似度值,相似度值最大的即为识别结果.该方法采用两级分类法对车牌字符图像进行分类,再采用基于权系数标识符矩阵的模板匹配法对车牌字符进行识别.实验结果表明,该方法提高了识别结果的准确度,对于存在字符断裂以及形状相似而容易混淆的字符有较好的识别效果.


关 键 词 : 车牌字符识别; 权系数标识符矩阵; 模板匹配; 闭合区域检测; 像素值跳变特征

中图分类号: TN91934; TP391.41 文献标识码: A 文章编号: 1004373X(2013)24000104

License plate character recognition based on weight coefficient identifier matrix

LI Zhimin1, JI Meiping1, XUE Ping2, DAI Gao2, XIE Xianbao2

(1. Chongqing University, Chongqing 400044, China; 2. Chongqing Yibo Digital Technology Co., Ltd., Chongqing 400060, China)

Abstract: In order to improve the accuracy of license plate recognition, a license plate character recognition method matching with a template based on weight coefficient identifier matrix is proposed. The specific method is to develop a standardized template for each license plate character before character recognition. Each standard template character is divided into three parts: pixel area, pixel edge region, non pixel and nonpixel edge region, which is taken as a criterion to generate a template matrix. According to the blacktowhite jump times of number and character binary image in the middle row and middle line, the quantity of pixles which drops down on different areas of each standardized template matrix from characters under recognition is counted. The similarity value depends on the weights on the area is calculated. The maximum value is the recognition result. The method adopts secondary classification and is based on weight coefficient identifier matrix. The experiment results indicate that the algorithm is able to improve the accuracy of recognition result and has better recognition effect for the characters in which the fractures and shape similarity characters exist.

Keywords: license plate character recognition; weight coefficient identifier matrix; template matching; closed region detection; pixel value jump characteristic

车牌识别技术是智能交通系统(ITS)的重要组成部分,广泛应用于交通管理与控制、移动稽查、停车场管理、高速路口信息记录等方面.车牌识别大致分为车牌定位、字符分割、字符识别三个部分,字符识别是车牌识别中的重要步骤,识别的好坏将直接影响到整个系统的性能.

我国的车牌由汉字字符、阿拉伯数字及英文字符这三种字符组成,然而应用得最多的是阿拉伯数字及英文字符,所以本文将重点研究阿拉伯数字及英文字符的识别.众多学者对字符识别方法进行了广泛的研究,并且找出了多种有效的车牌字符识别方法.基于模板匹配的字符识别算法[13],该方法算法简单,对于二值图像的处理速度较快,但对于字符断点及污染较为敏感,且模板匹配时需要与标准模板进行对比,使得运行速度较慢;基于BP神经网络的字符识别算法[46]具有较好的适应能力及容错能力,但神经网络权系数的初始值设置不当会导致在学习的过程中收敛迟缓或无法根本无法收敛,使得学习的时间增加;基于特征匹配的字符识别算法[79],由于会受到外界多种因素的干扰而出现字符倾斜、粘连及断裂,使识别率难以提高,且鲁棒性也不高.本文针对以上方法的不足,提出了基于权系数标识符矩阵的模板匹配车牌字符识别方法,它能有效地识别受污染、断裂的字符,以及形状相似而容易混淆的字符. 1 字符分类

1.1 待识别字符的归一化

在字符分割之后得到的单个字符,其长宽并不统一,所以有必要对其进行归一化[10]处理,将每个字符的比例归一化至20×40(单位:像素)的大小,同时将字符边缘1个像素宽度的行列对应像素值置为0,其作用是方便在模板匹配时的处理.

1.2 字符分类

当使用模板匹配法进行字符识别时,若直接对每个待识别字符进行模板匹配,运算量太大会导致系统速度下降.本文在模板匹配前对字符进行分类,既可以提高识别率也可以提高识别速度.车牌中阿拉伯数字和英文字符的标准模板如图1所示.

图1 车牌字符标准模板

标准模板中图片大小为20×40(单位:像素),字符的边缘像素为0,与待识别字符的格式相对应.

本文对字符分类时,首先采用了查找字符闭合区域来进行第一级分类;然后再根据统计像素值跳变特征进行第二级分类.

通过统计字符的闭合区域可将字符分为三类:

第一类:不包含闭合区域的车牌字符有22个,分别为:“2”,“3”,“5”,“7”,“C”,“E”,“F”,“G”,“H”,“J”,“K”,“L”,“M”,“N”,“S”,“T”,“U”,“V”,“W”,“X”,“Y”,“Z”;

第二类:包含一个闭合区域的车牌字符有9个,分别为:“0”,“4”,“6”,“A”,“D”,“P”,“Q”,“R”;

第三类:包含两个闭合区域的车牌字符有2个,分别为:“8”,“B”.

通过第一级分类后,将33个车牌字符分为了三类.此时第一类中含22个字符,较分类之前虽然有所减少,但在进行模板匹配时,运算量仍然很大.所以,还需对第一类中的22个车牌字符进行第二级分类.

在第二级分类时,采用对车牌字符图像固定位置及固定方向的像素值跳变次数这一显著特征进行统计,然后根据统计的结果来进行分类.由于所有字符图像都归一化为20×40(单位:像素),则分别统计第10列像素值的跳变次数及第20行像素值的跳变次数.以车牌字符图像“2”为例,第10列像素值的跳变次数为6次,在第20行的像素值跳变次数为2次,则可以得出字符“2”的跳变特征为行方向2次、列方向6次.如图2所示.

图2 字符图像“2”行列跳变特征

采用了车牌字符图像的像素值跳变特征进行分类后,可大大提高模板匹配的运行速度和系统的容错率,同时也提高了系统的鲁棒性,增强了对污染、断裂字符的识别性能.使用上述方法进行分类后,将第一类的22个车牌字符细分为了7类,每一类包含的车牌字符如表1所示.

表1 二级分类结果

由于第二类与第三类的字符个数分别为9个与2个,字符数量不多,对模板匹配的运算量影响不大,所以不用进行再次分类,这样即可避免再次分类造成的误分情况,也可节省计算时间.根据以上分类将第一级分类中的三类分为了9类,最多的一类中字符个数有10个,与分类前33个相比大大减少.

2.模板匹配

传统的模板匹配法[10]最大的局限性在于对受到污染而发生偏移与断点的字符识别率较低.然而实际获得的车牌字符图像往往不会十分理想,为了消除字符偏移及断点对识别的影响,本文提出了一种基于权系数标识符矩阵的模板匹配方法,对受到污染而发生偏移及断点的字符有较好的效果.所谓权系数标识符矩阵就是以标准模板为基准生成一个矩阵,矩阵的大小与标准模板像素大小相同.本文采用的标准模板比例为40×20,所以矩阵的大小为40行、20列.矩阵中的值对应该标准模板中不同的像素类型,矩阵的生成规则如下:

将标准模板中的像素分为三种类型:

(1)字符像素区域:指待识别字符图像中字符所在的像素点,即灰度值为255的像素点的集合,把这类区域给定标识符为A;

(2)字符像素边缘区域:指距离字符像素水平与垂直方向2个像素、对角线方向1个像素点的集合,把这类区域给定标识符为B;

(3)非字符像素及非字符像素边缘区域:指除上述两类区域以外的区域,把这类区域给定标识符为C.

这样就将不同类型的标识符对应到矩阵后,便生成了一个标识符矩阵.矩阵中不同类型的元素都有其对应的权系数与权值.

在模板匹配的过程中,每个像素点有匹配与不匹配两种情况,即待识别字符图像的像素点会与模板图像中对应像素点的像素值有相同或不相同两种情况.为了计算待识别字符的相似度,规定当像素点匹配时将该点的权值置为1,不匹配时将该点的权值置为-1.而不同的权值对应了不同的权系数,权系数的设置如表2所示.

表2 权系数设置

相似度则由式(1)计算得出:

[S等于i等于1nQX] (1)

式中:n为待识别图像像素点总数,本文中n为800;Q为该点的权值;X为该点的权系数.

设置表2中权系数的根据如下:

(1)在进行模板匹配过程中,若待识别字符与模板字符相同时,待识别字符图像中的字符像素点应该大部分落在模板的区域A之内.考虑到实际情况可能存在偏移,但误差不会大于两个像素,所以待识别字符图像中的字符像素点应该大部分落在区域A内.区域B内会有少量待识别字符图像中的字符像素点,而待识别字符图像中非字符像素点应大部分落在区域C之内.根据权系数计算公式,待识别字符的字符像素点大多落在区域A中,且与模板字符中对应像素点是相匹配的,其权系数为3,权值为1即相似度值为3;落在区域B中的字符像素点较少且与模板字符对应像素点不匹配,其权系数为1,权值为-1,即相似度值为-1;落在区域C中的字符像素点几乎没有即落在C区域内的待识别字符的像素点为非字符像素点,与模板字符中区域C的像素点相匹配,其权系数为1,权值为0,即相似度值为0.由此最终得到的相似度值较高. (2)若待识别字符与字符模板不同时,在该字符模板区域C中肯定存在大量不匹配的像素点,即待识别字符图像中的字符像素点会大量落在模板中的C区域.由于区域C的权系数为5,不匹配时对应点的权值为-1,根据式(1)计算可得单个像素点的相似度值,由该点的权系数与权值的乘积即-5.由于存在大量不匹配像素点,所以最终计算所得相似度则会大大降低.

通过判断该待识别字符所对应类中每个字符模板相似度的值,便可得到识别结果.通过以上权系数设置可以很好地识别出包括“2”与“Z”,“V”与“U”在内的30个形状相似而容易混淆的字符,但“0”与“D”及“8”与“B”的特征过于接近,使用上述权系数设置并不能很好地将其区分开来,所以需要对其字符模板的权系数进行单独设置.如图3所示.

图3 “0”与“D”,“8”与“B”字符模板

由于 “0”和“D”属于同一分类的字符共有9个,所以不能直接设置“0”和“D”的标示符矩阵,只能先使用前面所述的标示符矩阵进行识别,当待识别字符的识别结果为“0”或“D”时,需重新设置标识符矩阵,然后再进行第二次识别.而“8”与“B”这一类中就只有这两个字符,所以可以直接设置其标识符矩阵进行识别.

针对“0”与“D”及“8”与“B”各自的特征,要区分这两类字符的关键在于字符的左上角与左下角的两个3×3区域内,“0”与“8”的字符像素点都不会出现在这两个区域之类,而“D”与“8”在这两个区域内都会出现字符像素点.在第二次识别中,将字符“D”与“B”模板标识符矩阵的这两个区域标识为d,而“0”与“8”的标识符矩阵保持不变.由于经过归一化后,待识别字符与字符模板的边缘像素为0,所以没必要将边缘纳入区域D内,即区域d所包含范围是离边缘1个像素的2×2的区域.将“D”与“B”字符模板中d区域匹配时,权值为1权系数设为600,不匹配时权值为-1权系数为30.根据相似度计算公式,当匹配时区域d中对应点相似度为600,不匹配时对应点相似度为-30.这样设置的目的在于:

(1)当待识别字符为“D”(或“B”)时,只要有一个像素落在字符模板“D”(或“B”)的区域d内,即可将其与模板“0”(或“8”)的相似度大幅增加;

(2)当待识别字符为“0”(或“8”)时,不可能会有字符像素点落在字符模板“D”(或“B”)的区域d内,即与字符模板“D”(或“B”)进行模板匹配时相似度值会比字符模板“0”(或“8”)的相似度值要少.

因此便能很好地将“0”与“D”及“8”与“B”区分开来.为了验证该方法的可行性,将一副车牌图像进行预处理后,并提取出该车牌图像中的字符“0”,如图4所示.

图4 待识别字符“0”

待识别字符“0”与字符模板“0”及“D”进行模板匹配的数据如表3所示.

表3 模板匹配数据

表3中的数字表示待识别字符的字符像素点落在该区域中的数量.

该待识别字符与“0”的字符模板进行模板匹配时,待识别字符的字符像素点在字符模板“D”区域d中的像素点总数为0,即待识别字符落在区域d中的像素点为非字符像素点,则该区域中对应像素点的像素值为0,而字符模板中“D”区域d的像素值为255,则说明待识别字符与模板字符在区域d中是不匹配的,由于区域d包含2个2×2区域,共有8个像素点,所以在区域d中与模板“D”的相似度值为-30×8等于-240.

根据相似度计算式(1)得出的相似度S为:

[S0等于222×3+63×1+0×(-5)等于729SD等于217×3+67×1+0×(-5)+(-30)×8等于 478 ]

在识别过程中,应选择相似度较大的字符模板作为最后的识别结果.字符识别流程如图5所示.

3.实验结果及分析

为了验证提出方法的可靠性,采用Visual C++ 6.0编程,在CPU 1.6 GHz,RAM 1.0 GB的运行环境下,对600副车牌字符图像进行识别,识别结果如表4所示.

4.结 语

本文采用了两级分类法对车牌字符图像进行分类,再采用基于权系数标识符矩阵的模板匹配法对车牌字符识别.通过实验验证,表明该方法能很好地解决模板匹配时,对有断点及形状相似而容易混淆的字符识别率低的缺点,且识别速度较快,能满足实际应用需求,具有较高的实用价值及广泛的应用前景.

图5 字符识别流程图

表4 识别结果