OctVox: Compact Octo-Voxel Mapping
- 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 is implemented with a Robin-Hood–hashed table storing fixed-size voxels , each with edge length . Every voxel is subdivided into eight contiguous subvoxels , , with each subvoxel having edge length .
Each subvoxel stores a single representative:
- : the incrementally averaged centroid
- : the count of fused points
Logical occupancy is given by if , else 0. The local covariance is approximated as 1, reflecting the noise reduction from averaging.
Subvoxel indexing uses 2 bitwise operations:
- Compute 3
- Parent voxel index: 4 (integer division by 2)
- Subvoxel index: 5, 6
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 7:
- If slot 8 is empty: initialize 9, 0
- Else if 1 and 2:
3
- Otherwise, the point is discarded (treated as an outlier)
The merge threshold 4 (typically 5 of the sensor) maintains outlier robustness. Averaging incrementally reduces variance proportional to 6, 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 7 in 8
- If subvoxel is empty, initialize; if within 9, update as above; else, discard
- There is no dynamic splitting beyond the fixed 0 subdivision
Occupancy (per subvoxel) can be defined by 1 or normalized count 2. All per-point update operations are constant time, yielding 3 frame update complexity for 4 points.
4. Memory and Runtime Efficiency
OctVox achieves a significant reduction in memory footprint relative to alternatives. Each subvoxel stores one 5 (float[3]) and 6 (int), for 7 B, totaling 8 B per voxel (plus 9 B hash-table overhead). By comparison, a raw-point hashed voxel storing 0 points at 1 B/point would require approximately 2 B (e.g., 3 B/voxel).
Empirical runtime metrics (Wang et al., 6 Sep 2025):
| Platform | Avg Frame Time | CPU Usage |
|---|---|---|
| X86 (5800H@5×) | 4 ms | 533.5 % |
| ARM (Orin NX@1×) | 6 ms | 737.8 % |
Relative to FAST-LIO2, Super-LIO with OctVox is 8 faster (x86) and 9 faster (ARM), using 0–1 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:
- IMU-aided de-skewing of LiDAR scans to obtain 2
- Transformation of 3 to the world frame to yield 4
- Center-based downsampling
- For each 5, Heuristic-guided KNN (HKNN) within OctVox to retrieve 6 nearest subvoxel centroids
- Local plane fitting via PCA on 7 points, forming point-to-plane residuals
- IESKF state update with residuals
- Map update via downsampled point re-insertion into OctVox
The HKNN algorithm precomputes a canonical traversal list 8 grouping subvoxels by increasing minimum distances 9. Octant symmetry is exploited for efficient traversal using bitwise XOR and sign flips. Groups are traversed in ascending 0, with a 1-size max-heap for the nearest neighbors and early termination when the next group’s 2 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 3 m, compared to 4 m (FAST-LIO2), 5 m (Faster-LIO), and 6 m (iG-LIO)
- Real-time performance maintained on ARM platforms, with stable tracking in narrow indoor, UAV, and fast-motion scenarios
OctVox offers:
- 7–8 lower memory per voxel and 9–0 faster KNN than raw-point hashing
- 1 updates (vs 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).