改进的SIFT算法在图像特征点匹配中的应用

2018-03-29 05:12完文韬杨成禹
关键词:尺度空间图像匹配特征向量

完文韬,杨成禹

(长春理工大学 光电工程学院,长春 130022)

在进行图像拼接实验的过程中,图像匹配是其中最为关键的一步。在常用的算法中,由于基于特征点的图像匹配算法具有稳定性好而且计算量比较少的特点,所以该算法成为了当前图像匹配过程中的主流算法[1]。其中使用最为广泛的是SIFT(尺度不变特征)算法[2],该算法对图像存在的旋转、仿射变换,光照变化等能够保持不变性,对噪声的敏感度也很低,整个算法具有很强的鲁棒性[3]。

但是由于SIFT算法主要还是利用了所提取的特征点的局部邻域梯度信息[4],当待匹配图像中出现相似的部分,经过SIFT算法匹配的目标图像1中的特征点会匹配到目标图像2中多个相似的特征点,即出现一对多的现象。此外,还存在着较多的误匹配的点。所以为了提高匹配结果的准确度,必须采用合适的方法将错误的匹配点剔除。针对SIFT算法的主要缺点,在SIFT算法提取完特征点之后,再通过RANSAC(随机抽样一致性)算法对特征点的匹配结果进行筛选[5],最后通过筛选之后剩余的匹配点进行图像拼接。

1 SIFT算法简介

SIFT算法是当前图像匹配算法中比较流行的算法[6],SIFT算法的图像特征点匹配大致可以分为以下几步:

1.1 DOG尺度空间的生成及特征点的搜索

特征检测是在尺度空间中进行的,所以首先需要生成图像尺度空间。图像的尺度空间可以用一个尺度空间的高斯函数和图像的卷积来表示

式中,G(x,y,σ)为尺度可变的高斯函数,σ为尺度,(x,y)为空间坐标。

想要确定特征点所在的位置,首先需要建立一个高斯金字塔。方法是:先将原始图像放大一倍之后得到第一阶的第一层,然后将位于同一阶上层中的尺度因子设定为下层中尺度因子的k倍;再通过对第一阶的第三层进行采样,获得第二阶的第一层。然后以此类推,就可以建立高斯金字塔[7]。

得到高斯金字塔后,再通过两个相邻的高斯尺度空间作差,得到高斯差分DOG(difference of guassians)金字塔,整个过程的变换函数表达式为:

高斯差分金字塔建立后,特征点就是DOG尺度空间中的极值点,查找该极值点需要把每个采样点同26个点相比较,这些点包括在同一尺度上相邻的8个点,以及相邻尺度上相邻的18个点。

1.2 得到特征点主方向以及生成特征向量

为了描述特征点,只依靠坐标是不可靠的,此外还必须增加方向尺度等信息[8]。采用有限差分的办法,求出在以特征点为圆心,以3σ为半径范围内的图像梯度的幅角及幅值。利用直方图统计的方法,求出邻域内所有像素点的梯度方向及幅值。特征点的主方向就是直方图的峰值所代表的方向,确定了主方向就可以使SIFT算法具备旋转不变性,主方向的计算公式为

式中,L表示特征点的尺度。

特征向量最终是通过求得的特征点的邻域梯度信息来计算的。先把坐标轴位置旋转到特征点所在的主方向上,接着以特征点为圆心,选择特征点附近的16个点作为种子点,分别求出8个方向上的梯度大小,最后得到的128维向量就是所求的特征向量。

1.3 特征点匹配

经过上述步骤得到特征向量之后,求出两幅图像中所有SIFT特征点的特征向量间的欧氏距离。具体来说就是:对目标图像1中的某个特征点,求出该点与目标图像2中的所有特征点的特征向量间的欧氏距离,并对所求得的欧氏距离值的大小进行排序。找出最小的和次小的欧式距离值对应的目标图像2中的特征点,并对这两个距离的比值进行计算,假如该值小于某个阈值,说明这两个点为匹配点,否则不匹配。该阈值是一个经验阈值,实验中选取的阈值大小是0.6。

