【问题标题】:R-tree implementation in matlabmatlab中的R树实现
【发布时间】:2011-01-06 09:01:47
【问题描述】:

请任何人告诉我我们如何在 matlab 中实现 R-tree 结构来加速图像检索系统,我想告诉你我的数据库空间是颜色直方图(多维)的特征向量,并且我有用于相似度度量的距离向量...

谢谢

【问题讨论】:

  • 您目前的实施情况如何?也许从那里开始,我们可以帮助您改进数据结构或算法。
  • 谢谢 我想通知你,我将我的特征向量(文件名,颜色直方图)存储在数组结构中,然后将其保存在数据库文件(.mat)中我将颜色减少到 4,所以在这种情况下,我有 4×4×4=64 暗淡,我读过 R-tree,它不适合高维,我想在归一化时得到 16 维的颜色,所以在这种情况下我可以使用R-Tree...我的问题是如何在 R-tree 中实现我的数据(FV 和距离矢量)?或者对其他结构的任何建议,我的目标是在图像检索中使用索引结构谢谢

标签: matlab indexing multidimensional-array r-tree


【解决方案1】:

我不使用 Matlab。所以我不知道在 Matlab 中与索引结构相关的成本有多少。它似乎不是为这些事情而设计的。

R-Trees 似乎有很大的不同。从http://elki.dbs.ifi.lmu.de/wiki/Benchmarking 来看,一些算法可以从良好的索引结构中受益匪浅。在 110250 图像颜色直方图数据集上,该网页上的数字要快 5 到 7 倍。

根据我的经验,R-Trees 确实很难做到正确。但前提是你想全力以赴。如果您有一个 静态 数据库,则可以轻松摆脱 批量加载 R-Tree。批量加载和查询都不是很难做到的。一旦您想使用复杂的拆分策略、重新插入、平衡来进行 R*-Tree 优化,并通过智能缓存在磁盘上高效地完成所有这些,R-Trees 就会变得混乱。但只要您在内存中操作并且不动态添加对象,STR 大容量加载的 R-tree 就会有很大帮助并且更容易实现。

在已经有工作 R-Tree 的东西上构建可能会更好。用上面提到的 rtree 模块或 ELKI 说 SQLite。

【讨论】:

    【解决方案2】:

    实现 R-tree 并不是一项简单的任务。您可以对 LidarK 库使用 matlab 绑定,它应该足够快。代码在这里: http://graphics.cs.msu.ru/en/science/research/3dpoint/lidark

    如果您决定使用 kd-tree(这是图像检索的典型),那么也有一个很好的实现。 http://www.cs.ubc.ca/~mariusm/index.php/FLANN/FLANN

    【讨论】:

    • Lidark 可能只是为 3d 设计的,那样不会有太大帮助。
    • 你是对的,需要改变常数并重建库以改变维数。它没有经过测试,但是可能比从头实现 R-Tree 更容易。
    【解决方案3】:

    我并不特别熟悉 R 树,但一般来说,树是动态数据结构。除非您开始使用它的 OO 工具,否则 Matlab 并不真正做动态数据结构。如果你不想这样做,你可以将你的树展平成一个单元阵列。例如,我将写一个(严格的)二叉树扁平化为一个单元格数组,这样我就不必画一棵树了。如下:

    {1,{2},{3}}
    

    表示一棵二叉树,根为 1,分支左至 2,右至 3。我可以更深入:

    {1,{2,{5,6}},{3,{7,8}}}
    

    这为前一个树增加了另一个级别。如果您想在任何节点上添加数据,那么您的(第一个)树可能如下所示:

    {1,[a b c],{2,[e f]},{3,[h i j k l]}}
    

    另一种方法是单独定义节点,像这样

    node1 = [a b c]; node2 = [e f]; node3 = [h i j k l],
    

    那么你的树就变成了

    {node1, node2, node3}
    

    然后你的问题变成了编写函数来构建和遍历你选择的表示中的树。大多数树函数最好写成递归。任何好的文字,以及大量的 Internet 站点,都会告诉您所有您想了解的有关此类功能的信息。

    【讨论】:

    • 您好,非常感谢您的回复,我会尝试采纳您的意见
    猜你喜欢
    • 2016-02-15
    • 2016-08-11
    • 2011-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多