基于直线检测和数学形态学的车牌定位算法
2018-08-29蔡秀梅周川力
蔡秀梅 周川力
(西安邮电大学自动化学院 西安 710121)
1 引言
车牌识别系统被广泛应用于机关单位、地下车库、小区出入口以及出入境等场所,对加强这些场所安全管理以及智能化水平起到重要推动作用。基于图像处理技术的车牌自动识别系统中的图像处理部分主要包括:车牌图像的预处理、车牌定位,字符分割和字符识别几部分。车牌定位过程就是从车辆照片中提取矩形车牌区域,并将车牌矩形区域从车辆图像中精确定位出来。车牌区域定位的准确与否会直接影响到后面字符分割和识别的准确率,也直接影响着车牌识别系统的整体性能和稳定性。
现有的车牌定位方法:基于边缘检测、颜色空间、人工神经网络、数学形态学,分形盒子维的方法等。其中基于边缘检测的方法[1]具有去噪效果好的优点,但在车牌没有边框的前提下有可能出现车牌区域定位失败;基于颜色空间[2~3]的方法是利用多种颜色分量来定位车牌,但多个颜色分量无疑会是运算复杂度增加,影响算法实时性;人工神经网络的方法是首先对车牌的图像进行神经网络的训练[4~5],从而得到一个对车牌图像敏感的人工神经网络,这种方法自适应能力以及并行计算能力强但是这种方法会带来很大的计算量,并且对采集的样本具有较强的依赖性;还有基于数学形态学的方法,其是利用开闭运算[6]对图像进行处理,得到很多个候选的车牌区域,这种方法对采用的结构元素的大小和形状依赖性较大。
本文提出一种对车牌图像利用滤波模板检测其水平和垂直方向的直线边缘并结合数学形态学方法定位车牌区域的新方法,该方法充分利用了车牌特定的形状特征,能够精确而高效地提取出车牌区域。
2 图像预处理
在现场采集车牌图像时,如果因为镜头,外界天气等因素造成的图像质量下降问题得不到及时去噪处理,会给后期车牌定位,字符分割以及识别带来处理难度。因此需要对车辆图像进行必要的预处理。本文对原始车牌图像主要做了灰度化和二值化的预处理。
1)车牌图像灰度化处理
因为RGB颜色模式不能够体现车牌图像的形态特征,只是单一从光学原理上对图像进行了颜色调配。所以如果直接应用采集到的彩色车牌图像,这个过程的计算量和复杂度会严重影响系统的运行效率。本文采用的灰度转换公式[7](1)如下:
式中Gray(i。j)为处理后图像在(i。j)位置的灰度红绿蓝色的分量值。
2)车牌图像二值化处理
车牌图像的二值化处理在车牌识别阶段是一个重要的前期图像处理技术。对车牌的灰度图像二值化就是将其转变成只有黑白两种颜色的图像,这样做的目的就是将图像中感兴趣的车牌目标与背景分离。如图1(c)是对图1(b)进行二值化的结果。
图1 预处理结果
3 基于模板滤波的直线检测算法
3.1 原理
利用模板滤波的直线检测算法是在空域滤波基础之上实现的。而空域滤波则是使用空域滤波模板进行的图像处理方法,滤波模板[8]本身就是一个空域滤波器,其原理也和空域滤波一样是在待处理的图像中逐点地移动模板。其中模板会在待检测点处响应,响应是通过事先定义的滤波器系数与滤波模板扫过区域的相应像素值的关系来计算[9]。本文定义的直线检测模板会在车牌图像中逐点移动,位于预处理后的矩形车牌直线边缘上的点将对模板产生较大的响应,算法中会设置合理的阈值,判定响应大于阈值的点位于车牌轮廓边缘上。
本文设计的水平和垂直直线检测模板如图2(a)和2(b)所示。
图2 直线检测模板
3.2 车牌区域水平和垂直方向直线检测模板的系数确定
确定滤波模板的系数[10],依据是要使模板中所有系数总和为0,由于车牌图像中灰度级固定的区域是能使模板响应为0的区域。为了方便描述,本文中将位于车牌区域水平垂直两个方向上的直线的像素点称为核心点,核心点在检测模板中的相应系数称为核心系数。图2(a)中的第二行和图2(b)中的第二列就是核心系数,而在模板中其他的为了配合模板建立所存在的系数称为非核心系数。为了精确地检测出车牌上的水平垂直方向的直线,位于这两个方向直线上的点对模板的响应要大于其他方向直线上的点对模板的响应,车牌图像中由其他方向所构成的直线通过这两个滤波检测模板后要被大幅度滤出。因此,核心系数的值应该大于非核心系数,所以本文中核心系数的值设为正数,非核心系数的值设为负数[10]。如下图3(a)和3(b)就是对灰度车牌图像进行水平和垂直两个方向的直线边缘进行检测的结果。
图3 直线边缘检测
4 利用数学形态学定位
4.1 数学形态学处理
数学形态学[11]通常被用在图像处理中分析几何物体的结构及其形状特征,其是由一组基本形态学的代数运算子组成。用基本算子或者组合算子对图像结构及其形状进行边缘检测,图像分割以及特征提取等操作。其中形态学的开闭运算是数学形态学中最重要的两种组合运算[11]。
经过水平垂直方向的模板检测后,车牌图像中车牌,车灯,车窗等矩形区域已经被提取出明显的直线边缘,但是仅靠这些间断的直线还是不能提取车牌整个连通区域,所以在图3(c)的结果上用数学形态学来处理,先对其进行两次闭运算,它对车牌图像中细小的空洞可以进行有效的填充,并同时连接邻近的物体,而且在不明显改变物体面积的条件下对车牌图像进行边界平滑处理。接着对两次闭运算的结果进行两次开运算操作得到如图4,这个与闭运算对应的操作有效地消除了车牌图像中微小的物体、并在纤细点出分离物体,而且在不明显改变车牌图像中牌照区域面积的情况下平滑牌照、车灯、车窗等连通域的边界。
图4 数学形态学处理结果
4.2 待选车牌区域的确定
通过数学形态学中开闭运算对利用直线检测模板处理的边缘图像进行膨胀、腐蚀及填充一系列操作后,我们只是得到了大量的形似车牌矩形的连通域,比如由车灯、车窗,车体等标志性区域,进而会产生多种可能的车牌待选区域。为了得到更准确的定位,对于每幅车牌图像的待选区域分别按照矩形区域进行筛选。在很多个待选区域中,如果采用某一个单一的评价指标,不能够精确地确定车牌矩形区域,我们在此采用多种评价指标融合考量的方法对于非矩形区域进行筛选[12]。由于车牌本身所固有的一些物理特征,比如长与宽比值固定,颜色统一等。所以我们可以采用面积,长与宽占比以及长与宽夹角三个特征值进行加权综合来确定车牌的矩形区域。如式(2)所示,给每个特征值乘以一个影响权值,进行加权得出总的置信水平[12]。置信水平是指特定个体对待特定命题真实性相信的程度。
其中λi表示三种不同特征的权值;Ci表示三种特征置信水平;面积S,长与宽的夹角是θ,长与宽的比值为P。
面积S这里是指在一幅二值化图像上各连通区域内非0像素的个数,其中面积越大,为车牌区域的可能性就越大。所以面积和所赋予的置信水平成正比关系。长与宽的夹角指的是车牌区域比较明显的一个特征属性,由于我国车牌都是统一标准的矩形边框,所以有四个明显矩形90°夹角,所以长与宽夹角越接近90°的连通区域的置信水平Ci就越大。同理长与宽的比值P是相对固定在0.30~0.35这个阈值范围内的,因此在车牌图像中,经过数学形态学的开闭运算处理后,被检测出的在水平垂直方向的直线边缘的比值在此阈值范围内则这两个方向直线边缘的比值的置信水平也就越高。这个综合了面积、长与宽比值以及长与宽夹角特征值三种考量定位的方法,可以减少只用某单一参数进行考量而引起误差的可能性[12]。比如在实际操作中,车灯区域的面积与真实车牌区域的面积比较相近,所以如果只用面积来评判则会出现定位结果是车灯区域的误判,而如果结合长与宽比值以及长与宽夹角来综合考察,车灯区域不符合的地方就显现出来,从而会有效排除掉。如下图5最终定位结果。
图5 定位结果
5 实验结果及其分析
本文算法实在Matlab7.0开发工具中实现的,实验中所用到车牌照片是在现实环境中随机拍摄的,图6是对2幅不同环境下的车牌照定位结果。其中图6(a)是在光线较暗的情况下所拍及其运行结果,图6(b)是在光线较强,车窗反光,干扰比较大的情况下所拍及其定位结果。但仍然能够精确定位出车牌矩形区域,最终对本文提出的基于已知角度的直线检测方法和Hough变换直线检测法的定位准确率、平均运行时以及适应性做了比较,如表1所示。
图6 本文算法实验结果
表1 实验分析
6 结语
本文提出的基于水平和垂直两个方向直线边缘检测的车牌定位法,其对灰度车牌照片进行直线模板检测,并有效滤除了其他方向直线边缘,大大减少了边缘直线检测的计算量,最后通过数字形态学处理以及多种评价指标融合考量的筛选方法定位出车牌。实验证明,这种方法打破了传统方法在定位车牌区域时候,对车牌照片中实物的边缘轮廓信息要求清晰提取的局限性,并且提高了因外界环境干扰所导致的车牌区域误判率。