SIFT 特征点

SIFT 特征点

sift特征点是非常传统计算机视觉中非常重要的方法,也是最广为人知的算法之一。它也是一个复杂的算法,考虑了尺度特性、旋转特性等。具有如下的优势:

  • 局部性:特征点是局部的,不会受到遮挡的影响
  • 可区分性:能从巨大的数据集中区分每个特征
  • 质量:提取特征点的质量非常高
  • 高效:能够取得接近实时的表现
  • 可拓展性:能够轻易的拓展成其他类型的特征点,以提高其鲁棒性

算法主要包括如下几个步骤:

  • 尺度空间极值检测
  • 特征点定位
  • 方向估计
  • 特征点描述子

尺度空间极值选择

尺度空间

同一个物体在不同尺度下呈现出不同的状态,近的物体能够看到更多的细节远出物体仅剩下主要轮廓并更加模糊。
因此构建如下图所示的尺度空间,模拟人在不同远近看到同一物体不同的效果。

金字塔的每一层包含多张相同尺寸图片,但是采用不同参数的高斯模糊得到不同清晰度的图片,从上到下变得越来越模糊。而金字塔的不同层之间具有不同尺寸大小的图片,相邻两层之间是两倍的关系。
在这里插入图片描述

DOG(Difference of Gaussian kernel)差分高斯核

差分高斯核类似于响应函数,即能够描述当前点是特征点的可能性。具体采用构建的尺度空间金字塔,在每一层不同清晰程度图片之间进行差分得到差分高斯核。
在这里插入图片描述

为何采用如此方式计算出来的数据能够表明当前位置为特征点的概率呢?

关键点搜索

如果某个点是当前层中周围八个点及上一层中周围9个点和下一层中周围9个点共26个点中的极值,那么该点则被判定为极值点即关键点。
在这里插入图片描述

特征点定位

三次线性插值

为了提高特征点的定位精度,对特征点的位置进行了曲线拟合,利用周围点数据拟合曲线得到曲线极值作为提取得到的特征点的精确位置。
在这里插入图片描述

边缘点去除

由于DOG对边缘同样具有较高的响应,因此会检测得到大量的边缘点,需要进行剔除,具体采用与Harris角点类似的策略,即通过特征点判断当前位置是边缘or角点。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t31G6K42-1640760037181)(https://storage.live.com/items/B149F35319CAD365!2072?authkey=ANFgi5h3UzMEHv8)]

方向估计

  1. 对特征点位置3 σ \sigma σ邻域窗口内计算其梯度的幅值和方向
  2. 将梯度方向0-360分为36组
  3. 按照高斯分布加权对不同方向的梯度值进行统计
  4. 确定统计量最多的方向为主方向
  5. 保留统计量超过最大值百分之八十的方向为辅方向
    在这里插入图片描述

特征点描述子

首先选取周围16x16像素点,将其分为4x4大小的子区域,总共16个子区域。
在这里插入图片描述

然后对每个子区域统计八个方向的梯度方向直方图,每个子区域用这8个统计结果进行描述。
在这里插入图片描述

最后得到 8 x 16 = 128 个数据作为描述符向量。

  • 旋转不变性
    • 对计算的梯度信息减去当前特征点的旋转角度进行归一化即可
  • 光照不变性
    • 对于梯度大于0.2的数据同一限制到0.2,这样光照变强对比变强,相对梯度变大也会被限制到同样的0.2,保证了光照不变性。
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值