SIFT vs Dense-SIFT

原创 2014年10月16日 20:53:44

        有个博友问SIFT和Dense-SIFT在应用上的区别。这个问题可以放大到Sparse feature和Dense feature的使用场景上(不然现在说Dense-SIFT估计没人鸟了)。之前自己也考虑过这个问题,今天不妨写出来。这些都是对基本问题的一些理解,后面的博客打算写点高级点的东西吧,这样显得自己逼格会高一些。

        看过论文的人都会发现,图像识别问题大多用Dense-SIFT(当然现在也不用Dense-SIFT了,Deep Learning一统江湖再见。即使如此,CNN的输入也可以理解为一个Dense 特征----像素级的特征),而图像检索总是用SIFT(利用了检测子)。而参照[1]的实验结果,dense-SIFT在图像检索上的性能不如SIFT检测子的性能好。这个结论是合理的。这个原因可以从检索问题和识别问题本身进行讨论。

         Dense-SIFT在非深度学习的模型中,常常是特征提取的第一步[2]。采样的点提取SIFT描述子后,经过码书投影,投影在同一个码字上的采样点都代表了一组描述子相似的点。不同的码字(相当于直方图的每一个bin)之间,采样点的区分能力是不一样的。我们以图1为例,bin2代表的是一块很平坦的区域,于是dense采样时,很多点产生的描述子都会投影在bin2上。而bin1,bin3,bin4分别代表一块特有的区域,仅仅在dense采样到自行车,大提琴和眼睛等部位时,才能够形成类似的描述子。换而言之,bin2的重要性最低,而其他码字的重要性都很高。

          对于图像识别问题来说,由于有充足的训练样本(正负样本均充足)。通过对训练样本的学习,我们会学习一个分类器。以线性SVM为例,分类器的最终形式是:



         其中是输入图像的BOW向量, 是SVM需要学习的模型参数。在图1中,D=4。由于bin2的区分性较低(正样本和负样本在bin2上的值都会很相似),bin1,bin3,bin4的区分性较高(bin4一旦值大于0,就表示该测试样本极有可能是人脸,而bin1的值一旦大于0,就表示测试样本很有可能是自行车)。所以经过学习后SVM的参数可能是 。这个w和IDF的效果是一样的——使区分性小的码字权重变低。只不过IDF是人工设计的,而SVM中的w是经过学习得到的。综上所述,图像识别问题之所以采用密集采样,是因为密集采样后的点,会通过训练后的分类器进行了进一步的筛选。所以,无需人工干预特征点的选取。


图1


        而检索问题则不同了,大多数情况下我们并没有训练样本。因此,我们需要利用人的经验过滤区分性低的点(除此之外还引入了IDF进一步加权)。因此,大部分检索问题都利用了检测子,而不是密集采样。

       总而言之,当研究目标是对同样的物体或者场景寻找对应关系(correspondence)时,Sparse SIFT更好。而研究目标是图像表示或者场景理解时,Dense SIFT更好,因为即使密集采样的区域不能够被准确匹配,这块区域也包含了表达图像内容的信息。

       Sparse SIFT还有一个重要优点就是,输出的特征的结构是固定的(特征点数量稳定)。这对于spatial configuration的建模十分重要[3]。

        顺便废话一句,CNN的卷积层的输出,可以作为一个新的Dense Feature,用来代替人工设计的Dense Feature如HOG map啦。




参考文献:

[1]   C. G. M. Snoek, K. E. A. Van DeSande, D. Fontijne, A. Habibian, and M. Jain, “MediaMill at TRECVID 2013 :Searching Concepts , Objects , Instances and Events in Video 1 Task I : ConceptDetection,”2013.

[2]   S. Lazebnik, C. Schmid, and J.Ponce, “Beyond Bags of Features: Spatial Pyramid Matching for RecognizingNatural Scene Categories,” CVPR, 2006.

[3]   Tinne Tuytelaars, "Dense Interest Points", CVPR, 2010.


-------------

转载请注明出处:http://blog.csdn.net/jwh_bupt/article/details/40154933

http://jiangwh.weebly.com/

Dense SIFT

参考网址:http://www.scholarpedia.org/article/Scale_Invariant_Feature_Transform

vlfeat dense sift理解

一、Dense SIFT SamplingDSIFT在寻找显著点时不是尝试使用一个分类器判断是否是显著点,而是为了简化,所有显著点是均匀分布(equally dense across )在图像的各个区...
  • CHIERYU
  • CHIERYU
  • 2016年02月26日 21:47
  • 2078

Dense Sift

Dense SIFT:不构建高斯尺度空间,只在a single scale上提取SIFT特征,可以得到每一个位置的SIFT descriptor SIFT:需要构建高斯尺度空间,只能得到Lowe算法计...

[VLFeat]Dense Sift的C源码学习

VLFeat是一个很好用的开源库,其中实现了计算机视觉常用的算法,使用的语言是C和matlab。 官网:http://www.vlfeat.org/index.html 在官网下载最新版本后,在m...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

图像特征描述子SIFT的快版变体Dense SIFT

VLFeat implements a fast dense version of SIFT, called vl_dsift. The function is roughly equivalen...

SIFT算法原理解析

首先找到图像中的一些“稳定点”,这些点是一些十分突出的点不会因光照条件的改变而消失,比如角点、边缘点、暗区域的亮点以及亮区域的点,既然两幅图像中有相同的景物,那么使用某种方法分别提取各自的稳定点,这些...

CNN卷积神经网络新想法

最近一直在看卷积神经网络,想改进改进弄出点新东西来,看了好多论文,写了一篇综述,对深度学习中卷积神经网络有了一些新认识,和大家分享下。   其实卷积神经网络并不是一项新兴的算法,早在上世纪八十年...
  • mao_kun
  • mao_kun
  • 2016年01月12日 22:46
  • 6926

经典论文阅读笔记——BoW Model篇

一、文本表达的BoW模型 Bag of Words模型最初被用在NLP或IR中,将文档表示成特征矢量。该模型忽略掉文本的语法和语序, 用一组无序的单词(words)来表达一段文字或一个文档。简单说就...
  • cfanchk
  • cfanchk
  • 2016年01月10日 09:40
  • 427

sift

简介 SIFT算法是用来提取图像局部特征的经典算法,SIFT算法的实质是在不同的尺度空间上查找关键点(特征点),并计算出关键点的方向。SIFT所查找到的关键点是一些十分突出,不会因光照,仿射...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SIFT vs Dense-SIFT
举报原因:
原因补充:

(最多只允许输入30个字)