A Robust and Efficient Visual-Inertial Initialization with Probabilistic Normal Epipolar Constraint
Changshi Mu, Daquan Feng, Qi Zheng, Yuan Zhuang
TL;DR
This work introduces a robust VIO initialization method that decouples rotation and translation while incorporating uncertainty-aware cues. A Probabilistic Normal Epipolar Constraint (PNEC) is used to refine gyroscope-bias estimation by accounting for 2D feature uncertainty, and a fused IMU-vision pipeline estimates velocity, gravity, and scale, followed by a refinement that improves gravity and scale accuracy. Across EuRoC and TUM VI datasets, the method yields lower gyroscope bias, rotation, gravity, and scale errors than strong baselines, while remaining suitable for real-time operation. The approach enhances initialization robustness in challenging motions, enabling more accurate and reliable VIO in practical scenarios.
Abstract
Accurate and robust initialization is essential for Visual-Inertial Odometry (VIO), as poor initialization can severely degrade pose accuracy. During initialization, it is crucial to estimate parameters such as accelerometer bias, gyroscope bias, initial velocity, gravity, etc. Most existing VIO initialization methods adopt Structure from Motion (SfM) to solve for gyroscope bias. However, SfM is not stable and efficient enough in fast-motion or degenerate scenes. To overcome these limitations, we extended the rotation-translation-decoupled framework by adding new uncertainty parameters and optimization modules. First, we adopt a gyroscope bias estimator that incorporates probabilistic normal epipolar constraints. Second, we fuse IMU and visual measurements to solve for velocity, gravity, and scale efficiently. Finally, we design an additional refinement module that effectively reduces gravity and scale errors. Extensive EuRoC dataset tests show that our method reduces gyroscope bias and rotation errors by 16\% and 4\% on average, and gravity error by 29\% on average. On the TUM dataset, our method reduces the gravity error and scale error by 14.2\% and 5.7\% on average respectively. The source code is available at https://github.com/MUCS714/DRT-PNEC.git
