稠密SIFT与SIFT有什么不同?

24

稠密SIFT实现与SIFT有何区别?它们之间的优缺点是什么?我特别指的是VLFeat实现。

5个回答

29
明显的区别在于使用密集SIFT时可以在每个位置获得一个SIFT描述符,而使用普通SIFT时则只在Lowe算法确定的位置获取SIFT描述符。
有许多应用程序需要非密集SIFT,其中一个很好的例子是Lowe的原始工作。
在许多应用程序中,通过计算所有位置(密集地)获得了良好的结果,例如这个。类似于密集SIFT的描述符称为HOG或DHOG,它们在技术上并不相同,但在概念上都基于梯度直方图,并且非常相似。

6
这是一个很好的回答,但是有关密集SIFT被称为HOG的评论是不正确的。虽然它们都基于梯度直方图,但HOG和SIFT是两种不同的描述符(无论是密集还是非密集;尽管通常情况下HOG是密集采样的)。 - Jotaf
@Jotaf:你说得对,我过于简化了。我稍微编辑了一下我的答案。 - carlosdc
如果您在每个点计算原始SIFT,则无法获得denseSIFT。http://www.vlfeat.org/overview/dsift.html - mrgloom

2
http://www.vlfeat.org/overview/dsift.html上,您可以详细了解SIFT和密集SIFT实现的图像特征提取方式以及它们执行时间的比较。VLFeat密集SIFT描述符的主要优点是速度更快。
MediaMixer Deliverable D1.1.2中,介绍了一种概念检测技术,其中同时使用了SIFT和密集SIFT描述符,并且实验结果表明,这种组合提供了更准确的分类。如需进一步了解,请加入MediaMixer社区门户网站:http://community.mediamixer.eu/

2
密集SIFT在图像中的每个位置和尺度收集更多的特征,从而相应地提高了识别精度。然而,与普通SIFT相比,计算复杂度始终是一个问题。
如果您使用SIFT进行分类,我建议使用普通SIFT和多个内核函数(用于聚类),而不是使用具有单个线性内核函数的密集SIFT。虽然您会得到明显的速度/准确性权衡。
我建议查看这篇论文,它解释了Big-Oh中的实现差异。 this

请详细说明聚类步骤。 - mrgloom

2

通常,对于通用物体类别识别,使用密集特征提取比基于关键点的特征提取能够获得更好的结果。


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接