DM-VIO

von Stumberg 2022 · Paper

One-line summary — A direct (DSO-based) monocular VIO built on two new techniques — delayed marginalization and pose graph bundle adjustment (PGBA) for IMU initialization — that outperforms even stereo-inertial systems with a single camera and IMU.

Problem

Marginalization keeps sliding-window VIO real-time, but “it cannot easily be reversed, and linearization points of connected variables have to be fixed” (First-Estimates Jacobians). This is especially painful in monocular VIO, where the scale is connected to the marginalization prior as soon as the first keyframe is marginalized — yet may still change drastically, since scale is unobservable under constant-velocity motion (common in cars). Prior systems either ran visual-only + separate IMU init (losing photometric uncertainty) or, like VI-DSO, initialized immediately with arbitrary scale and used lossy dynamic marginalization. DM-VIO answers three questions with one mechanism: how to capture full visual uncertainty in the initializer, how to transfer it into the main system, and how to keep the prior consistent when scale changes.

Method & architecture

The core is a visual-inertial bundle adjustment over all active keyframes, minimized with Levenberg-Marquardt (photometric part SIMD-accelerated from DSO, other factors in GTSAM):

E(s)=W(ephoto)Ephoto+Eimu+EpriorE(\mathbf{s}) = W(e_{\text{photo}}) \cdot E_{\text{photo}} + E_{\text{imu}} + E_{\text{prior}}

Results

Evaluated on EuRoC, TUM-VI, and 4Seasons (drone, handheld, automotive); 10 runs per EuRoC sequence, 5 elsewhere, in real-time mode on a 2013 MacBook Pro (i7 2.3 GHz, no GPU).

Why it matters for SLAM

DM-VIO closed the gap between direct and feature-based VIO: a monocular photometric system with a well-designed marginalization and initialization strategy can beat feature-based stereo-inertial pipelines. It is the culmination of the TUM direct-method line (DSO → VI-DSO → DM-VIO) and the system to study for how marginalization consistency issues (FEJ, unobservable scale) manifest — and are mitigated — in practice. Delayed marginalization is a general tool: the paper itself suggests keyframe reactivation for map reuse and PGBA for long-term loop closures.