Table of Contents
Fetching ...

i-Octree: A Fast, Lightweight, and Dynamic Octree for Proximity Search

Jun Zhu, Hongyi Li, Zhepeng Wang, Shengjie Wang, Tao Zhang

TL;DR

The i-Octree is a dynamic octree data structure that supports both fast nearest neighbor search and real-time dynamic updates, such as point insertion, deletion, and on-tree down-sampling, and outperforms contemporary state-of-the-art approaches by achieving a 19% reduction in runtime on real-world open datasets.

Abstract

Establishing the correspondences between newly acquired points and historically accumulated data (i.e., map) through nearest neighbors search is crucial in numerous robotic applications. However, static tree data structures are inadequate to handle large and dynamically growing maps in real-time. To address this issue, we present the i-Octree, a dynamic octree data structure that supports both fast nearest neighbor search and real-time dynamic updates, such as point insertion, deletion, and on-tree down-sampling. The i-Octree is built upon a leaf-based octree and has two key features: a local spatially continuous storing strategy that allows for fast access to points while minimizing memory usage, and local on-tree updates that significantly reduce computation time compared to existing static or dynamic tree structures. The experiments show that i-Octree outperforms contemporary state-of-the-art approaches by achieving, on average, a 19% reduction in runtime on realworld open datasets.

i-Octree: A Fast, Lightweight, and Dynamic Octree for Proximity Search

TL;DR

The i-Octree is a dynamic octree data structure that supports both fast nearest neighbor search and real-time dynamic updates, such as point insertion, deletion, and on-tree down-sampling, and outperforms contemporary state-of-the-art approaches by achieving a 19% reduction in runtime on real-world open datasets.

Abstract

Establishing the correspondences between newly acquired points and historically accumulated data (i.e., map) through nearest neighbors search is crucial in numerous robotic applications. However, static tree data structures are inadequate to handle large and dynamically growing maps in real-time. To address this issue, we present the i-Octree, a dynamic octree data structure that supports both fast nearest neighbor search and real-time dynamic updates, such as point insertion, deletion, and on-tree down-sampling. The i-Octree is built upon a leaf-based octree and has two key features: a local spatially continuous storing strategy that allows for fast access to points while minimizing memory usage, and local on-tree updates that significantly reduce computation time compared to existing static or dynamic tree structures. The experiments show that i-Octree outperforms contemporary state-of-the-art approaches by achieving, on average, a 19% reduction in runtime on realworld open datasets.
Paper Structure (17 sections, 4 equations, 7 figures, 6 tables)

This paper contains 17 sections, 4 equations, 7 figures, 6 tables.

Figures (7)

  • Figure 1: An example of using i-Octree in odometry. The i-Octree and odometry collaborate to estimate the poses of the 3D data obtained from the range sensors. The i-Octree provides a robust and efficient data structure for storing and querying the 3D data, while the odometry enables the estimation of the poses of the data points.
  • Figure 2: Illustration of locations of a octant's points in memory. (a) scattered locations; (b) continual locations.
  • Figure 3: Fig. (a) and (b) illustrate insertion of new points (red) out of the range to the i-Octree. In (a), the left yellow cube is the root octant as well as the leaf octant with points (black) in the beginning. After inserting, the root octant becomes the light purple cube. In (b), the purple node is the root octant and it is updated after inserting new octants (dashed black rectangle).
  • Figure 4: Illustration of box-wise delete. The blue box is the given box, and the numbers 0 to 7 (Morton codes) are the indices of the octants. Octants, with indices 0, 1, 4, and 5 are directly deleted. Octant 7 is also deleted due to having no points.
  • Figure 5: Dynamic data structure comparison over different tree size.
  • ...and 2 more figures