OKVIS2-X
Boche & Leutenegger 2025 · Paper
One-line summary — OKVIS2-X extends OKVIS2 into a unified multi-sensor SLAM system fusing visual, inertial, measured or learned depth, LiDAR, and GNSS measurements, while building dense volumetric occupancy submaps — tightly coupled to the estimator — that scale to 9 km sequences in real time.
Problem
Most state-of-the-art VI-SLAM systems build only sparse landmark maps that lack the geometric detail needed for downstream tasks (planning needs explicit free space, which point clouds and meshes don’t represent), and each system is typically built around one fixed sensor suite. A robot carrying cameras, IMU, depth/LiDAR, and a GNSS receiver has traditionally needed to stitch together separate VIO, LiDAR-inertial, and mapping stacks. OKVIS2-X asks for all of it at once: highest accuracy and robustness, dense globally consistent volumetric occupancy maps, large-scale operation, and real-time performance — in a single configurable factor-graph framework.
Method & architecture
OKVIS2-X keeps OKVIS2’s frontend (BRISK keypoints, DBoW2 place recognition, optional Fast-SCNN sky segmentation), realtime estimator, and asynchronous loop optimization, and adds three modules: a Depth Network, a Multi-Sensor Processor (GNSS residuals, LiDAR motion undistortion, frame-to-map factors), and a Submapping Interface. Everything is combined in one objective:
i.e. reprojection, preintegrated IMU, marginalization-derived pose-graph, map-alignment (frame-to-map and map-to-map), and GNSS factors, with Cauchy () and Tukey () robustifiers.
- Volumetric occupancy submaps (Supereight2, multi-resolution): each submap is anchored to a keyframe, so estimator updates move submaps and keep them locally consistent. Occupancy log-odds are fused recursively, with saturating weight . New submaps are triggered by overlap/keyframe-count criteria (drift within a submap assumed negligible).
- Map alignment factors tightly couple mapping and estimation: every measured point should lie on a surface (), and its distance from the nearest surface is extrapolated linearly from the occupancy field, applied frame-to-map (live frame vs. last completed submap) and map-to-map (between overlapping submaps, upon submap completion).
- Learned depth as a sensor: a stereo network and an MVS network are augmented with uncertainty decoders trained under a Laplacian loss, ; the two depth estimates are fused inverse-variance-optimally, with , and the pixel-wise weights the map factors — heuristic (linear LiDAR / quadratic RGB-D) noise models don’t hold for network depth.
- GNSS fusion: the state is augmented with a 4-DoF transform to an ENU frame; the residual uses IMU-propagated poses for asynchronous measurements and a known antenna lever arm . Initialization is gated on the yaw variance of the estimated transform; long dropouts trigger a loop-closure-like global re-alignment.
- Online camera-IMU extrinsics calibration: extrinsics enter not only reprojection factors but also the relative posegraph factors — the two-view Gauss-Newton system is augmented before landmark marginalization, extending the relative pose error to for cameras.
Results
- EuRoC: VIO (causal, no loop closure) average ATE 0.066 m vs. OpenVINS 0.117 and Kimera2 0.112 — a 41% error reduction; VI-SLAM non-causal 0.030 m beats ORB-SLAM3 (0.035) and MAVIS-SLAM (0.034), 0.028 m with final BA. Mesh accuracy on V101–V103: 0.031–0.039 m vs. SimpleMapping 0.071–0.086 m, with higher completeness.
- Hilti-Oxford (Hilti22): VI configuration outperforms all published competitors on the leaderboard; the VI-LiDAR configuration reduces average position error to 4.1 cm (2.8 cm excluding exp07), competitive with LiDAR-inertial Wildcat, and LiDAR carries the system through a vision-killing dark room (exp03).
- VBR (Rome, up to 9 km): superior VI performance vs. ORB-SLAM3/OpenVINS; VI-LiDAR beats FAST-LIVO already causally with 1.771 m average error (0.06% of trajectory length), and survives missing-IMU episodes that break competitors. Simulated RTK-GNSS with a 75 s / 450 m dropout on Campus1: final-BA ATE 0.169 m over ~3 km.
- Timing/memory (i7-13700 + RTX 3080): Ours-vi runs up to 47 Hz on EuRoC MH05 (wall time 38.1 ms/frame vs. ORB-SLAM3’s 64.7 ms); depth networks ≥13 Hz; GPU memory 3.51 GB; also runs onboard a drone on an NVIDIA Orin NX. Fully open source.
Why it matters for SLAM
OKVIS2-X represents the current frontier of open-source multi-sensor SLAM: the sliding-window + pose-graph architecture pioneered by OKVIS/OKVIS2 generalizes cleanly from a camera-IMU pair to a full sensor suite, and dense occupancy mapping is promoted from passive by-product to a first-class factor that improves the trajectory. For practitioners it is a single configurable system (vi / vid / vil / vig / vidg / vilg) covering use cases that previously required stitching together separate VIO, LiDAR-inertial, and mapping stacks — and its maps explicitly represent free space, directly usable for safe navigation.