MAC-VO: Metrics-Aware Covariance for Learning-Based Stereo Visual Odometry
Autori: Yuheng Qiu, Yutian Chen, Zihao Zhang, Wenshan Wang, Sebastian Scherer · ICRA 2025
Licenze
- Open access
- Articolo: CC BY 4.0
Tutto ciò che segue si basa sull'articolo completo secondo la sua licenza CC BY 4.0; la figura è riportata citando gli autori.
In breve
MAC-VO apprende l'incertezza del flusso e della profondità per pixel, la converte in covarianze 3D metriche complete dei punti chiave e le usa per selezionare i punti chiave e pesare l'ottimizzazione della posa tra due fotogrammi.
Perché è importante
Covarianze con una vera scala metrica dicono a un robot quanto fidarsi di ogni stima della posa e offrono una base coerente per fondere la VO con altri sensori. MAC-VO ottiene i suoi risultati solo con un'ottimizzazione tra due fotogrammi, senza chiusura del loop né bundle adjustment, e si trasferisce da dati di addestramento sintetici a dataset reali senza fine-tuning.
Problema
L'odometria visiva peggiora in condizioni di scarsa luce, in scene dinamiche e in aree prive di texture. La VO geometrica seleziona i punti chiave tramite soglie sul gradiente dell'immagine e usa covarianze costanti regolate a mano, mentre i sistemi appresi come DROID-SLAM usano pesi di confidenza indipendenti dalla scala e diagonali. Tali pesi non riflettono il reale errore 3D, sono incoerenti tra le scale degli ambienti interni ed esterni e sono difficili da combinare con altri sensori.
Soluzione proposta
Una rete di abbinamento condivisa, costruita su FlowFormer con un aggregatore di movimento GMA e un decoder di incertezza aggiuntivo, predice la profondità stereo, il flusso ottico e le relative incertezze; è addestrata con una loss di log-verosimiglianza negativa solo sul dataset sintetico TartanAir. I punti chiave passano un filtro di incertezza (che scarta i pixel sopra 1,5× l'incertezza mediana del fotogramma), un filtro geometrico e una soppressione dei non minimi. Le incertezze 2D sono propagate attraverso il modello pinhole in una covarianza 3D completa con termini fuori diagonale, che pesa i residui di un grafo delle pose tra due fotogrammi risolto con Levenberg-Marquardt in PyPose.
Idee chiave
- L'incertezza appresa funziona come selettore dei punti chiave al posto del selettore casuale di DPVO o delle feature progettate a mano di ORB-SLAM: rimuove i punti su veicoli in movimento, oggetti occlusi, superfici riflettenti e aree prive di feature.
- I termini di covarianza fuori diagonale contano: eliminarli (DiagCov) ha portato l'errore di traslazione su TartanAir v2 Hard da 0,0141 a 0,0461 m/fotogramma.
- La coerenza di scala conta: una covarianza indipendente dalla scala (normalizzata) ha portato l'errore di traslazione a 0,0204 m/fotogramma su TartanAir v2 Hard e da 0,0051 a 0,0086 m/fotogramma sul set Easy.
- L'incertezza di profondità di un punto abbinato è stimata come varianza della profondità pesata con una gaussiana nella sua patch locale, collegando l'incertezza del flusso all'errore di profondità.
- Usare feature sparse nel back end mantiene la memoria GPU a 4,20 GB, 6,7 volte meno di DROID-SLAM (28,34 GB).
Risultati principali
- EuRoC: errore medio di traslazione paragonabile a quello di DROID-SLAM ed errore di rotazione migliore di circa il 10 % rispetto a tutte le baseline, inclusi i sistemi SLAM con chiusura del loop e bundle adjustment globale.
- TartanAir v2 Hard: errore di traslazione inferiore del 61,9 % rispetto al concorrente più vicino; sulla traiettoria di superficie lunare H00, errore di traslazione inferiore dell'82,4 % e il più basso errore di rotazione.
- KITTI: secondo solo a ORB-SLAM3 per errore di traslazione ed errore di traslazione inferiore del 53,3 % rispetto ad altri metodi di VO; l'errore di rotazione è peggiore, cosa che gli autori attribuiscono alla mancanza di ottimizzazione multi-fotogramma.
- Ablazione dei moduli su TartanAir v2 Hard: errore di traslazione di 0,0141 m/fotogramma per il sistema completo contro 0,0743 con punti chiave casuali e covarianza identità, 0,0679 senza ottimizzazione della covarianza e 0,0188 senza selezione dei punti chiave basata sull'incertezza.
- Tempo di esecuzione a 640×640 su un Ryzen 9 5950X con una RTX 3090 Ti: 2,15 fps grezzi, 3,96 fps con TensorRT e multiprocessing, e 10,57 fps in modalità Fast (Tabella V; il testo dice 10,5 fps) al 70 % delle prestazioni complete; la modalità Fast usa la mezza precisione, indicata come bf16 nella Tabella V e come float16 nell'Appendice I.
Limiti
- Gli autori osservano che il metodo esegue solo un'ottimizzazione della posa tra due fotogrammi e si aspettano miglioramenti da bundle adjustment, ottimizzazione multi-fotogramma e chiusura del loop.
- L'errore di rotazione su KITTI è peggiore dell'errore di traslazione, cosa che gli autori attribuiscono alla mancanza di ottimizzazione multi-fotogramma.
- La fusione del modello di covarianza con altri sensori come le IMU è lasciata a lavori futuri.
- Il modello completo gira a 2,15–3,96 fps su una RTX 3090 Ti desktop; la modalità Fast a 10,5 fps mantiene circa il 70 % delle prestazioni.
- L'approssimazione della profondità dalla disparità peggiora quando la disparità si avvicina a zero; verifiche Monte Carlo la ritengono accettabile per un tasso di errore γ < 0,3.
Impatto sul settore
L'articolo ha vinto l'IEEE ICRA 2025 Best Conference Paper Award e l'IEEE ICRA 2025 Best Paper Award on Robot Perception, e ha 37 citazioni. La pagina del progetto indicata nell'articolo (mac-vo.github.io) rimanda a un repository di codice pubblico e alla documentazione.
Abstract
Proponiamo MAC-VO, una nuova VO stereo basata sull'apprendimento che sfrutta l'incertezza di abbinamento appresa e consapevole della metrica per un duplice scopo: selezionare i punti chiave e pesare il residuo nell'ottimizzazione del grafo delle pose. Rispetto ai metodi geometrici tradizionali, che privilegiano feature ricche di texture come i bordi, il nostro selettore di punti chiave impiega l'incertezza appresa per scartare le feature di bassa qualità in base all'incoerenza globale. A differenza degli algoritmi basati sull'apprendimento che modellano per la covarianza una matrice dei pesi diagonale e indipendente dalla scala, progettiamo un modello di covarianza consapevole della metrica per catturare l'errore spaziale durante la registrazione dei punti chiave e le correlazioni tra i diversi assi. Integrare questo modello di covarianza nell'ottimizzazione del grafo delle pose migliora la robustezza e l'affidabilità della stima della posa, in particolare in ambienti difficili con illuminazione, densità di feature e schemi di movimento variabili. Su dataset di benchmark pubblici, MAC-VO supera gli algoritmi di VO esistenti e perfino alcuni algoritmi di SLAM in ambienti difficili. La mappa di covarianza fornisce inoltre informazioni preziose sull'affidabilità delle pose stimate, che possono giovare al processo decisionale dei sistemi autonomi.
Link
- arXiv 2409.09479: https://arxiv.org/abs/2409.09479
- DOI 10.1109/ICRA55743.2025.11128482: https://doi.org/10.1109/ICRA55743.2025.11128482
- PDF: https://arxiv.org/pdf/2409.09479v1
- Codice: https://github.com/MAC-VO/MAC-VO
- Pagina del progetto: https://mac-vo.github.io/