Papers
Topics
Authors
Recent
Search
2000 character limit reached

OctVox: Compact Octo-Voxel Mapping

Updated 3 July 2026
  • OctVox is a compact octo-voxel map representation that supports real-time LiDAR-Inertial Odometry with strict point density control.
  • It uses a sparse, hash-based voxel grid subdivided into eight subvoxels to achieve constant-time access and effective incremental denoising.
  • Integration with Heuristic-guided KNN accelerates correspondence search, reducing memory usage while boosting overall mapping performance.

OctVox is a compact octo-voxel–based map representation introduced in the Super-LIO system for LiDAR-Inertial Odometry (LIO). Designed for robust and efficient mapping in autonomous platforms with limited computational and memory resources, OctVox implements a strict density control mechanism and incremental denoising, facilitating real-time, resource-aware LIO solutions while maintaining competitive accuracy and robustness across diverse environments (Wang et al., 6 Sep 2025).

1. Data Structure and Octant Subdivision

The core of OctVox is a sparse, hash-based voxel grid, wherein the global map M\mathcal{M} is implemented with a Robin-Hood–hashed table storing fixed-size voxels ViV_i, each with edge length rvr_v. Every voxel is subdivided into eight contiguous subvoxels Vi,sV_{i,s}, s{0,,7}s\in\{0,…,7\}, with each subvoxel having edge length rs=rv/2r_s = r_v/2.

Each subvoxel stores a single representative:

  • μi,sR3\mu_{i,s} \in \mathbb{R}^3: the incrementally averaged centroid
  • ni,sNn_{i,s} \in \mathbb{N}: the count of fused points

Logical occupancy is given by oi,s=1o_{i,s} = 1 if ni,s>0n_{i,s} > 0, else ViV_i0. The local covariance is approximated as ViV_i1, reflecting the noise reduction from averaging.

Subvoxel indexing uses ViV_i2 bitwise operations:

  • Compute ViV_i3
  • Parent voxel index: ViV_i4 (integer division by 2)
  • Subvoxel index: ViV_i5, ViV_i6

This structure ensures constant-time access to both voxel and subvoxel, independent of map size.

2. Point Density Control and Incremental Denoising

OctVox’s 2×2×2 subvoxel subdivision limits each voxel to eight representatives, strictly bounding per-voxel point density and preventing memory blow-up.

When inserting a new point ViV_i7:

  • If slot ViV_i8 is empty: initialize ViV_i9, rvr_v0
  • Else if rvr_v1 and rvr_v2:

rvr_v3

  • Otherwise, the point is discarded (treated as an outlier)

The merge threshold rvr_v4 (typically rvr_v5 of the sensor) maintains outlier robustness. Averaging incrementally reduces variance proportional to rvr_v6, providing online denoising as the map is updated.

3. Map-Update Operations and O(1) Mechanics

OctVox map fusion per LiDAR point proceeds as follows:

  • Index to voxel/subvoxel rvr_v7 in rvr_v8
  • If subvoxel is empty, initialize; if within rvr_v9, update as above; else, discard
  • There is no dynamic splitting beyond the fixed Vi,sV_{i,s}0 subdivision

Occupancy (per subvoxel) can be defined by Vi,sV_{i,s}1 or normalized count Vi,sV_{i,s}2. All per-point update operations are constant time, yielding Vi,sV_{i,s}3 frame update complexity for Vi,sV_{i,s}4 points.

4. Memory and Runtime Efficiency

OctVox achieves a significant reduction in memory footprint relative to alternatives. Each subvoxel stores one Vi,sV_{i,s}5 (float[3]) and Vi,sV_{i,s}6 (int), for Vi,sV_{i,s}7 B, totaling Vi,sV_{i,s}8 B per voxel (plus Vi,sV_{i,s}9 B hash-table overhead). By comparison, a raw-point hashed voxel storing s{0,,7}s\in\{0,…,7\}0 points at s{0,,7}s\in\{0,…,7\}1 B/point would require approximately s{0,,7}s\in\{0,…,7\}2 B (e.g., s{0,,7}s\in\{0,…,7\}3 B/voxel).

Empirical runtime metrics (Wang et al., 6 Sep 2025):

