data-structures - 什么是词汇树以及如何构建它?

标签 data-structures tree vocabulary sift surf

当涉及到大型数据库中相似图像或文本的快速查询时,我阅读了很多关于词汇树的内容。但是我找不到任何关于这种词汇树是什么以及如何构建其中一个功能的好的(易于理解的)描述。

最佳答案

词汇树是一种进行图像检索的紧凑方法。基本上有三个步骤来实现这个算法,它高度依赖于其他计算机视觉技术,例如SIFT 特征。

第一步是使用筛选描述符构建 kmeans 树。这棵树的叶节点包含一个筛选描述符的“包”。第二步是使用您在第一步中构建的词汇树构建图像数据库。您可以将此过程视为将图像量化为向量空间。然后第三步是根据图像数据库查询图像。当然还有一些详细的技巧,比如倒排列表等。

这是词汇树的一个很好的实现 - libvot .它基本上遵循我上面描述的三个步骤。它使用 C++11 标准多线程库来加速构建过程,因此运行速度非常快。

这里是原创研究paper关于它。这些年来,它对计算机视觉社区产生了很大的影响。

关于data-structures - 什么是词汇树以及如何构建它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2169909/

相关文章:

vocabulary - 您如何称呼旧的且不应再使用的方法或库?

microdata - How to use multiple Vocabularies with HTML5 Microdata (different vocab than schema.org)

url - 分类的自定义 url > Drupal 6 的词汇表

Python 列表与数组 : reason for the unexpected performance difference

java - 查找一周登录两次的用户

algorithm - 如何求出二叉树的主深度是O(sqrt(N))?

java - 解析句子的数据结构

algorithm - 使用查询更新数组

java - 如何实现 "beans"和 "bean mapping"代码?

c、小于k的最大整数