ORB主要借鑒了PTAM的思想,借鑒的工作主要有Rubble的ORB特征點;DBow2的place recognition用於閉環檢測;Strasdat的閉環矯正和covisibility graph思想;以及Kuemmerle和Grisetti的g2o用於優化。
首先需要了解ORB-SLAM中使用到的基礎算法和SLAM知識。然后通讀代碼一遍了解大概脈絡與需要進一步仔細了解的算法。最后形成自己對整個框架的理解。
代碼結構:
src與include目錄:
System.cc系統入口
Tracking.cc獲取圖像形成Frame對象后進入tracking線程,ORB-SLAM有兩種工作模式,一種只有定位功能,另一種加入建圖功能,形成完整的SLAM功能。
LocalMapping.cc
LoopClosing.cc
放一張自己電腦上跑得TUM RGB-D數據集(單目模式下):
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /home/bjtshang/Downloads/rgbd_dataset_freiburg1_desk