主要步骤 

  

  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描述子。
 

模式匹配之尺度空间---scale space的更多相关文章

  1. paper 64:尺度空间(Scale space)理论

    尺度空间方法的基本思想是:在视觉信息处理模型中引入一个被视为尺度的参数,通过连续变化尺度参数获得不同尺度下的视觉处理信息,然后综合这些信息以深入地挖掘图像的本质特征.尺度空间方法将传统的单尺度视觉信息 ...

  2. 尺度空间(Scale space)理论

    尺度空间方法的基本思想是:在视觉信息处理模型中引入一个被视为尺度的參数,通过连续变化尺度參数获得不同尺度下的视觉处理信息,然后综合这些信息以深入地挖掘图像的本质特征.尺度空间方法将传统的单尺度视觉信息 ...

  3. paper 65 :尺度不变特征变换匹配算法[转载]

    尺度不变特征变换匹配算法 对于初学者,从David G.Lowe的论文到实现,有许多鸿沟,本文帮你跨越.1.SIFT综述 尺度不变特征转换(Scale-invariant feature transf ...

  4. SIFT算法详解(转)

    http://blog.csdn.net/zddblog/article/details/7521424 目录(?)[-] 尺度不变特征变换匹配算法详解 Scale Invariant Feature ...

  5. 【转】 SIFT算法详解

    尺度不变特征变换匹配算法详解Scale Invariant Feature Transform(SIFT)Just For Fun zdd  zddmail@gmail.com 对于初学者,从Davi ...

  6. SIFT算法详解

    尺度不变特征变换匹配算法详解Scale Invariant Feature Transform(SIFT)Just For Fun zdd  zddmail@gmail.com or (zddhub@ ...

  7. 转:sift算法详解

    转自:http://blog.csdn.net/pi9nc/article/details/23302075 对于初学者,从David G.Lowe的论文到实现,有许多鸿沟,本文帮你跨越. 1.SIF ...

  8. SIFT算法详解(转)

    原文地址 http://blog.csdn.net/pi9nc/article/details/23302075 尺度不变特征变换匹配算法详解 Scale Invariant Feature Tran ...

  9. Image Processing and Analysis_21_Scale Space:Feature Detection with Automatic Scale Selection——1998

    此主要讨论图像处理与分析.虽然计算机视觉部分的有些内容比如特 征提取等也可以归结到图像分析中来,但鉴于它们与计算机视觉的紧密联系,以 及它们的出处,没有把它们纳入到图像处理与分析中来.同样,这里面也有 ...

随机推荐

  1. python自动化测试报告(excel篇)

    转:https://www.jianshu.com/p/6c5d328bf390 # -*- coding: utf-8 -*- import xlsxwriter def get_format(wd ...

  2. FZOJ Problem 2107 Hua Rong Dao

                                                                                                        ...

  3. STL之set的用法

    1.关于set 首先,set是关联容器,set作为一个容器是用来存储同一种数据类型的数据结构,基本功能与数组相似.不同的是,在set中每个元素的值都是唯一的.而且系统能够根据元素的值自动进行排序.但是 ...

  4. yii批量插入数据

    现在有如下数据: 查看代码   打印 1 $user=array( 2     0=>array('id'=>1,'name'=>'张三'), 3     0=>array(' ...

  5. LeetCode OJ--Permutation Sequence *

    求第k个排列. 刚开始按照一个排列一个排列的求,超时. 于是演算了一下,发下有数学规律,其实就是康托解码. 康托展开:全排列到一个自然数的双射 X=an*(n-1)!+an-1*(n-2)!+...+ ...

  6. Xamarin.Forms单元控件Cell

    Xamarin.Forms单元控件Cell   单元控件Cell是Xamarin.Forms为ListView和TableView专门定制的一类项目元素.它包括5个控件,分别为文本框单元EntryCe ...

  7. git alias

    alias|grep git g=git ga='git add' gaa='git add --all' gapa='git add --patch' gb='git branch' gba='gi ...

  8. Java 自定义序列化、反序列化

    1.如果某个成员变量是敏感信息,不希望序列化到文件/网络节点中,比如说银行密码,或者该成员变量所属的类是不可序列化的, 可以用 transient 关键字修饰此成员变量,序列化时会忽略此成员变量. c ...

  9. Parameter Binding in ASP.NET Web API #Reprinted

    http://www.asp.net/web-api/overview/formats-and-model-binding/parameter-binding-in-aspnet-web-api

  10. Linux下使用mv重命名文件或者移动文件(增强版的工具为rename)

    mv命令既可以重命名,又可以移动文件或文件夹. 例子:将目录A重命名为B mv A B 例子:将/a目录移动到/b下,并重命名为c mv /a /b/c 例子:将文件A.txt重命名为B.txt mv ...