ORB-SLAM3系列-多地圖管理

點擊上方「3D視覺工坊」,選擇「星標」

乾貨第一時間送達

論文名稱: ORBSLAM-Atlas: a robust and accurate multi-map system 

摘要

利用魯棒的地圖融合方法解決不限數量的子地圖融合問題,Altas使SLAM系統變的更加的精準和魯棒。在tracking線程跟蹤失敗的時候,系統會構建一個新的子地圖。當該地圖和先前的子地圖有共同部分的時候就會進行地圖融合。針對原來的方法中只捨棄特徵點數量少的幀,我們也捨去位姿估計不準的幀來構建更加精準的子地圖。

本文的貢獻

  • 利用atlas來解決不限數量的子地圖融合問題。altas有不限數量的子地圖關鍵幀的詞袋數據庫,保證了地圖場景重識別的效率。

  • 多地圖的操作算法:新地圖生成、在混合地圖中重定位和地圖融合

  • 在有差的相機位姿的時候評價跟蹤失敗的方法。這可以避免在閉環的過程中由於高度不確定的位姿導致的位姿圖優化誤差過大。

ORBLAM-Atlas多地圖表示

Screenshot from 2020-09-26 08-31-13.png

altas由無數的子地圖組成,每個子地圖有自己的關鍵幀、地圖點、共視圖和最小生成樹。每個地圖的參考幀是第一幀上。新來幀只更新altas中的一個地圖(active map)。altas中也保存了特別的地圖的詞袋數據庫來識別關鍵幀。本系統有一個單獨的場景重識別的模塊,如果兩個關鍵幀都來自active map就會執行閉環檢測,如果在不同的地圖中就會執行地圖融合。

新地圖產生的標準

當相機跟蹤失敗就開始進行重定位,如果重定位過了一段時間也不成功,active map變成了unactive map存儲在了altas中。然後一個新地圖被初始化,具體的過程參考ORB-SLAM2和ORB-SLAM中的地圖初始化過程。評判tracking是否失敗的標準:

  • 匹配的特徵點的數量:當前幀和局部地圖的匹配數量。

  • 相機位姿的observability:如果檢測到的點幾何條件不好,那麼估計的相機位姿也不準(計算出來匹配點的距離大,特徵屬於不可用的特徵)。

相機位姿的observability(可觀察性)

利用位姿的協方差矩陣來估計相機的observability,假設每個地圖點都估計的很準確,因爲不能實時的計算每一幀地圖點的協方差矩陣。信息矩陣 Ωij表示第j個地圖點在第i幀中的不確定性。相機i的不確定性是由其和局部地圖匹配的特徵點決定的。估計相機六自由度位姿爲T̂ _i,w,屬於李羣。除此之外,利用6個參數εi的無偏高斯向量對位姿的不確定性進行編碼,該向量定義了在T̂ _i,w周圍逼近位姿真值的李代數:

其中Exp(ε_i)把一個六維的向量直接轉換爲了李代數,其協方差矩陣C編碼爲相機位姿估計的準確性,而J矩陣爲相機位姿對觀測的地圖點的雅各比矩陣。由於平移的幅度很小,所以在評判中僅用C的對角線上表示誤差的值。

多地圖中的重定位

如果相機跟丟了,利用當前幀查詢Atlas DBoW的數據庫。這個查詢能在所有地圖中找相似的關鍵幀。一旦有了候選關鍵幀,地圖和匹配的地圖點,就可以按照ORB-SLAM中進行重新定位。主要包括利用PnP進行魯棒的位姿估計和RANSAC階段,然後進行匹配搜索、進行只優化位姿的非線性優化。

相似地圖融合

