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.

研究の動機と目的

  • 逐次的データ取得を伴うロボティクスにおける動的空間分割の必要性を動機づける。
  • 新しい点を追加しつつダウンサンプリングを行い、KD木を逐次更新する ikd-Tree を提案する。
  • ボックス単位の操作と遅延/遅延更新を可能にしてリアルタイム性能を維持する。
  • 木を効率的にリバランスするための並列部分再構築戦略を開発する。
  • 理論的複雑さの分析とランダム化データおよび実 LiDAR データに基づく実証検証を提供する。

提案手法

  • インクリメンタル更新とダウンサンプリングをサポートする IKD-tree ノードの属性を持つデータ構造を導入する。
  • 最大共分散軸の選択と中央値分割による平衡KD木の構築を説明する。
  • 遅延ラベリング(deleted, treedeleted, pushdown)と pullup/pushdown伝搬を用いた点列ごとの更新およびボックスごとの更新を定義する。
  • サブ木をバランスさせるための部分再構築を実装し、リアルタイム性能を維持するための並列の2スレッド再構築方式を含む。
  • ダウンサンプリングを実行するボックス単位の探索、中心点の選択、ダウンサンプリングキューブ内の点の置換を組み込む。
  • 点ごとの操作は O(log n)、ボックス単位の挿入は O(m log n)、パラレル2スレッド再構築は O(n) であるという複雑さの枠組みを提示する。

実験結果

リサーチクエスチョン

  • RQ1新しく取得したロボットデータを完全再構築することなく、KD木をどのように逐次的に更新できるか?
  • RQ2ボックス単位の更新とダウンサンプリングを、クエリ効率を維持しつつインクリメンタルKD木に統合できるか?
  • RQ3ikd-Tree におけるインクリメンタル更新と部分再バランスの時間計算量・空間計算量は?
  • RQ4並列再構築はロボティックマッピングのシナリオでリアルタイム性能を維持できるか?

主な発見

  • インクリメンタル操作(点ごと)は O(log n) の計算量を達成する。
  • ボックス単位の m 点の挿入は O(m log n)、ボックス単位の削除/再挿入はデータ分布に依存する複雑さで、遅延更新を活用できる。
  • 小さなダウンサンプリングキューブのため、ダウンサンプリングは O(log n) で達成可能。
  • 2スレッドの並列再構築により O(n) の再構築時間を得て、リアルタイム性能を向上させる。
  • LiDAR-慣性オドメトリ/マッピングにおいて、ikd-Tree は更新あたりほぼ一定の約1.6 ms を達成し、静的木に比べて成長が抑制される。
  • このフレームワークは、インクリメンタル更新で静的KD木と比較して実行時間の4%のみを消費し、実務上約100 Hz のマッピングを実現する。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。