Open Source Robotics

Une collection organisée de projets, outils et logiciels robotiques open source de haute qualité.

MAC-VO: Metrics-Aware Covariance for Learning-Based Stereo Visual Odometry

Auteurs: Yuheng Qiu, Yutian Chen, Zihao Zhang, Wenshan Wang, Sebastian Scherer · ICRA 2025

Licences

  • Accès libre
  • Article: CC BY 4.0

Tout ce qui suit s'appuie sur l'article complet sous sa licence CC BY 4.0 ; sa figure est montrée en citant les auteurs.

En bref

MAC-VO apprend l'incertitude du flot optique et de la profondeur par pixel, la convertit en covariances 3D métriques complètes des points clés et les utilise pour sélectionner les points clés et pondérer l'optimisation de pose sur deux images.

Pourquoi c'est important

Des covariances à l'échelle métrique réelle indiquent à un robot dans quelle mesure se fier à chaque estimation de pose et offrent une base cohérente pour fusionner la VO avec d'autres capteurs. MAC-VO obtient ses résultats avec une optimisation sur deux images seulement, sans fermeture de boucle ni ajustement de faisceaux, et se transfère de données d'entraînement synthétiques à des jeux de données réels sans réglage fin.

Problème

L'odométrie visuelle se dégrade en faible luminosité, dans les scènes dynamiques et dans les zones sans texture. La VO géométrique sélectionne les points clés par des seuils de gradient d'image et utilise des covariances constantes réglées à la main, tandis que des systèmes appris comme DROID-SLAM utilisent des poids de confiance indépendants de l'échelle et diagonaux. De tels poids ne reflètent pas l'erreur 3D réelle, sont incohérents entre les échelles intérieures et extérieures et sont difficiles à combiner avec d'autres capteurs.

Solution proposée

Un réseau d'appariement partagé, construit sur FlowFormer avec un agrégateur de mouvement GMA et un décodeur d'incertitude ajouté, prédit la profondeur stéréo, le flot optique et leurs incertitudes ; il est entraîné avec une perte de log-vraisemblance négative sur le seul jeu de données synthétique TartanAir. Les points clés passent un filtre d'incertitude (rejet des pixels au-delà de 1,5× l'incertitude médiane de l'image), un filtre géométrique et une suppression des non-minima. Les incertitudes 2D sont propagées par le modèle sténopé en une covariance 3D complète avec termes hors diagonale, qui pondère les résidus d'un graphe de poses sur deux images résolu par Levenberg-Marquardt dans PyPose.

Idées clés

  • L'incertitude apprise sert de sélecteur de points clés à la place du sélecteur aléatoire de DPVO ou des caractéristiques conçues à la main d'ORB-SLAM : elle élimine les points situés sur des véhicules en mouvement, des objets occultés, des surfaces réfléchissantes et des zones sans caractéristiques.
  • Les termes de covariance hors diagonale comptent : les supprimer (DiagCov) a fait passer l'erreur de translation sur TartanAir v2 Hard de 0,0141 à 0,0461 m/frame.
  • La cohérence d'échelle compte : une covariance indépendante de l'échelle (normalisée) a porté l'erreur de translation à 0,0204 m/frame sur TartanAir v2 Hard et l'a fait passer de 0,0051 à 0,0086 m/frame sur l'ensemble Easy.
  • L'incertitude de profondeur d'un point apparié est estimée comme une variance de la profondeur pondérée par une gaussienne dans son voisinage local, ce qui relie l'incertitude du flot à l'erreur de profondeur.
  • L'utilisation de caractéristiques éparses dans le back-end maintient la mémoire GPU à 4,20 GB, 6,7 fois moins que DROID-SLAM (28,34 GB).

