Contents — find the section you need

L'odométrie dérive légèrement à chaque distance parcourue, et la dérive cumulée ne cesse de croître. Lorsqu'un robot fait le tour d'une pièce et revient à son point de départ, un système analysant uniquement la dernière image ne peut détecter l'erreur, même si sa position actuelle sur la carte diffère de son point de départ de plusieurs dizaines de centimètres. La fermeture de boucle détecte que la vue actuelle correspond à une vue précédente et utilise cette contrainte de « même lieu » pour reconstituer la trajectoire sur l'ensemble de la boucle.

0. Résumé en 30 secondes

  • La fermeture de boucle se déroule en deux étapes : la recherche de lieux candidats et la confirmation géométrique de leur appartenance au même lieu.

  • Les méthodes « sac de mots », les descripteurs d'image globaux et la reconnaissance de lieux par apprentissage automatique permettent une recherche rapide de candidats ; le réappariement de caractéristiques et RANSAC éliminent ensuite les faux positifs.

  • La contrainte détectée est ajoutée à un graphe de poses, et l'optimisation de graphe SE(2)/SE(3) corrige les poses précédentes de manière progressive. La carte locale préserve l'erreur de reprojection. Les saisons, l'éclairage, les meubles déplacés et les couloirs similaires peuvent tous générer de fausses boucles. Il est donc essentiel de vérifier à l'aide de plusieurs critères : intervalle de temps, distance parcourue, nombre d'éléments concordants et cohérence de la carte.

La fermeture des boucles n'est pas une solution miracle qui corrige instantanément la carte. Accepter une fausse détection fausse complètement la carte ; des seuils prudents et une conception réversible sont donc indispensables.

1. Écrire la contrainte de boucle sous forme d'équation

Diagram 1 · Use the button to switch views
Graphe de pose laissé ouvert par la dérive odométrique avant correction et réconcilié à son point de départ et aux poses de revisite après l'ajout d'une contrainte de boucle vérifiée

Figure 1 — La reconnaissance de lieu propose un candidat, la vérification géométrique admet une arête de boucle et l'optimisation robuste du graphe de pose répartit la dérive accumulée sur la trajectoire. Un candidat rouge n'est pas accepté systématiquement.

Soit T_i\in SE(3) la pose à l'instant i, et soit Z_{ij} l'observation de la pose relative lorsque l'instant j revisite le même lieu. Le résidu de la contrainte de boucle peut s'écrire :

r_{ij}=\mathrm{Log}\left(Z_{ij}^{-1}T_i^{-1}T_j\right)\in\mathbb{R}^6

\mathrm{Log} est l'application logarithmique qui transforme une transformation rigide en une rotation et une translation infinitésimales à 6 dimensions. En combinant les arêtes d'odométrie \mathcal E_o avec les arêtes de boucle \mathcal E_l, l'optimisation du graphe de pose devient :

\min_{\{T_i\}}\sum_{(i,j)\in\mathcal E_o\cup\mathcal E_l} \rho\left(r_{ij}^{\mathsf T}\Omega_{ij}r_{ij}\right)

où \Omega_{ij} est la matrice d'information et \rho une fonction de perte robuste telle que la fonction de Huber. L'ajout d'une seule arête de boucle permet de répartir l'erreur accumulée sur une longue trajectoire sur l'ensemble du graphe.

2. Recherche de candidats : Transformer une image en un « sac de mots »

L'approche « sac de mots » (BoW) quantifie les descripteurs locaux en un histogramme de mots visuels et calcule la similarité avec les images clés précédentes à l'aide de la fréquence inverse des documents (IDF). Les systèmes de la famille ORB-SLAM associent un descripteur ORB léger à un arbre de vocabulaire, réduisant ainsi le nombre de candidats à quelques-uns sans comparer chaque image à l'ensemble du graphe. Carte.

Un descripteur global compresse l'image entière en un seul vecteur pour retrouver des scènes similaires. Les méthodes d'apprentissage automatique comme NetVLAD, CosPlace et EigenPlaces apprennent des représentations robustes aux variations d'éclairage et de point de vue, mais leurs performances se dégradent en présence de bâtiments, de terres agricoles ou d'usines, contrairement à leurs zones d'entraînement. La recherche de candidats gère la vitesse, tandis que la vérification géométrique gère la précision ; il est déconseillé de se fier uniquement à l'une ou à l'autre.

3. Vérification géométrique : La similarité ne suffit pas à boucler la boucle

Les descripteurs sont réappariés à partir de l'image candidate pour obtenir des correspondances. Pour une caméra monoculaire, une matrice essentielle/fondamentale est estimée via RANSAC ; si des points de la carte sont connus, l'algorithme PnP est utilisé ; pour une texture plane, une homographie est employée. La vérification du nombre de points correspondants, de l'erreur de reprojection, de la positivité de la profondeur et de la plausibilité physique de la différence de point de vue renforce la confiance dans le fait que le candidat correspond bien au lieu.

Une boucle erronée est dangereuse car l'optimisation du graphe déformera la carte pour lui donner une forme cohérente avec la configuration initiale, même si elle est basée sur la configuration initiale. — Une observation erronée. Deux couloirs similaires, une rangée de fenêtres, des sillons dans un champ ou des étagères dans une usine sont difficiles à distinguer avec la seule méthode BoW. Excluez les images trop proches dans le temps des candidats et exigez des correspondances cohérentes sur plusieurs images clés consécutives ainsi qu'une concordance avec un capteur indépendant (IMU/LiDAR/GNSS).

