按 6 个步骤推进,观察 SIFT/SURF 关键点如何被检测、定向、描述和匹配。可在每步切换 SIFT/SURF/对比 标签。
沿着 6 个步骤观察 SIFT/SURF 关键点如何被检测、定向、描述和匹配。 SURF 是 SIFT 的加速版本,可以在每步切换标签对比差异。
算法会自动补充额外高斯层,保证 26 邻域跨尺度检测有足够中间层。
当同一张图被拉近、拉远或旋转一定角度后,同一个角点在图像里占的像素大小和方向都会变。如果检测器只认固定大小的窗口,就可能在某些尺度上找不到同一个关键点。
常用的处理办法是在多个尺度上同时观察图像:先用高斯模糊得到不同清晰程度的图层,再在相邻图层的差分里找极值点;给每个点分配一个主方向,让描述子对旋转也稳定;最后把周围梯度信息编码成固定长度的描述向量。
切换 SIFT 和 SURF 视角,拖动缩放条或旋转图像,观察同一关键点是否在不同尺度下都能被检测到;再对比描述子网格,看看方向归一化后相似结构的向量是否接近。
共 8 个关键点
SIFT(Scale Invariant Feature Transform)是一种经典的局部特征检测算法。 它将一幅图像映射为局部特征向量集,特征向量具有平移、缩放、旋转不变性, 同时对光照变化、仿射变换也有一定不变性。
总共包括四步:(1)检测尺度空间极值点;(2)精确确定关键点位置和尺度; (3)为关键点分配方向;(4)生成关键点描述子。