DF-SLAM:基於深層局部特征的深度學習增強型視覺SLAM系統


DF-SLAM:基於深層局部特征的深度學習增強型視覺SLAM系統

0.摘要

作為無人駕駛和智能機器人的基礎,SLAM近來獲得了廣泛關注。但是,傳統SLAM算法的非幾何模塊受到數據關聯(data association tasks)的限制,成為了阻礙SLAM發展的瓶頸。為了解決此類問題,許多人們開始使用深度學習。但是,這些研究大多限於虛擬數據集或特定環境,甚至為了准確性而犧牲效率。因此,它們不夠實用。
我們提出了DF-SLAM系統,該系統使用由神經網絡獲得的深層局部特征描述子來替代傳統的手工特征。實驗結果證明了其在效率和穩定性的提升。DF-SLAM在各種場景(包括照明變化強烈的場景)中均勝過主流的傳統SLAM系統。它的多功能和移植性可以很好地適用於新環境。由於我們采用淺層網絡(shallow network)來提取局部描述子,其他的部分與原始的SLAM系統相同,因此我們的DF-SLAM仍可以在GPU上實時運行。

1.介紹

  • 研究背景:

    • 傳統的SLAM系統非常重視幾何信息。很多優秀的研究都基於多視圖幾何堅實的理論基礎。但是,SLAM系統中的非幾何模塊會出現問題。為了跟蹤攝像機位姿,人們通常在跟蹤時進行像素級的匹配操作,並優化少數幀的姿態作為局部地圖。毫無疑問,姿勢估計和地圖估計中的漂移會導致誤差不斷累積
    • 同時,數據驅動技術——深度學習——讓許多計算機視覺任務(例如分類和匹配)快速發展。這些成就反映出深度學習可能是解決數據關聯(data association)問題的最佳選擇之一。因此,越來越多人認為,圖像之間像素級或更高級別的關聯(我們上面提到的SLAM系統的瓶頸)也可以借助神經網絡來處理。
  • 相關工作:深度學習已證明其在SLAM系統中的優勢

    • 使用深度學習替換傳統SLAM系統中的某些非幾何模塊[22,21,49,26,12]。這些方法通過僅修改經典pipeline的一部分(例如立體匹配,重定位等)來增強整個SLAM系統。

    • 使用深度學習獲得的高級特征作為SLAM的補充[37,35,1,6,15]。這些高級特征更能推斷內容-對象的語義特征,從而提高視覺場景的理解能力。

    • 端到端的學習模型[51,16]。這些方法在特定情況下優於傳統的SLAM算法,並體現了深度學習在SLAM中的潛力。

      這三種工作的缺點:

      • 大多數深度學習方法嚴重依賴訓練的數據,這意味着它們無法很好地適應未知環境。例如,我們無法確保要探索的房間是否有椅子和書桌,也無法保證書桌的語義優先級能有所幫助
      • 大多數深度學習增強型SLAM系統體現了深度學習的優勢而舍棄了SLAM的優點。結果,它們可能會犧牲效率(SLAM算法的重要組成部分)以提高准確性。
    • 將傳統的SLAM系統作為其基礎框架[49、26、12、9],然后進行了大量的修改以支持深度學習

      這種工作的缺點:太多的變動可能會導致SLAM pipeline某些有用功能的喪失,使人們難以與現有研究進行比較,更不用說將這些技術遷移到其他SLAM系統了。結果,基於DL的SLAM不夠成熟,無法超越傳統的SLAM系統。

  • 本文核心思想:我們努力提出一種簡單、輕便和高效的SLAM系統。我們的基本思想是通過深度學習提高局部特征描述子的魯棒性,以確保幀之間數據關聯的准確性。

  • 本文貢獻:在本文中,我們提出了一種新的方法,用學習到的局部特征描述子代替傳統的手工描述子。我們的方法在可移植性和便利性方面具有優勢,因為深層特征描述子可以直接替代傳統描述子。這種替代對於所有SLAM系統、甚至其他幾何計算機視覺任務(例如SFM,相機標定等)都高度適用。在實際的SLAM系統中,學習到的局部特征描述子可以保證比手工描述子更好的性能[30],並實現驚人的精度提高。由於我們采用淺層神經網絡來獲取局部特征描述子,因此不會在GPU上花費很多時間,並且系統幾乎可以實時運行

