ORB-SLAM ist hauptsächlich in drei Threads unterteilt: Tracking, LocalMapping und LoopClosing
Die drei Threads werden in drei entsprechenden Dateien gespeichert, nämlich den Dateien Tracking.cpp, LocalMapping.cpp und LoopClosing.cpp.
(1) Tracking(Tracking)
Die Hauptarbeit dieses Teils besteht darin, ORB-Merkmale aus dem Bild zu extrahieren, eine Posenschätzung basierend auf dem vorherigen Bild durchzuführen oder die Pose durch globale Verschiebung zu initialisieren, dann die rekonstruierte lokale Karte zu verfolgen, die Pose zu optimieren und dann entsprechend neue Schlüsselpunkte zu bestimmen zu einigen Regeln.
(2)Mapping(LocalMapping)
In diesem Teil wird hauptsächlich die Erstellung lokaler Karten abgeschlossen. Es umfasst das Einfügen von Keyframes, das Überprüfen und Filtern kürzlich generierter Kartenpunkte, das anschließende Generieren neuer Kartenpunkte, die Verwendung der lokalen Bündelanpassung (Local BA) und schließlich das Filtern der eingefügten Keyframes, um redundante Keyframes zu entfernen.
(3)Closed-Loop-Erkennung(LoopClosing)
Dieser Teil ist hauptsächlich in zwei Prozesse unterteilt, nämlich die Erkennung im geschlossenen Regelkreis und die Korrektur im geschlossenen Regelkreis. Die Closed-Loop-Erkennung verwendet zunächst WOB zur Erkennung und berechnet dann die Ähnlichkeitstransformation mithilfe des Sim3-Algorithmus. Bei der Closed-Loop-Korrektur handelt es sich hauptsächlich um die Closed-Loop-Fusion und Graphoptimierung von Essential Graph.
Das obige ist der detaillierte Inhalt vonORB-SLAM2 Anfängernotizen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!