Source-linked AI summary

DAVIO: Dense Monocular-Inertial SLAM with Feed-Forward Initialization and Pose-Conditioned Mapping

Jaafar Mahmoud, Arthur Movsesyan, Mikhail Iumanov, Sergey Kolyubin

arXiv:2609.27702v1cs.ROcs.CV

TL;DR

Classical VIO waits for sufficient motion before recovering metric scale and keeps sparse landmarks, while feed-forward geometry predicts dense structure without metric calibration. DAVIO uses one geometry model to bootstrap a VIO filter and condition dense mapping on its metric poses. It starts earlier, lowers final trajectory error, and improves dense reconstruction in the reported comparisons.

  • Problem

    Classical VIO must wait for sufficient motion to recover metric scale and retains sparse landmarks, while feed-forward geometry lacks metric scale and gravity.

    Source: §I · p. 1
  • Method

    DAVIO uses one feed-forward model for a feature-free, five-image visual–inertial initialization and pose-conditioned dense mapping, with a gravity-preserving submap graph.

    Source: §I · pp. 1–2
  • Results

    DAVIO starts earlier and lowers final trajectory error, maps with lower error than ScaRF-SLAM on identical EuRoC poses, and outperforms MASt3R-Fusion and VGGT-SLAM2 in EuRoC trajectory accuracy and ORI surface error.

    Source: §I · p. 2, §VIII · p. 8
  • Takeaways & Limitations

    The reported comparisons show DAVIO can combine early metric start-up with dense mapping while retaining the online filter state and correcting the map frame.

    Source: §I · p. 2, §VIII · p. 8

    The conditioning thresholds are numerical safeguards rather than an observability proof, and may conservatively reject some cases where the gravity-magnitude constraint could restore observability.

    Source: B. Conditioning and robust estimation · p. 3

Abstract

from arXiv · show

A camera and an IMU are the minimal sensor setup for metric localization and dense mapping, yet classical visual--inertial filters must wait for parallax before they start and then retain only sparse landmarks. Feed-forward geometry models, in contrast, predict dense structure from a few images but provide neither metric scale nor gravity. We present DAVIO, which uses a single multi-view depth model, Depth Anything~3, for both start-up and mapping. At start-up, a five-image window and preintegrated IMU measurements form a feature-free linear system. Its robust, conditioning-checked solution bootstraps a VIO filter through buffered replay. During tracking, the filter's metric poses condition the depth model. Residual scale is corrected only along viewing rays, which preserves the metric camera baselines, and a gravity-preserving submap graph with drift-gated revisits refines the map. On EuRoC, DAVIO starts markedly earlier, reduces the localization error, and maps more accurately than SOTA feed-forward mappers given identical poses. On building-scale ORI sequences, DAVIO is on bar or better than SOTA mappers on the same odometry, and degrades far less when GT poses are replaced by real odometry. We release the code of DAVIO, a real-time dense metric SLAM system, to the community.

I. INTRODUCTION

Classical VIO obtains metric scale only after sufficient motion and retains sparse landmarks, while feed-forward geometry supplies dense structure without metric calibration. DAVIO combines these strengths by using one feed-forward model for initialization and mapping, with a filter-based VIO and a gravity-preserving submap graph.

I. INTRODUCTION

  • Classical VIO can recover metric scale only after sufficient motion separates specific force from gravity, and its sparse landmarks are inadequate for dense downstream mapping.Feed-forward geometry predicts dense structure from co-visible images but lacks metric scale, gravity orientation, sensor velocity, and IMU biases.Source: §I · p. 1
  • DAVIO uses one feed-forward geometry model for both feature-free initialization of a VIO filter and dense mapping conditioned on its metric poses.Initialization uses a five-image window and preintegrated IMU measurements; tracking uses pose-conditioned depth submaps and a gravity-preserving graph with drift-gated revisits.Source: §I · pp. 1–2

II. RELATED WORK

  • DAVIO's initializer extends a feature-free point–inertial formulation with robust estimation, conditioning checks, and buffered filter handoff for continuous operation.Online extrinsic and temporal calibration remain with the filter.Source: §I · pp. 1–2, §II · p. 2
  • DAVIO differs from ScaRF-SLAM by bootstrapping the filter with the same feed-forward model and refining map-frame poses during verified revisits while leaving the online VIO filter untouched.The graph admits loop closures only when accumulated odometry drift exceeds the constraint's uncertainty.Source: §II · p. 2

III. SYSTEM OVERVIEW

