AirVO
Xu 2023 · Paper
One-line summary — An illumination-robust stereo visual odometry that combines accelerated learned point features (SuperPoint + SuperGlue) with LSD line features matched through the points, running in real time (~15 Hz) on low-power embedded platforms.
Problem
Hand-crafted front-ends (ORB, FAST, BRISK) and optical-flow tracking assume brightness roughly constant between frames. In dynamic-illumination environments — onboard lights in tunnels, lights switching off, auto-exposure swings — tracking quality collapses exactly when a robot needs it most. Learned features are far more robust but “often require huge computational resources,” making them impractical on lightweight platforms like UAVs. Line features add structure in low-texture scenes, but classic line matching (LBD descriptors, tracked sample points) is itself unstable under changing light. AirVO targets all three gaps at once: a hybrid learned/classical point-line VO that is illumination-robust and embedded-real-time.
Method & architecture
A hybrid pipeline: learned front-end + traditional optimization back-end, split into a feature thread (SuperPoint on GPU in one sub-thread, LSD line detection on CPU in parallel) and an optimization thread (initial pose estimation, keyframe decision, local BA). CNN/GNN inference is converted from FP32 to FP16, making feature extraction + matching >5× faster than the original code.
- Learned points, keyframe-based tracking. SuperPoint features on the left image are matched with SuperGlue directly against the last keyframe (not frame-by-frame) — learned matching survives large baselines, so this reduces accumulated tracking error.
- Longer lines from LSD. LSD segments are merged when nearly collinear (angle < , midpoint-to-line distance < , endpoint gap < ); short leftovers are filtered out, keeping only stable long segments.
- Lines matched through points. Each point is associated to line (parameters ) if its distance is small. Two lines in frames and are declared the same if the score (matched shared points over the smaller per-line point count) and exceed thresholds — no line descriptor needed, so the point matcher’s illumination robustness transfers to lines for free.
- 3D lines. Plücker coordinates for triangulation/transformation/projection; the minimal 4-DoF orthonormal representation during optimization. Triangulation intersects the two back-projected planes; if that degenerates, the line is built from two associated triangulated points: , — nearly free, since the points already exist.
- Joint optimization. A co-visibility graph (ORB-SLAM-style) over keyframes, map points and 3D lines. The line reprojection error stacks point-to-line distances of the two detected endpoints from the reprojected line : alongside the standard point reprojection error .
- Keyframes are selected on distance/angle to the last keyframe or drops in tracked map points; keyframe right images are then processed for stereo triangulation.
Results
Evaluated (loop closure and relocalization disabled in all baselines) on two illumination-challenging datasets:
- OIVIO (tunnels/mines, onboard 1300–9000 lm light): best translational RMSE on 7 of 9 sequences and second-best on the other 2 — e.g. MN_015_GV_01: 0.0537 m vs. OKVIS 0.0663, ORB-SLAM2 0.0762, Basalt-VIO 0.2157; VINS-Fusion, StructVIO and UV-SLAM lose track or exceed 10 m error on many sequences.
- UMA-VI (lights switched off mid-sequence): average error 0.2479 m — 6.7% of PL-SLAM (3.7096 m) and 48.2% of OKVIS (0.5141 m); ORB-SLAM2 and Basalt-VIO lost track on all 4 sequences. On conference-csc2 drift is ~1.0% vs. OKVIS 1.5% and PL-SLAM 7.1%.
- Ablation: adding the line pipeline beats point-only AirVO on 12 of 13 sequences, reducing translational error by 58.2% on average.
- Runtime (Jetson AGX Xavier, 640×480, 200 points): point detection + tracking 64 ms vs. 342 ms unaccelerated (5.3×); whole system ~15 Hz on the Jetson and ~40 Hz on a notebook PC.
Why it matters for SLAM
AirVO was, per the authors, the first VO using both learned feature detection and learned matching in real time on low-power embedded hardware — demonstrating that learned front-ends pay off in real deployments, not just on matching benchmarks. Its point-anchored line matching is an elegant trick that sidesteps fragile line descriptors entirely. It is a good template for modernizing a classical indirect VO/VIO pipeline with deep components (the same group’s follow-up, AirSLAM, extends it with loop closure and map reuse).
Related
- SuperPoint — the learned feature at AirVO’s core.
- SuperGlue — the GNN matching paradigm the point front-end builds on.
- PL-SLAM — earlier point+line SLAM with hand-crafted features (the main baseline).
- VINS-Mono — the classical tightly-coupled baseline this line of work upgrades.
- Learned vs hand-crafted — the front-end design question AirVO answers empirically.
- LightGlue — efficient learned matching for this class of front-end.