4. Mise à jour du graphe de pose et de la carte

Après l'ajout d'une boucle, optimisez d'abord uniquement les poses des images clés via le graphe de pose, puis faites en sorte que les points de la carte suivent ces poses. Pour une carte à grande échelle, séparer la carte locale de la pose globale, plutôt que d'appliquer l'ajustement de faisceaux à chaque point à chaque itération, facilite la préservation des performances en temps réel. Une fois l'optimisation terminée, mettez à jour la transformation map→odom actuelle et concevez le système de manière à ce que odom→base_link, qui privilégie la continuité, ne subisse jamais de saut brutal.

En termes ROS 2 TF2, l'odométrie locale publie odom→base_link et la pose globale du SLAM. La correction ajuste map→odom. Lissez temporellement la correction pour éviter que le corps du robot ne semble se téléporter lors de la fermeture de la boucle. Cependant, un lissage trop agressif, masquant l'écart entre la carte et le monde réel, entraîne l'utilisation d'une position obsolète par la navigation. Il est donc nécessaire d'enregistrer l'amplitude de la correction et sa durée d'application.

5. Environnements sujets aux défaillances

Condition Difficulté Atténuation
Changements saisonniers / jour/nuit Changements de couleur, d'ombres et de végétation Descripteurs appris, caractéristiques structurelles, fusion LiDAR
Personnes/véhicules dynamiques Même lieu, agencement différent Masquage d'objets dynamiques, correspondance uniquement avec l'arrière-plan statique
Motifs répétitifs Des lieux incorrects peuvent également se ressembler Vérification géométrique, contraintes de distance, confirmation multi-images
Longs couloirs/étagères Faible parallaxe et faible distinction IMU, marqueurs artificiels, UWB
Importantes variations d'éclairage Descripteurs de luminosité Décalage Correction HDR/exposition, reconnaissance de lieux apprise
Virages serrés / flou Moins de correspondances Prédiction IMU, réglage de l'intervalle entre les images clés

6. Liste de vérification pour l'implémentation

  1. Stocker l'image, l'horodatage, la pose et les descripteurs de caractéristiques de chaque image clé.

  2. Exclure les images récentes des candidats et récupérer quelques candidats anciens via les descripteurs BoW/globaux.

  3. Vérifier géométriquement les correspondances, en appliquant un seuil sur le nombre d'éléments pertinents, l'erreur de reprojection et la profondeur positive.

  4. Confirmer la validité d'un même candidat sur plusieurs images à différents moments.

  5. Ajouter l'arête de boucle au graphe de pose et exécuter une optimisation robuste.

  6. Consigner l'amplitude de la correction, les raisons du rejet et le temps de calcul. Rendre les fausses boucles réversibles.

7. Orientations de recherche

Les recherches actuelles s'orientent vers le renforcement de la robustesse de la recherche d'images grâce à un apprentissage auto-supervisé à grande échelle, au partage de descripteurs entre les modalités LiDAR, caméra et caméra événementielle, et à la mise à jour saisonnière des cartes à long terme. Des tentatives sont également menées pour utiliser de nouvelles scènes. Des représentations comme NeRF et 3D Gaussian Splatting sont utilisées pour la reconnaissance de lieux, mais leur vitesse d'inférence, leur empreinte mémoire, la gestion des objets dynamiques, les licences et la reproductibilité doivent être vérifiées.

Dans les usines et les exploitations agricoles, où les allées ou les sillons de forme identique se répètent, la fermeture de boucle basée uniquement sur l'image est souvent ambiguë. L'utilisation des trajectoires des engins, de l'IMU, de l'odométrie des roues, du RTK-GNSS et des limites de travail cartographiées comme connaissances a priori pour contraindre la zone de recherche potentielle réduit les fausses détections. Lors du déploiement d'un prototype de recherche sur le terrain, il est essentiel de définir dès le départ une procédure opérationnelle permettant, en cas de détection d'une fausse boucle, de figer la carte et de la réinitialiser manuellement.

8. Conclusion

La fermeture de boucle est un processus en trois étapes : la récupération d'images pour retrouver une scène passée, la vérification géométrique pour confirmer qu'il s'agit du même lieu et l'optimisation pour répartir l'erreur sur l'ensemble du graphe. Il ne faut pas se baser uniquement sur les scores BoW ou les descripteurs appris pour fermer une boucle ; il est également important de vérifier les correspondances, la concordance des capteurs et la continuité temporelle. Correctement gérée, la fermeture de boucle corrige les erreurs. La dérive odométrique sur l'ensemble de la carte permet de maintenir la cohérence de l'autolocalisation d'un robot effectuant un long déplacement.

Vérifiez votre compréhension
Une image visuellement similaire suffit-elle à fermer une boucle ?

L'apparence peut générer de fausses correspondances. Vérifiez la géométrie avant d'ajouter une contrainte ; une fausse boucle peut fausser toute la carte.

Références

What to read next

Review the backgroundVO/VIO Primer — Bases pratiques pour l'estimation du mouvement à partir d'une caméra et d'une centrale inertielleContinue the seriesIntroduction au Visual-SLAM — Comment une caméra apprend « Où suis-je ? »"Explore another aspect of this fieldLab de luminosité et luminance — exposition, gamma et écrêtage