
SIFT 算法原理与试验分析
David Lowe 在总结现有的基于不变量特征检测方法基础上,提出了一种基于尺度空间
的不变特征提取算法以及基于该特征的描述符,并将这种方法命名为尺度不变特征变换
(Scale Invariant Feature Transform)-简称 SIFT 算法。该不变性特征具有在平移、旋
转、缩放、甚至仿射变换条件下保持不变的特点。
①SIFT的主要思想:
SIFT算法是一种在尺度空间寻找极值点,提取位置、尺度、旋转不变的局部特征提取算法。
②SIFT的主要特点:
a) SIFT特征是图像的局部特征,其对平移、旋转、尺度缩放、亮度变化保持不变性,对光
照变化、视角变化、仿射变换、噪声也保持一定程度的稳定性。具有较强的鲁棒性。
b) 独特性(Distinctiveness)好,信息量丰富,适用于在海量特征数据库中进行快速、准确
的匹配,在特征匹配时可以以一个很高的概率正确匹配。
c) 多量性,即使少数的几个物体也可以产生大量SIFT特征向量,这对于目标识别非常重要。
d) 高速性,经优化的SIFT匹配算法甚至可以达到实时的要求。
e) 可扩展性,可以很方便的与其他形式的特征向量进行联合。
③SIFT 算法步骤:
1) 检测尺度空间极值点
2) 精确定位极值点,得到关键点,并确定关键点的位置和所处的尺度
3) 为每个关键点指定方向参数(使用极值点邻域梯度的主方向作为该关键点的方向特
征,以实现算子对尺度和方向的无关性)
4) 关键点描述子的生成
利用 SIFT 算法从图像中提取出的特征可用于同一个物体或场景的可靠匹配。
④SIFT 算法的原理
▲尺度空间的生成
尺度空间理论目的是模拟图像数据的多尺度特征。(为了使特征具有尺度不变性,特征
点的检测是在多尺度空间完)成的。尺度空间理论最早出现于计算机视觉领域时,其目的是
模拟图像数据的多尺度特征。
高斯卷积核是实现尺度变换的唯一变换核,并且是唯一的线性核。 所以一幅二维图像
的尺度空间定义为:
L(x, y,
) G(x, y,
) I (x, y)
其中
G(x, y,
)
是尺度可变高斯函数,
G(x, y,
)
1
2
2
e
( x
2
y
2
)
/ 2
2
(x,y)是空间坐标,符号*表示卷积,(x,y)代表图像的像素位置,
是尺度空间因子,
值越小表示图像被平滑的越少,相应的尺度也就越小。大尺度对应于图像的概貌特征,小
尺度对应于图像的细节特征。
为了有效的在尺度空间检测到稳定的关键点,提出了高斯差分尺度空间(DOG scale-space)。
利用不同尺度的高斯差分核与图像卷积生成。
D(x, y,
) (G(x, y, k
) G(x, y,
)) I (x, y) L(x, y, k
) L(x, y,
)
选择高斯差分函数主要有两个原因,第一,它计算效率高。第二,它可作为尺度归一化的拉
普拉斯高斯函数
2
2
G
的一种近似。DOG 算子计算简单,是尺度归一化的 LoG 算子的近似。
图像金字塔的构建:图像金字塔共 O 组,每组有 S 层,下一组的图像由上一组图像降采样
1