尺度空间及SIFT

尺度空间方法的基本思想是在视觉信息处理模型中引入一个被视为尺度的参数,通过连续变化尺度参数获得不同尺度下的视觉处理信息,然后综合这些信息以深入地挖掘图像的本质特征。尺度空间方法将传统的单尺度视觉信息处理技术纳入尺度不断变化的动态分析框架中,因此更容易获得图像的本质特征。尺度空间的生成目的是模拟图像数据多尺度特征。高斯卷积核是实现尺度变换的唯一线性核。

不同大小的物体有着不同的尺度,这个scale的表示,可以用放大缩小表示,可以用高斯blur来模拟。
如果不同的尺度下都有同样的关键点,那么在不同的尺度的输入图像下就都可以检测出来关键点匹配了。
所以就有了尺度不变性。

关键字:高斯尺度金字塔

打个比方,人近视眼就是一个高斯blur,blur的越大说明尺度越大。
SIFT通过不同sigma的高斯blur参数,模拟出了不同尺度的特征。


 
 主要步骤 

  

  1)尺度空间的生成

 

   2)、检测尺度空间极值点;

 

  3)、精确定位极值点;

 

  4)、为每个关键点指定方向参数;

 

  5)、关键点描述子的生成。
 
 
 
关于尺度空间
关于尺度空间
              L(x,y,σ), σ= 1.6 a good tradeoff
    关于尺度空间
                 D(x,y,σ), σ= 1.6 a good tradeoff
            关于尺度空间
  关于尺度空间
  关于尺度空间的理解说明:图中的2是必须的,尺度空间是连续的。在  Lowe的论文中 ,
   将第0层的初始尺度定为1.6,图片的初始尺度定为0.5. 在检测极值点前对原始图像的高斯
  平滑以致图像丢失高频信息,所以 Lowe 建议在建立尺度空间前首先对原始图像长宽扩展
  一倍,以保留原始图像信息,增加特征点数量。尺度越大图像越模糊。   
     关于尺度空间
                                                  next octave 是由 first octave 降采样得到(如2
           关于尺度空间关于尺度空间
              尺度空间的所有取值,s为每组层数,一般为3~5
 
关于尺度空间
          同一组中的 相邻尺度(由于k的取值关系,肯定是上下层)之间进行寻找
                      关于尺度空间
         在极值比较的过程中,每一组图像的首末两层是无法进行极值比较的, 为了满足尺度
     变化的连续性,我们在每一组图像的顶层继续用高斯模糊生成了  3 幅图像,高斯金字
         塔有每组S+3层图像。DOG金字塔每组有S+2层图像.
 
 
 
 
 
关于尺度空间
                                                                  关于尺度空间
关于尺度空间
        If ratio > (r+1)2/(r), throw it out (SIFT uses r=10)
                                  关于尺度空间表示DOG金字塔中某一尺度的图像x方向求导两次
              通过拟和三维二次函数以精确确定关键点的位置和尺度(达到亚像素精度)?
 
 
 
 
 
 
关于尺度空间
   直方图中的峰值就是主方向,其他的达到最大值80%的方向可作为辅助方向
       关于尺度空间
 Identify peak and assign orientation and sum of magnitude to key point
  The user may choose a threshold to exclude key points based on their
                             assigned sum of magnitudes.
 
           利用关键点邻域像素的梯度方向分布特性为每个关键点指定方向参数,使算子具备
           旋转不变性。以关键点为中心的邻域窗口内采样,并用直方图统计邻域像素的梯度
           方向。梯度直方图的范围是0~360度,其中每10度一个柱,总共36个柱。随着距
           中心点越远的领域其对直方图的贡献也响应减小.Lowe论文中还提到要使用高斯函
           数对直方图进行平滑,减少突变的影响。
  关于尺度空间
 
                               
                                                                            关键点描述子的生成步骤
                            关于尺度空间
       通过对关键点周围图像区域分块,计算块内梯度直方图,生成具有独特性
          的向量,这个向量是该区域图像信息的一种抽象,具有唯一性。
关于尺度空间
            每一个小格都代表了特征点邻域所在的尺度空间的一个像素 ,箭头方向代表了像素梯
            度方向,箭头长度代表该像素的幅值。然后在4×4的窗口内计算8个方向的梯度方向直
           方图。 绘制每个梯度方向的累加可形成一个种子点。
                关于尺度空间
          每个直方图有8方向的梯度方向,每一个描述符包含一个位于关键点附近的四个直方图
           数组. 这就导致了SIFT的特征向量有128维.(先是一个4×4的来计算出一个直方图,
           每个直方图有8个方向。所以是4×4×8=128维)将这个 向量归一化之后,就进一步
      去除了光照的影响。
 
                        关于尺度空间
                    旋转为主方向
           关于尺度空间
关于尺度空间
        关于尺度空间
          关于尺度空间
           关于尺度空间
                              关于尺度空间
 
 
 
 
 
基本概念及一些补充
什么是局部特征?
  •局部特征从总体上说是图像或在视觉领域中一些有别于其周围的地方
  •局部特征通常是描述一块区域,使其能具有高可区分度
  •局部特征的好坏直接会决定着后面分类、识别是否会得到一个好的结果
  局部特征需具备的特性
  •重复性
  •可区分性
  •准确性
  •数量以及效率
  •不变性
  局部特征提取算法-sift
  •SIFT算法由D.G.Lowe 1999年提出,2004年完善总结。后来Y.Ke将其描述子部分用PCA代替直方图的方式,对其进行改进。
    •SIFT算法是一种提取局部特征的算法,在尺度空间寻找极值点,提取位置,尺度,旋转不变量
  •SIFT特征是图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性。
  •独特性好,信息量丰富,适用于在海量特征数据库中进行快速、准确的匹配。
  •多量性,即使少数的几个物体也可以产生大量SIFT特征向量。
  •可扩展性,可以很方便的与其他形式的特征向量进行联合。
尺度空间理论
  •尺度空间理论目的是模拟图像数据的多尺度特征
  •其基本思想是在视觉信息图像信息处理模型中引入一个被视为尺度的参数, 通过连续变化尺度参数获得不同尺度下的视觉处理信息, 然后综合这些信息以深入地挖掘图像的本质特征。
描述子生成的细节
  •以极值点为中心点,并且以此点所处于的高斯尺度sigma值作为半径因子。对于远离中心点的梯度值降低对其所处区域的直方图的贡献,防止一些突变的影响。
  •每个极值点对其进行三线性插值,这样可以把此极值点的贡献均衡的分到直方图中相邻的柱子上
归一化处理
  •在求出4*4*8的128维特征向量后,此时SIFT特征向量已经去除了尺度变化、旋转等几何变形因素的影响。而图像的对比度变化相当于每个像素点乘上一个因子,光照变化是每个像素点加上一个值,但这些对图像归一化的梯度没有影响。因此将特征向量的长度归一化,则可以进一步去除光照变化的影响。
  •对于一些非线性的光照变化,SIFT并不具备不变性,但由于这类变化影响的主要是梯度的幅值变化,对梯度的方向影响较小,因此作者通过限制梯度幅值的值来减少这类变化造成的影响。
PCA-SIFT算法
  •PCA-SIFT与标准SIFT有相同的亚像素位置,尺度和主方向。但在第4步计算描述子的设计,采用的主成分分析的技术。
  •下面介绍一下其特征描述子计算的部分:
    •用特征点周围的41×41的像斑计算它的主元,并用PCA-SIFT将原来的2×39×39维的向量降成20维,以达到更精确的表示方式。
    •它的主要步骤为,对每一个关键点:在关键点周围提取一个41×41的像斑于给定的尺度,旋转到它的主方向  ;计算39×39水平和垂直的梯度,形成一个大小为3042的矢量;用预先计算好的投影矩阵n×3042与此矢量相乘;这样生成一个大小为n的PCA-SIFT描述子。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SIFT(尺度不变特征变换)算法是一种基于局部特征的图像匹配算法,它可以在不同的尺度和旋转角度下提取出关键点,并对这些关键点进行描述,从而实现图像的匹配。其中,多尺度多分辨率是SIFT算法的核心思想之一。 SIFT算法通过构建高斯金字塔来实现多尺度空间的特征提取。具体来说,它首先对原始图像进行高斯模糊,然后对模糊后的图像进行下采样,得到一系列不同尺度的图像。这些图像构成了高斯金字塔。接着,对每个尺度的图像进行差分,得到一系列差分金字塔。在差分金字塔中,每个层次都对应一个尺度,每个尺度都对应一个高斯核的大小。通过对差分金字塔进行极值检测,可以得到关键点。 在SIFT算法中,还有一个重要的概念是特征描述子。对于每个关键点,SIFT算法会在其周围的邻域内提取出128维的特征向量,用于描述该关键点的特征。这些特征向量可以用于匹配不同图像之间的关键点。 下面是SIFT算法多尺度多分辨率的Python实现示例: ```python import cv2 # 读取图像 img = cv2.imread('image.jpg') # 构建高斯金字塔 G = img.copy() gp = [G] for i in range(6): G = cv2.pyrDown(G) gp.append(G) # 构建差分金字塔 lp = [gp[5]] for i in range(5, 0, -1): GE = cv2.pyrUp(gp[i]) L = cv2.subtract(gp[i-1], GE) lp.append(L) # 在差分金字塔中检测极值点 keypoints = [] for i in range(1, 5): for j in range(1, 5): for k in range(len(lp)): if is_extremum(lp[k], i, j): keypoints.append((i, j, k)) # 提取关键点的特征描述子 descriptors = [] for x, y, s in keypoints: descriptor = extract_descriptor(lp[s], x, y) descriptors.append(descriptor) ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值