GEN-SLAM:一種用於單目SLAM的深度學習生成模型
公眾號/將門創投
來源:https://arxiv.org/pdf/1902.02086.pdf
編譯:Simons
對於任何移動機器人系統來說,確定自己與周圍障礙在環境中的位置是環境感知的基本任務。通常人們使用深度相機或者Lidar來獲取環境的深度資訊,但都面臨著一系列無法解決的困難,除了感測器需要龐大的計算外,高質量的鐳射雷達至今依舊售價高昂、而深度相機在室外光照變化的環境往往包含了難以去除的噪聲。
為了解決這些問題,研究人員將目光投向了深度學習,利用生成模型實現了深度估計和定位任務,為機器人環境感知帶來了全新的解決方案。來自福特的無人駕駛研究人員提出了一個基於深度學習的系統,可通過單目RGB感測器實現位姿估計和深度估計。整個系統基於傳統的幾何SLAM結果來訓練,實現單個相機能夠輸出其在環境中的拓撲姿態,以及周圍障礙物的深度圖。
研究人員假設三維幾何場景和二維相機影象共享同一個隱含空間編碼,來自這一隱空間取樣的編碼和基於位姿的位置條件資訊可以更好的恢復出深度圖,以及與環境位姿對應的RGB圖。作者使用CNN網路實現拓撲地圖中的定位功能,並使用條件變分自編碼器來輸出相機影象的深度資訊,採用拓撲位置作為條件輸入。最後,通過模擬和真實資料集實驗作者驗證了單目定位和深度估計系統的有效性。
圖1 GEN-SLAM結構
與傳統的判別式模型求條件分佈p(xdep|xrgb)相比,作者使用生成模型來學習彩色影象與深度影象之間的聯合分佈p(xrgb, xdep),這是首次在SLAM問題中引入生成式模型。作者認為三維幾何場景(深度圖)及其到相機平面的二維投影(彩色影象)擁有相同的隱子空間,採用變分自編碼器(Variational Autoencoder, VAE)來輸出彩色影象對應的深度圖。如上圖1所示,藍色和橙色分別表示RGB和深度VAEs,網路中有2個編碼器、2個解碼器,訓練過程中作者採用瞭如下4個重構損失,建立聯合優化。
其中四項分別代表了rgb和深度圖自身和相互之間的重構損失。作者認為新增位置資訊作為額外標籤會使得RGB到深度的轉換效果更好,因此還使用了每幅影象對應的拓撲節點作為條件輸入。如下圖所示,給定一個確定的位置條件輸入,我們就可以生成新的RGB和深度圖,如果位置資訊給的不好,就會產生較為虛幻的場景。
圖2 Living Room資料集中,每個拓撲節點對應的RGB、深度, 抽樣RGB、抽樣深度圖
在網路中,輸入的彩色圖,像一方面通過Topo CNN獲得拓撲姿態,另一方面通過RGB編碼器得到對應的隱向量,兩者相互串聯後通過Depth解碼器即可獲得彩色影象對應的深度圖。具體的配置細節如下:
a. 資料採集。作者使用非真實遊戲引擎UE4和UnrealCV外掛來生成RGB和depth的模擬資料集;真實資料集作者希望場景中儘可能少動態目標,並且機器人的路徑可以迴圈多次實驗。最後,作者用StereoZed相機在手推車上完成了辦公室場景的資料採集。
b. 拓撲地圖生成。作者採用ORB-SLAM2演算法獲得相機運動軌跡,為確保路徑可重複,作者先用ORB-SLAM2建圖並儲存,在後續實驗中以此地圖來實現定位功能,並讓機器人按照同樣的路徑運動。
c. 網路模型。Topo CNN是由在ImageNet上預訓練好的Alex-net網路修改而得,移除最後的分類層,並將輸出數量與拓撲節點數一致。作者採用PyTorch框架來實現條件變分自編碼器,如下圖所示,使用卷積和反捲積,以及instance norm (INS)、leaky RELU 和 residual (Res)層。
圖3 RGB-VAE的結構示意圖
實驗結果:
如下圖所示,是Lab資料集上的拓撲定位和深度圖估計結果。四行小圖從左到右分別是輸入RGB影象、深度真實值影象、深度估計值影象。中間綠色表示拓撲節點,紅色軌跡代表定位結果,數字按順序分別代表了四行影象從上到下,從RGB到深度圖重構的拓撲位置。
圖4 Lab資料集上的拓撲定位和深度圖估計結果
作者採用了下表中的多種指標來評估提出的深度估計器方法的有效性。其中,作者計算了每個資料集的真實深度平均值來描述不同場景的尺度。Corridor的Mean depth最大,自然而然它的RMSE也要比其他兩個資料集的結果要大的多。作者提出的拓撲CNN的定位方法在資料集上的準確率接近了100%
表1 Living Room, Lab和Corridor資料集上的深度估計結果度量
表2 Living Room, Lab和Corridor資料集上拓撲CNN的定位準確率
效果這麼好讓我們不禁要問,為什麼選用VAE而不選用常規的編碼解碼網路結構呢?
這是因為VAE硬性要求隱向量服從高斯分佈,在本文的問題中,場景的3D幾何(深度圖)和2D投影(RGB圖)在拓撲姿態上的條件概率強制服從同分布。而VAE雙網路可以讓我們通過弱監督的方式訓練網路。本文中的拓撲姿態還可以作為目標檢測以及光照的額外先驗,在不同的光照條件和動態場景下得到更好的深度估計。
本文預先建好的地圖相對簡單,路徑也是單個圈的軌跡。未來可以基於此設計更復雜的路徑和地圖生成演算法,這就會更加適用於工廠或物流場景中的移動機器人應用了。 物流中心一般都是擁有數十萬平方米貨架和倉儲的工廠環境,裡面有成百上千移動機器人被用來搬運貨物。在如此複雜的環境中實現它們的自主導航功能是十分必要的,而且需要控制每個機器人的感測器成本,畢竟都配備昂貴的鐳射雷達是不現實的。基於這篇文章提出的方案可以先使用深度感測器和傳統幾何SLAM方法進行一次預先構建地圖,然後用該地圖作為先驗結合本文的模型進行訓練。隨後這些移動機器人只需要配備低成本的單目相機,就可以利用訓練好的模型來實現複雜工廠環境下的感知與導航了。
隨著深度學習的快速發展,網路模型的準確性和有效性也越來越高,個體機器人也逐漸可以從低成本、便捷、低功耗的感測器中獲得豐富的環境感知資訊,這將大大促進機器人的智慧化發展,讓小塊頭也有大作為。
更多詳情請觀看作者的介紹視訊:https://youtu.be/WGuB1cO0mCY
更多參考:
https://twitter.com/greenfieldlabs
paper:https://arxiv.org/pdf/1902.02086.pdf