Duang!深度圖和深度學習碰撞出的神器火花
公眾號/將門創投
來源:BAIR 編譯:T.R
對於機器人感知來說,RGB圖加捲積網路已經變成了感知系統的標配。在機器人和通常的計算機視覺任務中,人們會從從VGG或者ResNet等網路模型中借鑑基礎結構以及預訓練權重,隨後利用遷移學習的方法在特定任務的資料上進行微調來實現對於特定任務的學習。但對於某些任務來說,只知道場景的顏色資訊只能提供有限的感知。例如要訓練機器人抓取一個新的未知物體,那麼這時候理解物體及所處環境的幾何形貌就比感知它的顏色紋理重要的多。
rgb圖和對應的深度圖(圖例用灰色)
進行操作的物理過程主要依賴於物體的幾何、位姿和其他與顏色無關的資訊(或者是顏色不變數)。可以想象一下你在手裡轉筆的過程,我們可以流暢的旋轉而不需要盯著它看,這是因為我們已經對於手指和筆接觸點的空間位置、朝向有了極為深入的理解和認識。那麼我們不禁要問,我們可以利用彩色圖獲取對於物體如此深入的理解嗎?
其實在視覺領域還有一個可供選擇的解決方案: 深度圖 。這是一種單通道灰度圖,包含了相機到物體的深度資訊,同時提供了對於物體顏色不變的資訊。並且我們還可以利用濾波器來消除背景噪聲,這在很多機器人任務上十分有效。接下來的文章中將會介紹研究人員如何結合深度學習和深度圖在以下三個專案中取得有效的成果:Dex-Net用於機器人抓取、物體分割和機器人鋪床的任務。
感知深度
深度圖一般在特定的視角下編碼了對於環境中物體的距離資訊。近年來隨著計算機視覺的發展,深度感知領域也產生了很多進展。
傳統獲取深度圖的方法是利用雙目立體視覺獲取視差資訊從而得到環境的深度的。而今天大多使用的深度感測器則是基於結構光感測器的原理,通過將已知模式的紅外光投影到環境並解算來實現深度的獲取。另一種方法是通過鐳射雷達來獲取環境精確的深度資訊,但缺點是高昂的成本和成像速度。
所以Kinect的出現提供了一種消費級的RGB-D成像系統,可以通過硬體更快更便宜的獲取環境的深度資訊。如今很多機器人系統中,比如FetchRobot和Toyoya的機器人都裝配有相似的感知系統,而且這一技術還在不斷改進,Intel的realsense和Photoneo公司的產品都提供了更為優異的表現。
在深度圖的幫助下,研究人員們可以使用深度資訊幫助機器人導航、實時建圖和跟蹤、為室內環境建模等任務。同時深度圖為機器人提供了距離障礙物的遠近資訊,這也使得它們在導航中獲得了壁障和定位的能力。
同時深度圖還被用於在遊戲中實時地檢測、識別和定位人體的各個部分,移除造成模糊的因素(比如光線和衣服等)。更有研究人員利用模擬的深度影象來引導機械臂接近物體。目前人們已經可以利用圖形學的方法較為精確的通過模擬生成大量的深度資料了。
這些結果表明,對於某些任務深度圖可以編碼足夠多的有用資訊和色彩不變資訊用於幫助訓練任務。下面將用三個例子來具體說明。
機器人抓取
抓取很多類從未見過的物體對於機器人來說依然是一個嚴峻的挑戰。儘管很多研究人員利用RGB影象來完成這一任務,但需要耗費大量的時間來進行訓練。而最新進展的關鍵在於可以利用渲染技術,基於幾何和相機位置,通過3D模型合成精確的深度圖。
Bair的Dexterity Network(Dex-Net)是一個綜合了演算法、程式碼和資料集的專案用於訓練機器人的抓取策略,它結合了大規模的合成數據集、機器人模型和隨機取樣,以及深度學習技術。Dex-Net在抓取中引入了域隨機化的概念,集中於利用簡單的夾具來抓取複雜的物體。在先前的研究中,研究人員提出了670萬張圖片的虛擬資料集用於訓練抓取質量模型。目前他們將這一模型拓展到了深度圖上。
首先生成和增強大量的物體網格模型,隨後對於每個模型生成多種抓取位置,最後計算每一個物體及其抓取的魯棒性,並生成對應的模擬深度圖。其中通過估計抓取成功的概率來計算魯棒性。
研究人員將Dex-Net拓展了新功能,可以自動生成用於物體模型抓取的改進資料集。抓取同時定義了位姿角度和夾爪的深度。上圖描述了生成資料的流程。研究的目標是訓練出一個可以通過深度圖來檢測夾爪是否可以成功夾住物體的模型。
抓取質量網路的架構
研究人員利用這一資料集訓練了抓取質量網路(Grasp Quality,GQ-CNN),用於檢測每一次抓取成功的可能性。人們可以利用GQ-CNN檢測不同抓取方式,並從中選取概率最高的方案來使用。
2017年,Dex-Net拓展到了箱內分揀任務(bin-picking),這需要從一堆無需的物體中一個個的分揀出物體。Bair的研究人員將bin-picking理解為部分觀測的馬爾科夫決策過程,同時利用模擬來生成物體堆進行學習。通過模擬,可以得到物體位置的完整資訊,並利用監督策略對GQ-CNN進行的微調,最後將學習到的策略用於ABB YuMi機器人上,實現了在僅僅利用深度圖的情況下在3mins內分揀除了十個物體。下圖顯示了Dex-Net顯示的抓取點(紅點),其中第一行是真實資料,第二行是模擬資料。
箱內物體分割
例項分割任務需要判斷影象中的畫素分屬於哪一個物體,它廣泛應用於視覺任務和機器人感知中。例如機器人需要在箱子裡抓取物體時,就需要先對其中的物體進行分析以便區分不同物體。
先前的研究主要集中在利用RGB圖實現的Mask R-CNN上,但訓練需要大量手工標註的資料。同時用於訓練Mask R-CNN的資料包含的物體個數有限,可能還不足以完成貨倉內地分揀任務,對於微調所需要的資料也需要手工耗時耗力的得到。所以研究人員們提出可以放鬆演算法的要求可以再得到物體的掩膜後再來預測類別,這樣就可以對大規模的物體預測掩膜,此時物體的幾何資訊就顯得更加重要。
這一任務的資料現有相似的3D模型生成物體堆,再從中獲取精確的深度圖和對應的掩膜圖
基於幾何的分割來說,我們可以利用模擬和渲染技術來獲取大規模類別豐富的,同時帶有標籤的深度資料集。研究人員假設這些深度圖包含了用於分割的足夠資訊,這主要是每個物體可以由深度圖中的畫素邊界來進行區分。利用1600個3D模型和pybullet物理引擎,生成了50k的箱內物體堆深圖資料。由於物體已知,生成深度圖和掩膜的精度得到了有效的保證。最終利用這一深度資料集,研究人員訓練出了SD Mask R-CNN網路,從合成的深度圖中分割出每一個例項。
在實際中演算法的表現,第一行是高精度資料第二行是低精度資料,最後一列是本演算法的結果。
令人驚奇的是,這個沒有見過任何真實資料的SD Mask R-CNN表現超過了點雲分割和精調過的Mask R-CNN。值得注意的是,真實資料和模擬資料的物體並不相同,這意味著SD Mask R-CNN確實能夠預測出新的物體掩膜,同時利用深度圖時可以減少主幹網路的大小(彩色圖ResNet101,深度圖ResNet-35)。
例項分割被解耦成了分類和分割兩個任務。對於資料集中十個物體的分類,僅僅使用VGG在10mins內就能訓練達到95%的準確率。這一工作證明SD Mask R-CNN可以與分類網路序列工作,這使得對於不同物體集的訓練變得容易。
總的來說,利用深度圖代替RGB圖實現分割給我們帶來了以下啟示:
– 深度編碼的幾何資訊足以對物體進行例項分割;
– 深度圖可以便捷迅速的生成,並且訓練結果能有效遷移到真實資料上;
– 在不同物體間深度線索的表示更為一致,利用深度圖訓練的網路具有更好的泛化性。
機器人鋪床
機器人鋪床是一個典型的家庭應用場景,它容錯性高、時間充裕同時也是人類不喜歡的工作。研究人員先前通過RGB影象來訓練機器人,而最近使用深度感知技術將鋪床的技能遷移到不同顏色和問題的毯子上。
雜亂的床,前四個為訓練資料,後兩個彩色為測試資料。
機器人需要將鋪床分解成一下幾個任務,首先需要識別毯子的角,然後移動到合適的位置抓起這個角最大化毯子的面積(鋪開),最後在進行摺疊。再一次強調一個假設:深度圖中包含了鋪床任務中所需毯子角點足夠可靠的幾何資訊。
為了收集訓練資料,研究人員在毯子角上放置了紅色mark,利用機器人的RGB-D攝像頭就可以自動地獲取彩色和深度資訊。隨後利用收集到的深度圖和對應的角點資訊來訓練卷積網路從不同的毯子佈置中找到可以抓取的角點。
由於抓取點檢測和物體檢測任務類似,這裡使用了YOLO模型作為預訓練,並添加了幾層用於微調。模型在2018張深度資料上進行了訓練,結果顯示雖然YOLO適用於彩色場景檢測的,但依然可以基於它在深度圖上得到很好的結果。
深度圖帶來的額外優勢是可以通過距離資訊濾除干擾。
利用深度圖實現抓取點檢測的結果。結果顯示這種方法大大超過了基線,幾乎實現了與人類同樣的水準。
上圖顯示了演算法對於青色毯子抓取點的檢測結果。抓取網路並沒有利用青色毯資料進行訓練,由於測試資料深度圖和訓練的深度圖十分類似,即使不一樣的顏色也能獲得優異的結果。隨著機器人移動到另一側,距機器人最近的抓取點也被很好的檢測出來。(RGB訓練的抓取網路表現就不如深度圖訓練的網路,因為訓練資料都是白色床單。為了獲得更好的效果就需要投入更多顏色和紋理的床單採集資料。)
深度魅力
這些專案表明深度圖攜帶了足夠的資訊支撐抓取點檢測、例項分割和變形物體角點檢測。隨著深度感測器質量和解析度的提高,對於機器人也將變得日益重要。人們可以很便捷快速地合成深度圖,這種具有顏色不變性和豐富幾何資訊的資料,同時可以充分利用其固有的特性來去除噪聲和干擾。同時深度圖比RGB維度更低,網路更傾向於從中學習出邊緣和空間模式。
更多詳細資訊請參看:
專案主頁:
https://berkeleyautomation.github.io/dex-net
https://sites.google.com/view/wisdom-dataset/home
https://sites.google.com/view/bed-make
實驗室主頁:http://autolab.berkeley.edu/
論文lists:
Dex-Net 2.0: Deep Learning to Plan Robust Grasps with Synthetic Point Clouds and Analytic Grasp Metrics.
Learning Deep Policies for Robot Bin Picking by Simulating Robust Grasping Sequences.
Segmenting Unknown 3D Objects from Real Depth Images using Mask R-CNN
Robot Bed-Making: Deep Transfer Learning Using Depth Sensing of Deformable Fabric.