MAC-VO
Qiu 2024 · Paper
One-line summary — A learning-based stereo visual odometry that predicts metrics-aware matching covariances and uses them both to select keypoints and to weight residuals in pose optimisation.
Problem
Learning-based VO models reliability poorly: confidence weights learned unsupervised (DROID-SLAM, DPVO) are scale-agnostic — they rank matches relative to each other but do not reflect actual 3D estimation error in metres, which “makes the covariance inconsistent across different environments that vary in scale” and “harder to integrate multiple constraints from different modalities or sensors.” Meanwhile keypoint selection still prefers texture-rich edges and corners, exactly where learned matching and depth are least accurate due to interpolation and edge ambiguity — D3VO showed such features can perform worse than random selection. MAC-VO replaces both with a single learned, metrics-aware uncertainty model.
Method & architecture
Uncertainty-aware matching network. A shared FlowFormer-backbone network jointly estimates depth, optical flow , and their uncertainties between frames. A covariance decoder rides the recurrent flow decoder, predicting iterative updates in log space (additive updates, guaranteed-positive variance, stable gradients). Supervision is a negative log-likelihood loss over the update iterations:
with ground-truth flow and exponentially decaying weights (ratio 0.8). Trained on TartanAir only; evaluated everywhere else zero-shot.
Uncertainty-based keypoint selection. Three stacked filters: non-minimum suppression (spatial spread), a geometry filter (image borders, invalid depth), and an uncertainty filter that drops pixels whose depth or flow uncertainty exceeds 1.5x the frame median — implicitly removing moving vehicles, occlusions, reflections, and featureless regions.
Metrics-aware 3D covariance. 2D uncertainty is propagated through the pinhole model into a full 3D covariance per keypoint. Diagonal terms (for ; symmetric, ):
Because all three coordinates share the depth , the model keeps the off-diagonal terms, e.g. and — an anisotropic, correlated covariance in metric units, unlike DROID-SLAM’s scale-agnostic diagonal. Depth uncertainty is additionally corrected for scene geometry: within a 32-pixel patch around the match, , a variance weighted by a 2D Gaussian kernel built from — so a match near a depth discontinuity inherits large depth uncertainty.
Pose graph optimisation. The camera pose is initialised by TartanVO’s motion estimate and refined by two-frame registration of matched 3D keypoints, weighted by the propagated covariances:
solved with Levenberg-Marquardt in PyPose. Notably there is no multi-frame bundle adjustment or loop closure — accuracy comes entirely from calibrated weighting.
Results
Same configuration and weights across all datasets; evaluation uses per-frame relative errors (m/frame) and (deg/frame).
- EuRoC: comparable average to DROID-SLAM (a full SLAM system) and about 10% better than all baselines.
- TartanAir v2 (new Hard split with indoor-outdoor transitions and low light): 61.9% lower than DROID-SLAM; on the lunar-like H00 sequence, 82.4% lower and the best of all baselines. ORB-SLAM3 and MASt3R-SLAM lose track on every Hard sequence.
- KITTI: 53.3% lower than other VO methods, ranking behind only ORB-SLAM3 (a full SLAM system with loop closure); suffers from the lack of multi-frame optimisation.
- Ablations (TartanAir v2 Hard, /): full model .0141/.1429 vs diagonal-only covariance .0461/.3023 vs scale-agnostic .0204/.2321 vs identity covariance .0679/.3776 — both metric scale and off-diagonal terms matter.
- Cost: 4.20 GB GPU memory (6.7x less than DROID-SLAM); 2.15 fps raw, 10.5 fps in fast mode (bf16, 4 update iterations) at ~70% of full accuracy on a 3090 Ti.
Why it matters for SLAM
MAC-VO represents the maturing of learning-based odometry: not just predicting poses or flow, but predicting how wrong the predictions are, in a form (metric, correlated covariances) that classical estimation theory knows how to consume. Calibrated uncertainty is exactly what is needed to fuse learned front-ends with filters, factor graphs, and multi-sensor systems — the authors’ stated next step — and the uncertainty map doubles as a reliability signal for downstream decision-making.
Related
- DPVO
- TartanVO
- DROID-SLAM
- D3VO
- FlowFormer — the matching backbone
- Consistency