ORB-SLAM est principalement divisé en trois threads : Tracking, LocalMapping et LoopClosing
Les trois threads sont stockés dans trois fichiers correspondants, à savoir les fichiers Tracking.cpp, LocalMapping.cpp et LoopClosing.cpp.
(1) Suivi(Suivi)
Le travail principal de cette partie consiste à extraire les caractéristiques ORB de l'image, à effectuer une estimation de pose basée sur l'image précédente ou à initialiser la pose par relocalisation globale, puis à suivre la carte locale reconstruite, à optimiser la pose, puis à déterminer de nouveaux points clés en fonction. à certains cadres de règles.
(2)Cartographie(LocalMapping)
Cette partie complète principalement la construction des cartes locales. Cela comprend l'insertion d'images clés, la vérification et le filtrage des points de carte récemment générés, puis la génération de nouveaux points de carte, en utilisant l'ajustement du paquet local (Local BA), et enfin le filtrage des images clés insérées pour supprimer les images clés redondantes.
(3)Détection en boucle fermée(LoopClosing)
Cette partie est principalement divisée en deux processus, à savoir la détection en boucle fermée et la correction en boucle fermée. La détection en boucle fermée utilise d'abord WOB pour la détection, puis calcule la transformation de similarité via l'algorithme Sim3. La correction en boucle fermée est principalement une fusion en boucle fermée et une optimisation graphique d'Essential Graph.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!