Kimera-VIO

Rosinol 2020 · Paper

One-line summary — The fast stereo-inertial odometry module of the Kimera library: on-manifold IMU preintegration plus GTSAM structureless vision factors solved by iSAM2 fixed-lag smoothing — the state-estimation core of a real-time, CPU-only metric-semantic SLAM pipeline.

Problem

Robots operating around people need more than a trajectory: they need a metrically accurate and semantically labeled model of the scene. Existing open libraries (ORB-SLAM, VINS-Mono, OKVIS, ROVIO) stop at poses and sparse points, while real-time metric-semantic systems (SLAM++, SemanticFusion, Voxblox++) rely on RGB-D sensing and mostly GPUs. Kimera goes “beyond existing visual and visual-inertial SLAM libraries … by enabling mesh reconstruction and semantic labeling in 3D” — with visual-inertial sensing, on a CPU, in real time — anchored by a VIO front-end fast and accurate enough to carry the whole stack.

Method & architecture

Kimera takes stereo frames and high-rate IMU data and is parallelized across four threads hosting four modules:

The modules “can be run in isolation or in combination, hence Kimera can easily fall back to a state-of-the-art VIO or a full SLAM system.”

Results

On EuRoC (RMSE ATE, SE(3) alignment), Kimera achieves top performance per category: in fixed-lag smoothing, Kimera-VIO reaches 0.05–0.35 m (e.g., MH_1 0.11, V1_3 0.07) vs OKVIS 0.09–0.47, MSCKF 0.10–1.13, ROVIO 0.10–0.52, VINS-Mono 0.08–0.32; with full smoothing 0.04 m on MH_1 where SVO-GTSAM fails three V sequences; with loop closures, Kimera-RPGO gets 0.19 m on V2_3 where VINS-LC reports 1.39 m. Robustness: without PCM, PGO error explodes to 1.74 m as the DBoW2 threshold α\alpha loosens, while Kimera-RPGO stays at ~0.05 m for every α\alpha — no parameter tuning needed. Geometry: the global semantic mesh is accurate to 0.35–0.48 m against EuRoC ground-truth clouds; the fast multi-frame mesh is up to 24% noisier but two orders of magnitude faster. In a photo-realistic simulator, Kimera-Semantics reaches 80.03% mIoU with ground-truth depth and Kimera-VIO poses (ATE 0.04 m), dropping to 57.23% with dense stereo. Timing (CPU): IMU preintegration ~40 µs (>200 Hz state output), tracking 4.5 ms/frame, keyframe processing 45 ms, back-end <40 ms, RPGO ~55 ms, semantics ~0.1 s per keyframe.

Why it matters for SLAM

Kimera showed that a clean, modular open-source stack can go from raw stereo+IMU to a semantically labeled 3D mesh in real time on a CPU — making it both a practical VIO baseline and the substrate for a whole research lineage: 3D Dynamic Scene Graphs, Hydra, and Kimera-Multi all build on this front-end. Its GTSAM smart-factor + iSAM2 recipe is now a standard alternative to Ceres-style sliding-window optimization, and Kimera-RPGO’s robust pose graph optimization is used as a standalone library.

Hands-on