Platform Avg Frame Time CPU Usage
X86 (5800H@5×) s{0,,7}s\in\{0,…,7\}4 ms s{0,,7}s\in\{0,…,7\}533.5 %
ARM (Orin NX@1×) s{0,,7}s\in\{0,…,7\}6 ms s{0,,7}s\in\{0,…,7\}737.8 %

Relative to FAST-LIO2, Super-LIO with OctVox is s{0,,7}s\in\{0,…,7\}8 faster (x86) and s{0,,7}s\in\{0,…,7\}9 faster (ARM), using rs=rv/2r_s = r_v/20–rs=rv/2r_s = r_v/21 less CPU.

5. Pipeline Integration and Heuristic-Guided KNN (HKNN)

In Super-LIO’s LIO pipeline, OctVox underlies both map storage and the correspondence search. The scan-to-map matching pipeline comprises:

  1. IMU-aided de-skewing of LiDAR scans to obtain rs=rv/2r_s = r_v/22
  2. Transformation of rs=rv/2r_s = r_v/23 to the world frame to yield rs=rv/2r_s = r_v/24
  3. Center-based downsampling
  4. For each rs=rv/2r_s = r_v/25, Heuristic-guided KNN (HKNN) within OctVox to retrieve rs=rv/2r_s = r_v/26 nearest subvoxel centroids
  5. Local plane fitting via PCA on rs=rv/2r_s = r_v/27 points, forming point-to-plane residuals
  6. IESKF state update with residuals
  7. Map update via downsampled point re-insertion into OctVox

The HKNN algorithm precomputes a canonical traversal list rs=rv/2r_s = r_v/28 grouping subvoxels by increasing minimum distances rs=rv/2r_s = r_v/29. Octant symmetry is exploited for efficient traversal using bitwise XOR and sign flips. Groups are traversed in ascending μi,sR3\mu_{i,s} \in \mathbb{R}^30, with a μi,sR3\mu_{i,s} \in \mathbb{R}^31-size max-heap for the nearest neighbors and early termination when the next group’s μi,sR3\mu_{i,s} \in \mathbb{R}^32 lower bound exceeds the worst in the heap, reducing the number of distance computations.

6. Empirical Evaluation and Comparative Analysis

Evaluation on four public LIO datasets (M2DGR, NCLT, MCD, NTU) and several self-collected sequences demonstrates OctVox’s effectiveness:

  • Super-LIO achieves an average RMSE of μi,sR3\mu_{i,s} \in \mathbb{R}^33 m, compared to μi,sR3\mu_{i,s} \in \mathbb{R}^34 m (FAST-LIO2), μi,sR3\mu_{i,s} \in \mathbb{R}^35 m (Faster-LIO), and μi,sR3\mu_{i,s} \in \mathbb{R}^36 m (iG-LIO)
  • Real-time performance maintained on ARM platforms, with stable tracking in narrow indoor, UAV, and fast-motion scenarios

OctVox offers:

  • μi,sR3\mu_{i,s} \in \mathbb{R}^37–μi,sR3\mu_{i,s} \in \mathbb{R}^38 lower memory per voxel and μi,sR3\mu_{i,s} \in \mathbb{R}^39–ni,sNn_{i,s} \in \mathbb{N}0 faster KNN than raw-point hashing
  • ni,sNn_{i,s} \in \mathbb{N}1 updates (vs ni,sNn_{i,s} \in \mathbb{N}2 for iKD-tree), yielding improved cache efficiency on ARM
  • Greater floating-point robustness and avoidance of expensive matrix inversions compared to probabilistic-voxel approaches (e.g., iG-LIO)

Summarily, OctVox is a rigorously engineered compromise between raw-point fidelity and full Gaussian models, delivering strict point density control, incremental denoising, and constant-time insertions. Coupled with HKNN, these features establish OctVox as a leading memory- and runtime–efficient backbone for modern LiDAR-inertial odometry systems, with demonstrated robustness and accuracy across heterogeneous deployment scenarios (Wang et al., 6 Sep 2025).

Definition Search Book Streamline Icon: https://streamlinehq.com
References (1)

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to OctVox.