3.系統概述

DF-SLAM系統采用傳統主流SLAM的pipeline,使用學習到的局部特征描述子,替代ORB、SIFT之類的手工特征。系統包括三個部分:跟蹤(Tracking)、建圖(LocalMapping)、閉環檢測(Loop Closing)。只要在跟蹤之前捕獲並添加了新的一幀,就會從中提取局部特征描述子。
系統框架圖如下:
在這里插入圖片描述
在這里插入圖片描述

本文使用TFeat Network提取圖片中的特征點(128維),其中的訓練策略換成了HardNet的困難負例挖掘(hard negative mining)。特征提取無需先進行高斯模糊(Gaussian Blur ),直接輸入原始圖片的patches。
TFeat Network的結構如下:
在這里插入圖片描述

本文還是用了在ORB-SLAM中也使用過的基於DBoW的方法,從特征描述子中提取出視覺詞匯(Visual Vocabulary),以tree的方式存儲。通過為每一幀配備一個詞向量和特征向量,可以快速計算兩幀的相似程度。

譯者注:DBoW是一個詞袋(bag of word)的c++庫

4.實驗結果

EuRoC數據集:ORB-SLAM2與DF-SLAM在有/無閉環檢測的對比結果,使用的是均方根誤差(RMSE,root-mean-square error)。沒有閉環檢測是想進一步驗證系統的穩定性和准確度

在這里插入圖片描述

TUM數據集:ORB-SLAM2與DF-SLAM的對比結果。“Tracked”是整個10次測試中沒有跟丟的次數。
在這里插入圖片描述

實時性:i5-4590、GTX TITAN X、pytorch c++、CUDA

  • 對於一個patch,模型一次的前向傳播時間為7e-5秒
  • 一張圖片中提取1200個關鍵點要0.09秒
  • 並行運行跟、建圖、閉環檢測,10~15fps。不過,本文相信可以減少特征數量來進一步優化達到實時。

HPatch數據集:將本文的特征點與ORB、SIFT進行對比。本文的特征根據有/無使用hard negative mining可以分為TFeat和HardTFeat,而HardTFeat_HD是在原始HPatch數據集上訓練的,HardTFeat_HF則是用了基於FAST的HPatch訓練得到的
在這里插入圖片描述

5.結論

我們提出了DF-SLAM,該系統在傳統的SLAM中結合了學習到的特征。 DF-SLAM充分利用了深度學習和幾何信息的優勢,並在眾多實驗中證明了效率和穩定性的顯着提高。即使在充滿挑戰的場景中,也可以穩定、准確地工作。深層特征的使用帶來了更好的數據關聯,並且是可以進一步研究。出色的結果證明了即使用小型深度學習模型來增強SLAM系統也能帶來令人興奮的結果。

未來工作

  • 提高在極端條件下DF-SLAM定位和建圖的穩定性,以及DF-SLAM的速度。
  • 設計一個強大的局部特征檢測器,以與我們系統中使用的描述符相匹配。
  • 在線學習(Online learning)
  • 使用全局特征來優化全局BA(bundle adjustment),並為DL-SLAM建立一個完整的系統

歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、檢測分割識別、三維視覺、醫學影像、GAN、自動駕駛、計算攝影、算法競賽等微信群(以后會逐漸細分),請掃描下面微信號加群,備注:”昵稱+學校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據研究方向邀請進入相關微信群。請勿在群內發送廣告,否則會請出群,謝謝理解~
投稿、合作也歡迎聯系:simiter@126.com
在這里插入圖片描述

長按關注計算機視覺life
在這里插入圖片描述


免責聲明!

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



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