使用"Scalable Recognition with a Vocabulary Tree"实现图像匹配



您知道David Nister和Henrik Stewenius提出的"基于词汇树的可扩展识别"的图像匹配方法的任何实现或改进吗?我正试图实现它,我有困难理解算法的某些部分(更具体地说,计算分数)。

这是一个很好的词汇树实现- libvot。它使用c++ 11标准多线程库来加速构建过程,所以它运行得非常快。

它使用三个步骤来构建一个词汇树。第一步是使用sift描述符构建kmeans树。第二步是使用第一步中构建的词汇树构建图像数据库。第三步是根据图像数据库查询图像。一些先进的技术,如倒排表和L1距离测量也反映在这个存储库中。

关于词汇树,我找到了这篇用c++/python实现它们的论文(http://www.tango-controls.org/Members/srubio/MasterThesis-VocabularyTree-SergiRubio-2009.pdf)。然而,我在任何地方都找不到代码,所以我联系了作者以获得代码,但直到这个日期都没有成功。

此外,我找到了另一个实现(http://www.inf.ethz.ch/personal/fraundof/page2.html),但是我无法使它工作。

你已经实现了吗?我也想对图像识别做同样的事情,但这似乎是一个非常痛苦的任务。

问好。

Sergio Rubio在http://sourceforge.net/projects/vocabularytree/上发布了一个使用词汇树进行图像分类的实现。为了让它在我的Windows系统上运行,我不得不重新编写了他发布的大部分C代码,但总的来说,它是一个非常好的资源,可以实现原论文中提出的想法。

最近我在c++中发现了一个非自由的非常棒的词汇树实现,叫做DBow。

代码组织得很好,有很多注释。

点击这里结帐:http://webdiis.unizar.es/~dorian/index.php?p=31

和这里:http://webdiis.unizar.es/~dorian/index.php?p=32

您希望查找空间填充曲线或空间索引。sfc将二维复杂性降低到一维复杂性,尽管它只是表面的重新排序。sfc递归地将表面细分为更小的块,并不断提取附近块的信息。它可以与四叉树相比较。这对于比较图像很有用,因为您比较的是邻近的tile。困难的是使瓷砖具有可比性。我相信DCT在这里很有用。你想找Nick的hilbert曲线四叉树空间索引博客

我相信一般认为Grauman和Darrell提出的金字塔匹配核方法更好。您可以在这里获得c++库实现。

相关内容

  • 没有找到相关文章

最新更新