基于DCT域的公路车牌定位算法
扫描二维码
随时随地手机看文章
1 引 言
车辆牌照识别( VLPR: V ehic le L icense PlateRecognit iON)系统作为一个专用的计算机视觉系统,能够自动摄取车辆图像并识别出车牌。这个系统可应用在公路自动收费、停车场管理、失窃车辆侦察、门卫系统、智能交通系统等不同场合。汽车牌照定位是车牌识别的难点, 因此, 公路车牌定位算法的研究有着重要而实用意义。车牌识别在图像处理技术中是典型的先分割目标进而识别的应用实例。类似的应用包括信封上邮政编码的分割与识别、货运列车车型车号的自动分割和识别、文字的识别等等。虽然车辆牌照识别系统是一个针对车牌识别的专用系统, 然而对它的研究定会对上述类似问题的研究起到推动作用。
关于车牌定位已有很多方法提出, 如基于数学形态学的定位方法:基于颜色的定位方法 , 这种方法主要利用彩色空间的信息, 实现车牌定位, 包括彩色边缘算法、颜色距离、相似度算法和基于边缘的颜色对方法等; 基于遗传算法提取汽车牌照的方法:基于神经网络的车牌定位方法。
针对各种车牌定位算法的优缺点, 提出基于DCT变化的车牌定位算法, 该方法在DCT 数据中,提取出一种基于加权频率的车牌区新特征, 然后经过自适应阈值分类, 采用基于投影法的车牌区分割方法, 直接在DCT 域实现车牌的快速定位。该方法可使定位矩形框紧凑地包围车牌区域, 有效降低误检率, 且运算复杂度较低, 有利于实现复杂背景中车牌的快速定位。
2 车牌定位算法
2. 1 离散余弦变换
离散余弦变换( DCT )是利用傅立叶变换的对称性, 采用图像边界褶翻操作将图像变换为偶函数形式, 然后对这样的图像进行二维离散傅立叶变换, 变换后的结果将仅包含余弦项, 故称之为离散余弦变换。DCT可以将图像描述为不同幅值和频率的正弦值之和的形式。对于一幅典型的图像, DCT 有这样的性质: 许多有关图像的重要可视信息都集中在DCT变换的一小部分系数中。
一个M N矩阵A 的二维DCT定义如下:
数值Bpq称为A 的DCT系数。DCT是一个可逆变换, 逆变换的定义如下:
DCT逆变换方程可以理解为: 任意M N 的矩阵A 都可以写成M N 个如公式( 3)所示的函数之和的形式:
这些函数被称为DCT基本函数。
2. 2 基于DCT 域的特征提取
对于彩色图像, 图像预处理部分首先将输入的图像去掉彩色, 进行灰度化。利用RGB 空间到灰度的转换公式得到车牌的灰度图像, 即:
其中, f ( x, y )为( x, y )位置像素的灰度值, R ( x,y )、G (x, y )、B ( x, y )为输入彩色图像在( x, y )位置像素的红、绿、蓝颜色对应的彩色信息。
预处理后的图像经DCT 变换后所得到的系数位置及其幅值所反映的是该变换图像的空间频率及其能量。这里, 将图像划分为子块, 子块的大小为8 8, 对每个8 8的子块进行DCT 变换使其能量按频率集中, 得到的64个变换系数, 分别代表对应不同基波频率分量的大小。
若将8 8的DCT系数划分为0区、1区、2区、3区等4个区域, 则每个区域代表不同纹理的方向:0区表示的是直流分量(即8 8子块的平均值) , 1区表示的是竖向纹理(即水平方向的频率变化), 2区表示的是斜向纹理(即斜向的频率变化) , 3区表示的是横向纹理(即竖直方向的频率变化)。
由于车牌字符区域具有特殊的线条结构, 它基本上可归为横向、竖向、斜向的线条组合。在图像中, 这些线条主要显示出特殊的纹理特点, 其灰度与背景相差较大, 即边缘变化较剧烈, 且表现出明显的竖向、斜向、横向纹理特征。而在DCT 域中则主要表现为在图的1、2、3区的中高频部分的系数值较大, 即竖向线条的变换系数主要集中于1区, 斜向线条的变换系数主要集中于2区( 1区与3区也有一定的分布) , 横向线条的变换系数主要集中于3区,这是图像所含车牌字符在DCT 域中所表现出的纹理特征。可见, 车牌字符区所具有的特殊结构使其在DCT 域能够表现出更为丰富的中、高频DCT 分量。同时, 车牌字符区在DCT域表现出明显的方向性信息。综合考虑上述两点, 用一种基于DCT子块的加权频率特征(W eighted Frequency, WF) , 通过对不同方向DCT 分量进行非线性加权增强, 如公式( 5)所示, 从而使车牌字符区特征更加明显。
其中c( i, j)为8 8块中第i行第j列的DCT系数; i取1~ 8; j取1~ 8, 图1为输入车辆图像及其对应的WF 特征图。可见, 车牌字符区域的WF 值明显高于背景。
图1 输入图像及其WF特征图。
2. 3 分类处理
在进行分类时, 如果图像中车牌和背景之间的对比度较低, 此时的WF 值会比较小; 另外, 高频信息丰富的非车牌区域背景经常也具有较大的WF值。因此, 如果采用固定阈值, 则不利于低对比度车牌区域的提取, 同时也容易将高频丰富的背景误认为车牌区域。因此本算法采用自适应阈值法进行分类, 阈值的设定如公式( 6)所示。
其中aver为整幅图像的平均WF 值, max 为整幅图像的最大WF值, m in为整幅图像的最小WF值, k为经验值, 可按公式( 7)进行分类。
图2为分类结果图, 可以看出, 大量的背景被去除, 车牌区被很好地提取出来。
图2 分类结果图。
2. 4 平滑去噪
分类后的二值标记图中, 通常会存在一些零散的噪声点, 而真实车牌区域只有一个, 过多的噪声点往往会干扰车牌区域的投影, 引起定位框比实际车牌区域大, 或者制造假车牌区。因此, 在分割之前,需要对分类结果图进行平滑去噪。通常的噪声是一些物体边缘或纹理较丰富的背景, 形状大多不规则且分布较稀疏, 用统计滤波法, 可减小其影响, 具体方法为: 统计每个候选区域中的像素点数, 并找出最大的像素点数, 当候选区域的像素点数小于一定值时(本算法中使用候选区域最大像素点数的1 /4) ,即认为该区域为噪声区域, 将其去除。
对于候选车牌区中可能会有的少量凹区和断续, 可以通过游程平滑算法进行平滑。所谓游程平滑算法是对同一扫描行上的黑像素点之间的距离进行检测, 当两相邻黑像素点之间的空白游程长度小于门限值时, 则将这两点之间的空白游程全部填黑。
考虑到一条水平扫描线上的一段游程L = (P 1, P 2,……, P i, Pi+ 1,……,P j- 1, P j, ……, Pn ); 其中游程L1 =(P1, P2, ……, P i )和L 3 = (Pj , ……, P n )是0- 游程(即黑像素游程), 而L 2 = (Pi+ 1, ……, Pj- 1 )是1 - 游程(即白像素游程)。当L2 的长度j- i- 1小于设定的门限T 时, 则将两黑游程L1 和L3 连接起来即把游程L2 的全部像素平滑成黑。在本算法中游程平滑算法运用了两次, 即水平方向和垂直方向各用一次。
处理后的图像如图3所示。
图3 平滑去噪处理后。
2. 5 投影分割
经过上述操作后, 某个区域内一定会包含实际的车牌, 为精确定位车牌, 采用投影法分割, 快速定位图像中的车牌区域, 并且误检率较低。
对于去噪后的标记图, 首先对其进行水平投影,然后对投影值进行分析, 确定出水平基线, 再在水平基线之间进行垂直投影, 确定出垂直基线。这样就可以初步定位出车牌区。基线的产生依据下面的规则: 首先设定一个阈值T, 将小于此阈值的投影值置0, 大于此阈值的投影值置1, 然后当相邻投影值一个为0, 另一个为1时, 即认为非零投影值处存在一条基线。在本算法中进行了两次投影, 即水平和垂直投影。确定出水平基线和垂直基线后即可在图像中划出矩形框, 标出车牌区域。另外, 为使矩形框紧紧包围车牌区域, 在画基线之前, 首先判断矩形框各基线上所有像素值之和是否为零, 若为零, 则将基线向靠近矩形中心的位置移动直到各基线上所有像素值之和不为零为止。算法的最终定位结果图如图4所示。
图4 定位结果图。
3 结束语
本算法通过对汽车图像进行离散余弦变换( DCT ), 得到DCT 系数, 并计算加权频率特征, 之后采用自适应阈值法, 实现车牌区/非车牌区的快速分类; 再经平滑滤波之后, 利用投影法实现车牌区域的定位, 有效降低误检率, 且运算复杂度较低, 有利于实现复杂背景中车牌区域的快速定位。经多次实验证明, 本算法具有较高的正确检测率, 部分实验结果如图5所示。