[VP] SIFT尺度不变特征变换 Scale-invariant feature transform


一、特征检测

1、DoG图像金字塔

大概就是,用不同 σ \sigma σ 的高斯滤波器对图像滤波,然后做差
在这里插入图片描述

2、寻找局部极值

在这里插入图片描述

  • 1、对于DoG金字塔的每一个点,比较它邻近的(包括临近层)26个点

  • 2、寻找极值,作为潜在的关键点,这基本上意味着关键点最好在这个尺度上表示

3、SIFT关键点展示

  • 1、去除低对比度特征:如果DoG中有的点低于某个设定的值,那就去掉

  • 2、移去小于0.1倍最大值的所有关键点

最后结果举例:
在这里插入图片描述

3、为关键点指定方向

接下来是为每个关键点指定一个方向,这个方向提供了旋转不变性。

  • 1、对于所有尺度,计算梯度振幅和取向

在这里插入图片描述

  • 2、梯度幅度用2D高斯加权

在这里插入图片描述

  • 3、将方向和幅度之和分配给关键点

在这里插入图片描述

  • 4、按照方向,将对应的幅度放入直方图,极值所在的bin的值就代表了关键点的方向,达到极值的80%以上的bin,将转换成新的关键点

在这里插入图片描述

二、局部图像描述

  • 1、使用与关键点尺度相关的高斯模糊图像

  • 2、在每个像素检测到的特征周围的16x16方形窗口上获取图像梯度

  • 3、相对于关键点方向旋转梯度方向和位置

  • 4、创建方向直方图数组

  • 5、将有8个bins的旋转梯度添加到它们的局部方向直方图中

  • 6、所得到的SIFT描述符是一个长度为128的矢量,代表一个4x4直方图数组,每个直方图有8个方向bins

在这里插入图片描述

三、索引和匹配

1、 图像匹配

  • 1、找到目标图像中识别的所有关键点,每个关键点都有二维位置、尺度和方向,以及不变的描述符向量

  • 2、对于每个关键点,在参考图像数据库中搜索相似的描述符向量,描述符向量可以匹配数据库中的多个参考

2、特征匹配

如何搜索相似的描述符向量?

  • 1、定义比较两个描述符的距离函数, 比如 L2距离,最好的是ratio距离

r a t i o d i s t a n c e = ∣ ∣ f 1 − f 2 ∣ ∣ ∣ ∣ f 1 − f 2 ′ ∣ ∣ < t ratio distance = \frac{||f_{1} - f_{2}||}{||f_{1} - f_{2}^{'}||} < t ratiodistance=f1f2f1f2<t
其中, f 2 f_{2} f2是最接近的距离, f 2 ′ f_{2}^{'} f2是第二接近的距离, 一般当 t = 0.8时,接受满足上式的匹配

  • 2、测试数据库中的所有特征,找到距离最小的特征

3、结果评估

True positives = # of detected matches that are correct

False positives = # of detected matches that are incorrect

然后计算AUC的值,最高 = 1

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是土豆大叔啊!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值