钟钰
【摘要】 本文提出了一种基于图像内容查询(CBIR)的多车牌定位方法。该方法利用SIFT算法对车牌字符的局部不变特征进行检测、提取与描述,再与特征数据库中已设计好的模版的SIFT特征向量进行匹配,而从得到众多匹配点对,然后用K-means聚类算法将匹配点对自适应划分为多个区域,对每个区域用RANSAC算法去除误匹点后,用仿射变换进行初步定位,最后用线性回归的方法进行二次倾斜矫正。实验表明,该方法对各种复杂环境具有鲁棒性,并且可以实现多车牌的定位。
【关键词】 CBIR技术 多车牌定位 K-means聚类算法 二次倾斜矫正
CBIR技术很早就在车牌检索技术中得到应用并且已经取得了一些成果,因为车牌本身包含丰富且独特的特征信息。图像内容大致可以分为三个语义层次,底层是最基本的视觉信息包括颜色、纹理等;中层是对象空间关系,一般表现为图像的局部特征信息;高层是图像的抽象特征。目前CBIR在车牌检索技术中的应用还停留在图像的底层特征。
目前车牌识别技术面临车牌多样性与环境复杂性的问题。已有的车牌检索方法大多基于图像内容的底层特征,这类特征只适用于简单环境中标准车牌的检索,而面对车牌自身的倾斜、旋转,遮挡和模糊等状况以及环境中光照、雨雪和伪车牌(斑马线、广告牌和树木等)等影响缺乏适应性。因此人们开始把注意力转移到图像内容的第二层语义特征上,即局部不变特征。局部不变特征包括角点、边缘、区域和blob等。其中SIFT算子是众多局部不变特征描述子中的佼佼者,它的特征描述信息量充足,对旋转、尺度变化、亮度、噪声和遮挡等干扰具备极好的鲁棒性,本文将用其提取车牌字符特征。
车牌识别的标准步骤有四个,它们是车牌图像预处理、车牌定位、字符分割和字符识别。其中车牌定位一直是车牌识别系统中最重要的一个环节,它的定准率直接影响到系统是否能正确识别出车牌信息。车牌定位也是最容易受到干扰的一个步骤,复杂的路况、恶劣的天气、多样的拍摄角度以及车牌自身的不确定性都会对其产生影响。因此SIFT算法在这一环节更能凸显其优势,本文就提出一种利用SIFT算法进行特征匹配,并结合K-means聚类算法实现的多车牌定位方法。
一、CBIR技术与SIFT特征匹配
1.1 基于内容的图像检索技术(CBIR)
20世纪90年代初基于内容的图像检索技术(CBIR)作为一种新的图像检索技术应运而生。与传统的文字检索技术相比较,CBIR突破了对图像进行文字标注描述的局限,直接分析图像的内容,从中提取特征并建立索引。因此其具备了如下特点。第一,CBIR是一种近似匹配而非传统的精确匹配,它在数据库中找出与查询图像相似的图像,系统根据查询结果的相似度进行排序,然后返回结果列表;第二,检索过程中,用户可以不断的提供反馈信息,从而对检索方式进行修正,构成一个交互式过程,从而提高检索的准确度。第三、整个检索过程中完全无需人工参与,全部由计算机自动完成,这就克服了人工描述的主观性问题,提高了系统的自动化程度,从而提高了检索效率。
1.2 SIFT特征匹配
SIFT特征匹配是CBIR中常用到的技术,具体步骤如下:
(1)特征点的检测与提取。SIFT将DOG金字塔检测出的空间极值点作为特征点。
DOG的处理流程如下:①图像利用高斯卷积模版做平滑,然后组合计算相邻的平滑后图像,得到高斯差分图像。②在得到的差分图像中找寻尺度和空间上的极值,并利用二次迭代以及非极大值抑制对检测到的特征位置做筛选并精确定位。③因为拉普拉斯对边缘有较强的响应,所以用Hessian矩阵特征值地相对强弱去除边缘点。
(2)特征点的过滤与精确定位。
用DOG函数的二阶泰勒(Taylor)展开式D(x)插值得到尺度坐标的精确值以及特征点的位置。
(3)特征点的方向分配
为了使得检测特征点具备旋转不变性,利用关键点邻域像素地梯度方向为每个关键点设定方向参数。用图像梯度的方法来求局部结构的稳定方向。
选择主峰的值做检测特征点的主方向,再选峰值超过主峰值80%的局部峰值为辅助方向,如此一个特征点具有多方向,能增强匹配鲁棒性。
(4)生成特征描述符
上述三個步骤获取了每个检测特征点的尺度、位置和方向信息,我们要将这些信息描述成一个特征向量,步骤如下:①将坐标轴旋转到检测特征点的主方向,来保证生成特征向量的旋转不变性;②计算以检测特征点为中心的16×16邻域窗口内所有像素点的梯度方向和模值;③将16×16的矩形窗口均匀划分为16个4×4个子区域。然后采用高斯加权使离特征点越近的邻域权重值增加,越远地邻域权重值减少。最后计算每个区域中8个方向的梯度方向直方图,绘制出梯度的累加值;④根据②、③获得4×4×8=128维的描述符。
(5)特征匹配
在匹配的过程中涉及到两方面问题,一个是选取合适的相似性度量方法,一个是选取高效的匹配策略。
在相似性度量的选择中,SIFT算法通常选择欧氏距离,因为欧氏距离适用于每个分量之间要保持着正交无关并且特征向量各个维度的关键程度相同的情况。
在匹配策略的选择中,选取基于K-D树的优化算法BBF算法,这是Lowe等人于1997年提出的。
二、多车牌定位与倾斜矫正
我国汽车车牌最大的特点就是字符中包含汉字(共37个),而且汉字大多做为车牌的首个字符(本文仅针对普通车牌),并且汉字相对于数字与英文字母特征明显,能提取更多的特征点。借助这一特点,我们训练汉字字符样本集并建立其特征数据库用于车牌的定位。具体步骤如下:
(1)首先我们搜集各省市以及直辖市还未使用的全新车牌的正面照片。拍摄的过程中要求车牌左下方的直角,与照相机成像十字第一象限的直角相重合。这样做的目的是获取正放没有旋转的标准实际车牌图像。
(2)统一所有拍摄到的车牌的尺寸大小,再以相同的矩形框截取车牌的第一个汉字字符,要求汉字字符完全包含于矩形框内,并位于中心位置。
(3)已相同的方式获取0~9十个阿拉伯数字的矩形框。
(4)对所有截取的字符图像做灰度化处理,再将灰度图像增强后进行二值化,得到二值图像。
(5)对(4)中得到的二值图像,组合成如图1所示模版。对于37个汉字制作出37组模版。
(6)用SIFT算法提取上述模版中的SIFT特征向量,并存入备选特征数据库。
特征数据库建立完成之后就开始实现多车牌的识别具体步骤如下:
(1)以特征数据库建立的相同方法,即用SIFT算法提取待检测图像的128维特征向量;
(2)将(1)中特征向量与特征数据库的特征向量进行匹配。匹配过程中采用棋盘距离与街区距离的线性组合代替欧氏距离,降低计算量,并使用基于K-D树的改进算法BBF作为匹配策略,来提高匹配效率;
(3)用K-means聚类算法对目标图像上生成的匹配点对自适应分类,找出密集点区的中心点,以中心點为圆心,以某圆心到离其最近圆心距离的一半为半径做圆,如此就将多个车牌候选区域粗定位了;
(1)
(5)经过初次仿射变换定位之后我们发现,车牌图像可能还存在小角度的倾斜,这是不可避免的,因为目标图像中的车牌可能存在形变或视角过大的问题。我们需要进行进一步的精确定位来矫正倾斜。这里我们考虑用线性回归的方法将车牌二值图像中下边框的像素点集拟合成一条直线,并计算其斜率,从而得出倾斜角θ。
(6)继续用仿射变换中旋转变换矩阵将图像区域进行二次的倾斜矫正,新的仿射变换矩阵可以表示为:M=M2M1,其中M2为旋转变换矩阵。
将上述车牌精确定位的方法用于每一个车牌候选区域,并输出所有区域内的图像,就实现了多车牌的定位。
三、实验结果与分析
笔者采集了大量实时图片来验证本文多车牌定位方法的可行性与效果。现选取其中一个典型实验用作结果展示和分析,图2为采集的目标图片,图3为特征匹配结果,图4为初次获得的车牌区域,图5为二次倾斜矫正后的车牌区域。
四、结束语
本文提出了一种基于内容查询的多车牌定位方法。该方法的特点在于抓住了车牌字符的局部不变特征,如此可以提高对于图片质量以及复杂环境的鲁棒性,并且通过K-means聚类算法实现了多车牌的定位。实验结果验证了本文方法的可行性与优越性。
参 考 文 献
[1] 赵伟,张姝,李文辉. 改进K-means的空间聚类算法[J]. 计算机应用研究. 2008.7 vol.25 NO.7:1995-1997
[2] 李永森,杨善林,马溪骏等. 空间聚类算法中的K值优化问题研究[J]. 系统仿真学报. 2006.3 vol.18 NO.3:573-576
[3] Kutner M H. Applied linear statistical models[M]. Chicago:Irwin,1996