2 引入RANSAC算法剔除错误匹配点

通过SIFT算法完成特征点匹配之后,仍然可能存在着大量错配点。在SIFT算法匹配完成之后的基础上,再引入RANSAC算法,筛选出匹配结果中的误匹配点,提高最终匹配结果的准确率。

RANSAC算法通过迭代方式估计数学模型的参数[9],它的基本假设是:

(1)所有数据由能够很好地适应数学模型的“局内点”所构成。

(2)“局外点”是不能适应该模型的数据。

(3)除此之外的数据属于噪声。

经过SIFT算法匹配之后的结果,除了那些准确的匹配点外,还存在着一些误匹配点和误差较大的匹配点。所以可以将经过SIFT算法匹配之后的点分为3类:误匹配点、精确匹配点及噪声匹配点,分别对应于RANSAC算法基本假设中的局内点”、局外点”和噪声点。

RANSAC算法进行数学模型拟合之后,再利用设定的阈值,可以准确地将整个样本当中的“局外点”和噪声剔除,该算法先随机地从整个数据集当中选取一个最小抽样集,并通过这些抽样集计算出相关模型参数的初始值,再通过计算出来的模型来寻找数据集中的其他“局内点”,并将“局外点”和噪声剔除,以此来最大程度的消除“局外点”和噪声对整体估计的影响。RANSAC算法的优点是可靠性强、精度高、鲁棒性强。

RANSAC算法能够保证在一定置信度下,基本子集最小抽样数N和至少取得一个良好抽样子集的概率P满足式(4)。

式中,ε为局内点和数据点集的比值,k表示求出模型参数时所需的最小数据量,一般取4。P一般取0.9~0.99,实验中取一个中间值,P=0.95。

对式(4)两边取对数得

式中,N表示计算过程中进行迭代的次数。

算法的基本步骤如下:

(1)随机选出4个样本数据(样本数据彼此间不能共线),求出变换矩阵H,记作模型M。

(2)求出数据集中的所有数据和模型M之间的投影误差,如果该误差值未超过阈值,就把该数据加入内点集I。

(3)假如当前内点集I中的元素个数超过最优内点集I_best,则令I_best=I,同时更新迭代次数N。

(4)假如迭代总次数超过N次,则退出迭代过程;反之,迭代次数加1,并重复以上步骤(1)到(3)。

运算过程中,在迭代次数N不超过最大迭代次数的情况下,N不固定而且是在不断更新的。实际运算过程中,假如迭代次数太少,得到的筛选结果不精确,但是迭代次数取太多,虽然能够得到很好的筛选结果,耗费的时间却太长,算法效率太低。所以在实验中,将最大迭代次数设置成800,这是因为经过SIFT算法匹配之后的特征点,其中误匹配点所占的比例还是比较小的,即样本集内部的“局外点”和噪声点比例比较小。这就可以使RANSAC算法在循环迭代了800次之后,一定能够得到稳定的模型参数,剔除掉错误的匹配点。

3 实验效果分析

为了验证提出的算法,选取了一组图片进行拼接实验,观察该算法的效果,待拼接的两张图片如图1所示。利用Matlab软件,分别运用常规的SIFT算法和改进的算法对两幅图像提取的特征点进行匹配,观察最终效果。实验中引入RANSAC算法进行筛选时,局内点阈值使用的是Matlab函数提供的默认阈值,从最终效果来看,选取默认阈值就可以达到理想的筛选效果。在实验中使用同一台电脑上的Matlab软件来运行。

图1 待拼接图片

当使用常规的SIFT算法对图像进行特征点匹配之后的图片如图2所示,图中线段连接的就是匹配的特征点。可以很明显地从图像中看到,匹配结果中出现了一对多匹配以及误匹配的情况,最终效果并不理想。

图2 SIFT算法匹配的特征点

在SIFT算法匹配的基础上,再引入RANSAC算法对已经匹配的特征点进行筛选,最终匹配的特征点如图3所示,显然图2中的一些明显错误的匹配点已经被剔除了。

