2011-04-17 69 views

回答

3

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

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

0

你想寻找一个空间填充曲线或空间索引。 sfc将2D复杂性降低到1d复杂度,但它只是表面的重新排序。 sfc recursivley将表面细分为更小的图块并通过图块继续拾取附近的信息。它可以与四叉树比较。这可能是有用的比较图像,因为你比较近瓷砖。然后困难是使瓷砖可比。我相信DCT在这里很有用。你想寻找尼克的希尔伯特曲线四叉树空间索引博客。

+0

我不understad空间填充曲线如何与词汇树或问题中提及的算法的任何部分。你是否认为这是整个算法的替代?你能否详细说明一下? – cvlad 2011-04-17 16:35:07

+0

是的,我建议这是一种替代方法,但我没有DCT的经验,但你可以谷歌这种方法我忘记了研究员。它已经投入生产。 – Bytemain 2011-04-18 12:03:58

2

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

此外,我发现这个其他的实现(http://www.inf.ethz.ch/personal/fraundof/page2.html),但我无法把它的工作。

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

此致敬礼。

2

Sergio Rubio发布了一个在图像分类中使用词汇树的实现方案http://sourceforge.net/projects/vocabularytree/。我不得不重做他发布的大部分C代码以使其能够在我的Windows系统上运行,但总体而言,它是实现原始文件中提出的想法的非常好的资源。