執行ORBSLAM中的場景重識別來檢測相似的地圖進行融合,場景重識別的過程中需要檢測和共視圖中關鍵幀相連的三個關鍵幀來避免假陽性的檢測。另外在地圖融合的過程中,active map和具有共同區域的其他地圖合併,然後用合併完的地圖作爲active map。

  • 1)在兩個地圖中檢測共同的部分。場景重識別模塊提供了兩個匹配的關鍵幀,K_a和K_s和兩個地圖M_a和M_s中匹配的地圖點。

  • 2)估計地圖融合的變換矩陣。這裏需要雙目的SE(3)或者單目的Sim(3)變換(單目沒有尺度信息,所以需要估計Sim3變換),這樣就可以在世界參考幀中對齊兩個地圖。基於M_a和M_s兩個地圖的匹配關係,利用混合Horn method(Closed-form solution of absolute orientation using unit quaternions)的RANSAC來進行初始的估計,利用估計出來的位姿K_s來指導匹配,利用非線性優化兩個地圖的重投影誤差得到兩個地圖間的匹配得到最終兩個地圖之間的位姿T_Wa, Ws。

  • 3)融合地圖。利用位姿T_Wa, Ws把M_s中的所有關鍵幀和地圖點都投影到M_a中;檢測重複的地圖點融合;把M_s和M_a中的所有關鍵幀和地圖點放在M_m中;最後把M_s和M_a的生成樹和共視圖合併成M_m的生成樹和共視圖。

  • 4)在連接區域的局部BA。根據包含了與k_a共視的所有關鍵幀的M_m共視圖。爲了固定測量的自由度,在M_a中固定的關鍵幀在局部BA中保持固定,而在非線性優化過程中,其餘關鍵幀被設置爲可優化量。利用第二個重複點檢測和融合來更新M_m共視性圖。

  • 5)位姿圖優化。最後利用位姿圖優化來優化M_m的位姿。

地圖融合線程和tracking線程並行運行,在融合之間有時候會觸發全局BA,這時候局部建圖會停止來避免在atlas中加入新的關鍵幀。如果全局的BA線程在運行,局部建圖也會停止,因爲生成樹在BA後會發生改變。tracking線程會在舊的active地圖中保持實時的運行。一旦地圖融合完成,就重啓局部建圖線程。全局BA結束了以後也會重啓局部建圖線程來接收新的數據。

本文僅做學術分享,如有侵權,請聯繫刪文。

下載1

在「3D視覺工坊」公衆號後臺回覆:3D視覺即可下載 3D視覺相關資料乾貨,涉及相機標定、三維重建、立體視覺、SLAM、深度學習、點雲後處理、多視圖幾何等方向。

下載2

在「3D視覺工坊」公衆號後臺回覆:3D視覺github資源彙總即可下載包括結構光、標定源碼、缺陷檢測源碼、深度估計與深度補全源碼、點雲處理相關源碼、立體匹配源碼、單目、雙目3D檢測、基於點雲的3D檢測、6D姿態估計源碼彙總等。

下載3

在「3D視覺工坊」公衆號後臺回覆:相機標定即可下載獨家相機標定學習課件與視頻網址;後臺回覆:立體匹配即可下載獨家立體匹配學習課件與視頻網址。

重磅!3DCVer-學術論文寫作投稿 交流羣已成立

掃碼添加小助手微信,可申請加入3D視覺工坊-學術論文寫作與投稿 微信交流羣,旨在交流頂會、頂刊、SCI、EI等寫作與投稿事宜。

同時也可申請加入我們的細分方向交流羣,目前主要有3D視覺CV&深度學習SLAM三維重建點雲後處理自動駕駛、CV入門、三維測量、VR/AR、3D人臉識別、醫療影像、缺陷檢測、行人重識別、目標跟蹤、視覺產品落地、視覺競賽、車牌識別、硬件選型、學術交流、求職交流等微信羣。

一定要備註:研究方向+學校/公司+暱稱,例如:」3D視覺 + 上海交大 + 靜靜「。請按照格式備註,可快速被通過且邀請進羣。原創投稿也請聯繫。

▲長按加微信羣或投稿

▲長按關注公衆號

3D視覺從入門到精通知識星球:針對3D視覺領域的知識點彙總、入門進階學習路線、最新paper分享、疑問解答四個方面進行深耕,更有各類大廠的算法工程人員進行技術指導。與此同時,星球將聯合知名企業發佈3D視覺相關算法開發崗位以及項目對接信息,打造成集技術與就業爲一體的鐵桿粉絲聚集區,近2000星球成員爲創造更好的AI世界共同進步,知識星球入口:

學習3D視覺核心技術,掃描查看介紹,3天內無條件退款

 圈裏有高質量教程資料、可答疑解惑、助你高效解決問題

覺得有用,麻煩給個贊和在看~