Open Source Robotics

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

SuMa++: Efficient LiDAR-based Semantic SLAM

Auteurs: Xieyuanli Chen, Andres Milioto, Emanuele Palazzolo, Philippe Giguère, Jens Behley, Cyrill Stachniss · IROS 2019

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

SuMa++ ajoute à un SLAM LiDAR à base de surfels des étiquettes sémantiques par point issues de RangeNet++ et les utilise pour retirer de la carte les objets en mouvement et pondérer les résidus de l'ICP.

Pourquoi c'est important

La méthode ne nécessite qu'un LiDAR, sans caméra, et utilise la sémantique à la fois pour nettoyer la carte et pour rendre le recalage plus robuste aux valeurs aberrantes. Sur KITTI, elle a aussi montré que retirer toutes les classes mobiles peut faire diverger le SLAM dans les scènes urbaines, un avertissement concret pour quiconque filtre les objets dynamiques uniquement par classe.

Problème

Un SLAM LiDAR qui ne s'appuie que sur la géométrie peut s'accrocher à des objets se déplaçant de manière cohérente, ce qui corrompt la carte et l'estimation de pose ; les autoroutes avec peu de structures statiques et beaucoup de voitures en mouvement constituent le cas le plus difficile. Retirer toute classe potentiellement mobile est une solution grossière, car cela écarte aussi les voitures garées, qui sont des caractéristiques utiles pour le recalage des balayages.

Solution proposée

SuMa++ exécute RangeNet++ sur une projection sphérique de chaque balayage pour étiqueter chaque point, réduit les artefacts d'étiquetage dus à la rétroprojection par une érosion suivie d'un remplissage par diffusion cohérent en profondeur, et stocke dans chaque surfel une étiquette et sa probabilité. Un surfel dont l'étiquette contredit la nouvelle observation reçoit une pénalité dans ses log-odds de stabilité et est supprimé après plusieurs observations, et l'ICP trame-modèle pondère chaque résidu par un terme de Huber, la compatibilité sémantique des étiquettes du balayage et de la carte, et la stabilité du surfel.

Idées clés

  • Filtrer selon l'incohérence sémantique entre le balayage et la carte retire les objets qui ont réellement bougé tout en conservant les voitures garées, qui sont des caractéristiques utiles pour le recalage.
  • Retirer toutes les classes mobiles (SuMa nomovable) a rendu la carte de surfels plus clairsemée et provoqué une divergence sur les séquences urbaines de KITTI, en partie parce que des étiquettes erronées supprimaient des surfels statiques.
  • Une érosion suivie d'un remplissage par diffusion (flood-fill) cohérent en profondeur réduit les erreurs d'étiquetage qui apparaissent lorsque les prédictions sur l'image de distance 2D sont reprojetées sur les points 3D.
  • Les poids sémantiques dans l'ICP réduisent le poids des résidus là où les étiquettes du balayage et de la carte divergent, par exemple sur des voitures en mouvement déjà filtrées de la carte.

Principaux résultats

  • Séquences routières KITTI 30–41 (segments de 5–400 m, erreur de rotation en °/100 m / erreur de translation en %) : SuMa 1,35/6,13, SuMa nomovable 1,17/1,46, SuMa++ 1,04/1,46.
  • Séquence autoroutière 35 : l'erreur de translation est passée de 26,8 % (SuMa) à 1,11 % (SuMa++) ; séquence 40 de 18,0 % à 1,95 % ; séquence 41 de 15,6 % à 1,67 %.
  • Séquences d'entraînement d'odométrie KITTI 00–10 (segments de 100–800 m) : SuMa++ 0,29/0,70 contre SuMa 0,36/0,83 ; IMLS-SLAM rapporte 0,55 % et LOAM 0,84 % d'erreur de translation.
  • Jeu de test d'odométrie KITTI (évaluation côté serveur) : erreur de translation de 1,06 % contre 1,39 % pour SuMa, avec une erreur de rotation de 0,0032 deg/m pour les deux.
  • Temps de calcul sur un Intel Xeon W-2123 avec une Nvidia Quadro P4000 : en moyenne 75 ms par balayage pour les étiquettes RangeNet++ et 48 ms pour la cartographie par surfels, jusqu'à 190 ms lors de l'intégration des fermetures de boucle.

Limites

  • Les objets dynamiques ne peuvent pas être filtrés lors de la première observation ; avec de nombreux objets en mouvement dans le premier balayage, la méthode échoue, si bien que toutes les classes mobiles sont retirées pendant une période d'initialisation (limite énoncée par les auteurs).
  • Seules les classes mobiles sont pénalisées ; la végétation, dont l'apparence change selon le point de vue, est conservée à dessein.
  • Des erreurs de segmentation subsistent après le remplissage par diffusion et peuvent supprimer des surfels qui sont en réalité statiques.
  • Sur les séquences routières, SuMa++ obtient des performances proches de la baseline qui retire toutes les classes mobiles, et sur plusieurs séquences (33, 36, 37, 39, 40, 41) son erreur de translation est supérieure à celle d'au moins une baseline.
  • L'évaluation utilise uniquement des données KITTI, issues d'un seul capteur (Velodyne HDL-64E S2) ; la sémantique n'est pas utilisée pour la fermeture de boucle, ce que les auteurs mentionnent comme travail futur.

Impact sur le domaine

Cité 584 fois (chiffre tel qu'indiqué). Les auteurs publient le code source à l'adresse https://github.com/PRBonn/semantic_suma/.

Résumé

Une localisation et une cartographie fiables et précises sont des composantes clés de la plupart des systèmes autonomes. Outre l'information géométrique sur l'environnement cartographié, la sémantique joue un rôle important pour permettre des comportements de navigation intelligents. Dans la plupart des environnements réalistes, cette tâche est particulièrement compliquée en raison de la dynamique causée par les objets en mouvement, qui peut corrompre l'étape de cartographie ou faire dérailler la localisation. Dans cet article, nous proposons une extension d'une approche de cartographie à base de surfels récemment publiée, exploitant des balayages laser tridimensionnels, en intégrant une information sémantique pour faciliter le processus de cartographie. L'information sémantique est extraite efficacement par un réseau de neurones entièrement convolutif et rendue sur une projection sphérique des données de distance laser. Cette segmentation sémantique calculée fournit des étiquettes point par point pour l'ensemble du balayage, ce qui nous permet de construire une carte enrichie sémantiquement avec des surfels étiquetés. Cette carte sémantique nous permet de filtrer de manière fiable les objets en mouvement, mais aussi d'améliorer la mise en correspondance projective des balayages grâce à des contraintes sémantiques. Notre évaluation expérimentale sur des séquences autoroutières difficiles du jeu de données KITTI, avec très peu de structures statiques et un grand nombre de voitures en mouvement, montre l'avantage de notre approche de SLAM sémantique par rapport à une approche de l'état de l'art purement géométrique.

Liens

  • arXiv 2105.11320: https://arxiv.org/abs/2105.11320
  • DOI 10.1109/IROS40897.2019.8967704: https://doi.org/10.1109/IROS40897.2019.8967704
  • PDF: https://arxiv.org/pdf/2105.11320v1
  • Code: https://github.com/PRBonn/semantic_suma/

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