热点推荐词:

常见问题

一种基于模板匹配的车牌识别方法

文字:[大][中][小] 手机页面二维码 2019/2/26     浏览次数:    
    一种基于模板匹配的车牌识别方法
    摘要:提出了一种基于模板匹配的车牌识别方法,可不需分割车牌中的字符而有效识别实际系统中低质量和模糊的车牌图像中的字符,识别率可达95%,识别时间不超过1s。
    关键词:车牌识别;模板匹配;字符识别;车牌分割;图像处理
    车牌自动识别系统能广泛应用于高速公路不停车收费站、城市交叉口、港口和机场、国家重要机关出入地等场所,对提高这些场所交通系统的管理水平和自动化程度具有重要的意义[1]。车牌自动识别系统主要包括车牌定位和车牌字符识别两部分。车牌定位部分:目前一些方法[2~5]有效地解决了车牌的定位问题;车牌字符识别部分:对于解析度较高车牌区宽度不小于120个像素车)和图像比较清晰的车牌,目前基于神经网络、字符笔划特征和模糊识别等方法能有效地识别车牌中的字符[3~5],但是对于较低解析度和较为模糊的车牌以上方法是不可行的,因为这些方法只有在车牌中的每一字符独立分割出来的前提下才能完成识别工作,而独立分割车牌区的字符,对较低解析度和较为模糊的车牌来说是非常困难甚至是不可能的。笔者提出了一种基于模板匹配的车牌识别方法,只需提取字符区整体特征,避免了字符的分割,能有效地完成不同解析度和不同模糊程度的车牌识别工作,而且识别精度高、速度快,能满足实际系统的要求。
    车牌字符识别
    模板匹配法车牌字符识别流程
    模板匹配法车牌字符识别过程如图1所示:车牌定位得到分割的车牌区;车牌区背景和字符提取即把字符的颜色和非字符的颜色提取出来,并进一步得到二值图像;在二值图像的基础上进行字符高度、宽度和倾斜角检测,得到精确的车牌区字符高度和倾斜度及车牌字符区的宽度估计值;根据字符高度、宽度、倾斜角及标准模板的大小对字符进行标准化;模板匹配,即得到和车牌字符相匹配的模板,进一步确定识别的字符;语法分析,进一步确定车牌区字符结构的合理性。
    车牌区背景和字符颜色提取
    车牌区背景和字符颜色的提取可采用HIS制式的彩色分割车牌识别方法。对不同组合方式的车牌区背景和字符(如大型汽车为黄底黑字,小型汽车为蓝底白字等),均可将车牌区颜色分成两类,一类为字符颜色,另一类为非字符颜色,从而得到车牌区的二值图,并取字符颜色像素值为1,取其它颜色像素值为0。
    字符高度、宽度和倾斜角检测
    字符高度和宽度及倾斜角检测在车牌区二值图上进行(图2),检测算法如下图2检测结果第一步:检测字符最高点和最低点。把车牌区的最左边界L和最右边界的一水平线段等间隔分成M段(每一段约为一个字符宽,并视为一滑动条),各滑动条垂直向上一步一个像素滑动,计算每一滑动条穿过1像素的个数。当滑动条垂直向上移动到字符顶点并再向上移动一个像素时,滑动条穿过1像素的个数迅速下降到零,此时临界位置的像素即为滑动条内字符的最高点。同理,滑动条垂直向下移动可得到字符的最低点。
    第二步:确定精确的字符最高点、最低点、字符高度和倾斜角(由于噪声等影响,一些字符最低和最高点不一定是真实字符最高和最低点)。首先,建立车牌的顶边和底边模型,顶边和底边分别用式(1)和式(2)表示;然后通过误差函数式(3)的最优解来确定底边和顶边的参数;最后,可得字符的高度估计值和倾斜度估计值。式(1)~(3)中的各变量和参数参见文献[2]。
    第三步:确定车牌字符区水平方向位置。先由字符高度计算出车牌字符区的宽度WZ,然后检测车牌字符区最左边界和最右边界,即在L位置向右几个像素范围内(略大于R-L-WZ个像素)和车牌字符高度方向的范围内进行多行扫描检测出最左的像素,并标为最左边界位置LL,同理可检测出车牌区整个字符的最右边界位置LR。
    ∑字符标准化
    字符标准化的目的是使字符和字符模板相一致。在给定的由LL、LR、字符高度和倾斜度,通过比例和旋转变换可以实现标准化,即旋转角取比例取(b1-b2)∶h(h为标准字符模板高度),从而可得到标准化了的整个字符区域和字符。
    模板匹配
    字符模板分为汉字、英文字母和数字模板,尺寸为M×N像素,由统计方法构造并保存到数据库中。模板匹配是将字符模板和标准化的车牌区字符进行匹配来识别字符。
    笔者采用重合度和差别函数来度量车牌字符和标准模板之间的相似程度。重合度函数取式(4),差别函数取式(5)。式中:g和f为0或1,分别为模板和对应的车牌字符区像素值;Tf和Tg分别为模板和模板对应的车牌字符区中的1像素的个数;Cfg和分别为重合度函数和差别函数;∧和分别为与运算和异运算。
    ∑∑∧∑∑匹配步骤如下第一步:根据不同车牌类型的字符组合先后顺序(如小型汽车的顺序为汉字—0或英文字母—英文字母或数字)取字符模板。
    第二步:依次取汉字模板进行匹配,模板在车牌字符区上左右滑动(滑动的目的是为了找到最好的匹配位置)。模板以车牌字符区最左边为起点,向左和向右分别滑动几个像素(取2~3个像素),计算每个位置每个汉字模板的Cfg和Dfg值,取最大的值和最小的Dfg值对应的模板为最匹配的模板。如果Cfg值大于阈值T1(取95%比较合适),同时小于阈值T2(一般取4%比较合适),即可确定为所识别的汉字,否则拒绝识别汉字。此时得到了最佳匹配时模板在车牌字符区中的右边界位置S1。
    第三步:依次取英文字母,以S1为起点,进行二步类似的计算找到最匹配的模板,并进行识别和拒绝识别的判别。同时得到新的模板在车牌字符区中的右边界位置,更新S1。
    第四步:取全部英文字母和数字,以S1为起点有分隔副符的地方再加分隔符的宽度W)进行类似三步计算,重复至七个字符全部识别完成。
    提高匹配性能的进一步措施
    匹配性能与搜索空间的大小和阈值的选择有直接关系,减小搜索空间和合理地选择阈值可进一步提高匹配的性能,从而更好地满足实际系统的要求。
    减小搜索空间可有效地减少识别时间。采用基于启发式搜索的方法可有效地减少搜索空间。例如对不同的省,发牌机关代号(右边字符串的第一个字母)可能不一样多,如北京只有A、B、C三个,湖北则有从A到S除I外的18个英文字母,所有车牌中字符串最后三位为纯数字。对不同的省建立不同的搜索模板集,通过启发式搜索找到备选模板集中相应的模板子集。
    合理选择阈值可保证不同系统的不同识别精度要求。对识别率(正确识别车牌字符)要求较高的系统,宁可放弃一些识别的解以不致带来一个错误的解,即减少误识率(错误地识别车牌字符)并允许有更大的拒绝率(拒绝识别车牌字符);相反,一些精度要求不太高的系统,可减少拒绝率,增加通过率(正确和错误的识别);通过情况,在匹配过程中,一方面希望减少拒绝率,另一方面希望有更高的识别率和更低的错误率。减小T1可以减小拒绝率,但使识别的错误率增加;减小T2可以增大拒绝率,但识别的正确率会增加。合理地调整T1和T2,使拒绝率不致过大,同时使错误率也不致过大。通过大量的实验证明:T1和T2取值与模板尺寸有关,但对大于8×的模板(车牌区宽度大于80个像素)影响不大一般取95%和4%合适,字符识别率可达95%,错误率为5%,拒绝率为4%。对小于8×16的模板应取小一点,T2应取大一点,找到合适的T1和字符识别率也可达85%以上。
    语法分析

    采用车牌字符排列结构语法分析方法,可进一步有效地拒绝车牌图像。如:当识别省份汉字时,通过启发式搜索找到备选模板集中相应的模板子集,如果识别出来的发牌机关代号在这个省不存在,则可拒绝车牌图像;同理字符串最后三位为纯数字,如果识别出字母,则可拒绝车牌图像。表1给出了经模板匹配和语法分析后的字符识别的正确率、错误率、拒绝率的平均值(表中的数据顺序对应的车牌区宽度分别为、100、80、60个像素四种情况,T1取95%,T2取车速约60km/h,阴天,共500辆车)。

    结语

    笔者提出的基于模板匹配的车牌字符识别方法对低质量的车牌区图像字符识别具有较高的识别率。对于车牌区宽度大于80个像素的车牌,字符识别率可达95%,而用分割字符的方法是很难识别的。实验发现,此方法比其他车牌字符识别方法在识别速度上也有提高,整个车牌字符识别时间小于而传统方法的识别时间最少2s以上)。当然,若图像质量太低,识别率会显著下降,甚至无法识别。在实际系统中,可调整T1和T2使其具有更好的适应性;另外,标准模板的选取和制作也需反复实验,以进一步提高识别性能。


本文由 安徽车牌识别 整理编辑。

返回上一步
打印此页
在线咨询
在线客服:
133 3565 4420

请扫描二维码访问手机站

[向上]