香港车牌识别算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
香港车牌识别算法
赵永辉刘长松
(清华大学电子工程系智能技术与系统国家重点实验室,北京100084)
摘要:本文提出一个香港车牌识别算法。
针对香港车牌格式比较自由的特点,算法中通过合并连通域进行车牌定位,通过搜索连通域的所有可能组合进行车牌切分。
采用彩色图像游程邻接算法CRAG(color run-length adjacency graph algorithm)对彩色图像搜索连通域,使得时间性能大大提高。
通过实验表明,本算法在图像测试集的平均识别率达到95%以上。
关键词:香港车牌;连通域;CRAG算法;组合;
HongKong License Plate Recognition Algorithm
ZHAO Yong-hui LIU Chang-song
State Key Laboratory of Intelligent Technology and Systems
Dept. of Electronic Engineering, Tsinghua University, Beijing 100084 China Abstract: A HongKong license plate recognition algorithm is proposed. HongKong license plates have no fixed formats. Aiming at this point, the algorithm determines license plate location by combining connected components and segments license plate by searching all possible combination of connected components. Searching connected components in color image is implemented by color run-length adjacency graph algorithm (CRAG). As a result, time performance is great improved. An experiment shows that the average correct rate of the algorithm is above 95%.
Keywords: HongKong license plate; connected components; CRAG algorithm; combination;
1引言
在我国车牌识别应用已经越来越成熟和普遍,随着我国大陆地区与香港地区经贸关系的日益密切,香港车牌的识别问题也开始变得重要,尤其是对于海关的通关车辆管理。
作为海关中智能交通系统的重要组成部分,香港车牌识别系统可以大大提高香港车辆在大陆关口的过关速度。
香港车牌和大陆的车牌最大不同是香港车牌字符排列格式比较自由。
同一种格式的车牌各字符间的相对位置分布不一定相同,因此针对大陆车牌识别的许多算法不能有效处理香港车牌,例如香港车牌的字符切分不能采用我们识别大陆车牌提出的模版匹配算法[1]。
本文提出了一种基于连通域合并和连通域组合搜索的香港车牌识别算法。
车牌的定位是基于连通域的合并。
车牌的字符切分是基于对连通域组合的搜索。
2香港车牌识别算法流程
车牌的尺寸是整个识别系统中一个非常重要的特征。
但是,在实际应用中系统得到的输入图像中的车牌尺寸变化很大。
传统的车牌识别结构难以适应这种变化,导致识别率的降低。
在不同分辨率下对图像进行串行处理可以很好的解决这一问题。
本文提出的算法中的串行流程是首先对原图进行识别,如果没有识别结果产生,则将原图宽度和高度各降采样一倍,然后在此图上进行识别。
香港车牌的特点:字符颜色一致,背景颜色单一。
香港车牌格式主要有4种:六字符单排,六字符双排,五字符单排,五字符双排。
如图1所示。
a) 六字符单排b) 六字符双排
c) 五字符单排d) 五字符双排
图1 香港车牌的格式
由于香港车牌的字符切分算法是基于对连通域组合搜索的,所以六字符的车牌容易被误切分为五字符,而五字符的车牌很难被误切分成六字符,而且即使被误切分为六字符后识别结果的置信度也较低。
因此车牌的切分采用是串行切分,首先进行六字符切分,如果识别结果可信,则结束,否则进行五字符切分。
图2是算法流程。
从中可以看出,香港车牌识别算法主要由车牌定位,车牌切分和字符识别三部分组成。
图2 算法流程
3基于连通域合并的车牌定
位算法
目前车牌定位的主要方法有:1.基于边缘信息[2] 2.基于颜色信息[3] 3.基于灰度方差信息[4]。
方法(1) 定位准确,但是漏检率高,速度慢。
方法(2) 定位较准确,缺点是受车牌本身颜色变化影响大,且容易引入和车牌颜色相似的区域干扰。
方法(3)速度快,漏检率低,但定位准确性较差容易引入车灯和背景文字等干扰。
车牌定位是通过合并连通域实现的,即把彩色图像中可能为字符连通域的连通域横向和纵向合并起来,合并后的区域范围就是车牌位置。
根据系统允许检测到的车牌最大宽度MaxPlateWidth,以及由于识别效果要求允许检测到的车牌最小宽度M i n P l a t e W i d
可以估算出车牌中的字符最大宽度MaxWidth,最小宽度MinWidth 以及最大高度MaxHeight,最小高度MinHeight。
传统搜索连通域的方法是通过宽度优先搜索或者深度优先搜索算法进行的。
这两种算法本质上都是递归算法,效率比较低。
我们采用的搜索算法是彩色图像的区域生长算法[5]:CRAG算法(Color Run-length djacency Graph),该算法充分利用了字符颜色和位置信息。
该算法主要步骤是:把每一行内颜色相近的邻接像素合并成游程,然后对邻接且颜色相近的游程进行合并。
这样最终的连通域不仅有位置信息还有颜色信息。
由于游程个数相对像素个数的稀少性,因此该连通域搜索算法的时间效率很高。
搜索连通域后,对连通域的大小进行筛选。
如果某个连通域的宽度不在
[]
,
M i n W i d t h M a x W i d t h
之间或者高度不在[]
,
MinHeight MaxHeight之间,那么将该连通域删除。
对余下的区域进行水平合并,水平合并依据的主要标准是近邻连接强度I[1]。
12
min(,)
V
overlap
I
h h
=(1)
其中
V
overlap是表示两个区域的竖直重合
高度,
H
dis表示水平距离;
1
h,
2
h,
1
w,2
w分别表示两个区域的高度和宽度。
如果两个区域的颜色相近且I超过一定域值,那么这两个区域满足合并条件。
对所有区域循
环合并直至任意两个区域都不满足合并条件,每次合并后的区域作为一个新的区域并且删除原来的两个区域。
香港车牌的格式可能是双排,因此对水平合并后的区域进行垂直合并。
合并依据的主要标准也是近邻连接强度I ,不过I 定义不同。
12min(,)H
overlap I w w =
(2) 其中H overlap 是表示两个区域的水平合宽度,V dis 表示垂直距离。
合并的过程与水平合并的过程相同。
垂直合并后的区域就是车牌的候选区域了。
把候选区域宽度不在
[],MinPlateWidth MaxPlateWidth 删除
掉。
候选区中包含的连通域个数越接近5.5, 也就是这个候选区可能包含的字符个数越接近5.5,是车牌区域的可能性越大,因为香港车牌中字符是5个或者6个。
最多取可能性较大的3个候选区作为定位结果输出。
对输出的定位结果进行串行的切分识别,如果有结果输出就停止。
4 基于对连通域组合搜索的
车牌切分算法
由于车牌定位是通过合并字符的连通域实现的,因此只要对这些连通域所有可能的组合进行搜索找出最合适的一组连通域作为切分结果输出即可。
首先对车牌区域中的所有的连通域按照高度进行聚类,把包含连通域个数最多一类作为候选的字符连通域。
然后对这些候选连通域进行排序,排序的标准:上一行的连通域排在下一行的连通域前面,同一行的连通域从左到右排列。
判断两个连通域是否在同一行的标准:两个连通域的中心高度差别是否超过了两个连通域的高度中较小值的三分之二。
设排序后连通域共有n 个,如果5
n ≥则五字符格式的可能共有5
n C 种;如果6n ≥则六字符格式的可能共有6n C 种。
由于n 一
般不会特别大,因此可以遍历所有切分可能
找出一个最可能的切分结果。
对每一种切分首先判断这种切分是否可能,如果可能则估计这种切分的可能性。
判断一种切分是否可能的标准:
1. 排列格式只能是单排或者双排。
2. 如果排列格式是双排,那么第一排
字符只能是两个。
3. 如果排列格式是双排,那么理论上
第二排的第一个字符的横坐标不能超过第一排的第一个字符的横坐标,第二排的最后一个字符的横坐不能小于第一排的第二个字符的横坐标。
衡量一种切分的可能性的标准:
1. 所有字符的高度越一致可能性越
高。
2. 同一行上的所有字符中心的纵坐
标越一致可能性越高。
3. 除了第二字符和第三字符的之间,
所有相邻字符间的水平距离越一致可能性越高。
以上标准都是基于样本观察得出。
我们采用一个方差形式的变量Var 来定量衡量切分的可能性,Var 越小,可能性越大。
V a r V a r H V a r C V a =++ (3)
VarH 是字符高度的方差。
VarC 是字符中心纵坐标的方差(双排格式
对应的是两行的方差和)。
VarD 是除二三字符间的相邻字符间水平
距离的方差。
对连通域组合的搜索采用是剪枝搜索,
从排序后的第一个连通域搜索到最后一个连通域,根据当前状态判断当前连通域是否可不被选用。
当搜索到第k 个连通域时中设已选用的连通域个数是used n ,如果
used char n n k n +-≥其中char n 为所搜索的车
牌格式中字符总数(5或者6),即已选用的连通域和剩余的连通域加起来不少于char n 则此连通域可不被选用否则必须被选用。
搜索后如果used char n n =,则不需要继续搜索下去。
搜索后把最可能的切分结果输入到识别引擎进行识别。
5 实验结果和结论
测试样本集是549幅在香港沙头角采集的彩色图像,图像大小是768×576。
实验结果如下:
表1 识别率
表2
错误分析
定位错误产生的原因主要有:
1. 车上有类似车牌的区域,比如车上的标
志,被误定位为车牌。
2. 车牌本身颜色被破坏,导致有些连通域
颜色不接近,车牌定位不全。
切分错误的原因主要有:
1. 字符的连通域和干扰或者其他连通域相
连导致连通域的高度或宽度过大被删除,例如图3a, 3b 。
2. 个别干扰的大小和字符连通域的大小
相近,被误当成字符进行切分。
例如图3c, 3d 。
a ) JP6652 b) JH7933
c) HW217 d) KL433
图3 切分错误图例
图3a 由于车牌第二排的两个字符“6”相连,该连通域的宽度过大被删除,余下只有4个字符,切分失败。
图3b 由于倾斜的车牌边界干扰和“7”字符相连,造成“7”的连通域的高度过大被删除,错切分成五字符的格式,被识别为“JH933”。
图3c 是由于干扰造成五字符格式被切分成六字符格式,被识别成“HW2171”。
图3d 错切分原因和图3c 相同,被识别成“KL4331”。
总结:由于采用CRAG 算法搜索彩色图像的连通域使得系统耗时较小,有很好的实时性。
系统通过合并连通域进行车牌定位,有效地避免了引入形状不规则的干扰区域。
通过对连通域组合的搜索实现车牌切分,有效地解决了香港车牌格式较自由的问题。
通过实验表明本算法性能较好,具有很好的实用性。
参考文献
[1] 陈寅鹏, 丁晓青. 复杂车辆图像中的车牌定位与字符分割方法. 红外与激光工程, 2004(1),29-33. [2] Kamat V, Ganesan S. An efficient implementation of the Hough transform for detecting vehicle license plates using DSP ’S [A]. IEEE Proceedings of Real-Time Technology and Applications Symposium [C] .CA: Computer Society Press, 1995,58-59. [3] 王宸昊,黄辉先,吴翼,汤红忠.彩色汽车牌照的定位方法. 兵工自动化,2006(6), 69-71. [4] 燕鹏,刘长松,丁晓青,叶茂亮.复杂背景下的汽车牌照自动识别系统.电视技术,
2005(6),90-93.
[5] 陈又新, 刘长松, 丁晓青. 复杂彩色文本图像中字符的提取. 中文信息学报,2003(5),55-59.
作者简介:
赵永辉(1981-),硕士研究生,研究方向为图像处理与图像理解。