2008年9月18日星期四

车牌识别概述

车辆牌照识别是计算机视觉与模式识别技术在智能交通领
域应用的重要研究课题之一 , 该技术可广泛应用于交通控制与
诱导 , 交通流量检测 , 住宅社区和停车场信息化 , 机场、港口
等出入口车辆管理 , 不停车自动收费等。到现在为止已经有大
量学者在牌照识别问题上做了很多研究 , 提出很多方法。例如
在牌照定位方面 , 主要有基于色彩空间的牌照颜色建模方法 ,
基于 Hough 直线检测的牌照边框定位方法 , 基于牌照纹理特
征的定位方法和基于模板匹配的定位方法等; 在字符分割模
块 , 主要有基于纹理、投影特征的分割算法 , 基于 SVM 的聚
类方法和基于区域生长的分割算法等; 在字符识别模块主要有
模板匹配法、特征分类法和基于神经网络的分类方法等。由于
实际拍摄的图像往往存在噪声污染 , 畸变扭曲 , 字符断裂 , 光
照不均 , 牌照颜色、尺寸多样化等问题 , 而且系统对算法的复
杂度、鲁棒性有较高要求 , 所以单一地运用某种方法不能解决
问题。本文在参考这些研究并综合考察各种算法的基础上 , 提
出一套完整的牌照识别算法 , 在牌照定位模块 , 利用牌照纹理
和投影特征定位 , 并提出了波峰合并算法 , 避免了常规算法中
循环检测跳变点的复杂程序。在字符分割模块利用投影特征和
牌照尺寸的先验知识进行分割。在字符识别模块采用基于字符
特征的分步识别方法和基于牌照字符排列的模块识别结构。整
个处理过程还包含了牌照的噪声去除、边缘检测、反色处理、
二值化等处理步骤 , 考虑了牌照图像中各种可能的不利情况
最后 , 经实验检验 , 该套算法是行之有效的。
1  牌照定位
牌照的定位算法主要应用了牌照区域的纹理特征和投影特
征。(1) 纹理特征: 在牌照的灰度图像中 , 牌照字符与牌照底
色间较大的灰度差异导致字符与牌照底色交界处有明显的灰度
值跳变 , 这种跳变在很大程度上与光照无关 , 而字符与牌照底
色内部无明显跳变。牌照内多个字符均匀分布 , 在车牌所在的
矩形区域内形成有规律的边缘纹理间隔特征。牌照所在矩形区
域长宽比有一定变化范围。(2) 投影特征: 牌照的纹理特征导
致在图像的边缘检测投影图上 , 牌照区域呈现独特的峰谷分布
特征。对边缘检测图进行水平投影和垂直投影如图 1 所示 , 可
以看出 , 牌照区域的水平投影表现为连续的波峰区域 , 区域内
部没有大的落差 , 波形平缓 , 与其它小的波峰区域有明显的波
谷间隔。牌照区域的垂直投影为连续的峰谷交替 , 表现为一组
密集的小峰群 , 各个小波峰间距较小 , 可以合并成一个大的波
峰区域。这组小峰群与其他峰群有较大的间隔 , 可以明显区
分。依据这些投影特征 , 可以对牌照进行水平和垂直定位。
111  边缘检测
首先 , 根据公式 (1) 将读入的彩色位图图像灰度化 , 然
后利用中值滤波方法去除图像中小的颗粒噪声。由于牌照的纹
理的特征主要体现在边缘交界处 , 且由于笔划原因 , 车牌区域
字符的水平边缘较垂直边缘远为丰富 , 所以本算法采用改进的
水平一阶差分算子 (2) 对图像进行水平边缘检测 , 该算子运
算简单 , 能有效地检测出水平方向的边缘象素。然后对检测结
果进行二值化处理 , 大量处理实验表明取阈值为 75 能很好地
保留牌照区域的纹理 , 同时削弱图像其余部分的背景纹理。最
后利用模板 [1 , 1 , 1 ] 对二值化后的单边缘象素进行水平膨
图 1  对边缘检测图进行投影
胀处理 , 使纹理特征更加明显。
gray = (013 3 r + 01 59 3 g + 0111 3 b)
(1)
µ F( x , y) = max[ F( x , y) - F( x - 1 , y) ,
F( x , y) - F( x + 1 , y) ]
(2)
112  投影定位
根据牌照的投影特征 , 投影定位的具体算法就是从水平投
影图中检测出连续的波峰区域 , 从垂直投影图中检测出密集的
峰群区域。检测算法是峰值区域合并。以往的纹理定位中 , 检
测牌照区域算法主要采用统计跳变点的方法 , 算法复杂且不直
观。本算法将行或列的投影和作为判断元素 , 从整体投影特征
出发 , 具有直观且算法简单的特点。在该算法中将投影曲线的
局部最大值定义为波峰 , 局部最小值定义为波谷 , 波峰及其两
侧波谷所夹的区域为该波峰的波峰区域。由投影图可见 , 要寻
找的区域是由毗邻或间隔的波峰区域组成的 , 所以该算法的思
想就是不断合并满足条件的相临波峰区域 , 算法流程如图 2 所
示。
图 2  算法流程
2  字符分割
字符分割就是把牌照中的 7 个字符独立地提取出来。首先
要在锁定的牌照位置上恢复牌照的灰度图像 , 然后用二值化的
方法最大限度地区分字符和背景区域 , 并根据需要对处理结果
做反色处理和倾斜矫正 , 最后依据字符和边框的投影特征进行
字符分割。下面逐一对这些步骤进行介绍。
211  二值化处理
字符和底色的区分在图像处理中应用的是二值化的方法 ,
将字符和底色用两个灰度级表示。二值化阈值的选取采用“特
征线”法[1 ] 。该算法的原理是提取穿过车牌中部的水平直线作
为特征线 , 统计该线上像素点的灰度特征来确定阈值。本文采
用特征线的灰度均值加上一个动态偏移量作为阈值 , 且对牌照
区域进行分段二值化处理 , 避免了牌照灰度不均对二值化的影
响。
T = m + mse/ 2
式中 , m 为特征线灰度均值, mse 为动态偏移量 , 取值为特征线
灰度值的均方差
m =
1
wi dt h ∑
wi dth
k = 1
gray ( J , k)
  J =