DAVIO runs filter-based VIO alongside a single GPU mapping worker, using a five-image window to propose initialization and overlapping windows to build a dense map. Its feature-free start-up system combines learned camera geometry with preintegrated IMU motion in a linear estimate of metric state.

III. SYSTEM OVERVIEW

  • The system's camera poses use the convention that T_AB maps coordinates expressed in frame B into frame A, with the camera pose formed from the filter's IMU pose and camera–IMU extrinsics.Bold lowercase symbols denote vectors, and log denotes the natural logarithm.Source: §III · p. 2
  • During tracking, five-frame mapping windows are spaced at 0.5 s keyframe intervals, share two images, and commit map versions whose rigid map-frame correction affects published poses but not filter velocities, biases, or calibration.At start-up, five images spaced 0.2 s apart form the geometry window; whichever initializer becomes ready first publishes.Source: §III · p. 2

A. Point–inertial linear system

  • DA3 supplies per-image depth, confidence, intrinsics, and relative poses; sampled pixel rays and preintegrated IMU motion provide constraints for a feature-free linear system estimating metric scale, initial velocity, and gravity.Points above the 25th confidence percentile are sampled over a 4×4 grid, up to 100 per image.Source: A. Point–inertial linear system · pp. 2–3
  • The weighted least-squares formulation divides each row pair by predicted depth and weights it by the square root of point confidence, with the supplied camera–IMU lever arm held fixed.Two tangent-plane refinements update the gravity direction while preserving its magnitude.Source: A. Point–inertial linear system · p. 3

B. Conditioning and robust estimation

The start-up estimate can be underconstrained despite many sampled points, so DAVIO checks motion conditioning and uses robust, physically plausible acceptance tests. Conservative rejection leaves the classical OpenVINS initializer available.

B. Conditioning and robust estimation

  • If DA3 rotations agree with IMU preintegration, each image contributes at most three independent equations regardless of point count, so four images are necessary and the fifth adds redundancy.Rotation disagreement can increase numerical rank, but those extra rows reflect rotation error rather than scale information.Source: B. Conditioning and robust estimation · p. 3
  • Quadratic-or-lower up-to-scale motion can let changes in scale be absorbed by initial velocity and gravity, making constant-velocity start-up a typical degenerate case.The system accepts a solution only with at least four images, singular-value ratio of at least 10^-3, and baseline-to-depth ratio of at least 0.02; these are safeguards, not an observability proof.Source: B. Conditioning and robust estimation · p. 3
  • DA3 depth can be unreliable at object boundaries, reflective or textureless surfaces, and on moving objects.The unknown outlier fraction motivates robust estimation.Source: B. Conditioning and robust estimation · pp. 3–4
  • DAVIO uses 100 stratified LMedS hypotheses, scoring positive scales with the median residual divided by scale to avoid bias toward small scale.Each hypothesis samples two points per non-reference image; an admissible hypothesis requires a majority of points within threshold in at least three images.Source: B. Conditioning and robust estimation · p. 4
  • The refitted solution must meet inlier-fraction and residual thresholds and pass velocity and gravity-direction plausibility tests; otherwise the OpenVINS initializer remains armed.Gyroscope bias is initialized by aligning DA3 relative rotations with IMU preintegration.Source: B. Conditioning and robust estimation · p. 4

C. Refinement and filter handoff

The accepted initializer is refined with positive-scale and gravity parameterizations, bias corrections, and robust reprojection and IMU residuals. The refined state is handed to a fresh OpenVINS instance, which replays buffered measurements before becoming active.

C. Refinement and filter handoff

  • The refined state uses a strictly positive softplus scale and represents gravity with two tangent coordinates around the linear-stage direction.The scale parameterization adds ε = 10^-5.Source: C. Refinement and filter handoff · p. 4
  • Gyroscope and accelerometer bias terms are corrected relative to the preintegration estimate before the residuals are evaluated.The accelerometer correction is δb_a = b_a − b̄_a.Source: C. Refinement and filter handoff · p. 4
  • Normalized projection clamps the depth denominator at 10^-6, bounding the influence of points behind the camera.The residual is stacked over the inlier set.Source: C. Refinement and filter handoff · p. 4
  • A component-wise Huber loss combines reprojection, gyroscope, accelerometer, and scale residuals, with priors because short windows weakly separate accelerometer bias from scale and gravity.The scale prior keeps refined scale near the accepted linear estimate.Source: C. Refinement and filter handoff · p. 4
  • The refined state is propagated to the last image, expressed in a gravity-aligned frame, and written into a fresh OpenVINS instance for buffered replay.A candidate is selected after five consecutive states fall within 0.15 s of the live stream; it is abandoned if this does not happen within 3 s, with at most five candidates attempted.Source: C. Refinement and filter handoff · p. 4

