ORB-SLAM3系列-多地圖管理


作者:Liam

點擊上方“計算機視覺工坊”,選擇“星標”

干貨第一時間送達

 

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

摘要

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

本文的貢獻

  • 利用atlas來解決不限數量的子地圖融合問題。altas有不限數量的子地圖關鍵幀的詞袋數據庫,保證了地圖場景重識別的效率。
  • 多地圖的操作算法:新地圖生成、在混合地圖中重定位和地圖融合
  • 在有差的相機位姿的時候評價跟蹤失敗的方法。這可以避免在閉環的過程中由於高度不確定的位姿導致的位姿圖優化誤差過大。

ORBLAM-Atlas多地圖表示

Screenshot from 2020-09-26 08-31-13.pngaltas由無數的子地圖組成,每個子地圖有自己的關鍵幀、地圖點、共視圖和最小生成樹。每個地圖的參考幀是第一幀上。新來幀只更新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深度學習、深度學習框架、目標檢測、GAN等相關內容近30本pdf書籍。
下載2在「計算機視覺工坊」公眾號后台回復:計算機視覺,即可下載計算機視覺相關17本pdf書籍,包含計算機視覺算法、Python視覺實戰、Opencv3.0學習等。
下載3在「計算機視覺工坊」公眾號后台回復:SLAM,即可下載獨家SLAM相關視頻課程,包含視覺SLAM、激光SLAM精品課程。

重磅!計算機視覺工坊-學習交流群已成立

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

同時也可申請加入我們的細分方向交流群,目前主要有3D視覺CV&深度學習SLAM三維重建點雲后處理自動駕駛、CV入門、三維測量、VR/AR、3D人臉識別、醫療影像、缺陷檢測、行人重識別、目標跟蹤、視覺產品落地、視覺競賽、車牌識別、硬件選型、學術交流、求職交流等微信群,請掃描下面微信號加群,備注:”研究方向+學校/公司+昵稱“,例如:”3D視覺 + 上海交大 + 靜靜“。請按照格式備注,否則不予通過。添加成功后會根據研究方向邀請進去相關微信群。原創投稿也請聯系。

▲長按加微信群或投稿

▲長按關注公眾號

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM