SIFT特征和SURF特征比较
SIFT特征基本介绍
SIFT(Scale-Invariant Feature Transform)特征检测关键特征:
- 建立尺度空间,寻找极值
- 关键点定位(寻找关键点准确位置与删除弱边缘)
- 关键点方向指定
- 关键点描述子
建立尺度空间,寻找极值
工作原理
构建图像高斯金字塔,求取DOG,发现最大与最小值在每一级
构建的高斯金字塔,每一层根据sigma的值不同,可以分为几个待级,最少有4个。
关键点定位
- 我们在像素级别获得了极值点的位置,但是更准确的值应该在亚像素位置,如何得到--这个过程称为关键点(准确/精确)定位。
- 删除弱边缘--通过Hassian矩阵特征值实现,小于阈值自动舍弃。
关键点方向指定
- 求得每一层对应图像的梯度,根据给定的窗口大小
- 计算每个高斯权重,sigma=scale*1.5, 0-360之间建立36个直方图Bins
- 找最高峰对应的Bin,大于max*80%的都保留
- 这样就实现了旋转不变性,提高了匹配时候的稳定性
- 大约有15%的关键点会有多个方向
关键点描述子
- 拟合多项式插值寻找最大Peak
- 得到描述子 = 4*4*8=128
SURF效果演示:
SIFT效果演示:
【测试环境】
vs2019, netframework4.7.2,opencvhsarp4.8.0
【源码下载】
https://download.csdn.net/download/FL1623863129/88800068