详解SIFT算法

sift(scale-invariant feature transform)尺度不变特征变换算法,其具体特征有:

a:sift是图像的局部特征,其对旋转,尺度缩放,亮度变化保持不变,对视角变化,仿射变换,噪声也保持一定程度的稳定性;

b:区分性好,信息量丰富,使用与海量特征数据库中进行快速,准确的匹配;

c:多量性,即使少数的几个物体也可以产生大量的sift特征向量;

d:高速性,经优化的sift匹配算法甚至可以达到实时性要求;

e:可扩展性好,可以很方便的与其他形式的特征向量进行联合.

主要有以下几个步骤:

  1. 构建尺度空间 (高斯卷积;图像下采样;高斯差分):

  • 尺度空间理论的目的是模拟图像数据的多尺度特征;高斯卷积核是实现尺度变换的唯一线性核;

高斯差分尺度变换:









  1. 关键点获取并精确定位

    若一个点在DOG尺度空间本层以及上下两层26个邻域内是极值点,该点为一个特征点


















在极值点的比较中,每一组图像的首末两层无法进行极值比较,为了满足尺度变化的连续性,我们在每一组图像的定曾继续用高斯模糊生成3幅图像,高斯金字塔每组有S+3层图像,DOG金字塔每组有S+2层图像.

harris corner检测器去除曲率不对称的像素点.

  1. 为特征点分配向量

    利用关键点邻域像素的梯度方向分布特性为每个关键点指定方向参数,使算子具有旋转不变性.

L所用的尺度为每个关键点各自所在的尺度,每个关键点有三个信息:位置,所在尺度,方向;

中心点的方向:

距离中心点越远的领域对直方图的贡献越小;

具体做法:以关键点为中心的邻域窗口采样,并用直方图统计邻域像素的梯度方向,范围(0-360)

36柱或者8柱都可,直方图的峰值则代表了关键点处邻域梯度的主方向,即关键点的方向.




  1. 生成特征描述子

    a:旋转主方向(旋转不变性)

    首先将坐标轴旋转为关键点的方向,以确保旋转不变性;

    b:为每个关键点产生128维的特征向量

一个关键点由2*24个种子组成,每个种子有8个方向向量信息,这种邻域方向性信息联合的思想增强了算法抗噪声能力,同时对于含有定位误差的特征匹配也提供了很好的兼容性;在每个4*41/16象限中,通过加权梯度值加到直方图8个方向区间一个,计算出一个梯度直方图.这样就可以对每个feature形成一个4*4*8=128维的描述子.

c:将特征向量的长度归一化处理(光照不处理)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以在加拿大University of British Columbia的计算机科学系教授David G. Lowe的学术网站上找到SIFT算法的Matlab代码。这个代码最初是由D. Alvaro和J.J. Guerrero从Universidad de Zaragoza提供的。你可以在这个网址上找到代码:http://www.cs.ubc.ca/~lowe/keypoints/ [1。此外,你还可以参考这篇博客文章https://blog.csdn.net/zddblog/article/details/7521424,它对SIFT算法进行了简单介绍并提供了具体的代码实现。 SIFT算法的实质是在不同的尺度空间上查找关键点,并计算出关键点的方向。SIFT所查找到的关键点是一些十分突出的点,不会因光照、仿射变换和噪音等因素而变化,例如角点、边缘点、暗区的亮点和亮区的暗点等。 SIFT算法的实现可以分为以下四个步骤: 1. 尺度空间极值检测。 2. 关键点定位。 3. 方向分配。 4. 关键点描述和匹配。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Matlab实现sift特征检测和两幅图像的特征点匹配(D. Lowe)](https://blog.csdn.net/qq_45717425/article/details/120918117)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [SIFT算法详解(附有完整代码)](https://blog.csdn.net/weixin_47156401/article/details/122367593)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值