hei ght
2
; wi dt h 为牌照区域宽度, gray 为每点的灰度
值, hei g ht 为牌照区域高度
mse =
1
wi dt h ∑
width
k = 1
( gray ( J , k) - m) 3 ( gray ( J , k) - m)
T 为最终所求阈值,二值化就是将牌照区域中灰度大于该
阈值的像素置白( gray = 255 或 RGB = (255 ,255 ,255) ) ,小于
该阈值的像素置黑( gray = 0 或 RGB = (0 ,0 ,0) ) 。
212  牌照反色
我国现行的牌照主要有 4 种类型 : 蓝底白字、黄底黑
字、白底黑字 (或红字) 和黑底白字[ 2 ] 。这 4 种规格的牌
照在二值化图像中表现为黑底白字或白底黑字 , 为统一牌
照区域为黑底白字 , 需要对牌照区域进行反色判断和反色
处理。本文采用连通区域法进行反色判断。判断依据 : 二
值化后的牌照底色部分和字符表现为不同灰度级的连通区
域 , 且底色的连通区域像素数一定远大于单个字符的连通
像素数。根据连通区域像素数目区分底色和字符 , 并将底
色和字符的灰度做比较即可判断是否需要反色处理。上述
步骤中寻找连通区域的算法为 :
Step1  扫描图像 , 对首先遇到的未标记点 s , 标记 s , 并
将 s 的所有 8 个邻点压入堆栈。
Step2  堆栈为空时 , 标记过程结束。堆栈非空时 , 从堆
栈弹出 1 个点并标记该点 , 然后将该点的所有未标记的且具有
相同灰度的邻点压入堆栈。
Step3  重复第 2 步 , 直至堆栈为空时一个连通域标记完
成。
Step4  转第 1 步 , 继续标记下一个连通域 , 直到图像扫
描结束。
213  倾斜矫正
当车牌由于悬挂或摄像原因倾斜角度过大时 , 就要对
牌照进行倾斜矫正。本文采用 Hough 变换进行倾斜矫正。
检测对象是牌照四周首行或首列边缘像素 , 利用 Hough 变
换做 4 条直线拟和 , 求出倾斜角 , 然后对图像进行水平和
垂直矫正。
214  利用投影特征进行字符分割
字符分割分为水平分割和垂直分割。水平分割主要是去除
上下边框及铆钉 , 寻找字符主体区域; 垂直分割是去除左右边
框及二、三字符中间的小圆点 , 然后将 7 个字符完整独立地分
割开。水平切分前 , 在不影响笔画的条件下对牌照图像做上下
方向的腐蚀运算 , 使字符区域和上下边框间的波谷更明显 , 然
后依据波谷切分出字符主体区域。在垂直投影图中 , 与投影均
值相比 , 过长投影一般为边框 , 过短投影一般为铆钉、间隔点
或污点 , 将这些投影视均为噪声去除。然后分波谷切分、字符
区域判定、牌照特征统计和矫正切分 4 步进行垂直分割 , 如下
步骤所示。
(1) 波谷切分: 以波谷作为分割条件 , 将连续的投影区域
切分开[3 ] 。
(2) 字符区域判定: 在牌照字符中 , 除汉字因笔画断裂和
字符“1”会造成较窄的投影外 , 其余字符宽度一致 , 且字符
宽度与牌照长、宽符合一定比例 , 即: L ≈415 H , H ≈119Wc ,
其中L 为字符串长度, H 为字符高度, Wc 为常规字符(“1”除外)
宽度。依据这两个条件对第一步分割出的投影区域进行判断,标
定出常规字符区域。
(3) 牌照特征统计:根据确定的字符区域, 统计具体的 H ,
Wc 值及常规字符间距 D (二、三字符间距除外) 值。
(4) 矫正分割:如果字符区域判定结果小于 7 个字符, 则根
据已经确定的字符区域的位置和字符信息 H 、Wc 、D 对剩余的
投影区做判断分割。其中字符“1”的投影区域满足:W n ≈
013Wc , Dn ≈01 5W c , W n 为字符“1”的宽度, Dn 为字符“1”两
侧的字符间隙。对剩余投影区域进行矫正分割后就可以切分出
7 个完整的字符区域。
3  字符识别
车牌共有 7 个字符 , 一般第 1 个字符是汉字 (警车除外) ,
第 2 个字符是大写英文字母 , 第 3 、4 个字符可能是英文字母 ,
也可能是阿拉伯数字 , 目前第 5 至第 7 个字符均为阿拉伯数
字 , 如“鲁 A ·X 1 2 3 4”。根据字符排列顺序分别采用“汉
字识别”、“字母识别”、“字母数字混合识别”、“数字识别”4
个识别模块 , 每个识别模块都是根据待识别字符的特点 , 分为
粗分类、细分类和特征识别 3 步进行识别。下面对汉字识别和
字母数字识别模块加以介绍。
311  汉字识别
(1) 粗分类: 对汉字进行组合分析 , 根据汉字能不能分解
为偏旁、部首这一性质 , 可以将汉字分成独体字和合体字两大
类。由于汉字结构复杂 , 笔划多 , 为便于识别 , 本文将合体字
仅分为上下式和左右式两类 , 将包围式、半陷式等都归入独体
字类[4 ] 。分类方法是对字符不同方向的投影做双峰检测。
(2) 细分类: 利用矩特征、区域密度、轮廓特征系数、笔
画 (横、竖、左斜、右斜笔画) 特征进行分类。
(3) 特征识别: 针对形似字 , 可以对含有特征笔画的区域
做比较判别。
312  字母数字识别
(1) 粗分类: 根据字母和数字所包含的封闭环的数量和位
置将字符分为单封闭环字符类、双封闭环字符类、无封闭环字
符类[5 ] 。所谓封闭环是指构成字母和数字的弧笔画所形成一个
封闭的环 , 如数字“0”、“8”。
(2) 细分类: 根据字符包含的直笔画的位置和数量进行分类 , 其中直笔画又可分为横笔画、竖笔画、左斜笔画和右斜笔
画 , 笔画识别方法是对字符区域不同方向的投影做波峰检测。
(3) 特征识别: 对形似字可以根据对称性和对含有特征笔
画的区域做对比分析加以区别。
4  处理实例
处理实例分别如图 3~图 7 所示。
图 3  读入彩色图象     图 4  牌照定位结果图
图 5  牌照区域二值化结果 图 6  字符分割结果
图 7  识别结果
5  结论
本文的牌照识别算法主要是从牌照和字符的自身特点出
发 , 具有稳定和适应性好的优点。处理过程中综合考虑了各种
情况 , 如牌照倾斜矫正、反色处理等; 牌照的定位和字符分割
部分在应用纹理和投影特征的基础上 , 提出了直观、简单的波
峰合并算法; 字符识别模块最大地应用了字符的固定特征 , 避
免了模板匹配等识别方法要求归一化、对字符完整性要求高的
特点。通过采集车头和车尾的 200 多幅车辆牌照图像 , 并依据
此方法进行试验 , 结果表明在光照合适、倾斜角小于 15°的条
件下 , 准确定位率可以达到 96 %。
参考文献:
[ 1 ] 张思远 , 樊志远 , 吴仁彪. 车牌识别预处理中的二值化及倾斜矫
正算法 [J ] 中国民航学院学报 , 2006 , 24 (1) : 39 - 41.
[ 2 ] 周运祥 , 林志毅. 车牌识别中反色判断的新方法 [J ] . 交通与计
算机 , 2005 , (3) : 117 - 119.
[ 3 ] 刘庆祥 , 胡迎春. 智能车牌识别系统中字符图像分割技术的研究
[J ] . 长江大学学报 (自科版) , 2005 , 2 (1) : 65 - 67.
[ 4 ] 任柯昱 , 唐  丹 , 尹显东. 基于字符结构知识的车牌汉字快速识别
技术 [J ] . 计算机测量与控制 , 2005 , 13 (6) : 592 - 594.
[ 5 ] 宋建才. 字符结构知识在车牌识别中的应用 [J ] . 计算机应用 ,
2005 , 21 (3) : 33 - 36.

