APP下载

基于三次定位过程的车牌精确定位算法设计

2013-09-11王永昆常庆丽李梦露

计算机工程与设计 2013年8期
关键词:车牌形态学算子

瞿 中,王永昆,常庆丽,李梦露

(1.重庆邮电大学 计算机科学与技术学院,重庆400065;2.重庆邮电大学 移通学院,重庆401520)

0 引 言

基于图像的车牌识别技术是智能交通领域的重要研究课题之一。国内外学者对车牌识别系统进行了大量的研究,研究的主要技术分为三部分:车牌定位技术、分割分隔技术与字符识别技术,而车牌定位的准确率直接影响整个车牌识别系统的识别率。目前用于车牌定位的方法有很多种,主要有基于神经网络、基于数学形态学、基于小波变换和基于纹理分析的车牌定位算法[1]。另外近年来学者还提出了基于支持向量机和Adaboost[2]等分级分类的车牌定位算法,但是在实际工程应用中环境很复杂[3],单一的运用某种方法不能很好地解决问题。定位到的车牌大部分都是不精确的,包括带有边框的、车牌周边带有图案或广告字符的、定位到部分车牌等情况[4]。这对后继车牌的有效分割和识别造成很大的影响。本文在参考这些算法的基础上,考察对比准确率和效率等参数,提出一种基于数学形态学处理结合纹理分析以及设定阈值的方法,由粗到精,逐步实现车牌区域的精确定位。该方法改进了基于数学形态学车牌定位方法中的像素统计算法,在搜索类似车牌矩形区域的时候添加了容错机制,忽略了车牌由于光照原因二值图断开的情况;另外在对边缘图进行纹理分析的时候,设计了一种单向扫描寻找车牌上下边界的算法,并通过设定阈值去除了车牌的上下边框、左右边框及干扰信息。

1 图像预处理

考虑到车牌识别在工程应用中的实时性,本文在对车辆图像的预处理中去除了专门的滤波和增强技术,只保留了3个必要部分:图像灰度化、Canny算子边缘检测、数学形态学处理。首先是将摄像头采集的原始图像进行灰度化处理,然后灰度图像采用Canny算子进行边缘检测,最后对边缘图进行腐蚀膨胀处理,使图像中出现连通的车牌候选区域。

1.1 图像灰度化

图像灰度化就是将图像中同一坐标位置的RGB三个分量的通道设置为同一个数值,这样做的目的是将图像变为只有灰度值,没有色彩的灰度图像。本文采用了一种加权平均值法来实现车辆图像灰度化,其转换公式见式 (1)

gray(x,y)=0.30*R(x,y)+0.59*G(x,y)+0.11*B(x,y)(1)

式 (1)中采用的这种转换参数比较适合电子警察系统所抓拍的含有车辆图像的现行标准[5]。其中,R (x,y),G (x,y),B (x,y)分别表示图像 (x,y)坐标点处红色分量,绿色分量和蓝色分量的值,gray (x,y)表示求得坐标点 (x,y)处的灰度值。

1.2 灰度图像的边缘检测

汽车牌照所具有的特殊纹理特征决定了车牌区域内往往包含有大量的边缘信息[6],所以车牌区域具有较高的边缘点密度,而且这一纹理特征在车辆图像处理的过程中非常稳定。

通过比较几种不同的边缘检测算子的检测效果发现,Canny算子得到的边缘信息最完整,边缘连续性好,定位最准确,并且在Canny算子边缘检测处理过程中还包含了对图像的滤波和增强处理[7],所以本文中采用Canny边缘检测算子来确定图像的边缘信息。Canny算子边缘检测的步骤如图1所示[8]。

图1 边缘检测步骤

1.3 数学形态学处理

图像的数学形态学处理包括腐蚀、膨胀、开运算和闭运算,通过定义一种特定尺寸和特定形状的数学结构元素后,利用该数学算子对图像进行击中与否运算,以突出原始图像中某些特定信息[9]。

本文中首先考虑到车牌的底色不同,采取对边缘图像进行形态学处理的方法。因为对二值图像进行形态学处理时会产生黑白两种底色,而处理边缘图只产生黑色背景白色前景这一种情况。数学形态学处理定义的算子大小形状跟要处理的图像有关系,本文针对测试图片库中200万像素图像调试得到膨胀算子为6×15大小的矩形,腐蚀算子为3×5大小的矩形。

