SIFT特征描述子是David G

来源:互联网 发布:linux shell哪个好用 编辑:程序博客网 时间:2024/06/10 09:22

简介

SIFT特征描述子是David G. Lowe 在2004年的ijcv会议上发表的论文中提出来的,论文名为<<Distinctive Image Featuresfrom Scale-Invariant Keypoints>>。这是一个很强大的算法,主要用于图像配准和物体识别等领域,但是其计算量相比也比较大,性价比比较高的算法包括PCA-SIFT和SURF,其中OpenCV提供了SURF算法,OpenCV2.3版本后的SIFT算法是Rob Hess的源码,github的项目地址是http://blogs.oregonstate.edu/hess/code/sift/

yw.cnhan.com/yyk/njhmyy/5837397710.html
yw.cnhan.com/yyk/njhmyy/5837408782.html
yw.cnhan.com/yyk/njhmyy/5837431612.html
yw.cnhan.com/yyk/njhmyy/5837453408.html
yw.cnhan.com/yyk/njhmyy/5837463044.html
yw.cnhan.com/yyk/njhmyy/5837493408.html
yw.cnhan.com/yyk/njhmyy/5837510006.html
yw.cnhan.com/yyk/njhmyy/5837536002.html
yw.cnhan.com/yyk/njhmyy/5837558630.html
yw.cnhan.com/yyk/njhmyy/5837574995.html
yw.cnhan.com/yyk/njhmyy/5837596049.html
yw.cnhan.com/yyk/njhmyy/5837738281.html
yw.cnhan.com/yyk/njhmyy/5837797915.html
yw.cnhan.com/yyk/njhmyy/5837824925.html
yw.cnhan.com/yyk/njhmyy/5837837409.html
yw.cnhan.com/yyk/njhmyy/5837881640.html
yw.cnhan.com/yyk/njhmyy/5837919612.html
yw.cnhan.com/yyk/njhmyy/5837953378.html
yw.cnhan.com/yyk/njhmyy/5837615659.html
yw.cnhan.com/yyk/njhmyy/5837638291.html
yw.cnhan.com/yyk/njhmyy/5837664386.html
yw.cnhan.com/yyk/njhmyy/5837686393.html
yw.cnhan.com/yyk/njhmyy/5837707711.html
yw.cnhan.com/yyk/njhmyy/5837774576.html
yw.cnhan.com/yyk/njhmyy/5837786214.html
yw.cnhan.com/yyk/njhmyy/5837809746.html
yw.cnhan.com/yyk/njhmyy/5837826663.html
yw.cnhan.com/yyk/njhmyy/5837847062.html
yw.cnhan.com/yyk/njhmyy/5837885979.html
yw.cnhan.com/yyk/njhmyy/5837977731.html
mingyi.daynews.com.cn/yyk/njhmyy/5842423731.html
mingyi.daynews.com.cn/yyk/njhmyy/5842443601.html
mingyi.daynews.com.cn/yyk/njhmyy/5842464375.html
mingyi.daynews.com.cn/yyk/njhmyy/5842480554.html
mingyi.daynews.com.cn/yyk/njhmyy/5842492241.html
mingyi.daynews.com.cn/yyk/njhmyy/5842516659.html
mingyi.daynews.com.cn/yyk/njhmyy/5842535022.html
mingyi.daynews.com.cn/yyk/njhmyy/5842549444.html
mingyi.daynews.com.cn/yyk/njhmyy/5842587158.html
mingyi.daynews.com.cn/yyk/njhmyy/5842611807.html
mingyi.daynews.com.cn/yyk/njhmyy/5842639318.html
mingyi.daynews.com.cn/yyk/njhmyy/5842673800.html
mingyi.daynews.com.cn/yyk/njhmyy/5842692592.html
mingyi.daynews.com.cn/yyk/njhmyy/5842712736.html
mingyi.daynews.com.cn/yyk/njhmyy/5842731152.html
mingyi.daynews.com.cn/yyk/njhmyy/5842763829.html
mingyi.daynews.com.cn/yyk/njhmyy/5842787756.html
mingyi.daynews.com.cn/yyk/njhmyy/5842806270.html
mingyi.daynews.com.cn/yyk/njhmyy/5842827058.html
mingyi.daynews.com.cn/yyk/njhmyy/5842880654.html
mingyi.daynews.com.cn/yyk/njhmyy/5842924856.html
mingyi.daynews.com.cn/yyk/njhmyy/5842940456.html
mingyi.daynews.com.cn/yyk/njhmyy/5842978214.html
mingyi.daynews.com.cn/yyk/njhmyy/5842997282.html
mingyi.daynews.com.cn/yyk/njhmyy/5843029967.html
mingyi.daynews.com.cn/yyk/njhmyy/5843041835.html
mingyi.daynews.com.cn/yyk/njhmyy/5843058991.html
mingyi.daynews.com.cn/yyk/njhmyy/5843090168.html
mingyi.daynews.com.cn/yyk/njhmyy/5843123963.html
mingyi.daynews.com.cn/yyk/njhmyy/5843137259.html
mingyi.shm.com.cn/yyk/njhmyy/51207.html
mingyi.shm.com.cn/yyk/njhmyy/51208.html
mingyi.shm.com.cn/yyk/njhmyy/51209.html
mingyi.shm.com.cn/yyk/njhmyy/51210.html
mingyi.shm.com.cn/yyk/njhmyy/51211.html
mingyi.shm.com.cn/yyk/njhmyy/51212.html
mingyi.shm.com.cn/yyk/njhmyy/51213.html
mingyi.shm.com.cn/yyk/njhmyy/51214.html
mingyi.shm.com.cn/yyk/njhmyy/51215.html
mingyi.shm.com.cn/yyk/njhmyy/51216.html
mingyi.shm.com.cn/yyk/njhmyy/51217.html

