基于 SIFT 算法的图像特征匹配
一、程序主要原理说明
本次作业依据原理为 SIFT 尺度不变特征转换。该算法检测图像的局部特征,并在尺
度空间中寻找极值点,并提取出其位置、尺度、旋转不变量。
SIFT 算法主要分解为以下五步:
1.构建尺度空间
构建图像在不同尺度下的高斯空间,即构建高斯金字塔,并在此基础上使用高斯差
分方法对高斯拉普拉斯方法 LoG 近似模拟,生成对应的 DoG 空间。该步骤对图像进行
初始化操作,尺度空间理论的目的是模拟图像数据的多尺度特性。
在本步骤中,注意到高斯金字塔内,同一组内相邻层间尺度关系为:
1/
, 1 ,
s
s s
s o s o
o
+( )= ( )* 2
其中, 代表高斯金字塔的组数,
s代表该图像在同一组图像中的层数
相邻组的同层尺度关系为:
1 / /
1 2 1
1/
1, =2 * =2 ,
( , , ,..., ),
2 ,
Lowe =1.6 S=3
s S s S
o o
i n
S
o
s s
k k k
k i
o o
s o s s s o
s s s s
s
+ + +
- -
+
=
( )= * 2 2 ( )
2
其中, 为金字塔组数,n为每组图像的层数。
在参考 的文献中,将参数 ,每组的图像层数
最后组内尺度和组间尺度归为:
1 / /
1 2 1
1/
1, =2 * =2 ,
( , , ,..., ),
2 ,
Lowe =1.6 S=3
s S s S
o o
i n
S
o
s s
k k k
k i
o o
s o s s s o
s s s s
s
+ + +
- -
+
=
( )= * 2 2 ( )
2
其中, 为金字塔组数,n为每组图像的层数。
在参考 的文献中,将参数 ,每组的图像层数
为了在生成图像金字塔和 DoG 空间时的尺度连续性,每一组图像还需使用高
斯模糊生成 3 个图层。在生成下一组图层时,图像的底层由前一组图像的倒数第三
层图像隔点采样生成。高斯空间中,相邻两个图层做差分运算,在同一组的图像差
分运算完成后,只取中间三个图层作为 DoG 空间同一组的图层。
2.检测尺度空间的极值点
图像的特征点是由 DoG 空间的局部极值点构成的。特征点的搜索是通过同一组
内各 DoG 相邻两层之间比较完成的。为了寻找出尺度空间的极值点,每一个检测点
与和它位于同一层,即同尺度的 8 个相邻点和上下相邻尺度对应的 9*2 个点,总共
8+9*2=26 个点进行比较,以确保在尺度空间和二维空间中都检测到极值点。
3.精确定位特征点