VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator
Q2 Computing analysis. All mathematical results and empirical findings are attributed to the original authors. We present our reading of the work as it relates to robotic automation.
What this paper solves
GPS-denied localization for mobile platforms requires fusing camera and IMU data without accumulated drift. VINS-Mono provides a complete, tightly-coupled monocular visual-inertial odometry pipeline: IMU preintegration for fast prediction, feature-based visual updates, sliding window bundle adjustment for local consistency, and optional loop closure for global drift correction. It is the most widely deployed open-source VIO baseline in the robotics field and is used directly as the feature frontend in Deep Drone Acrobatics (#12).
Key mathematical framework
IMU preintegration
Rather than integrating raw IMU measurements at every camera frame and re-integrating when IMU biases change, VINS-Mono preintegrates IMU measurements in the body frame between consecutive keyframes and . The preintegrated terms are relative translation, velocity change, and rotation:
where and are raw accelerometer and gyroscope measurements, are slowly varying biases, and are white noise terms. These preintegrated quantities can be updated cheaply when bias estimates change without re-integration.
IMU measurement residual
Given state estimates at keyframes and , the IMU residual vector measures discrepancy between predicted and preintegrated motion:
Visual measurement residual
For a landmark observed from camera frame , the visual residual is the reprojection error in normalized image coordinates:
where is the normalized projection function and are the camera-IMU extrinsic calibration.
Sliding window bundle adjustment
VINS-Mono maintains a sliding window of the most recent keyframes and optimizes the full state vector by minimizing the sum of IMU and visual residuals weighted by their respective covariances:
The term is the prior from marginalized states, maintained via the Schur complement to keep the window size bounded. This is the tightly-coupled formulation: IMU and visual measurements are jointly optimized rather than fused sequentially.
Empirical results
- EuRoC benchmark: VINS-Mono achieves centimeter-level position accuracy on all EuRoC MAV sequences, competitive with or exceeding stereo and RGB-D systems using only a monocular camera and IMU
- Initialization: Fully automatic. Estimates camera-IMU extrinsics and IMU biases online without pre-calibration
- Loop closure: DBoW2-based place recognition with pose graph optimization eliminates long-term drift in environments with revisited regions
- Deployment: Real-time on an Intel NUC CPU. Used as the feature frontend in Deep Drone Acrobatics and as the localization baseline in EGO-Planner and EGO-Swarm
What this means for robotic automation
VINS-Mono is the standard against which camera-dependent localization is measured. Its preintegration formulation is the correct way to handle asynchronous IMU and camera data in a sliding window estimator: IMU provides high-frequency prediction, camera provides low-frequency but drift-free correction, and the preintegrated terms allow both to be jointly optimized in a single nonlinear least-squares problem.
The sensor fusion architecture here is the transferable result. Camera input improves accuracy and precision over inertial sensing alone, and this benefit holds even at low resolution when the visual task is terrain conformation evaluation rather than high-fidelity feature tracking. Low-resolution frames are computationally cheap to process, which makes them compatible with edge-constrained deployments where full VIO pipelines are too expensive. The camera does not need to run a SLAM pipeline to be useful: it only needs to produce observations that correlate with the terrain prior.
VINS-Mono's deployment in Deep Drone Acrobatics as a feature track frontend rather than a full localization system illustrates this principle. Harris corner detection and Lucas-Kanade tracking are computationally simple relative to bundle adjustment, yet they provide enough scene-geometry information to satisfy the abstraction lemma's condition for minimizing the sim-to-real gap.