SIFT特征描述子的优点:

  1. 提取出来的特征对图像大小的变化和旋转具有不变形。
  2. 提取出来的特征对光照和3D相机拍摄视角(差不多就是仿射变换)具有部分不变性。
  3. 在空间域和频率域的局部特性非常好,降低了光照,噪声及一些其他杂乱干扰的影响。
  4. 从一幅图像中可以比较快速提取出大量的特征,并且特征是高度唯一性的,可以在很多特征多唯一识别,因此在图像拼接,物体识别中很有用。

SIFT算法的主要步骤:
  1. 尺度空间极值检测:建立高斯差分金字塔,搜索所有尺度上的极值点。
  2. 关键点定位:在每个候选的位置上,通过一个拟合精细的模型来确定位置和尺度。关键点的选择依据于它们的稳定程度。
  3. 方向确定:基于图像局部的梯度方向,分配给每个关键点位置一个或多个方向。所有后面的对图像数据的操作都相对于关键点的方向、尺度和位置进行变换,从而提供对于这些变换的不变性。
  4. 关键点描述:在每个关键点周围的邻域内,在选定的尺度上测量图像局部的梯度。这些梯度被变换成一种表示,这种表示允许比较大的局部形状的变形和光照变化。


算法主要流程

  1. 首先创建初始图像,即通过将图像转换为32位的灰度图,然后将图像使用三次插值来方大,之后通过高斯模糊处理
  2. 在此基础上进行高斯金字塔的构建以及高斯差分金字塔的构建
  3. 对图像进行极值点检测
  4. 计算特征向量的尺度
  5. 调整图像大小
  6. 计算特征的方向
  7. 计算描述子,其中包括计算二维方向直方图并转换直方图为特征描述子
  8. 对描述子进行排序


算法框架

我们先不讲理论的东西,直接看下Rob Hess写的主要代码sift.c

int sift_features( IplImage* img, struct feature** feat )

{

  return _sift_features( img, feat, SIFT_INTVLS, SIFT_SIGMA, SIFT_CONTR_THR,

             SIFT_CURV_THR, SIFT_IMG_DBL, SIFT_DESCR_WIDTH,

             SIFT_DESCR_HIST_BINS );

}


这里有很多的数据结构和变量,我先列出我们以后要接触到的数据结构
0 0
原创粉丝点击