SIFT尺度不变特征转换(二)

前言:本文着眼于记录自己从普通CVer入门三维重建的学习过程,可能过程比较坎坷,都在摸索阶段,但争取每次学习都能进一步,提高自己的能力,同时,每篇文章都会按情况相应地推出B站讲解视频,可以关注up 出门吃三碗饭 观看讲解视频,文章同步更新到公众号 AI知识物语 ,大家可以关注下助助力。另外本平台的评论私信不会看,有问题可以移步B站视频评论区or私信。
最后感谢相关博主,开源社区,github等对内容的贡献,也希望各位读者在读完后能有自己的收获,并且写文章分享自己的心得,希望这个社区越做越好。
本文区别于其他博客文章,力求在不引入过度复杂数学知识的条件下介绍这个重要的SIFT算法,放心食用。

(一)SIFT尺度不变特征转换

优点:相比上一小节的角点检测算法,Harris,SIFT具有角度和尺度不变性,不论图像平移or旋转or缩放or亮度、噪声对特征点检测没影响,并且计算更快、准 。理解好SIFT算法原理对三维重建工程的实现具有重大作用。
算法流程:

尺度空间检测——>关键点定位——>特征方向幅值——>关键点描述

尺度空间检测:
引入概念:
尺度空间:

一张图像x,y轴,是二维的,把多张图像沿y轴叠加起来,构成三维空间,并沿z轴,使用不同的sigma值的高斯滤波核对图像依次进行滤波处理。通过上述得到的空间叫尺度空间,是三维的。

图像金字塔:

对图像进行下采样,也就是图像尺寸的依次递减(可以设为减半)

高斯图像金字塔:

对图像金字塔的每层图像依次进行不同程度的高斯滤波。

高斯差分尺度空间:对每一层图片差分,保留原始图像的细节

在这里插入图片描述
在这里插入图片描述
现在观察左下角的小图,
左图(底部绿色顶部蓝色)的图叫高斯模型,右图是高斯差分尺度空间
高斯模型这里有6张不同尺度的图像,依次差分,可以得到右边含有5层特征图的高斯差分空间。

**额外解释下(可跳过)

(1)上图的阶数表示有3给Octave,这个可以由个人自己定,阶数越多计算量越大
(2)有效差分为3,为什么不为5? 因为右边的高斯差分尺度空间里面,只有中间三层是有上下两层的,通俗说就是其周围特征信息丰富,而顶部和底部层只有一层相邻,周围特征信息少,若用来计算,误差会增大,故舍弃顶层和底层。在后面求极值点的时候更好理解。
(3)为什么每阶层数N=S+3, 代入到图里数数就可以,S=3(红色的层数),左边数下有6层。
另外我们还可以推出来, 高斯差分尺度空间的层数=N-1=S+2

现在已知包含输入图像特征图的空间,我们需要提取其特征就要先找到图像特征图的极值点!

在这里插入图片描述
为了寻找图片的特征点,在不同尺度空间的极值,因为其通常在图片的焦点灰度突变的地方。因此我们选择对 高斯差分尺度空间 进行插分,得到右边的上图。
假设我们选取的区域大小为33,同时在该层的相邻两层也同取33空间,现在依次取 中间层上的点(红点),与周围26个点(333-1)进行比较,如果红点的值匹配出来是最小的or最大的,我们可以把其当作特征极值点。

关键点定位:

在这里插入图片描述
上图,因为图片的坐标是离散(非连续),通过**“曲面拟合”**的方法,在曲线上求值,可以得到更精确的点。
现在,我们获得的关键点是在不同的尺度空间中获得,这些关键点具有尺度不变性,如何具有空间不变性?

特征方向赋值:
步骤:

关键点梯度求解——>利用关键点邻域所有点的梯度方向,当做极值点的方向
在这里插入图片描述在某一点X方向的变化,是此点上一个X值减去下一个X值,
Y也是 上一个Y减去下一个Y
幅值公式为G(x,y)
θ是最后求得的方向信息

在这里插入图片描述
左图的箭头方向是各个梯度方向,其箭头越长表示其代表的方向幅值越大。
拿起作为窗口,统计窗口内这些梯度方向他赋值的累计值。 方向累计值最高的方向,可以作为该特征点的主方向。有时候也会把第二高的方向等作为辅方向

关键点描述:
步骤:对关键点周围像素进行方向统计,高斯加权,生成关键点

在这里插入图片描述图片里讲得很清楚了,我就复述一下:用128维向量描述特征点, 特征点的描述子, 选取特征点周围88的像素,进行方向梯度的统计,高斯加权,每44窗口生成8个方向,这样就生成了448的向量作为特征点的数学描述。
SIFT 生成4 * 4 * 8共128维向量作为特征点的描述子,最后通过描述子的欧式距离来进行特征点的匹配.

SIFT检测结果
在这里插入图片描述

本文的代码会在后面的文章中放出(暂时未分析好)

1参考视频,这个老师讲得比较易懂(无数学推导)
2想从数学层面更好了解,可以参考这张,写得挺好,我还一部分数学没推导出,就不班门弄斧了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值