Skip to main content
QUICK REVIEW

[论文解读] ikd-Tree: An Incremental K-D Tree for Robotic Applications

Yixi Cai, Wei Xu|arXiv (Cornell University)|Feb 22, 2021
Robotics and Sensor-Based Localization参考文献 18被引用 68
一句话总结

ikd-Tree 增量 KD 树更新点(以及盒子),支持下采样,并通过部分重建的并行重建实现平衡,从而实现实时机器人建图与导航。开源于 GitHub。

ABSTRACT

This paper proposes an efficient data structure, ikd-Tree, for dynamic space partition. The ikd-Tree incrementally updates a k-d tree with new coming points only, leading to much lower computation time than existing static k-d trees. Besides point-wise operations, the ikd-Tree supports several features such as box-wise operations and down-sampling that are practically useful in robotic applications. In parallel to the incremental operations (i.e., insert, re-insert, and delete), ikd-Tree actively monitors the tree structure and partially re-balances the tree, which enables efficient nearest point search in later stages. The ikd-Tree is carefully engineered and supports multi-thread parallel computing to maximize the overall efficiency. We validate the ikd-Tree in both theory and practical experiments. On theory level, a complete time complexity analysis is presented to prove the high efficiency. On experiment level, the ikd-Tree is tested on both randomized datasets and real-world LiDAR point data in LiDAR-inertial odometry and mapping application. In all tests, ikd-Tree consumes only 4% of the running time in a static k-d tree.

研究动机与目标

  • 为机器人动态空间分区在序列数据获取中的必要性提供动力。
  • 提出 ikd-Tree,在下采样的同时增量更新 KD 树以容纳新点。
  • 实现盒子级操作和惰性/延迟更新以保持实时性能。
  • 开发并行的部分重建策略以高效重新平衡树。
  • 提供理论复杂度分析和在随机化数据与真实 LiDAR 数据上的经验验证。

提出的方法

  • 为 IKD-tree 节点引入支持增量更新和下采样的属性数据结构。
  • 描述通过最大协方差轴选择和中点分割来构建平衡 KD 树。
  • 定义点级增量更新与盒子级增量更新,使用惰性标签(已删除、树已删除、下推)以及拉回/向下传播。
  • 实现部分重建以平衡子树,包括一个并行的两线程重建方案以保持实时性能。
  • 加入执行盒子级搜索、中心点选择以及在下采样立方体内替换点的下采样过程。
  • 提出一个复杂度框架,点级操作的时间复杂度为 O(log n),盒子级插入为 O(m log n),并行两线程重建的复杂度为 O(n)。

实验结果

研究问题

  • RQ1如何在不全面重建的情况下增量更新 KD-tree 以反映新获取的机器人数据?
  • RQ2盒子级更新和下采样能否在增量 KD-tree 中集成并保持查询效率?
  • RQ3ikd-Tree 的增量更新和部分再平衡的时间/空间复杂度如何?
  • RQ4并行化的重建在机器人建图场景中是否能保持实时性能?

主要发现

  • 增量操作(点级)实现了 O(log n) 的时间复杂度。
  • 盒子级插入 m 个点的成本为 O(m log n);盒子级删除/再插入的复杂度取决于数据分布,可以利用惰性更新。
  • 下采样在 O(log n) 时间内可实现,因为下采样立方体很小。
  • 两线程并行重建实现 O(n) 的重建时间,提升实时性。
  • 在 LiDAR–惯性里程计/建图中,ikd-Tree 的每次更新接近常数时间约 1.6 ms,而静态树的增长更慢。
  • 与静态 KD 树相比,该框架在增量更新的运行时间仅占 4%,并且在实际中实现了约 100 Hz 的建图速度。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。