Table of Contents
Fetching ...

HybVIO: Pushing the Limits of Real-time Visual-inertial Odometry

Otto Seiskari, Pekka Rantalankila, Juho Kannala, Jerry Ylilammi, Esa Rahtu, Arno Solin

TL;DR

HbVIO is a novel hybrid approach for combining filtering-based visual-inertial odometry (VIO) with optimization-based SLAM, which is highly robust, independent VIO with improved IMU bias modeling, outlier rejection, stationarity detection, and feature track selection, and which is adjustable to run on embedded hardware.

Abstract

We present HybVIO, a novel hybrid approach for combining filtering-based visual-inertial odometry (VIO) with optimization-based SLAM. The core of our method is highly robust, independent VIO with improved IMU bias modeling, outlier rejection, stationarity detection, and feature track selection, which is adjustable to run on embedded hardware. Long-term consistency is achieved with a loosely-coupled SLAM module. In academic benchmarks, our solution yields excellent performance in all categories, especially in the real-time use case, where we outperform the current state-of-the-art. We also demonstrate the feasibility of VIO for vehicular tracking on consumer-grade hardware using a custom dataset, and show good performance in comparison to current commercial VISLAM alternatives. An open-source implementation of the HybVIO method is available at https://github.com/SpectacularAI/HybVIO

HybVIO: Pushing the Limits of Real-time Visual-inertial Odometry

TL;DR

HbVIO is a novel hybrid approach for combining filtering-based visual-inertial odometry (VIO) with optimization-based SLAM, which is highly robust, independent VIO with improved IMU bias modeling, outlier rejection, stationarity detection, and feature track selection, and which is adjustable to run on embedded hardware.

Abstract

We present HybVIO, a novel hybrid approach for combining filtering-based visual-inertial odometry (VIO) with optimization-based SLAM. The core of our method is highly robust, independent VIO with improved IMU bias modeling, outlier rejection, stationarity detection, and feature track selection, which is adjustable to run on embedded hardware. Long-term consistency is achieved with a loosely-coupled SLAM module. In academic benchmarks, our solution yields excellent performance in all categories, especially in the real-time use case, where we outperform the current state-of-the-art. We also demonstrate the feasibility of VIO for vehicular tracking on consumer-grade hardware using a custom dataset, and show good performance in comparison to current commercial VISLAM alternatives. An open-source implementation of the HybVIO method is available at https://github.com/SpectacularAI/HybVIO

Paper Structure

This paper contains 34 sections, 24 equations, 14 figures, 9 tables, 1 algorithm.

Figures (14)

  • Figure 1: Real-time VIO with uncertainty quantification on an embedded processor compared to ORB-SLAM3 on a desktop CPU. The latter remains the leader in the EuRoC post-processing category, while our method yields the best online results.
  • Figure 2: Example feature tracking in a single EuRoC left frame. Selected feature tracks $\mathbf{y}^j_S$ are shown in black (cf.\ref{['sec:visual-update-track-selection']}). The corresponding reprojections are drawn in green for successfully visual updates and red for tracks that failed the $\chi^2$ outlier test (cf.\ref{['sec:visual-updates']}). The end of the track with the larger circle matches the current frame, and the long gap between the two last key points in some tracks is a consequence of \ref{['eq:anti-track-reuse-criterion']}. LK-tracked features that were not used on this frame are drawn in magenta.
  • Figure 3: Car setup: GNSS is used as ground truth. Other devices record their proprietary VISLAM output (RealSense, ARKit on iOS 14.3, or ARCore 1.21) and its inputs (IMU & cameras).
  • Figure 4: Comparison to commercial solutions. The lines with the same symbol use the same device and input data: RealSense T265 ($\times$), iPhone 11 Pro ($\bullet$), or Huawei Mate 20 Pro ($\Box$). Blue line is our result and red is a commercial solution on the same device.
  • Figure A1: VIO velocity estimate for \ref{['subfig:car-result']}, HybVIO on ARKit
  • ...and 9 more figures