D. Calibration modes

The primary calibration mode uses rig-provided intrinsics, distortion, extrinsics, and time offset. A second mode estimates some calibration quantities from early windows and refines them online.

D. Calibration modes

  • The primary mode takes intrinsics, distortion, extrinsics, and time offset from the rig calibration.Source: D. Calibration modes · p. 4
  • When extrinsics and time offset are withheld, rotation R_IC and gyroscope bias b_g are estimated by aligning preintegrated and DA3 relative rotations across early windows.Source: D. Calibration modes · p. 4
  • The alternate mode validates its estimate on a later window, initializes lever arm and time offset to zero, then lets OpenVINS refine them and the rotation online from priors.Source: D. Calibration modes · p. 4

V. POSE-CONDITIONED DENSE MAPPING

DAVIO forms overlapping depth submaps using the filter’s metric poses and estimates residual depth-scale corrections without changing metric camera translations. Each submap carries a map pose and a residual log-depth scale.

V. POSE-CONDITIONED DENSE MAPPING

  • A submap window is accepted only when its metric baseline exceeds 5 cm, fit RMSE is at most 15 cm, and |log ŝ_j| ≤ 0.3.Because DA3 returns the input poses by default, the similarity fit is a consistency check, not independent evidence of depth accuracy.Source: A. Conditioned submaps and depth-only… · p. 4
  • Each submap stores a map-frame pose and a residual log-depth scale, while its image poses relative to the center image remain fixed to metric VIO poses.Source: A. Conditioned submaps and depth-only… · p. 4
  • Residual scale acts on depth only, preserving the metric translations of the VIO poses within each window.Scaling the whole window would also scale the VIO baselines and displace non-center frames.Source: A. Conditioned submaps and depth-only… · p. 4

B. Frame scales and shared-image constraints

Frame-level scales redistribute relative depth corrections within a window, while the submap graph estimates its overall scale. Shared images provide relative-scale constraints between consecutive submaps.

B. Frame scales and shared-image constraints

  • XFeat/LighterGlue matches link images one or two positions apart within a window for the frame-level refinement.Source: B. Frame scales and shared-image… · p. 4
  • Eight rounds of depth-normalized, outlier-reweighted least squares estimate per-frame scales, which are projected to unit geometric mean after each round.Source: B. Frame scales and shared-image… · p. 4
  • Per-frame scales redistribute only relative corrections within a window; the submap graph estimates the window’s overall scale through λ_j.Source: B. Frame scales and shared-image… · p. 5
  • For consecutive submaps, shared-image median log-depth ratios define relative-scale constraints; if no shared image remains, the constraint comes from a projected-overlap depth ratio.The shared-image relation follows from consistency of corrected depths.Source: B. Frame scales and shared-image… · p. 5

C. Submap graph and revisit admission

The submap graph combines point and odometry residuals while preserving filter-observed roll and pitch. Verified revisits contribute scale constraints, but affect poses only when estimated drift exceeds constraint uncertainty.

C. Submap graph and revisit admission

  • Revisits within 8 m and at least 5 s apart undergo PnP and geometric, depth-agreement, and odometry-innovation checks before up to 80 correspondences form a point group.PnP requires at least 50 matches, 30 inliers, and a 0.25 inlier fraction; it verifies candidates but does not add a second pose factor.Source: C. Submap graph and revisit admission · p. 5
  • The graph minimizes point and odometry residuals using a Huber loss with threshold 2.The odometry weights encode a prescribed drift model, while point residuals use ray-aligned covariance with 10% depth and 1% cross-ray uncertainty, each floored at 10 cm.Source: C. Submap graph and revisit admission · p. 5
  • The first node fixes the gauge; other nodes optimize translation, yaw about gravity, and depth scale, preserving filter-observed roll and pitch.After eviction, the first retained node is fixed at its current state.Source: C. Submap graph and revisit admission · p. 5
  • Every verified revisit adds its median depth ratio as a scale constraint, while its point group affects poses only when predicted odometry drift exceeds constraint uncertainty.Adjacent point groups are always included.Source: C. Submap graph and revisit admission · p. 5

D. Fusion and live trajectory

DAVIO fuses reobserved depths into submaps and applies graph-derived corrections to live and exported poses. Its evaluation defines startup and trajectory comparisons, reconstruction metrics, datasets, and comparison categories.

