ORB-SLAM2和ORB-SLAM的区别
??對于ORB-SLAM2整體還是使用基于ORB-SLAM的結構,但對部分細節做了改進,適用面更廣。下圖是ORB-SLAM2的系統結構圖,可以看到和ORB-SLAM的相差不大(區別在于tracking中多了預處理模塊,以及最后有一個全局BA,其余流程沒變):
??關于和ORB-SLAM相同的部分就不再贅述,詳細的可以參考:ORB-SLAM介紹(無源碼版本)本文主要介紹一下ORB-SLAM2和ORB-SLAM相比的區別:
??1.ORB-SALM完全基于ROS平臺,而ORB-SLAM2提供了ROS的接口,也可以不用ROS
??2.ORB-SLAM2顯示模塊改用pangolin(配環境時要配對應的環境)
??3.ORB-SLAM2比ORB-SLAM1多支持雙目和RGB-D
??4.ORB-SLAM可能有尺度漂移、執行純旋轉時會失敗,ORB-SLAM2支持的雙目或RGB-D將會解決以上問題
??5.增加全局BA,提高建圖精度(發生在回環檢測之后,單起一個線程)
??6.比ORB-SLAM去除了初始化的部分,增加預處理部分(因為可以直接獲取深度信息了)主要是面對雙目和RBG-D,將兩份特征合并為一份來提供更多信息,提高精度。
??7.雙目或者深度的信息使得尺度信息可觀測。幾何校驗和位姿圖優化將不再需要處理尺度漂移,尺度信息是基于剛體變換的,而不是基于相似性,更準確
??8.ORB-SLAM2增加一個定位模式,該模式適用于輕量級以及在地圖已知情況下長期運行,只要那個環境沒有發生劇烈變化。在該模式中,局部建圖和回環檢測的線程中是停用的,并且這個相機始終都是在通過追蹤進行重定位。在這個模式下,追蹤模塊使用視覺里程計進行匹配圖像的點云。視覺里程計匹配在當前幀的ORB算子和由雙目或者深度相機收集的3D點云。這些匹配使得在沒有地圖的區域也能夠精確重新定位,但是漂移將會被累加。地圖點云匹配要確保在一個已經存在的地圖當中零漂移定位
補充說明:
1.預處理的作用
??由上圖的預處理過程圖可知,雙目/RGB-D提取最終都會轉化為單目或者stereo進行處理
??2. 遠/近雙目特征點:看匹配的深度值大于還是小于40被雙目或者RGB-D的基線。小于就是近,大于就是遠。近的特征點能夠從一幀的深度值能夠三角測量化,是精確的估計,并且能夠提供尺度,平移和旋轉的信息。另外一方面,遠的特征點,能夠提供精確的旋轉信息,但是很少的尺度和平移信息。當提供多視圖的時候,我們才能三角化那些遠的點。
參考資料:
ORB-SLAM2原文翻譯:【泡泡機器人翻譯專欄】ORB-SLAM2:一種開源的VSLAM方案
因作者水平有限,如有錯誤之處,請在下方評論區指正,謝謝!
總結
以上是生活随笔為你收集整理的ORB-SLAM2和ORB-SLAM的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab画图横纵轴刻度相关设置
- 下一篇: wireshark怎么抓包、wiresh