ORB-SLAM2: an Open-Source SLAM System for Monocular, Stereo and RGB-D Cameras
阿新 • • 發佈:2018-12-13
1 摘要 我們為單眼,立體和RGB-D相機提供完整的SLAM系統ORB-SLAM2,包括地圖重用,閉環檢測和重定位功能。 該系統可在各種環境中的標準CPU中實時工作,從小型手持室內序列,到工業環境中飛行的無人機和城市周圍的汽車。我們的後端基於捆綁調整,具有單眼和立體觀察,可以使用公制尺度進行精確的軌跡估計。我們的系統包括一個輕量級的定位模型,利用未對映區域的視覺測距軌跡,並匹配允許零漂移定位的地圖點。29個流行的公共視訊序列中的評估表明,我們的方法實現了最好的準確性,在大多數情況下是最準確的SLAM解決方案。 我們釋出原始碼,不僅是為了SLAM社群的利益,而且還旨在為其他領域的研究人員提供開箱即用的SLAM解決方案。 2 引言
- 第一個用於單目,立體和RGB-D攝像機的開源SLAM系統,包括閉環,重定位和地圖重用。
- 我們的RGB-D結果表明,通過使用光纖束調整(BA),我們可以獲得比基於ICP或光度和深度誤差最小化的最先進方法更高的精度。
- 通過使用近距離和遠距離立體點以及單眼觀察,我們的立體影象結果比最先進的直接立體影象SLAM更精確。
- 輕量級定位給模型,可以有效地重用無法使用的地圖。
圖1顯示了了立體影象和RGB-D輸入的ORB-SLAM2輸出示例。立體情況顯示了來自KITTI資料集[2]的序列00的最終軌跡和稀疏重建。這是一個具有多個迴圈閉包的城市序列,ORB-SLAM2能夠成功檢測到它。
RGB-D案例顯示了從TUM RGB-D資料集[3]在序列fr1房間中估計的關鍵幀姿勢,以及通過從估計的關鍵幀姿勢反向投影感測器深度圖來渲染的密集點雲。請注意,我們的SLAM不執行任何融合,如KinectFusion [4]或類似,但良好的定義表明關鍵幀姿勢的準確性。更多示例顯示在隨附的視訊2中。
在本文的其餘部分,我們討論了第二部分的相關工作,我們在第三部分描述了我們的系統,然後在第四部分中給出了評估結果,在第五部分結束了結論。
- A.單眼,近立和遠立體影象關鍵點 ORB-SLAM2作為基於特徵的方法預處理輸入以提取顯著關鍵點位置的特徵,如圖2b所示。 然後丟棄輸入影象並且所有系統操作都基於這些特徵,使得系統獨立於感測器(立體或RGB-D)。 我們的系統處理單眼和立體關鍵點,進一步分類為近或遠。 立體關鍵點由三個座標xs =(uL; vL; uR)定義,其中(uL; vL)是左影象上的座標,uR是右影象中的水平座標。對於立體相機,我們在兩個影象中提取ORB,對於每個左ORB,我們在右影象中搜索匹配。假設立體校正影象,這可以非常有效地完成,因此極線是水平的。然後,我們使用左ORB的座標和右匹配的水平座標生成立體關鍵點,其通過貼片相關性進行子畫素細化。對於RGB-D相機,我們在影象通道上提取ORB特徵,並且如Strasdat等人所提出的那樣。 [8],我們使用註冊的深度圖通道中的相關深度值以及結構光投影儀和紅外相機之間的基線合成每個特徵的右座標,對於Kinect和Asus Xtion相機,我們接近8cm。如果相關深度小於立體影象/ RGB-D基線的40倍,立體關鍵點被分類為接近,如[5]中所建議,否則它被分類為遠。近關鍵點可以從一個幀安全地進行三角化,因為準確估計了depthis並提供了比例,平移和旋轉資訊。另一方面,遠點提供準確的旋轉資訊但是縮放比例和翻譯資訊較弱。當多個檢視支援它們時,我們對遠點進行三角化。 單目關鍵點由左影象上的兩個座標xm =(uL; vL)定義,並且對應於無法找到立體匹配或在RGB-D情況下具有無效深度值的所有ORB。這些點僅從多個檢視中進行三角剖分,並且不提供比例資訊,但有助於旋轉和平移估計。
- B.系統引導 使用立體或RGB-D相機的主要好處之一是,僅從一幀獲得深度資訊,我們不需要像單眼情況那樣的運動初始化的特定結構。在系統啟動時,我們使用第一幀建立一個關鍵幀,將其姿勢設定為原點,並利用所有立體關鍵點建立初始化地圖。
- C Bundle Adjustment with Monocular and Stereo Constraints 我們的系統執行束調整以優化跟蹤中的相機姿勢(僅運動BA),優化區域性地圖構建(區域性BA)中關鍵幀和點的區域性視窗,並在迴圈閉合後優化所有關鍵幀和點( 完全BA)。 我們在g2o中使用Levenberg-Marquadt實現[19]。