尺度不变特征转换(Scale-invariant feature transform 或 SIFT)是一种电脑视觉的算法用来侦测与描述影像中的局部性特征,它在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量,此算法由 David Lowe 在1999年所发表,2004年完善总结。
其应用范围包含物体辨识、机器人地图感知与导航、影像缝合、3D模型建立、手势辨识、影像追踪和动作比对。
此算法有其专利,专利拥有者为 英属哥伦比亚大学。
局部影像特征的描述与侦测可以帮助辨识物体,SIFT 特征是基于物体上的一些局部外观的兴趣点而与影像的大小和旋转无关。 对于光线、噪声、些微视角改变的容忍度也相当高。基于这些特性,它们是高度显著而且相对容易撷取,在母数庞大的特征数据库中,很容易辨识物体而且鲜有误认。
使用 SIFT特征描述对于部分物体遮蔽的侦测率也相当高,甚至只需要3个以上的SIFT物体特征就足以计算出位置与方位。
在现今的电脑硬件速度下和小型的特征数据库条件下,辨识速度可接近即时运算。
SIFT特征的信息量大,适合在海量数据库中快速准确匹配。
在这个阶段,主要是侦测兴趣点,也就是SIFT架构中的关键点。 影像在不同的尺度下用高斯滤波器(Gaussian filters)进行卷积(convolved),然后利用连续高斯模糊化影像差异来找出关键点。关键点是根据不同尺度下的高斯差(Difference of Gaussians,DoG)中的最大最小值所导出。 更具体的,DoG影像的 是由:
是在尺度 的条件下,由原始影像与高斯模糊进行卷积,例如 :
是尺度可变高斯函数
邻近资料插补
舍弃不明显关键点
消除边缘回应
关键点邻域图元点的梯度方向分布特性作为指定方向参数,使算子具备旋转不变性。
根据Lowe的建议,每个关键点使用16个种子点来描述,从而一个关键点就可以产生一个128维资料,即128维的SIFT特征向量。
利用SIFT特征进行物体辨识
机器人地图感知与导航
全景图缝合
3D扫描建模,辨识,追踪
利用3D SIFT特征进行人类行为辨识