摘 要: 针对SIFT方法在角点检测上的不足,提出了一种基于SIFT和SUSAN混合特征匹配的自动匹配算法。算法应用SIFT 和SUSAN 两种具有互补特性的局部不变特征,利用SIFT方法检测空间极值特征点,利用SUSAN方法检测角点,结合两种特征点位置,利用SIFT方法生成匹配特征向量,最后根据最近邻特征点距离与次近邻特征点距离之比确定初始匹配点对,实现图像的配准。实验表明该算法有效,能够提高图像的自动匹配准确性。
关键词: 图像匹配; SIFT特征; SUSAN角点
图像匹配是图像处理的一个基本问题,在计算机视觉、图像配准、信息检索等领域得到了广泛的应用,是很多基于图像内容应用的基础。随着计算机技术的发展和数字图像应用的日益广泛,图像匹配技术在诸多领域内发挥越来越重要的作用。长期以来, 国内外很多学者都致力于解决图像匹配的技术问题。
简单来说,图像匹配就是找出两幅图像中相同或相似景物,目前图像匹配的方法一般分为基于区域匹配和基于特征匹配两类。
近年来,在计算机视觉领域,基于局部不变量描述符的方法在目标识别和图像匹配方面取得了显著发展。SIFT特征描述符克服了传统图像匹配在图像尺度、视差变化的局限性。参考文献[1]对10种最具代表性的特征匹配描述算子进行了实验和性能比较,结果表明, SIFT特征描述符在对光照变化、图像旋转、比例缩放、几何变形、模糊和图像压缩等6种情况下性能最好。
本文在SIFT方法的基础上加入SUSAN角点检测的思想,提出一种新的更加稳健的图像匹配方法。
1 SIFT特征检测
2004年, LOWE D提出了一种新的点特征匹配算法——SIFT(Scale Invariant Feature Transform)算法,较好地解决了场景部分遮挡、旋转缩放、视点变化引起的图像变形等问题,并且有效应用于目标识别、图像复原、图像拼接等领域。
SIFT算法首先在尺度空间进行特征点检测,并确定关键点的位置和所处的尺度,然后使用关键点邻域梯度的主方向作为该点的方向特征,以实现算子对尺度和方向的无关性。
1.1 尺度空间理论
尺度空间理论是一种对图像从多尺度考察图像特征的理论方法,能够发掘出很多从单一尺度无法发现的图像特征。
SIFT方法选用了高斯函数,利用其标准差σ作为尺度参数与图像进行卷积运算以产生多尺度的图像。一幅二维图像的尺度空间定义为:
1.5 特征描述子
首先以特征点为中心取8×8的邻域作为采样窗口,窗口内每个方格代表特征点尺度空间的一个像素,箭头方向代表该像素的梯度相对于特征点方向的相对方向,箭头长度代表梯度的模,大圆圈代表加权的范围。然后利用直方图统计的方法,在每 4×4 的小块上计算 8 个方向的梯度方向直方图,即可形成 4 个种子点,如图1所示。
每个种子点可以产生8个方向信息,共4×8=32个方向信息,按顺序就可以组成32维的特征向量。本文采用16×16的采样窗口,一共产生16个种子点,产生16×8=128维的特征向量,更多的种子点可以增加匹配的稳定性。
2 SUSAN角点检测
1997年 SMITH S M和 BRADY J M提出了一种最小核值相似区SUSAN(Smallest Univalue Segment Assimilating Nucleus)算法,它直接对图像灰度值进行操作,方法简单,算法效率高,定位准确,对多个区域的角点也能精确检测,对局部噪声不敏感,抗噪能力强。
2.1 SUSAN方法简介
SUSAN方法其实是利用圆形模板遍历整个图像,如果模板内其他像素值与模板中心像素值相差小于一定阈值,就认为该点与中心点具有近似的灰度值,模板内满足这样条件的像素组成的区域称为核值相似区USAN(Univalue Segment Assimilating Nucleus)。利用这个区域可以将像素点的性质分成几类考虑,而属于直角角点的大概就是具有1/4模板大小的USAN区的像素点,如图2所示。
2.2 USAN区域
USAN区域利用中心点与周围像素的差值和预先设定的阈值进行比较得出,其相似比较函数表示为:
2.3 角点检测
SUSAN方法通过设定角点阈值,利用角点响应函数判断角点位置,计算公式如下:
其中g为角点阈值,它影响检测到的角点形状,g越小,检测到的角点越尖锐,一般设定为1/2模板区域大小。
SUSAN角点检测的最后一个阶段,就是寻找初始角点响应的局部最大值,在局部范围内,如果中心像素的初始响应是此区域内的最大值,则判断其属于角点。
3 基于SIFT和SUSAN特征检测
SIFT方法能够从尺度空间寻找出具有结构化特性的特征点,但是可能在视觉上没有特殊意义,而实际图像中很多具有视觉意义的特征位置,如角点利用SIFT方法检测会出现位置偏移或者漏检的情况,如图3所示。]
从图3可以看出,最右角出现漏检,其他角的特征点均发生一定程度的位置偏移,这是由于高斯平滑的过程中极值点会随着像素扩散引起的。但是图像上的角点往往是进行图像匹配比较理想的特征,SIFT方法并没有很好地将角点利用起来,遗漏了某些重要的角点信息。
本文在SIFT的基础上引入SUSAN角点检测就是为了增强其对图像特性信息的利用率,从而应用于图像匹配上得到更多有意义的正确匹配点,因为SUSAN能够有效检测出图像中的角点,如图4所示。
由图4可以看出,SUSAN方法能够准确定位并检测到4个角点。SUSAN角点检测的优点在于可以简单快捷地检测出图像的明显形状特征,但是针对纹理图像或者低对比度图像,效果并不明显。
通过以上分析, 本文在SIFT方法的基础上引入SUSAN角点检测思想,基本能够将图像中的结构化信息特征和形状信息的特征检测出来。算法的流程图如图5所示。
4 特征匹配
已经找出图像上的特征向量,接下来的任务就是特征匹配,即对特征向量作相似性度量判断其相似程度。本文采用两个向量的欧氏距离作为相似性的判断度量,欧氏距离定义如下:
取图像1中的某个关键点,并找出其与图像2中欧式距离最近的前两个关键点,在这两个关键点中,如果最近的距离除以次近的距离小于某个比例阈值,则接受这一对匹配点。如果降低这个比例阈值,匹配点数目会减少,但更加稳定。最后再设定一个匹配点数目阈值,如果匹配点数目大于阈值,就认为两幅图像是相似的。
5 实验结论
在Core 2, 2.2 GHz CPU, 2.0 GB RAM的PC机上运行Solaris 10操作系统,采用C 语言编程实现了本文提出的算法,通过实验图片验证本文方法的有效性(限于篇幅,下文仅给出一组实验结果),并将本文算法与SIFT算法进行了实验分析和比较。实验中,最近邻特征点距离与次近邻特征点距离之比取0.7。
图6利用SIFT方法,左图和右图分别生成了356个和369个特征点,最终产生12对匹配对,其中两个错误匹配对;图7利用SUSAN方法,左图和右图分别生成了315个和358个特征点,最终产生25对匹配点,其中两个错误匹配对;图8结合两种方法,左图和右图分别生成了671个和727个特征点,最终产生33对匹配对,其中一个错误匹配对。
SUSAN方法在更少的特征点中可以找出更多匹配点对,而且错误匹配率没有增加,由此可见,角点信息在特征匹配上非常有效。本文方法利用两种特征,得到更多的特征匹配对,并且降低了错误匹配率。
参考文献
[1] M IKOLAJCZYK K, SCHM ID C. A performance evaluation of local descriptors[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2005,27(10):1615-1630.
[2] BROWN M, LOWE D. Invariant features from interest point groups[C].In Proceedings of the 13th British Machine Vision Conference. Cardiff: [s. n.], 2002:253-262.
[3] LOWE D. Object recognition from local scale-invariant features[C].In Proceedings of the International Conference on Computer. Corfu ,Greece:[s.n.],1999:1150-1157.
[4] SMITH S M, BRADY J M. SUSAN——a new approach to low level image processing[J]. Computer Vision,1997,23(10):45-78.