Principaux résultats

  • EuRoC : erreur de translation moyenne comparable à DROID-SLAM et erreur de rotation environ 10 % meilleure que toutes les références, y compris les systèmes de SLAM avec fermeture de boucle et ajustement de faisceaux global.
  • TartanAir v2 Hard : erreur de translation inférieure de 61,9 % à celle du concurrent le plus proche ; sur la trajectoire de surface lunaire H00, erreur de translation inférieure de 82,4 % et erreur de rotation la plus faible.
  • KITTI : deuxième derrière ORB-SLAM3 seulement pour l'erreur de translation et erreur de translation inférieure de 53,3 % à celle des autres méthodes de VO ; l'erreur de rotation est moins bonne, ce que les auteurs attribuent à l'absence d'optimisation multi-images.
  • Ablation des modules sur TartanAir v2 Hard : erreur de translation de 0,0141 m/frame pour le système complet contre 0,0743 avec des points clés aléatoires et une covariance identité, 0,0679 sans optimisation de la covariance et 0,0188 sans sélection des points clés fondée sur l'incertitude.
  • Temps d'exécution en 640×640 sur un Ryzen 9 5950X avec une RTX 3090 Ti : 2,15 fps en brut, 3,96 fps avec TensorRT et multitraitement, et 10,57 fps en mode Fast (Table V ; le texte indique 10,5 fps) à 70 % des performances complètes ; le mode Fast utilise la demi-précision, indiquée comme bf16 dans la Table V et float16 dans l'Appendix I.

Limites

  • Les auteurs notent que la méthode n'effectue qu'une optimisation de pose sur deux images et attendent des gains de l'ajustement de faisceaux, de l'optimisation multi-images et de la fermeture de boucle.
  • L'erreur de rotation sur KITTI est moins bonne que l'erreur de translation, ce que les auteurs attribuent à l'absence d'optimisation multi-images.
  • La fusion du modèle de covariance avec d'autres capteurs tels que les IMU est laissée à des travaux futurs.
  • Le modèle complet tourne à 2,15–3,96 fps sur une RTX 3090 Ti de bureau ; le mode Fast à 10,5 fps conserve environ 70 % des performances.
  • L'approximation de la profondeur à partir de la disparité se dégrade lorsque la disparité tend vers zéro ; des vérifications de Monte-Carlo la jugent acceptable pour un taux d'erreur γ < 0,3.

Impact sur le domaine

L'article a remporté l'IEEE ICRA 2025 Best Conference Paper Award et l'IEEE ICRA 2025 Best Paper Award on Robot Perception, et compte 37 citations. La page de projet citée dans l'article (mac-vo.github.io) renvoie à un dépôt de code public et à une documentation.

Résumé

Nous proposons MAC-VO, une nouvelle VO stéréo fondée sur l'apprentissage qui exploite l'incertitude d'appariement apprise et sensible à la métrique à deux fins : la sélection des points clés et la pondération des résidus dans l'optimisation du graphe de poses. Contrairement aux méthodes géométriques traditionnelles qui privilégient les caractéristiques riches en texture comme les contours, notre sélecteur de points clés utilise l'incertitude apprise pour éliminer les caractéristiques de faible qualité sur la base de l'incohérence globale. Contrairement aux algorithmes fondés sur l'apprentissage qui modélisent pour la covariance une matrice de poids diagonale indépendante de l'échelle, nous concevons un modèle de covariance sensible à la métrique qui capture l'erreur spatiale lors du recalage des points clés et les corrélations entre les différents axes. L'intégration de ce modèle de covariance dans l'optimisation du graphe de poses améliore la robustesse et la fiabilité de l'estimation de pose, en particulier dans des environnements difficiles présentant des variations d'éclairage, de densité de caractéristiques et de schémas de mouvement. Sur des jeux de données de benchmark publics, MAC-VO surpasse les algorithmes de VO existants et même certains algorithmes de SLAM dans des environnements difficiles. La carte de covariance fournit également des informations précieuses sur la fiabilité des poses estimées, ce qui peut bénéficier à la prise de décision des systèmes autonomes.

Liens

  • 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
  • Code: https://github.com/MAC-VO/MAC-VO
  • Page du projet: https://mac-vo.github.io/

Ce site nécessite JavaScript. Veuillez activer JavaScript pour explorer nos projets de robotique open source.