膨胀主要是使这两个相近的边缘连在一起,该运算能填补边缘之间的空洞,使其连通;与之相反,腐蚀运算的作用是消除图像中的边缘、把小于结构元素的物体去掉、断开两个边缘之间细小的连通[10]。经过这样处理的目的是使车辆图像中类似车牌部分的区域全部形成矩形连通区域,以方便定位查找。

1.4 仿真实验结果

首先是原始的车辆图像,本文中考虑到是对200万像素这样一种较大图像的处理效率,所以截取了图像的部分进行灰度化等预处理,原始图像和灰度图像分别如图2和图3所示。

本文首先采用Canny边缘算子对灰度图像进行检测,然后利用自定义的矩形数学形态学算子对边缘图进行处理,得到的处理结果如图4和图5所示。

从图5可以看出,图像中已经形成了几个类似车牌的白色连通区域,接下来的工作就是从这些车牌候选区域中找出真正地车牌区域,并进行精确定位。

2 车牌定位算法

本文中采用三次定位过程对车牌精确定位。首先,一次定位是通过对上文中数学形态学处理过的图片进行像素统计,依赖车牌的长宽比例特征实现对车牌区域的初定位;然后二次定位是通过车牌的纹理特征,扫描跳变去除车牌上下干扰;最后三次定位通过阈值法去除车牌左右非车牌区域的干扰,最终实现对车牌精确定位。三次定位过程的程序流程如图6所示。

图6 三次定位过程流程

由于定位过程设计到的阈值设定都是和图片的拍摄角度、焦距、图片大小等参数相关,不同的图片参数采用不同的阈值,所以能够很好的保证算法的鲁棒性。

2.1 像素点统计一次定位算法

像素点统计法[11]初定位是指对上面预处理得到的二值图像进行逐行扫描并统计像素点,将满足一定长宽比的连通区域找到,并记录下该区域的左上角坐标值。此处的扫描像素统计个数主要从行和列两个方向上进行,本文中针对200万像素高速卡口的图片,扫描顺序为自左至右,自下而上。具体算法步骤为:

(1)首先是在行方向上统计。设置一个Row [j]数组来存放该行的像素点数,j表示当前为第几行。用i跟踪行方向的指针ptr,如果当前ptr指向像素点的值为255,并且ptr+1的像素点也为白色,说明这两点在该行上属于连通区域,则Row [j]自动加1,然后i++,指针右移,判断并统计右边的像素点。同时设置一个Gap[j]变量来记录连续断开的情况,进行容错处理,如果Gap[j]的值很小,则忽略该间断,否则执行步骤 (2);

(2)如果Row [j]>=W,,则跳出该行统计,j加1,接着执行步骤 (1),统计该行上面一行的连通的像素点数,否则执行步骤 (4);

(3)在列的方向上设置一个整型变量Line来记录连续满足上面条件的行数,如果Line>H,记录当前的坐标值 (i,j),即为车牌区域的右上角坐标值。否则,执行步骤 (4);

(4)将Row [j],Line,Gap [j]分别清零,重新设置起点进行扫描。

其中,W为车牌区域的高度,H为车牌区域的宽度,取值大小为可变参数,取决于拍摄焦距、角度以及图片大小。通过以上一次定位的处理,会得到车牌区域右上角的坐标,通过该坐标即可得出车牌区域在原始图像中的粗略位置。由于数学形态学是有损运算,此处并不是准确的车牌区域。

2.2 纹理分析二次定位算法

纹理分析法二次定位所处理的范围大大缩小,即为一次定位所圈定的W×H大小的范围,为了完整的包含全部车牌区域,一次定位得到的区域范围比车牌的实际区域要大一些,因此文中通过分析车牌区域的纹理特征,排除上下多余区域或者边框的干扰。车牌区域由于字符的排列方式,会有明显的纹理跳变规律,这也是车牌区域区别于多余区域和边框的特征。通过对Canny图像该区域的特征分析可以准确定位车牌区域的上下边界。

具体算法步骤为:

(1)扫描Canny图像一次定位得到的区域,在行方向上,设置一个Count[j]数组来记录跳变的个数,将像素点值由0到255或者由255到0记作一次跳变,该行中每出现这样一种情况,Count[j]自加1,Count[j]存放了自下而上j行的纹理跳变个数;

(2)在列的方向上,自下而上分析步骤 (1)获得的数组Count[j]的值。设置一个变量Step来记录车牌区域的跳变数量,由于车牌区域有7个字符,所以通常Step的值会>=14。如果Count[j]小于Step,则j++,继续往上扫,否则将j行的记录为下边界,此时Count[j]大于等于Step;

(3)继续步骤 (2),如果 Count[j]大于等于Step,j++,否则,将新的j行重新记录为上边界;

(4)根据步骤和步骤找的上下边界,去原始图像中将车牌截取出来。

通过以上二次定位处理就得到去掉上下干扰和边框的车牌,只需要再去掉左右部分的干扰便是车牌的精确区域。

2.3 阈值三次定位算法

通过二次定位,已经可以得到一个上下边界精确但是存在左右干扰区域的车牌,文中使用了阈值法将车牌左右多余部分去掉。

具体算法步骤为:

(1)将二次定位得到的车牌进行图像灰度化和二值化处理,通过设置合适的二值化阈值可以使车牌的字符或者背景亮色突出;

(2)对步骤 (1)得到的二值图像进行一次数学形态学膨胀处理,通过设置合适大小的膨胀算子可以使车牌区域全部白色连通,而非车牌区域和边框为黑色或部分连通;

(3)将步骤 (2)膨胀过的图像进行垂直投影,并将每一列的像素点个数保存到一个数组Sum [i];

(4)设定一个阈值T对步骤 (3)投影得到的Sum [i]分析限定,得到车牌的左右边界,阈值T的大小和车牌图片的拍摄参数相关;

(5)在步骤 (4)的基础上,在边缘图信息里垂直投影检测左右边界,通常为竖直的白线,进一步去除边界干扰。

三次定位阈值法描述如图7所示。

图7 三次定位阈值法

通过第三次定位,可以将车牌左右两边的干扰和边框去掉,这样就精确得到去了边框的车牌区域,为下一步的字符分割和识别做好准备。

2.4 仿真实验结果

首先是采用一次定位得到车牌所在区域的右上角坐标,在本文实验中,根据该坐标和车牌的长宽比,用白色线框标出了车牌区域的大致范围,如图8所示。

图8 一次定位

二次定位通过扫描Canny边缘检测图像,分析车牌的纹理跳变特征,排除不符合跳变规律的部分,最后得到去除了上下非车牌区域干扰和上下边框的车牌,如图9所示。

图9 二次定位

三次定位先是图像二值化和数学形态学膨胀处理,再根据阈值法去除车牌左右干扰和左右边框,最终的到精确地车牌区域,结果如图10所示。

图10 三次定位

3 定位测试与分析

本文的一个研究重点就是在传统车牌定位方法的基础上,提出一个能更加精确定位车牌的方法,通过与同类前沿的车牌定位方法进行比较,本文中提出的方法能够更加精确的将车牌定位,去除了边框,只保留了车牌区域,为后期分割做了更好的准备,大大增加了车牌整体的有效分割率和识别率。为了测试本方法的有效性,本文采用了高速路卡口摄像头拍摄的白天、夜晚、雨天、雾天以及曝光过度五组图像集进行定位测试[12]。

(1)测试集1:500张白天正常拍摄的200万像素图像。

(2)测试集2:500张夜晚正常拍摄的200万像素图像。

(3)测试集3:200张雨天拍摄的200万像素图像。

(4)测试集4:200张雾天拍摄的200万像素图像。

(5)测试集5:200张曝光过度的200万像素图像。

本文提出的精确方法与传统的车牌定位算法进行对比,可以有效的去除车牌的铆钉、光照不均、边框、车灯、广告字符、周边图案等干扰信息,效果如图11(a)、(b)所示。

图11 定位效果对比

测试结果如表1所示。

表1 定位测试