图3 引入RANSAC算法之后得到的匹配点

两种匹配算法利用Matlab运行之后的比较如表1所示。

表1 两种算法比较

从上表可知,RANSAC算法对SIFT算法匹配之后的特征点进行筛选之后,程序运行的时间大约增加了10%,剔除了大约9%的匹配点,从图中3观察,已经找不到明显的错误匹配点,大大提高了匹配的准确率。

在图3的基础上,再进行图像拼接,最后得到的结果如图4所示。

从图4可以看出,图像拼接很自然,效果很好。

接下来,在图片存在噪声、旋转、以及光线差异的情况下,利用提出的算法进行拼接,观察实验效果。

图4 拼接完成后的效果图

给待拼接图片1加入椒盐噪声之后,匹配的特征点如图5所示。

图5 加入噪声后匹配的特征点

最后拼接完成的效果图如图6所示。

图6 拼接效果图

将待拼接图片1旋转一定角度后,利用该算法匹配的特征点如图7所示。

图7 旋转变换后匹配的特征点

最终的拼接效果如图8所示。

图8 拼接效果图

将待拼接图片1进行处理,使其与待拼接图片2的亮度不一致,得到的特征点匹配结果如图9所示。

图9 存在光线差异时匹配的特征点

最终的拼接效果如图10所示。

图10 拼接效果图

通过以上拼接实验结果可以看出,该算法在图片存在噪声、旋转、以及光线差异的情况下仍然具有很好的拼接效果,具有普适性。

4 结论

SIFT算法是当前进行特征点检测和匹配的所有算法中比较有效的算法,为了完成后续的图像拼接,需要提高特征点匹配的准确率。针对SIFT算法在图像的特征点匹配过程中容易产生误匹配的缺点,通过在SIFT算法的基础上引入RANSAC算法,构建了一种基于SIFT特征点匹配算法的优化算法。该算法在匹配准确率上明显超过SIFT算法,具有应用价值。但是该算法在实际应用中仍存在很多待改进之处,如何进一步减少算法的运算时间是下一步待研究的问题。

[1]赵烨,蒋建国,洪日昌.基于RANSAC的SIFT匹配优化[J].光电工程,2014,41(8):58-64.

[2]姜文聪,张继贤,程春泉,等.SIFT与粗差剔除算法相结合的机载SAR影像匹配研究[J].地球信息科学学报,2013,15(2):440-445.

[3]陈华,邓喀中,张以文,等.结合SIFT和RANSAC算法的InSAR影像配准[J].测绘通报,2015,61(12):30-33.

[4]张谦,贾永红,胡忠文.多源遥感影像配准中的SIFT特征匹配改进[J].武汉大学学报:信息科学版,2013,38(4):455-459.

[5]陈艺虾,孙权森,徐焕宇,等.SURF算法和RANSAC算法相结合的遥感图像匹配方法[J].计算机科学与探索,2012,6(9):822-828.

[6]张静,袁振文,张晓春,等.基于SIFT特征和误匹配逐次去除的图像拼接[J].光电技术应用2016,37(1):136-140.

[7]林婧,郝永平,华宇宁.SIFT特征在图像配准过程中的应用研究[J].沈阳理工大学学报,2009,28(5):26-29.

[8]宋巨艳.RANSAC算法及其在遥感图像处理中的应用[D].北京:华北电力大学,2011.

[9]孙艳丽,李建海,周伟,等.SIFT在高分辨率SAR图像自动配准中的性能分析[J].电子设计工程,2011,19(7):180-183.

猜你喜欢
尺度空间图像匹配特征向量
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
克罗内克积的特征向量
基于AHP的大尺度空间域矿山地质环境评价研究
一类特殊矩阵特征向量的求法
居住区园林空间尺度研究
一种用于光照变化图像匹配的改进KAZE算法
EXCEL表格计算判断矩阵近似特征向量在AHP法检验上的应用
基于降采样归一化割的多尺度分层分割方法研究
基于尺度空间的体数据边界不确定性可视化研究
基于SIFT和LTP的图像匹配方法