SIFT算法流程介绍

一,关键点定位

直观上来说,关键点的定位是SIFT算法的核心部分,正是因为这一步的存在,才有了后面的操作。注意,这里只讲算法的大致流程。

DoG(Difference of Gaussian,高斯差分图)的构造

对同一张图片,选取不同的高斯核(也就是标准差不同),就产生了一个图像簇,使用这些图像簇互相做减法,就得到了DoG。再对原图进行下采样,重复上面的操作,就得到了多尺度DoG。多尺度的目的是为了模拟人眼远近看到的图片大小不同。通过这种方法达到了尺度不变性
在这里插入图片描述
就如上图一样,图片来自这里。具体的细节,也可以参考这篇文章,写得真的很好。

选取极值点(关键点)

选取极值点是在DoG图片中选取的,具体的做法就是和周围的像素相比较,选择一个最大的数来代替现在位置的数。

在这里插入图片描述
就比如上面的那张图片一样,中间的像素要和周围的333-1 = 26个像素相比较。

二,关键点方向确定

关键点确定之后,以关键点坐标(在原图上的坐标)为圆心,做一个圆,把圆内所有的梯度方向叠加到8个方向上面,然后选取最大值,作为关键点主方向。通过这种方法,达到了方向不变性。
确定了主方向,后面的操作就会围绕这个主方向来进行。

三,描述子的生成

将坐标轴和主方向的方向对齐。如下图:
Alt
然后就是选择一个大小合适的方框,把方框分为4×4个小格,每个小格都有8个主方向,同理,也是计算每个小格的梯度方向,然后加到8个方向里面(如果方向不同,就取方向最相近的一个方向。)然后最后得到的就是4×4×8大小的向量,这个向量就是SIFT描述子。
这里是参考网址。

(后面有时间了再写如何匹配)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值