311定位算法研究
车牌定位是车牌识别系统的一项关键技术,也是难点之一。因为现场采集的车辆图像受环境影响,采集的车辆图像质量波动较大,同时存在其它字符区域的干扰,使得真实车牌区域难以准确定位。第二章中已经采用图像滤波、二值化、边缘检测等预处理方法增强图片效果,本章主要解决车辆图像中准确定位车牌区域的问题。车牌图像的定位处理算法,常用的有以下几种:
1.基于纹理特征的车牌定位法
汽车车牌
车辆图像随拍摄环境的变化而不同,然而具有不因外部条件变化而改变的特征。车牌内有多个基本成水平排列的字符,字符和牌照底在灰度值上存在跳变,因而车牌这个矩形区域(包括边缘)有丰富的边缘存在,呈现出规则的纹理特征。在传统的基于灰度分割技术上,这些特征为车牌定位研究提供了切实可行的依据。基于纹理分析的方法利用车牌区域内字符纹理丰富的特征定位车牌,它对于光照偏弱、偏强、不均匀性、牌照倾斜和变形等情况不敏感。但该方法应用于背景复杂的图像时,容易把一些纹理分布较丰富的非车牌区域定位进来,产生包含车牌在内的车牌候选区域,这是纹理分析方法的缺陷。
2.基于神经网络的定位算法
利用神经网络来定位车牌是一类较为常见的方法。本算法的基本步骤和各模块的功能如下:
(1)神经网络训练模块:收集一定数量的车牌图像样本,归一化后输入至BP神经网络进行训练,达到预定的正确率后,训练结束。本模块将获得一个对车牌敏感的BP神经网络。
(2)图像预处理模块:提取车牌前,对图像进行预处理;抑制噪声,提高图片质量。
(3)车牌定位模块:利用训练好的神经网络在图像中搜索车牌区域,定位车牌。
本方法的特点是从车牌区域特征来判别牌照,因此在搜索时会重点考虑以下表面特征(如边缘、对比度、纹理等)而忽视图像区域的内容。有用信号的特征有时会误导搜索,如果因为定位模块忽视了非牌照区域包含的车牌特征信号点,将这些区域送入后续步骤将会影响车牌字符识别。
4基于特征统计的车牌定位
基于特征统计的车牌定位利用车牌区域的结构特征和字符纹理特征。车牌区域字符笔划变化
含有丰富的边缘信息。对整幅汽车图像进行边缘检测,车牌区域相对于其它非车牌区域含有更多的细节信息。对边缘图像进行行或列扫描,该行或列灰度值跳变的次数明显不同非车牌区域的行或列,即基于特征统计的车牌定位方法。此方法分为两个部分:粗定位和精确定位。
1.粗定位:
粗定位是从车牌边缘检测后的图像中出含有车牌的区域,并把它提取出来,考虑到车牌区域中存在大量笔画边缘点集,当线段扫描到车牌区域时,£会大于某个阈值,这样就能初步到横穿车牌区域的线段,然后以此线段为起点,上下平移扫描,利用车牌区域横向积分投影的连续性特征,定出车牌的上下边。在定位出上下边的同时,利用车牌白点数目占据主导的特点,用一定宽度的矩形,从左往右扫描。粗定位具体做法是用一个比估计车牌小的矩形遍历整个边缘二值图,则落在该矩形内白的点最多的位置就是车牌区域的大致位置。
2.精确定位:
车牌颜主要分为:蓝底白字、黄底黑字、黑底白字,白底黑字四种。相同号码不同颜组
合的车牌不是同一个车牌,所以颜信息在车牌定位的过程中相当重要。本文在精确定位时结合车牌的长宽信息、颜信息,根据车牌颜(蓝、白、黄、黑4)像素占候选车牌区域所有像素的比例来确定哪个是车牌部分,由此得到准确的车牌区域。
具体思想如下:对粗定位中提取的区域进行研究,如果此区域蓝、黑、黄中哪种颜较多,则认为蓝底牌照、黑底牌照、黄底牌照,剩余的车牌为白底军车和武警车牌照等。每个颜的RGB有一定的范围比例,如蓝的RGB各值中蓝分量最大,并且蓝红分量的比值大于门限Tb;黑的RGB各值相差不大,它们与其它颜的RGB值相比是很小的值,且小于门限Tbl;黄的RGB各分量依次减小,而且蓝分量远小于其它两。设图像中像素的红绿蓝三分量分别记为rgb,下面的pixel代表像素的类型,是蓝的记为Blue,黑的记为Black,黄的为Yellow,具体判断如下:
如果车牌颜信息满足蓝底牌照、黑底牌照条件或者Sillll<nlean,则认为粗定位得到的车牌为蓝底牌照或者黑底牌照:否则视为其它牌照type=RESTPLATE。统计行方向在此颜范围内的像素点数量,即该行对蓝或黑的投影值,把此区域的所有像素行的投影值都统计出来,得到此区域对蓝或黑的水平投影。水平投影操作是把二维图像的像素分布特征简
化为X轴和Y轴的两个一维函数。车牌边缘为白或者被边框包围,在图像对蓝或黑的水平投影上表现为波谷。而要设定合理的闷值,也就是取两个波谷的区域为边界,确定车牌在行方向的区域。在分割出的行区域内,用相同的方法统计列方向的底像素点数量,取图像对蓝或黑的垂直投影的两个波谷为左右边界,最终确定完整的车牌区域。通过定位修正能更准确到车牌图像的上下边界。基于特征统计定位算法的定位结果如图3-1所示。
从原始图像可以看到,车体和车牌颜对比明显,车体主要为黑,而车牌为蓝背景,白字体。车体和车牌颜的明显对比为算法提供了基础。此算法缺陷在于:车牌颜必须不同于图像整体背景,否则无法提取出车牌区域。
5基于改进SobeI算子边缘检测法
传统Sobcl算子只有水平和垂直两个方向模板;其中水平模板对水平边缘的响应最大,垂直模板对垂直边缘响应最大。模板的方向表示灰度由低到高或由高到低的变化方向,而不是图像的实际边缘方向。通过对车牌字符的垂直方向和斜线方向进行划分,本文采用六方向模板,算法实现的基本思想:构造六方向模板,对图像进行逐点计算,取最大值作为该点的新灰度值,该最大值对应模板的方向为该像素点的边缘方向。车牌图像提取特征后,采用迭代
求图像最佳分割阈值的算法进行二值化;大多数车牌图像上噪声点较多,经过二值化后的图像如果直接进行水平投影定位,可能出现伪特征信息,所以应先进行去除噪声。本文采用模板大小为l×3的腐蚀运算,去除一些较小噪声点,保留图像车牌部位的主要信息。得到腐蚀后的车牌图像后,对图像的像素沿水平方向累加产生一个投影图,在车牌对应的水平位置会出现一段峰值。本文通过以下三点来判断峰值对应的位置是否为车牌区域:
1.波峰和波谷之间具有一定的落差,当一个局部最大值和它邻近的局部最小值的差大于某一阈值时,该局部最小值为波谷,反之为干扰值。
2.波峰的两个临近波谷之间具有一定宽度,该宽度值由车牌宽度特征决定。
3.波谷所占整个图像的高度在一个范围之内,由车牌处于车身较低位置的特点决定。
在光照均匀和背景不复杂的图像中,车牌的峰值特性十分明显,很容易定位出车牌区域的水平位置。当光照不均匀或者背景复杂的图像中峰值特性不明显,需要选择合理的阈值来准确确定局部最小值是否为谷底问题。本文设定峰顶和峰谷落差的经验阈值为16,峰的宽度阈值为30,即当峰顶和峰谷落差大于16且峰的宽度大于30时,判定该位置为包含车牌区域。车牌
下方没有明显的边缘密集区域,所以搜索车牌的时候可以从下往上搜索,当出现的第一个峰值满足上述条件时,该峰值即为车牌的投影区域。由于车牌的底和车牌字的颜形成强烈对比,并且在一个相对小的范围内频繁变化,所以可以通过这个特征进行车牌的垂直定位。本文采用数学形态学方法对图像进行处理,检测出大小合适的矩形区域。具体定位算法如下:
1对定位后的图像膨胀运算,结构元素是3x3矩形,填充车牌区域的小洞。
2对膨胀后的图像进行一次开运算,结构元素是1×4的矩形。
3.再进行一次膨胀运算,结构元素是1×4,第2步和第3步目的是选定具有一定宽度的区域。
4.接着再进行一次开运算,结构元素是4x1
5.最后进行一次膨胀运算,结构元素为4×1,选定具有一定高度的区域。
将得到的图像投影到垂直方向,根据车牌的宽度信息,设定一个范围,在投影图像中到满足此范围的投影区域,定位出车牌的垂直位置。基于改进Sobel算子边缘检测的效果如图3-4所示。
3.基于数学形态学的定位方法
基于数学形态学的车牌定位算法是利用开启和闭合这两种运算在图像中进行定位。数学形态学中的开闭运算具有以下特点:
(1)开运算可以擦除图像中的像素。从而能够去除孤立的小点、毛刺,保持总的位置和形状不变。
(2)闭运算可以使图像中的像素粘连。这一特点可用于填平小孔、弥合小裂缝,保持总的位置和形状不变。
利用数学形态学中的开闭运算对图像处理,得到多个车牌可能区域,然后用多区域判别法在图像的多个车牌可能区域中到车牌的正确位置。此算法中结构元素大小的选取至关重要。结构元素过大,会使非车牌区域的边缘点粘连在一起,可能的车牌区域增多,给随后的多区域判别算法带来困难;结构元素过小,车牌区域无法粘连在一起,可能使真正的车牌区域不包含在可能车牌区域集合中。