構造函數 主要分兩部分,回環檢測,以及GlobalBundleAdjustment LoopClosing中的關鍵幀都是LocalMapping中送過來的:送過來一幀,就檢查一幀。 因此我們需要在KeyFrameDataBase中尋找 ...
主要參考這篇論文 Horn B K P. Closed form solution of absolute orientation using unit quaternions J . JOSA A, , : . 在單目閉環檢測時,會將當前關鍵幀地圖點和閉環關鍵幀地圖點進行Bow匹配,匹配上的兩組 D點集之間可以用RANSAS求解Sim 變換,從而獲得當前關鍵幀相對於閉環關鍵幀的Sim ,然后傳播 ...
2017-02-28 20:51 0 4338 推薦指數:
構造函數 主要分兩部分,回環檢測,以及GlobalBundleAdjustment LoopClosing中的關鍵幀都是LocalMapping中送過來的:送過來一幀,就檢查一幀。 因此我們需要在KeyFrameDataBase中尋找 ...
ORB-SLAM是一種基於ORB特征的三維定位與地圖構建算法(SLAM)[1]。該算法由Raul Mur-Artal,J. M. M. Montiel和Juan D. Tardos於2015年發表在IEEE Transactions on Robotics。ORB-SLAM基於PTAM架構,增加了 ...
ORB-SLAM程序提供了運行Monocular、Stereo和RGBD數據的程序。編譯成功后,可以通過運行TUM的標准數據來驗證程序是否成功。如果想自己測試一些數據,可以通過OpenCV提供的接口調起電腦的攝像頭。 個人認為,ORB-SLAM是一個完整的單目SLAM實現,集合了當前流行 ...
ORB主要借鑒了PTAM的思想,借鑒的工作主要有Rubble的ORB特征點;DBow2的place recognition用於閉環檢測;Strasdat的閉環矯正和covisibility graph思想;以及Kuemmerle和Grisetti的g2o用於優化。 首先需要了解ORB-SLAM ...
ORB-SLAM作為單目SLAM,其精度很大程度上決定於幀與幀之間的位姿優化的是否准確。因此優化(optimization)在ORB-SLAM里面扮演了很重要的角色。這一小節探討一下ORB-SLAM里用到的優化。 ORB-SLAM選用g2o作為圖優化的方法,關於g2o可以參考http ...
LocalMapping作用是將Tracking中送來的關鍵幀放在mlNewKeyFrame列表中;處理新關鍵幀,地圖點檢查剔除,生成新地圖點,Local BA,關鍵幀剔除。主要工作在於維護局部地圖,也就是SLAM中的Mapping。 1. 處理新關鍵幀:ProcessNewKeyFrame ...
最近在讀ORB-SLAM的代碼,雖然代碼注釋算比較多了,但各種類和變量互相引用,看起來有點痛苦。索性總結了一下Tracking部分的代碼結構,希望能抓住主要思路,不掉坑里。 作者的程序分為兩種模式:SLAM模式和Localization模式。SLAM模式中,三個線程全部都在工作,即在定位也在建圖 ...
上一篇提到,無論在單目、雙目還是RGBD中,追蹤得到的位姿都是有誤差的。隨着路徑的不斷延伸,前面幀的誤差會一直傳遞到后面去,導致最后一幀的位姿在世界坐標系里的誤差有可能非常大。除了利用優化方法在局部和 ...