明显的区别在于使用密集SIFT时可以在每个位置获得一个SIFT描述符,而使用普通SIFT时则只在Lowe算法确定的位置获取SIFT描述符。有许多应用程序需要非密集SIFT,其中一个很好的例子是Lowe的原始工作。在许多应用程序中,通过计算所有位置(密集地)获得了良好的结果,例如这个。类似于密集SIFT的描述符称为HOG或DHOG,它们在技术上并不相同,但在概念上都基于梯度直方图,并且非常相似。
在http://www.vlfeat.org/overview/dsift.html上,您可以详细了解SIFT和密集SIFT实现的图像特征提取方式以及它们执行时间的比较。VLFeat密集SIFT描述符的主要优点是速度更快。在MediaMixer Deliverable D1.1.2中,介绍了一种概念检测技术,其中同时使用了SIFT和密集SIFT描述符,并且实验结果表明,这种组合提供了更准确的分类。如需进一步了解,请加入MediaMixer社区门户网站:http://community.mediamixer.eu/。
密集SIFT在图像中的每个位置和尺度收集更多的特征,从而相应地提高了识别精度。然而,与普通SIFT相比,计算复杂度始终是一个问题。如果您使用SIFT进行分类,我建议使用普通SIFT和多个内核函数(用于聚类),而不是使用具有单个线性内核函数的密集SIFT。虽然您会得到明显的速度/准确性权衡。我建议查看这篇论文,它解释了Big-Oh中的实现差异。 this
你可以在VLFeat实现细节中了解更多关于DenseSIFT的内容。 DenseSIFT速度更快(加速30-60倍)。 http://www.vlfeat.org/overview/dsift.html http://www.robots.ox.ac.uk/~vedaldi/assets/pubs/vedaldi10vlfeat-tutorial.pdf