Open Source Robotics

Una raccolta curata di progetti, strumenti e software di robotica open source di alta qualità per la comunità della robotica.

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/

Questo sito richiede JavaScript. Attiva JavaScript per esplorare i nostri progetti di robotica open source.