表1中,一次定位准确率是指一次定位到区域包含整个车牌的图片与总图片的比值;二次定位准确率是指二次定位精确定位到上下边界的图片和总图片数量的比值;三次定位准确率是指精确定位到车牌上下左右边界的图片和总图片数量的比值;定位效率是指从读入原始图像到得到精确车牌的总时间。从表1可以看出,本文提出的车牌定位算法可以精确实时的定位车牌,跟传统的车牌定位方法相比,在车牌精确定位率和定位效率上都有提高。

4 结束语

本文提出了一种基于数学形态学结合纹理分析的车牌精确定位方法。该方法相对于传统的车牌定位算法,采用三次定位过程来完成车牌的精确定位,在一定程度上提高了对车牌定位的准确率和效率,为下一步字符分割和字符识别做了更好的准备。对图像的预处理、像素点统计和纹理分析等算法有很好的研究价值,同时也更好的满足了车牌识别在智能交通领域的应用。对算法进一步优化,建立智能模型,融合自学习能力是下一步的研究方向。

[1]CHEN Bei,CAO Wenlun,ZHANG Hongcai.An efficient algorithm on vehicle license plate location [C]//Chongqing:International Conference on Automation and Logistics,2008:1386-1389.

[2]DEB K,LIM H,JO K H.Vehicle license plate extraction based on color and geometrical features [J].IEEE International Symposium on Industrial Electronics,2010,57 (2):1650-1655.

[3]GONG L X,HU H P,BAI Y P.Vehicle license plate slant correction based on mathematical morphology and radon transfor-mation [C]//Yantai,Shandong:Sixth International Conference on Natural Computation,2010:3457-3461.

[4]PAN Wei,YANG Nafei,AN Rong.Low quality license plate location based on gradient and morphological [J].Computer Engineering,2011,37 (13):144-146 (in Chinese). [潘巍,杨娜菲,安荣.基于梯度与形态学的低质量车牌定位 [J].计算机工程,2011,37(13):144-146.]

[5]HUNG E L.A real-time mobile vehicle license plate detection and recognition for vehicle monitoring and management [J].Computer Engineering and Application,2009,45 (22):162-165.

[6]JIA Zhaofeng,CHEN Jirong.Method of licese plate location based on character detection [J].Computer Engineering,2010,36 (3):192-194 (in Chinese).[贾曌峰,陈继荣.基于字符检测的车牌 定 位 方法 [J].计 算 机工 程,2010,36 (3):192-194.]

[7]Caner H,Gecim H S,Alkar A Z.Efficient embedded neuralnetwork-based license plate recognition system [J].IEEE Transactions on Vehicular Technology,2008,57 (5):2675-2683.

[8]LI Wenju,WEI Lihua,WANG Hongdong,et al.License plate location method using comprehensive features [J].Mini-Micro Systems,2011,22 (8):156-170 (in Chinese).[李文举,韦丽华,王洪东,等.利用综合特征的车牌定位方法 [J].小型微型计算机系统,2011,22 (8):156-170.]

[9]Chang-Tang Hsieh,LIANG Chunchang,Kuoming Hungel.A real-time mobile vehicle license plate detection and recognition for vehicle monitoring and management [J].Computer Engineering and Application,2009,45 (22):162-165.

[10]MA Shujian,ZHAO Jianyu.A method of license plate location based on mathematical morphology and corner detection[C]//Guilin,China:International Conference on Network Computing and Information Security,2011:257-260.

[11]MAI Vinhdu,MIAO Duoqian,WANG Ruizhi,et al.An improved method for vietnam license plate location [C]//Hangzhou,China:International Conference on Multimedia Technology,2011:2942-2946.

[12]ZHENG Yanqing,LI Daiping,ZHANG Shuwen.License plate location based on combinatorial feature [C]//International Conference on Microwaves,Radar and Remote Sensing Symposium,2011:165-168.

猜你喜欢

车牌形态学算子
与由分数阶Laplace算子生成的热半群相关的微分变换算子的有界性
一类截断Hankel算子的复对称性
拟微分算子在Hp(ω)上的有界性
Heisenberg群上与Schrödinger算子相关的Riesz变换在Hardy空间上的有界性
数字图像处理技术在车牌识别系统中的应用
前交通动脉瘤形成和大脑前动脉分叉的几何形态学相关性研究
第一张车牌
基于MATLAB 的车牌识别系统研究
医学微观形态学在教学改革中的应用分析
血细胞形态学观察对常见血液病诊断的意义分析