D. Fusion and live trajectory

  • Depths reobserved within 10% relative depth are archived in submap coordinates and fused into 4 cm voxels across at most 24 resident submaps.The final export reprojects all archives using the latest graph states.Source: D. Fusion and live trajectory · p. 5
  • When the odometry-to-map correction changes by more than 5 cm or 2°, live poses interpolate the change over one sensor second, and final export applies completed corrections to past poses.Published poses record the correction version and interpolation fraction.Source: D. Fusion and live trajectory · p. 5

VI. EXPERIMENTAL SETUP

  • The evaluation asks whether DAVIO initializes earlier than OpenVINS, improves retrospective trajectory error, and improves dense reconstruction under identical inputs.It distinguishes native OpenVINS, causal poses using the latest available map correction, and final poses re-exported after the last graph update.Source: §VI · p. 5
  • EuRoC and five building-scale ORI sequences are evaluated on a laptop with an RTX 3060, using matched-pose ScaRF comparisons and end-to-end tracker comparisons.End-to-end baselines include ORB-SLAM3, MASt3R-Fusion, and VGGT-SLAM2; the latter uses a global Sim(3) fit to the reference.Source: §VI · pp. 5–6
  • Startup success requires a published trajectory within a 10-second window with ATE below 0.5 m; surface precision, recall, and F@10 use a 10 cm threshold.ORI results report global mean distance and F-score, plus 10 m chunk error, precision, and recall at 3 cm; the table distinguishes comparable DA3-Base methods from other settings.Source: §VI · p. 6, Table I · p. 6

VII. RESULTS

DAVIO starts earlier than OpenVINS and improves final trajectories on EuRoC, while its pose-conditioned mapping improves dense reconstruction across EuRoC and ORI comparisons. The reported gains depend in part on tolerance to odometry drift and depth quality.

A. Q1: Earlier metric start-up

  • DAVIO’s median first-state time is 2.43 s versus 3.65 s, and median quality-penalized time is 2.66 versus 3.87 s.In the Machine Hall, it halves Tq (2.30 against 4.68 s); overall success remains comparable at 109/132 versus 111/132.Source: A. Q1: Earlier metric start-up · p. 6, Table II · p. 6

B. Q2: Causal and final trajectories

C. Q3: Dense reconstruction

  • On identical EuRoC poses, DAVIO’s median F@10 rises from 0.45 to 0.58 and median error falls from 0.227 to 0.172 m versus ScaRF.Fig. 3(a) shows the comparison on V1 02 and V2 02.Source: C. Q3: Dense reconstruction · p. 6, Figure 3 · p. 7
  • On ORI, pose conditioning cuts median global error from 0.219 to 0.080 m and raises F@10 from 0.38 to 0.75 on DAVIO’s trajectory.The same comparison reports chunk precision rising from 20.1 to 60.8%.Source: C. Q3: Dense reconstruction · p. 6
  • On ORI, ScaRF’s global error increases 110% when moved to OpenVINS poses, versus DAVIO’s 26%; the submap graph contributes to DAVIO’s drift tolerance.With graph poses fixed, DAVIO’s error on OpenVINS poses rises to 0.105 m; DA3-Large further lowers online errors and raises F@10 to 0.81.Source: C. Q3: Dense reconstruction · pp. 6–7

D. Ablations

The ablations distinguish the mapper’s surface-quality gains from the graph’s trajectory corrections. The conclusion reports lower mapping error than ScaRF-SLAM on identical EuRoC poses and stronger results against other mappers.

D. Ablations

  • In EuRoC mapping ablations, the complete system improves F@10 over the unconditioned reference by 0.06–0.17 and completeness by 7–23 mm, with pose conditioning identified as the main source of surface quality.Source: D. Ablations · p. 7, Table VI · p. 8

VIII. CONCLUSION

  • DAVIO maps with lower error than ScaRF-SLAM on identical EuRoC poses and outperforms MASt3R-Fusion and VGGT-SLAM2 in EuRoC trajectory accuracy and ORI surface error.Table V evaluates DAVIO online and ScaRF’s released mapper offline on matched OpenVINS poses.Source: Table V · p. 7, §VIII · p. 8

D. Ablations

  • Fixing graph poses raises final MH 03 ATE from 0.101 to 0.158 m; removing revisits yields 0.158 m, while removing drift gating yields 0.116 m.Revisit surface effects vary: they add 0.11 F@10 on V1 02, while their removal improves V1 03 and V2 02 by 0.009 and 0.049.Source: D. Ablations · p. 7, Table VI · p. 8
Loading 2609.27702v1…