没有评论:

发表评论

欢迎访问、交流!对本博客有何建议,请
来信告知!
本博内容来源于网络,如有不当或侵犯权益,请来信告知,将及时撤除!
如引用博客内容、论文,请注明原作者!

Google一下本博客

  • 《Getting Things Done》读书笔记 - 本文来自 inertial 原创投稿。 我第一次听说《Getting Things Done》这本书的时候误以为它和世面上的那些成功学书籍没什么区别,后来在不少书中看到了这个名字,也看见了很多人的推荐,由此产生了很大的兴趣。上个月正好有不少空闲,就抽时间把这本书读完了。 本来打算读英文原版,但是原版的生...
    5 年前
  • [原]Linux下编译使用boost库 - Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,是不折不扣的“准”标准库。Boost由于其对跨平台的强调,对标准C++的强调,与...
    6 年前
  • [原]猎头、培训与咨询的价值(2)【补1】——北漂18年(93) - 【上期用手机写的,同时用语音输入转化成文字,错字较多,经好友霍师傅提醒本期重写,并增加一部分新内容】 简单谈下我对猎头、培训与咨询的看法。三样都干过,算是有些浅见。 猎头 简单的说就是人才中介。虽然在公司看来是可以直接解决现有企业问题的一个直接方法,但很多时候都不太管用。 猎头费一般是人才的一个月月...
    6 年前
  • OpenCV統計應用-Mahalanobis距離 - Mahalanobis距離是一個可以準確找出資料分布上面極端值(Outliers)的統計方法,使用線性迴歸的概念,也就是說他使用的是共變數矩陣以及該資料分布的平均數來找尋極端值的產生,而可以讓一群資料系統具有穩健性(Robust),去除不必要的雜訊訊息,這邊拿前面共變數矩陣的資料為例,並且新增了兩個點座標向量來做...
    15 年前
  • 努力推进模式识别实际产品的开发与应用 - Salu 无论是手写体识别、文档处理、人脸识别、基于内容的图片搜索、嵌入人工智能的搜索技术、虚拟网络社区、还是其它相关新科技下的信息整合领域,现在都在努力实用化。 前两年、即使现在还有很多人在抱怨说人脸的方法都不能用,但是就今年出现的和正在做的有关人脸识别实际应用的各种形式的产品可以说如雨后春笋。这是一个趋...
    16 年前