核心要点
说出 SIFT 四步:尺度空间、关键点、方向、描述子
解释尺度不变与旋转不变如何实现
说明在匹配与拼接中的应用
知道专利过期与 ORB/SuperPoint 替代
标准回答
SIFT 四阶段(Lowe, 2004)
- 尺度空间极值检测:高斯金字塔 + DoG,找 3D 空间局部极值作为关键点
- 关键点定位:拟合剔除低对比度与边缘响应不稳定点
- 方向分配:邻域梯度直方图峰值 → 主方向,实现旋转不变
- 描述子:4×4 子区域 × 8 方向梯度直方图 = 128 维向量,归一化抗光照
不变性
- 尺度:多尺度 DoG 检测
- 旋转:按主方向旋转坐标再采样
- 光照:梯度方向比绝对亮度稳;向量 L2 归一化
应用:全景拼接、物体识别(BoVW)、结构从运动 SfM、图像检索。
局限:计算慢;纹理少区域关键点少;大视角变化仍困难。
现状:专利已过期;实时场景多用 ORB;学习式 SuperPoint/LF-Net 兴起。传统几何 CV 面试仍常考 SIFT 原理。
详见 特征匹配。
常见误区
⚠️ 常见踩坑
说不清 DoG 与尺度空间;把 SIFT 说成全局描述子;不知道 128 维如何组成。
追问
追问 1:DoG 为何近似 LoG?
高斯函数对尺度 σ 求偏导满足热扩散方程,∂G/∂σ ≈ σ∇²G,即尺度归一化的 LoG 正比于相邻尺度高斯之差。所以用两幅不同 σ 的高斯图相减(DoG)就能廉价逼近 LoG,省去昂贵的二阶导卷积。LoG 极值能稳定定位 blob,因此 SIFT 用 DoG 金字塔找关键点。
追问 2:SIFT 匹配如何做?
对两图的 128 维描述子算欧氏距离做最近邻匹配,常用 KD-Tree/FLANN 加速。用 Lowe 比值测试(最近邻距离 / 次近邻距离 < 0.7~0.8)剔除模糊匹配,再用 RANSAC 估计单应/基础矩阵去掉外点。图像拼接、SfM 都靠这套筛出几何一致的内点。
追问 3:深度学习如何替代 SIFT?
SuperPoint/KeyNet 学可重复关键点与描述子;端到端 homography 估计。学习特征在宽基线、纹理差场景常更优,但几何可解释性弱。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。
📰 AI 资讯
🛠️ AI 工具
- OpenCV
开源计算机视觉库,87,181+ stars。全球最广泛使用的计算机视觉库,提供 2500+ 优化算法,涵盖图像处理、目标检测、人脸识别、相机标定等领域。支持 C++、Python、Java,是 AI 视觉应用的基石。