一种车牌图像二次定位算法
2016-08-16杨峰李建奇
杨峰, 李建奇
一种车牌图像二次定位算法
杨峰, 李建奇
(湖南文理学院 电气与信息工程学院, 湖南 常德, 415000)
针对车牌识别系统中关键性的定位环节提出了一种二次定位算法, 在预处理后对车牌图像先进行粗略定位, 再进行精确定位。该算法前后衔接紧密, 灵活有效地利用了二值图像所受干扰主要来自车牌上方这一特征, 对图像由下至上搜索定位; 利用 Hough变换对图像进行多直线检测, 确定边界后实现精确定位。在Matlab平台上的测试结果表明, 该算法速度快, 准确率较高。
预处理; 粗定位; 精定位; Hough变换
车牌识别(License Plate Recognition, 简称LPR)系统在智能交通管理领域扮演着重要的角色, 为当前研究热点。LPR系统一般包括车牌定位、分割、识别3个环节, 其中定位作为分割的前提, 其准确度直接影响到后续的分割与识别效果。定位错误即丢失目标, 会导致系统识别错误, 因此, 保证车牌定位的精准度十分关键。
本文阐述了一种车牌二次定位的方法, 并在Matlab平台上进行了测试。
1 图像预处理
车牌正式定位之前, 对图像按以下步骤及顺序进行预处理。
(1) 图像变换。由设备拍摄的车牌图像都是彩色的, 其每个像素都由R、G、B三个颜色分量形成, 因此数据量大, 给系统的存储和处理带来较重负担。灰度(Gray)图像不包含彩色信息, 其值量化为256级,因此, 对灰度图像的处理更方便。彩色图像由RGB空间变换为灰度空间的转化关系为[1]IGray= 0.299IR+ 0.587IG+ 0.114IB。
(2) 像素调整。由于每幅图像由不同的设备拍摄, 导致像素不一致。像素太低则成像质量低, 增加
(3) 灰度拉伸。车牌图像在拍摄时往往由于光线环境原因造成图像的亮度偏暗或者偏亮, 这都会影响图像的后续处理。因此, 将图像按图 1的变换方式把感兴趣的灰度范围拉开[2], 丰富灰度层次, 达到增强对比度的效果, 把其它灰度范围压缩, 以减少干扰。图像灰度范围拉伸前后效果见图2。灰度拉伸变换函数表达式为
图1 灰度拉伸变换
图2 灰度拉伸
(4) 滤波。为了去除图像中噪声的影响, 提高图像质量, 需要进行噪声滤波。噪声的种类很多, 所采用的滤波方法也各不相同。本文用3 × 3掩模算子[3](图3)进行高斯滤波。从图3可知, 算子中心像素的权值最大, 所以在计算均值时这一像素尤为重要, 而距离中心较远特别是角点位置的像素相对次要,这是为了降低滤波处理产生的附加模糊效应。图像进行高斯滤波前后的效果如图4所示。
图3 3 × 3掩模算子
图4 高斯滤波
(5) 图像二值化[4–5]。将灰度图像各像素与其当前行前一个像素的灰度值进行比较, 若差值的绝对值超过事先设定的阈值T(本文设为35), 则令值为1, 否则值为0。按此完成灰度图像的二值化, 即提取沿水平方向图像灰度跃变的特征。实践证明此法与传统的边缘检测相比效果更理想。用行内像素比较是考虑到图像中的车牌区域横向较纵向的变化特征更明显。灰度图像经不同方法二值化后的效果如图5所示。
图5 二值化
2 定位切割
2.1横向粗定位
图6 灰度图
车牌自身的特征已经被众多方法所充分利用, 然而车牌周围的环境特点却一直没有得到重视。统计与观察发现绝大多数的图像中, 车牌下方的区域与上方的区域相比干扰因素要少很多, 这是因为下方都是平淡的地面背景,上方则会有中网、车灯、车身棱角, 有时还包含有树木、房屋、围栏、广告牌等敏感信息。针对这一特点,对图6所示经预处理后的各灰度图像分别二值化后(图7)从最后一行像素开始, 采取如下策略[6–7]:
① 若当前一行1值像素的数量大于一定阈值T(文中设定T = 60), 便记下行数Y1, 否则, 当前行数减1, 重复执行①;
图7 二值化图
② 当前行数减1, 若当前一行1值像素的数量大于阈值 T, 便记下行数 Y2, 否则, 重复执行②;
③ 若Y1与Y2距离超过较小的一个高度阈值(在400 × 300分辨率下, 车牌高度应大于30, 所以阈值选定为30)时, 保存Y1与Y2。否则, 排除此Y1和Y2, 当前行数减1, 执行①。
Y1、Y2即是沿横向进行切割的位置, 为了保证车牌的完整, 可将这个位置向下和向上均适当地延伸补偿, 故此次切割是横向的粗定位。图 8(a)、8(b)、8(c)分别是图 7(a)、7(b)、7(c)由横向粗定位切割得到的结果。①、②中若用相邻2行的像素来判定, 稳定性会更好, 此时应扩大阈值。
图8 沿横向粗略切割
2.2纵向粗定位
对图8的各切割结果实施以下步骤[8–9]: 用与其宽度相等的正方形窗口以一定步距从左至右滑动, 当滑窗中值 1的像素数量占比大于一定阈值时, 此时窗口所在列位置记为 X1, 然后以同样方式从右向左搜索, 获得列位置X2。在X1、X2处沿纵向切割, 完成纵向粗略定位。图9(a)、9(b)、9(c)分别是图8(a)、8(b)、8(c)纵向粗略定位的结果。
图9 沿纵向粗略切割
2.3精定位
由于粗略定位还不能满足后续识别算法的要求, 所以需要进行更精确的定位。利用Hough变换直线检测可实现精定位。Hough变换的优点是容错性强, 如果待检测直线被干扰或被遮挡引起局部断裂, 经过Hough变换, 在参数空间中依然可得到明显的峰值单元[10]。
将图9(a)、9(b)、9(c)所示图像分别进行多直线检测, 得到如图10(a)、10(b)、10(c)的结果。对这个结果中各图像, 将所有直线端点行号的最小值与最大值分别确立为车牌上边界和下边界坐标, 将左端点列号的中值确立为左边界, 右端点列号的中值确立为右边界。此时的定位是一种精确定位, 也是最终的定位。精确定位后的结果如图11(a)、11(b)、11(c)所示。图12(a)、12(b)、12(c)分别为图11(a)、11(b)、11(c)回归到灰度图像的定位效果。
图10 Hough变换多直线检测
图11 精定位
图12 回归到灰度图像的定位
3 测试结果与分析
在Matlab平台上对276幅原始车牌图像进行了测试。每幅图像测试时间在4~7 s之间, 测试结果显示, 262幅车牌实现了精准定位, 8幅车牌实现了次精准定位, 错误定位的有6幅, 总体成功率(精准与次精准)达到了94.9%。次精准定位有6幅是尾部车牌, 由于尾部车牌处于一个凹槽中, 在光线照射下会使图像产生边缘灰度跃变, 这种干扰导致直线端点位置群体性失准, 使切割区域较精确定位区域宽(图13), 另外2幅次精准定位则是受到了其它干扰所致。出现定位错误的图像中有3幅是因拍照时车牌距拍摄地太远(图 14(a)), 导致目标成像太小, 甚至模糊, 因而不适应横向定位时的阈值, 粗定位时出错。有 2幅因光线环境过于昏暗使得灰度均值大幅降低(图 14(b)), 产生低灰度堆聚现象, 压缩了灰度差别,致使图像不适应二值化的阈值, 二值化图像效果不好, 影响了算法的后续处理。
图13 次精确定位
图14 不同环境下的车牌
4 结论
本文所述车牌图像二次定位算法, 因利用了一些在其它方法中没有被利用或者没有被充分利用的车牌及环境特征, 因此与常用的方法相比, 本文方法的时间复杂度更低。从测试结果看, 本文方法具有较理想的定位成功率, 若样本为相同设备、距离、角度、光线等条件下的图像, 定位成功率会更高。由于样本图像在各种不同的条件下拍摄所得, 成像质量参差不齐, 导致个别样本因成像质量太低而无法定位。由于在实际应用中, 车牌定位对算法的要求很高, 因此, 车牌定位算法还可进一步改进与完善。
[1] 李战明, 徐锦钢. 车牌识别系统中的车牌图像预处理研究[J]. 科学技术与工程, 2008(8): 2 082–2 084.
[2] 田岩. 数字图像处理与分析[M]. 武汉: 华中科技大学出版社, 2010: 185–211.
[3] 潘巍, 刘宏宇, 安荣. 一种梯度特征与区域合并的车牌定位方法[J]. 计算机工程与应用, 2011, 47(18): 204–206.
[4] 刘濛, 吴成东, 樊玉泉. 复杂背景图像中的车牌定位算法[J]. 中国图像图形学报, 2010, 15(9): 1 357–1 360.
[5] 王善发, 吴道荣. 基于灰度跳变的车牌定位算法及其实现[J]. 计算机仿真, 2012, 29(1): 318–322.
[6] 付炜, 赵正则, 王大江. 基于水平灰度跳边和垂直投影的车牌定位方法[J]. 电子测量技术, 2008(3): 61–65.
[7] 韩立明, 王波涛. 车牌识别中关键技术的研究与实现[J]. 计算机工程与设计, 2010, 31(17): 3 919–3 923.
[8] 姜香菊, 路小娟, 刘二林. 基于MATLAB的车牌定位算法的分析与仿真[J]. 自动化与仪器仪表, 2010(4):18–20.
[9] 王刚, 冀小平. 基于MATLAB的车牌识别系统的研究[J]. 电子工程设计, 2009(11): 72–73.
[10] 冈萨雷斯, 伍兹, 艾丁. 数字图像处理[M]. 阮秋琦, 译. 北京: 电子工业出版社, 2005: 296–304.
(责任编校: 江河)
A two-step algorithm of license plate location
Yang Feng, Li Jianqi
(College of Electrical and Information Engineering, Hunan University of Arts and Science, Changde 415000, China)
Aiming at key of location in license plate recognition system, a two-step algorithm that includes preprocessing, rough location and precise location is proposed. The algorithm’s head and rear are tightly-linked, the feature that most of interference is above plate is made use of by searching from bottom to top of binary image. Multi-lines detecting based on Hough transform pinpoint the edge, and precise location is realized at last. According to the results of testing on Matlab platform, this algorithm has a high accuracy rate and fast running speed, it provides a new reference and method for license plate location.
preprocessing; rough location; precise location; Hough transform
TP 391.41
1672–6146(2016)03–0010–04
10.3969/j.issn.1672–6146.2016.03.003
杨峰, 33599149@qq.com。
2016–05–20
国家自然科学基金(61403136); 湖南省自然科学基金(14JJ5008)。了出错的概率; 像素太高会使计算量增大, 影响处理速度。因此有必要将各幅图像像素进行调整。经大量实验发现, 400 × 300是一个合适的分辨率, 故将所有灰度图像统一调整至400 × 300。