基于车牌背景和字符颜色特征的车牌定位算法
2018-12-13杨鼎鼎陈世强刘静漪
杨鼎鼎 陈世强 刘静漪
1(湖北民族学院理学院 湖北 恩施 445000)2(湖北民族学院信息工程学院 湖北 恩施 445000)
0 引 言
车牌识别系统是智能交通系统的核心部分,主要步骤包括:车牌定位、倾斜校正、字符分割、车牌识别三部分。车牌定位前需对拍摄到的图像进行预处理,即对拍摄到的图像进行降噪、增强处理;车牌定位完成后需对定位后的车牌区域进行倾斜校正,便于后续字符分割和车牌识别。车牌定位作为车牌识别中重要组成部分,由于光照、阴影等影响,使车牌定位更加困难。针对车牌定位难、定位速度慢,提出一种基于车牌背景和字符颜色特征的车牌定位算法。目前,车牌定位主要分为灰度车牌定位[4-7]和彩色车牌定位[8-12],国内外学者对灰度车牌定位研究较早,技术比较成熟;彩色车牌定位发展相对较晚,研究空间较大,是当前车牌定位研究的热点。
车牌定位算法最早由加拿大学者BERGA[1]等人于1988年提出,主要目的是讨论当时自动车牌识别技术的发展水平。我国最早由赵雪春[2]和刘效静[3]于1998年提出,并开始研究车牌自动识别技术。文献[4]提出一种基于灰度变换和颜色特征的车牌定位算法,算法鲁棒性好,精确率高,但算法比传统算法复杂。基于灰度图像的车牌定位[5],通过对车牌图像进行灰度化、二值化处理,用投影法完成了车牌定位,定位精度较高,但鲁棒性偏低。文献[6]针对传统算法定位精度不高的问题,提出一种基于灰度跳变的车牌定位算法,利用跳变位置完成车牌定位,算法鲁棒性好、精确率高,但算法设计较复杂。文献[7]提出一种基于字符特征约束的自适应车牌提取方法,利用自适应边缘检测算法和字符特征完成车牌定位,方法对背景环境、光照条件等限制极少。基于条件随机场和成分分析的车牌检测算法[8],用最大稳定极值区域提取提取候选车牌区域,用条件随机场重构并检测出候选车牌区域,算法检测车牌的准确率高,但检测时间较长。文献[9]融合字符纹理特征与RGB颜色特征实现车牌定位,算法快速,定位准确。文献[10]提出一种基于线性密度的滤波方法,用于检测候选区域,使用支持向量机识别车牌,完成车牌定位,车牌定位的准确率和定位时间都有所提升。文献[11]提出一种融合字符纹理特征与RGB颜色特征的车牌定位算法,根据车牌背景颜色和字符颜色的特性提取颜色点对,通过检测字符纹理和形态学处理完成车牌定位,定位准确率高。文献[12]将CIELab颜色模型引入车牌定位中,利用Lab颜色空间提取蓝、黄车牌区域,并利用车牌区域的纹理特征和形态学操作实现车牌定位,提高了车牌区域初始定位准确度。文献[13]利用边缘检测、灰度跳变点和车牌的几何特征完成车牌定位,结果显示算法的抗干扰能力强。文献[14]提出一种基于颜色特征的车牌定位算法,通过Hough变换、傅里叶变换和小波变换完成车牌定位,提高了精确率,但算法较为复杂。基于颜色的复杂背景车牌定位[15],利用颜色跳变和颜色信息,实现复杂背景下的车牌定位。结合颜色差分模型的车牌定位[16],针对现有定位算法对光照敏感、易受背景影响,提出一种结合颜色差分模型的自适应增强算法,鲁棒性好、准确率高。文献[17]利用车牌颜色特征和Canny边缘检测算法,完成车牌定位,并对多组车牌进行了实验,定位结果较好。基于字符边缘点提取的车牌定位方法[18],采用窗口检测法提取字符边缘点,进而定位车牌区域,解决了车牌和车身颜色相近不能检测的问题,同时提高了算法的鲁棒性。
综上,车牌定位主要存在的问题有:算法复杂、定位速度慢、定位精度低、鲁棒性差、算法抗干扰性差等。针对部分问题,提出一种基于车牌背景和字符颜色特征的车牌定位算法。算法提出了一种新的颜色模型,并改进了Canny边缘检测算法,使之更适合竖向边缘的检测。算法设计简单、定位速度快、鲁棒性好。
1 相关知识及改进算法
1.1 车牌的特征
1.1.1 车牌的颜色特征
我国车牌颜色搭配主要有:蓝底白字(小车)、黄底黑字(大车)和白底黑字或红字(军警车)三类,如图1所示。它们共同特性是车牌背景与字符有着固定的颜色搭配,不同点是车牌背景与字符的颜色不同,且纹理不同,背景区域是横向纹理,字符区域是纵向纹理。
(a) 蓝底白字 (b) 黄底黑字
(c) 白底黑/红字图1 车牌类型
1.1.2 车牌的几何特征
我国蓝底白字车牌大小为140×440 mm,宽高比为3.14,由7个字符组成,第一个字符为汉字,是每个省市区的简称;第二个字符为26个英文字母中的一个;第3~7个字符由字母和阿拉伯数字组成。其中,每个字符高度为90 mm,宽度为45 mm,所占区域长宽比为2∶1,间隔符“·”的直径为10 mm,字符间的标准距离为12 mm,如图2所示(图中数字单位为mm)。
图2 车牌规格
1.2 Canny算子及其改进
Canny算子由JohnCanny于1986年提出,它与Marr(LoG)边缘检测方法类似,属于先平滑后求导数的方法。Canny算法中所采用的卷积模板比较简单,如下式所示:
(1)
其x、y方向的一阶偏导数矩阵如下:
(2)
由于车牌字符区域为纵向边缘,为了突出车牌字符区域,将式(2)中x方向的一阶偏导矩阵中相减部分都改为纵坐标相减,y方向的一阶偏导矩阵不作改变:
(3)
图3(a)为包含车身的实验图像,图3(b)为图3(a)的灰度化图像,图3(c)为Canny边缘检测结果,图3(d)为改进的Canny边缘检测结果。根据图3(c)、(d),Canny边缘检测的结果更加详细,横纵边缘可以无差别检测,而改进的Canny边缘检测则更好地检测出车牌的竖向边缘,减少了横向边缘。由于车牌字符是纵向边缘,根据车牌区域纹理特征完成车牌定位时,Canny边缘检测不适合用于字符纹理的检测。改进的Canny边缘检测可以更好地检测竖向边缘,减少横向边缘的干扰,突出字符纹理,同时减少算法量。
(a) 原图 (b) 灰度图
(c) Canny边缘检测(d) 改进Canny边缘检测图3 Canny与改进Canny对比图
1.3 投影法
1.3.1 水平投影
水平投影即向车牌图像纵坐标方向进行投影,纵坐标不变时,统计横坐标方向某种像素点的个数。对二值化后的车牌图像进行水平方向的投影,即统计车牌图像每行白色像素的个数,统计公式如下:
(4)
图4(a)为图1(a)中车牌的水平投影图,根据水平投影可确定字符区的上下边界,完成字符区纵坐标方向的分割。
(a) 水平投影
(b) 垂直投影图4 车牌投影图
1.3.2 垂直投影
垂直投影即向车牌图像横坐标方向进行投影,横坐标不变时,统计纵坐标方向某种像素点的个数。对二值化后的车牌图像进行垂直投影,即统计每列白色像素的个数,统计公式如下:
(5)
图4(b)为图1(a)车牌的垂直投影图,根据垂直投影可以确定车牌字符区的左右边界,完成字符区横坐标方向的分割。
2 车牌定位
车牌定位分为粗定位和细定位两部分。粗定位主要根据颜色分量分割出车牌所在的大概区域,便于细定位处理,同时减少计算量。细定位则首先对粗定位处理的车牌区域进行改进的Canny边缘检测;然后用形态学操作减少车牌区域断裂,得到连通的车牌区域;最后使用投影法分割出候选车牌区域,结合车牌的几何特征排除伪车牌,仅留下车牌区域。具体流程图如图5所示。
图5 车牌定位流程图
2.1 粗定位
2.1.1 原理介绍
由摄像机拍摄到的车牌图像为RGB图像,较灰度图像占用存储空间多,若直接处理RGB图像,内存和时间消耗都较大。针对这个问题,提出一种基于蓝色通道的候选车牌区域粗定位算法。首先,用加权法从RGB图像中提取蓝色通道分量;然后,根据先验知识设定阈值T1、T2;最后,通过双阈值法将候选车牌区域变换为由0、1组成的二值图,完成候选车牌区域粗定位。
其中,从RGB图像中提取蓝色通道分量的模型为:
IB=0×R+0×G+1×B
双阈值法的模型为:
2.1.2 算法实现
根据上述原理,基于蓝色通道的车牌定位步骤如下:
Step1:提取RGB图像中的蓝色分量,记IB;
Step2:设定阈值T1、T2;
Step3:根据阈值T1、T2完成候选车牌区域粗定位,记IBW。
图6为使用上述步骤完成的车牌粗定位,图中车身大部分已被滤除,但仍存在一些标签干扰车牌定位,如部分车贴、车的品牌标志等,因而需对图6中的车牌进行精细定位。
图6 粗定位车牌
2.2 细定位
2.2.1 边缘检测
用1.2中改进的Canny边缘检测算法对图6粗定位后的候选车牌区域进行边缘检测,图7为边缘检测结果,检测结果较好的保留了车牌区域,但仍存在一些干扰,如图7上边的品牌标志和右边的车贴。
图7 改进Canny检测的车牌
2.2.2 形态学滤波
由于边缘检测后的车牌区域存在断裂或粘连的情况,对边缘检测后的图像进行形态学处理,可以减少断裂和粘连。若边缘检测后的车牌边缘保留较好,可不对车牌进行形态学处理,否则进行形态学处理。
2.2.3 确定候选车牌区域
先对候选车牌区域做垂直投影确定车牌区域的左右边缘坐标,然后对其进行水平投影确定车牌区域的上下边缘坐标,根据四个坐标将候选车牌区域进行分割,得到分割区域。图8为利用投影法确定的车牌区域,其中图8(a)为对图7进行垂直投影后得到的图像,根据曲线可以确定车牌区域的左右边缘;图8(b)为对图7进行水平投影后得到的图像,根据曲线可以确定车牌区域的上下边缘;图8(c)为根据8(a)(b)确定的车牌边缘对图7进行裁剪后的车牌区域,与图7相比,仅排除了部分车贴的影响,因此需根据车牌的几何特征排除图8(c)中的伪车牌。
(a) 垂直投影
(b) 水平投影
(c) 投影裁剪图8 投影法确定车牌区域
2.2.4 排除伪车牌
为得到精确的车牌区域,根据1.1.2节中介绍的车牌的几何特征排除图8(c)中伪车牌,图9为排除伪车牌后的车牌图像。
图9 几何特征定位车牌
排除伪车牌的步骤为:
Step 1:做一宽45像素、高90像素的矩形框;
Step 2:将矩形框在图8(c)中从左到右移动,若矩形框中出现白色像素,记录矩形框左上角坐标;
Step 3:将矩形框左上角与记录的坐标重合,上下左右移动矩形框,若框内像素可单独为一连通区域,则保留该矩形框中的像素;否则该区域为伪车牌区域,删除该区域;
Step 4:将矩形框从第一个记录的位置继续向右移动,重复Step 3,直至移到图像右下角;
Step 5:裁剪保留的区域,即为车牌区域。
3 实验结果及分析
3.1 实验平台
PC机配置为:Intel(R) Core(TM) i5- 4200M CPU @ 2.5 GHz 2.5 GHz,内存4 GB,win7 32位操作系统。通过MATLAB 2014a编写程序实现上述加解密算法。
3.2 实验结果与分析
为验证算法的有效性,选取自然条件下拍摄的100幅蓝底车牌进行检测,定位成功率为95%,实验结果如表1所示,图10和图11分别为部分定位成功和定位失败的车牌。根据图10,定位成功的车牌,字符比较清晰,为后续识别步骤提供良好基础;根据图11,定位失败的车牌字符不完整,主要原因是由于光照条件的影响,使部分字符亮度较暗或较亮,导致车牌定位不完整。100幅车牌的定位时间曲线如图12所示,定位平均时间为0.545 6 s。
表1 车牌定位实验结果
(a) 原车牌图 (b) 定位后的车牌图10 定位成功的车牌
(a) 原车牌图 (b) 定位后的车牌图11 定位失败的车牌
图12 定位时间
4 结 语
针对车牌定位困难、定位时间长等问题,提出一种基于车牌背景和字符颜色特征的车牌定位算法。算法首先根据车牌背景和字符固定颜色搭配,利用新的颜色模型完成车牌粗定位;然后利用设计的竖向边缘检测算法——改进的Canny边缘检测算法完成边缘检测;最后,使用投影法和车牌的几何特征完成精定位。实验表明该算法设计简单,车牌定位精确。该算法的不足是对强光和弱光下拍摄的车牌检测率低,后续将进一步研究强光和弱光条件下该算法的改进工作。