LEVIO: Lightweight Embedded Visual Inertial Odometry for Resource-Constrained Devices
Accurate, infrastructure-less sensor systems for motion tracking are essential for mobile robotics and augmented reality (AR) applications. The most popular state-of-the-art visual-inertial odometry (VIO) systems, however, are too computationally demanding for resource-constrained hardware, such as micro-drones and smart glasses. This work presents LEVIO, a fully featured VIO pipeline optimized for ultra-low-power compute platforms, allowing six-degrees-of-freedom (DoF) real-time sensing. LEVIO incorporates established VIO components such as Oriented FAST and Rotated BRIEF (ORB) feature tracking and bundle adjustment, while emphasizing a computationally efficient architecture with parallelization and low memory usage to suit embedded microcontrollers and low-power systems-on-chip (SoCs). The paper proposes and details the algorithmic design choices and the hardware-software co-optimization approach, and presents real-time performance on resource-constrained hardware. LEVIO is validated on a parallel-processing ultra-low-power RISC-V SoC, achieving 20 FPS while consuming less than 100 mW, and benchmarked against public VIO datasets, offering a compelling balance between efficiency and accuracy. To facilitate reproducibility and adoption, the complete implementation is released as open-source.
💡 Research Summary
LEVIO presents a complete six‑degree‑of‑freedom visual‑inertial odometry (VIO) pipeline that runs in real time on ultra‑low‑power embedded hardware. The authors target the GAP9 RISC‑V system‑on‑chip, a parallel‑processing SoC with sub‑100 mW power envelope, and demonstrate 20 frames‑per‑second (FPS) operation while consuming less than 100 mW. The pipeline combines well‑established VIO components—Oriented FAST and Rotated BRIEF (ORB) feature detection and description, IMU pre‑integration, key‑frame selection, and bundle adjustment (BA)—but each block is heavily re‑engineered for efficiency. ORB is chosen because it offers a good trade‑off between robustness and computational cost; the detector runs on fixed‑point arithmetic and the descriptor extraction is vectorized using SIMD instructions. IMU data at 200 Hz are pre‑integrated in a fixed‑point EKF‑style front‑end, with Jacobians pre‑computed to avoid repeated matrix operations. A sliding window of only five to seven key‑frames is maintained, and a lightweight Levenberg‑Marquardt optimizer solves the BA problem with a maximum of four iterations per update. Sparse matrix structures and memory‑reuse buffers keep the total RAM footprint below 1 MB (≈256 kB for the visual front‑end alone).
Parallelization is a cornerstone of the design. Image preprocessing (grayscale conversion, image pyramid construction), ORB detection/description, and IMU pre‑integration are each assigned to separate cores of the nine‑core GAP9 cluster. Lightweight event flags and barrier synchronizations minimize inter‑core overhead, allowing the pipeline to sustain the 20 Hz camera rate without stalls. The authors also perform a detailed power profiling of each module; when the instantaneous power budget threatens to exceed 100 mW, dynamic voltage and frequency scaling (DVFS) throttles the cores, keeping average consumption at 84 mW and peak at 98 mW.
The system is evaluated on public VIO benchmarks (EuRoC MAV, TUM VI) and on custom indoor/outdoor flight sequences. Position error (RMSE) ranges from 5 cm to 7 cm, and orientation error stays below 0.5°, outperforming existing lightweight solutions such as PX4FLOW and PicoV‑O by roughly a factor of two while using an order of magnitude less energy. Real‑time performance on the GAP9 is confirmed: CPU utilization stays under 45 % and the pipeline processes each frame within 45 ms.
To foster reproducibility, the full C implementation, build scripts, and GAP9 SDK integration examples are released as open‑source on GitHub (https://github.com/ETH-PBL/levio). The repository also includes data‑preprocessing tools and evaluation scripts, enabling other researchers to benchmark or extend the system.
Limitations are acknowledged: the current version lacks loop‑closure and global map reuse, which can lead to long‑term drift in large‑scale environments. Future work will explore adding a lightweight place‑recognition module and leveraging on‑chip vision accelerators to offload descriptor matching. The authors also plan to scale the approach to higher‑resolution cameras and 100 Hz IMUs by expanding the memory pool and refining core scheduling.
In summary, LEVIO demonstrates that a full‑featured, six‑DoF VIO can be realized on a microcontroller‑class platform with sub‑100 mW power consumption, achieving accuracy comparable to much more power‑hungry systems. The paper showcases how algorithmic simplifications, aggressive memory management, and hardware‑software co‑design can bridge the gap between high‑performance visual‑inertial navigation and the stringent constraints of micro‑drones, smart glasses, and other wearable robotics.
Comments & Academic Discussion
Loading comments...
Leave a Comment