7

你知道 David Nister 和 Henrik Stewenius 提出的图像匹配方法的任何实现或改进,称为“ Scalable Recognition with a Vocabulary Tree ”吗?我正在尝试实现它,但我无法理解算法的某些部分(更具体地说,计算分数)。

4

6 回答 6

3

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

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

于 2015-09-17T03:28:06.617 回答
2

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

此外,我发现了这个其他实现(http://www.inf.ethz.ch/personal/fraundof/page2.html),但是我无法让它发挥作用。

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

最好的祝福。

于 2011-05-26T17:29:57.637 回答
2

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

于 2013-05-30T17:56:07.800 回答
1

最近我在 C++ 中发现了一个非常棒的非免费词汇树实现,称为 DBow。

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

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

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

于 2016-04-07T15:22:41.543 回答
0

您想查找空间填充曲线或空间索引。sfc 将 2d 复杂性降低到 1d 复杂性,尽管它只是表面的重新排序。sfc recursivley 将表面细分为更小的瓷砖,并不断挑选附近瓷砖的信息。它可以与四叉树进行比较。这对于比较图像很有用,因为您可以在附近进行比较。困难在于使瓷砖具有可比性。我相信 DCT 在这里很有用。您想查找 Nick 的希尔伯特曲线四叉树空间索引博客。

于 2011-04-17T16:08:47.887 回答
0

我相信 Grauman 和 Darrell 提出的Pyramid Match 核方法通常被认为更好。您可以在此处获得 C++ 库实现。

于 2011-04-18T11:59:52.890 回答