編者序:本文在全新的數據集上評估了現有的開源SLAM算法,提到的一些信息或許有用,如RatSLAM包含了碼盤信息、COLMAP利用所有圖像進行全局優化等。總體來看,綜述部分還是不錯的,評估結果可以參考。
推薦指數 ☆☆☆☆
一、引言
自主機器人應用中最重要的挑戰是狀態估計,尤其是跟蹤運動機器人的位姿和隨機器人運動建圖這對對偶問題。十年來,隨著相機傳感器的廣泛應用和機器視覺的發展,出現了基於視覺的解決方案:視覺里程計VO或視覺V-SLAM。
基於視覺的狀態估計方法可以分為兩類:一類是濾波方法,如擴展卡爾曼濾波EKF,將視覺特徵與IMU等其它數據融合;一類是建立在運動恢復結構SfM和視覺里程計VO基礎上,提取並跟蹤圖像特徵,然後通過最小化重投影誤差估計位姿。耗時的全局優化通常用光束調整(bundle adjustment,BA),BA又可根據跟蹤的是特徵還是像素強度細分為稀疏方法和直接方法。
近年來,出現了很多視覺狀態估計的開源軟件包,每一個都有令人印象深刻的證明事例。然而,由於沒有全面的比較,所以選擇可靠穩健的方法很難。另一方面,由於算法本身約束,如參數數量和敏感度、特定初始化運動方式、不同輸入格式、軟件依賴等,將這些軟件包應用於新的數據集很困難。還有一些學術上的或商用產品,僅提供了算法性能描述而沒有開源代碼,很難評估和應用。
本文目的是評估這些開源軟件包,並且是在8種不同環境(室內、戶外、水面、水下)不同平臺新的數據集上。
二、評估的算法
下面簡單介紹些本文評估的算法。
基於卡爾曼濾波的方法:MonoSLAM基於EKF,狀態包括地圖和相機位姿,在預測階段狀態更新,假定為服從高斯分佈的常量運動模型。根據檢測到的特徵的測量偏差更新狀態,特徵點檢測基於主動搜索算法,根據窗口和估計的運動形式限定了最有可能的搜索區間。
基於SfM的方法:libVISO提供了一種稀疏里程計方法。並行跟蹤和匹配(Parallel Tracking and Matching,PTAM)也是種稀疏方法,最初是為小範圍內的增強現實應用開發的,輸入為單目相機圖像。PTAM狀態估計分為兩步:首先是跟蹤階段,新的圖像與地圖進行特徵比較;然後是地圖更新階段,使用一些關鍵幀更新。初始化階段需要一些特徵在不同視角都可被觀測到。
ORB-SLAM使用ORB特徵進行跟蹤、建圖、重定位和閉環檢測。半直接視覺里程計(Semi-direct Visual Odometry,SVO)僅在新的關鍵幀增加到地圖上時提取特徵,並且與前一幀進行特徵匹配進行直接運動估計,壞點(Outliers)通過貝葉斯濾波濾除。大規模直接單目SLAM(Large-Scale Direct Monocular SLAM,LSD-SLAM)直接利用圖像亮度而不是特徵點,進行跟蹤和建圖,從而實現稠密3D重建。RatSLAM從腦神經處理獲得靈感實現導航,給定單目圖像和里程計信息,該方法根據外觀匹配場景並構建拓撲圖。
全局最優化方法:一些上述實時方案使用全局優化包平滑得到的估計,g2o和Ceress是兩種非線性誤差函數圖優化框架,可以建模和解決大型優化問題。
最近的一種解決方案COLMAP包括了完整的視覺流程,可重建有序或無序的圖像序列,它在整個圖像集合上使用Cere框架,得到非常好的,但是很慢的重建軌跡。
三 數據集
本文的數據集是自己採集的,如下圖所示,包括了8種場景,可在http://afrl.cse.sc.edu/afrl/resources/datasets/上下載Rosbag包。
四 評估結果
評估結果如下面一系列圖片所示,總體來看,ORB-SLAM相當不錯。
英文名稱:Experimental Comparison of open source Vision based State Estimation Algorithms
鏈接:
https://www.researchgate.net/publication/309133901_Experimental_Comparison_of_open_source_Vision_based_State_Estimation_Algorithms
互動:熟悉或應用過哪種SLAM?有何心得後臺交流下。
死磕自律,遇見更好的自己;自斬雙臂,方能長出強兩翼。
敗而不棄,潛龍勿用待時機;執著堅毅,飛昇上神創奇蹟!
關注該頭條號,一起創造奇蹟。