摘要
尺度不变特征转换(Scale-invariant feature transform 或 SIFT)是一种电脑视
觉的算法用来侦测与描述影像中的局部性特征,它在空间尺度中寻找极值点,并
提取出其位置、尺度、旋转不变量,此算法由 David Lowe 在 1999 年所发表,2004
年完善总结。
本文从初学者的角度,简单学习 SIFT 算法,并初步实现了对图像提取 SIFT
特征,为之后进一步的学习和研究奠定了基础。
一、算法的基本理论及方法
1.1 Sift 算法的基本思想
Sift 算法是一种提取局部特征的算法,在尺度空间寻找极值点,提取位置尺
度,旋转不变量。
1.2 Sift 算子的主要特征
(1) Sift 特征是图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变,对
视角变化、仿射变换、噪声也保持一定程度的稳定性。
(2) 独特性好,信息量丰富,适用于在海量特征数据库中进行快速、准确的匹配。
(3) 多量性,即使少数的几个物体也可以产生大量的 sift 特征向量。
(4) 高速性,经优化的 sift 匹配算法甚至可以达到实时的要求。
(5) 可扩展性,可以很方便地与其他形式的特征向量进行联合。
1.3 Sift 算法的主要步骤
1.3.1 尺度空间极值检测
搜索所有尺度上的图像位置。通过高斯微分函数来识别对于尺度和旋转不变
的兴趣点。
1. 尺度空间的建立
二维图像,在不同尺度下的尺度空间表示可由图像与高斯核卷积得到:
L(x, y,
G(x, y,
)* I(x, y)
·······························(1)
式中,
(x, y)
代表图像的像素位置,
L
代表图像的尺度空间,
为尺度空间
因子,其值越小则表征被平滑的越少,相应的尺度也就越小,同时大尺度对应于
图像的概貌特征,小尺度对应于图像的细节特征。
G(x, y,
)
是尺度可变的高斯函数,定义如下
G(x, y,
)
1
2
1
2
( x
2
y
2
)
e
2
2
···································(2)