1. 程式人生 > >深度學習結合SLAM的研究思路/成果整理之(一)使用深度學習方法替換SLAM中的模組

深度學習結合SLAM的研究思路/成果整理之(一)使用深度學習方法替換SLAM中的模組

整理了部分近兩年深度學習結合SLAM的一些研究成果(參考知乎帖子https://www.zhihu.com/question/66006923 和泡泡機器人公眾號,附上論文連結和已找到的原始碼/資料集連結,大多簡單看了一下摘要。僅為自己學習所用,確實翻譯得很爛…………

1. 深度學習跟SLAM的結合點

深度學習和slam的結合是近幾年比較熱的一個研究方向,具體的研究方向,我簡單分為三塊,如下。

1.1 深度學習結合SLAM的三個方向

用深度學習方法替換傳統SLAM中的一個/幾個模組

  • 特徵提取,特徵匹配,提高特徵點穩定性,提取點線面等不同層級的特徵點。
  • 深度估計
  • 位姿估計
  • 重定位
  • 其他

在傳統SLAM之上加入語義資訊

  • 影象語義分割
  • 語義地圖構建

端到端的SLAM

其實端到端就不能算是SLAM問題了吧,SLAM是同步定位與地圖構建,端到端是輸入image輸出action,沒有定位和建圖。
- 機器人自主導航(深度強化學習)等

1.2 相關的部分論文整理

1.2.1 用深度學習方法替換傳統SLAM中的一個/幾個模組。

替換多個模組

  • * 在有預測深度下的實時單目稠密SLAM*
    (輸入:彩色圖 LSD-SLAM NYUDv2資料集 ICL-NUIM資料集)
    摘要:
    基於使用卷積神經網路CNN進行深度預測的最新進展,本文研究了深度神經網路生成的深度預測地圖,如何用於精確而稠密的重建,我們提出了一種直接法單目SLAM中得到的深度度量,如何與CNN預測得到的稠密深度地圖自然地融合在一起的方法。我們的融合方法在影象定位這一單目SLAM方法效果不佳的方面有優勢。比如說低紋理區域,反之亦然。我們證明了深度預測在估計重建的絕對尺度中應用可以克服單目SLAM的主要限制。最後,我們提出了高效融合稠密SLAM中單幀得到的語義標籤的方法 ,從單視角中得到了語義連貫的場景重建。基於兩個參照資料集的評測結果表明我們的方法有良好的魯棒性和準確性。
    這裡寫圖片描述

    注:
    NYUDv2資料集 資料集下載連結
    用於室內場景語義分割的RGB-D影象資料集,來自Kinect,1449對已標註的RGB-Depth影象,40萬張未標註影象。
    ICL-NUIM資料集 資料集下載連結
    包含兩個場景的影象:起居室和辦公室 與TUM RGB-D 資料集的評測工具相容。幀率30,每段大概幾十秒,所以一共幾千張圖吧。

  • UnDeepVO:使用無監督深度學習的單目視覺里程計
    (雙目影象訓練資料集 單目影象測試 KITTI資料集)
    摘要:
    我們在本文中提出了一種名叫UnDeepVO的新型的單目視覺里程計系統,UnDeepVO可以估計單目相機的6自由度位姿以及使用深度神經網路估計單目視角的深度。UnDeepVO有兩個顯著的特性:一個是無監督深度學習方法,另一個是絕對尺度回覆。特別的,我們使用了雙目的影象對訓練UnDeepVO來恢復尺度,然後使用連續的單目影象進行了測試。因此,UnDeepVO是一個單目系統。訓練網路的損失函式是基於時間和空間稠密資訊定義的。圖一是系統的概覽圖。基於KITTI資料集的實驗表明UnDeepVO在位姿估計方面,準確性高於其他的單目VO方法。
    這裡寫圖片描述
特徵相關(特徵提取匹配等)

  • 面向幾何的深度SLAM
    (兩個CNN,角點提取和匹配 ,實時,單核CPU30FPS)
    摘要:
    我們展示了一個使用了兩個深度卷積神經網路的點跟蹤系統。第一個網路,MagicPoint,提取單張影象的顯著性2D點。這些提取出來的點可以用作SLAM,因為他們在影象中相互獨立且均勻分佈。我們比較了這個網路和傳統的點檢測方法,發現兩者在影象有噪聲存在是存在明顯的效能差異。當檢測點是幾何穩定的時候,轉換估計會變得更簡單,我們設計了第二個網路,名為MagicWarp,它對MagicPoint的輸出,一系列點影象對進行操作,然後估計跟輸入有關的單應性。這種轉換引擎和傳統方法的不同在於它只是用點的定位,而沒有使用區域性點的描述子。兩個網路都使用了簡單的合成數據進行訓練,不需要安規的外部相機建立ground truth和先進的圖形渲染流水線。系統速度快且輕量級,可以在單核CPU上達到30幀每秒的速度。
    這裡寫圖片描述

  • 通過訓練比較影象塊的卷積神經網路進行立體匹配
    (輸入:左右圖 KITTI資料集 Middlebury資料集)
    摘要:
    我們提出了一種從已校正過的影象對中提取深度資訊的方法。我們的方法側重於大多數stereo演算法的第一步:匹配開銷計算。我們通過使用卷積神經網路從小影象塊中學習相似性度量來解決這個問題。訓練採用有監督方式,使用相似和不相似的成對影象塊構建了一個二分類資料集。我們研究了用於此項任務的兩種網路架構:一個針對速度進行調整,另一個針對精度。卷積神經網路的輸出被用來初始化stereo立體匹配開銷。在這之後,進行一系列後處理操作:基於交叉的開銷聚合,半全域性匹配,左右圖一致性檢驗,亞畫素增強,中值濾波和雙邊濾波。我們在KITTI2012,KITTI2015資料集,Middlebury雙目資料集上評測了自己的方法,結果顯示我們的方法優於此三個資料集上的其他同類方法。

這裡寫圖片描述
注:Middlebury Stereo Datasets
資料集下載連結


  • LIFT:通過學習生成的不變特徵變換
    (比SIFT特徵更加稠密,已開源)
    摘要:
    我們提出了一種新型的深度網路架構,實現了完整的特徵點處理流水線:檢測,方向估計和特徵描述。雖然之前的工作已經分別成功地解決了這幾個問題,但我們展示瞭如何將這三個問題結合起來,通知保持端到端的可微性。我們證明了我們的深度流水線方法,效能優於許多基準資料集的state-of-the-art的方法,且不需要再訓練。
位姿估計,深度估計

  • VINet:將視覺-慣性里程計看做一個序列到序列的學習問題(……這個怎麼翻)
    (使用了影象和IMU資料,CNN和RNN)
    摘要:
    本文中我們提出了一種使用視覺和慣性資料做運動估計的,流形上的?序列到序列的學習方法。在中間特徵表示這一級別上融合資料的視覺-慣性里程計進行端到端訓練,是我們已知的最好的方法(?)。我們的方法相比傳統方法有很多優勢。具體來說,它不需要相機和IMU資料之間進行冗長乏味的人工同步,也同樣不需要IMU和相機資料之間進行人工標定。另一個優點是我們的模型可以自然且巧妙地結合特定區域的資訊,可以顯著減少漂移。在標定資料準確的情況下,我們的方法跟傳統的state-of-the-art的方法效果旗鼓相當,在存在標定和同步誤差的情況下,我們的方法可以通過訓練達到比傳統方法更好的的效果。
    這裡寫圖片描述

  • 用於單視角深度估計的無監督CNN:??
    (KITTI資料集 無監督學習)
    摘要:
    當前深度卷積神經網路的一個顯著缺點就是需要使用大量人工標註的資料來進行訓練。本項研究中,我們提出了一種無監督的框架來使用深度卷積神經網路進行單視角深度預測,不需要先行訓練和標註過的ground-truth深度。我們通過一種類似於自編碼的方式訓練網路。訓練過程中,我們認為有著微小且已知的相機運動的源影象和目的影象是一個stereo對。我們訓練卷積編碼器來預測源影象的深度圖。為此,我們顯式構造了一個使用預測深度和已知的視角間位移的目的影象的inverse warp反變換?,用於重建源影象。重建過程中的光測誤差是編碼器的重建損失。以這樣的方法獲取訓練資料比同類系統要簡單得多,不需要人工標註和深度感測器與相機之間的標定。在KITTI資料集上,執行單視角深度估計任務時,我們的網路,在保證相同效能情況下,訓練時間比其他state-of-the-art的有監督方法少一半。

這裡寫圖片描述


  • 光流法不太關注,這個名字也是翻譯不出來…………
    英文摘要:
    We present an optical flow estimation approach that operates on the full four-dimensional cost volume. This direct
    approach shares the structural benefits of leading stereo matching pipelines, which are known to yield high accuracy. To this day, such approaches have been considered impractical due to the size of the cost volume. We show that the full four-dimensional cost volume can be constructed in a fraction of a second due to its regularity. We then exploit this regularity further by adapting semi-global matching to the four-dimensional setting. This yields a pipeline that achieves significantly higher accuracy than state-of-the-art optical flow methods while being faster than most. Our approach outperforms all published general-purpose optical flow methods on both Sintel and KITTI 2015 benchmarks.
    這裡寫圖片描述

  • 一條線上的解析幾何:使用部分鐳射觀測的單目深度估計
    (輸入:單目影象和2D鐳射距離資料 NYUDv2資料集 KITTI資料集)
    鐳射的也不太關注。
    Abstract— Many standard robotic platforms are equipped with at least a fixed 2D laser range finder and a monocular camera. Although those platforms do not have sensors for 3D depth sensing capability, knowledge of depth is an essential part in many robotics activities. Therefore, recently, there is an increasing interest in depth estimation using monocular images. As this task is inherently ambiguous, the data-driven estimated depth might be unreliable in robotics applications. In this paper, we have attempted to improve the precision of monocular
    depth estimation by introducing 2D planar observation from the remaining laser range finder without extra cost. Specifically, we construct a dense reference map from the sparse laser range data, redefining the depth estimation task as estimating the distance between the real and the reference depth. To solve the problem, we construct a novel residual of residual neural network, and tightly combine the classification and regression losses for continuous depth estimation. Experimental results suggest that our method achieves considerable promotion compared to the state-of-the-art methods on both NYUD2 and KITTI, validating the effectiveness of our method on leveraging the additional sensory information. We further demonstrate the potential usage of our method in obstacle avoidance where our methodology provides comprehensive depth information compared to the solution using monocular camera or 2D laser range finder alone。
    這裡寫圖片描述
    這裡寫圖片描述

  • 視訊深度和自運動的無監督學習 SFM-learner
    (訓練使用未標註單目視訊片段,已開源)
    摘要:我們提出了一個用非結構化視訊序列進行單目深度和相機運動估計的無監督學習網路。和最近的幾項研究相同的是,我們使用了端到端的方法,用檢視合成作為監督訊號,不同的是,我們的方法是完全無監督的,只需要少量的單目視訊序列即可訓練。我們的方法使用了單視角深度和多視角位姿兩個網路,使用計算出的深度和位姿將附近檢視變換為目標檢視生成損失函式(?)。因此,訓練過程中網路通過損失函式連線在一起,但是測試時,兩個網路可以獨立用於應用。KITTI資料集上的經驗評測證明我們的方法有以下優點:1)與使用ground-truth位姿或深度進行訓練的有監督方法相比,在估計單目深度是效果相當。2)與有可比較輸入設定的現有SLAM系統相比,位姿估計效能良好。
    這裡寫圖片描述
    原始碼 https://github.com/tinghuiz/SfMLearner

  • SFM-Net:從視訊中學習結構與運動
    SfM-Net是SfM-learner的升級版
    摘要:
    我們提出了SfM-Net,一個geometry-aware幾何敏感?的神經網路用於視訊中的運動估計,此網路分解了基於場景和物件深度的幀間畫素運動,相機運動,3D物件旋轉和平移。給定一個幀的序列,SfM-Net預測深度,分割,相機和剛體運動,然後將這些轉換為稠密幀間運動場(光流),可微的扭曲幀最後做畫素匹配和反向傳播。模型可以通過不同程度的監督方法進行訓練:1)自監督的投影光測誤差(photometric error)(完全無監督)的方式,2)用自運動(相機運動)進行有監督訓練的方式,3)使用深度(比如說RGBD感測器提供的)進行有監督訓練的方式。SfM-Net提取了有意義的深度估計併成功地估計了幀間的相機運動和評議。它還能在沒有監督資訊提供的情況下,成功分割出場景中的運動物體。
    這裡寫圖片描述
    這裡寫圖片描述
重定位