深度感知+深度學習,伯克利的機器人面對陌生目標也能成功取物

編者按:關於訓練機器人抓手的研究並不少,大多都是從計算機視覺的角度出發,訓練機器人“看得清”、“抓得準”。本文同樣如此,不過與以往觀察彩×××片不同,伯克利的研究者們藉助“深度圖像”這個“利器”,提出了一種更加高效的方法,能讓機器人成功抓起此前並未見過的物體。

左:3D立方體。右:對應深度圖像,距相機越近顏色越深。

早在AlexNet誕生的兩年前,微軟就爲X-Box推出了Kinect。隨着深度學習加速了超參數函數的性能,這種低成本的深度感知器層出不窮,也使得深度學習在圖像分類、語音識別和語言翻譯中取得了驚人的效果。如今,深度學習在端到端的電子遊戲、機器人操控等問題中也表現出大有前景的勢頭。

在機器人感知方面,類似於VGG或ResNet的卷積神經網絡成爲了主流選擇。在一些機器人或計算機視覺的任務中,常會用到這些框架,附帶有經過與訓練的權重,進行遷移學習或對具體數據進行微調。但是在某些任務中,只瞭解圖像的顏色是很有限的。當你想訓練機器人抓住一個陌生物體時,更重要的是讓機器人瞭解周圍環境的幾何結構,而不僅僅是顏色和材質。對目標物體進行控制時的物理過程,即通過力量控制一個或多個物體,取決於目標的形狀、擺放位置和其他和顏色無關的因素。例如,當你手中拿筆時,不用看就能改變手中筆的位置。於是,這裏有一個問題:這在彩×××像上也能成立嗎?

與彩×××像相對應的是深度圖像,它是隻有 單個通道 的 灰度圖像 ,可以測量到相機的深度值,讓我們瞭解一幅圖像中目標物體的除了顏色以外的特徵。我們還可以用深度來“過濾”一定範圍之外的點,這可以用來去除背景噪聲(如文中開頭的圖像示例)。

這篇文章中,我們將深度圖像和深度學習結合起來,用在伯克利AUTOLab三個正在進行的項目中:用於機器人抓取的Dex-Net、複雜目標分割以及讓機器人整理牀鋪。

深度感知簡介

深度圖像將物體表面到相機的距離進行編碼,顯示出了特殊的視角。在文章開頭的案例圖片裏,左邊的立方體3D結構圖中有很多點都處於離相機不同的位置上。右邊的深度圖像中,顏色越深的地方表示距離相機越近。

深度感知最近的成果

在計算機視覺和深度學習不斷進步的同時,深度感知領域也出現了許多成果。

通常,深度感知會將兩個不同相機生成的RGB圖像結合在一起,然後利用生成的視差圖獲取物體在環境中的深度值。

目前常用的深度傳感器是結構光傳感器,它可以用一種看不見的波長將一直物體的形狀投射到某場景中,比如我們熟知的Kinect。另一種深度感知的方法就是LIDAR,這種技術此前常用於地形測繪,最近在一些自動駕駛汽車上也出現了它的身影。LIDAR比Kinect生成的深度映射質量更高,但是速度較慢、成本高昂,因爲它需要掃描激光器。

總的來說,Kinect屬於消費級RGB-D系統,可以通過硬件直接捕捉到RGB圖像,以及每個像素的深度值,比此前的很多方法更快更便宜。現在,很多用於研究或工業的機器人,例如AGV或人形輔助機器人,都含有類似的內置深度感知相機。未來用於機器人的深度感知設備很可能會進一步升級。

相關研究

針對機器人的深度感知,研究人員將這一技術用於實時導航、實時映射和追蹤以及對室內環境的建模。由於深度感知能讓機器人知道它們距離障礙物有多遠,就能使其進行定位,在導航時避免碰撞。除此之外,深度圖像還用於實時檢測、辨別、定位人的身體部位等研究中。

這都說明在某些任務中,深度圖像可以蘊涵很多除了顏色之外的有用信息。接下來,我們研究了三種不同任務

案例一:機器人抓取

讓機器人抓取從未見過的物體是目前一個重要的難題。雖然很多研究者使用RGB圖像,但他們的系統需要讓機器人訓練好幾個月的抓取動作。利用3D目標網格的關鍵有點就是,研究人員可以通過渲染技術精確地合成深度圖像。

我們的Dex-Net是AUTOLab正在進行的研究項目,它包括訓練機器人抓取策略的算法、代碼。以及用於訓練抓取的數據集。Dex-Net提出在抓取狀態下的域隨機算法,目的是用簡單的抓手抓取複雜目標物體。在BAIR此前的博文中,我們介紹了含有670萬個樣本的數據集,我們用它來訓練抓取模型。

數據集和深度圖像

上圖展示了Dex-Net的數據集生成過程。首先,我們從多個來源中得到大量目標物的網格模型,並進行強化。每個模型都會被機械手抓起來進行採樣。有了網格模型和被抓起後的圖像,我們計算出它的魯棒性,並生成模擬深度圖像。通過計算擺放位置、摩擦力、質量、外力(例如重力)和蒙特卡羅積分法,計算出抓取成功地概率,從而對魯棒性進行估計。上圖右邊,我們展示了正採樣(抓取成功)和負採樣(抓取失敗)的例子。

訓練GQ-CNN

有了模擬數據集後,它們將用來訓練一個抓取質量卷積神經網絡,來預測機器人抓取成功的概率。結構如圖所示,一張圖像經過處理後,調整了角度和抓取中心,同時對應的96×96的深度圖像被當做輸入,高度爲z,用於預測抓取的成功概率。

下圖我們展示了Dex-Net用於在某個容器內,對多個目標物體進行抓取的模擬深度圖像:

上行:ABB Yumi機器人的攝像機捕捉到的真實深度圖像;下行:Dex-Net的模擬深度圖像,紅色表示抓取的位置

案例二:在箱子中分割物體

實例分割就是判斷圖像中的像素屬於哪個物體,同時也要將同一類別中的每個物體分開。實例分割在機器人感知中很常用。例如,想讓機器人從裝滿物體的紙箱中選擇目標物體,首先就要對圖片進行分割,定位到目標物體,再進行抓取。

先前的研究表明,Mask R-CNN可以用於訓練對RGB圖像的目標分割,但是這一訓練需要大量經過手動標記的RGB圖像數據集。除此之外,用於訓練的圖像必須是自然場景下包含有限的目標物體種類。所以,預訓練Mask R-CNN網絡可能不適用於倉庫這種雜亂的場景。

數據集和深度圖像

上圖是數據集的生成過程。和Dex-Net類似,我們對3D目標物體進行採樣,然後通過模擬,將這些物體堆放在一個盒子中。生成對應的深度圖像,以及用於訓練的目標物體掩碼和標準評估圖像。

對於基於幾何形狀的分割,我們可以用模擬和渲染技術,自動收集大量用於訓練的數據集和經過標記的深度圖像。我們假設,這些深度圖像可能含有足夠的用於分割的信息,因爲各物體之間的像素邊界不連貫。最終我們收集了5萬張深度圖像組成了數據集,並通過PyBullet模擬器將它們匯聚到盒子裏。利用這一數據集,我們訓練了另一個版本的Mask R-CNN,我們稱之爲SD Mask R-CNN。

實際分割結果

雖然沒有在真實圖像上訓練,我們提出的SD Mask R-CNN的表現超過了點雲分割和經過改進的Mask R-CNN。如上圖所示,我們的模型可以準確進行分割。更重要的是,用於創造手動標籤數據集的目標物體並不是從SD Mask R-CNN的訓練分佈中選擇的,而是常見的家用物品,我們並沒有它們的3D模型。所以,SD Mask R-CNN可以預測此前從未見過的物體掩碼。

總的來說,我們的分割方法有三大優點:

深度信息在分離目標或者背景時,其中編碼了很多有用信息;

合成深度圖像可以快速生成,用它們訓練可以高效地轉移到現實圖像中;

用深度圖像訓練過的網絡對此前未見過的物體泛化結果更好

案例三:讓機器人整理牀鋪

整理牀鋪可以運用於家庭機器人身上,因爲它沒有時間限制,並且可以允許出現小差錯。在此前的文章中,我們研究了用RGB圖像,將其看作是序列決策問題,實現更好的模擬學習。

數據集和深度圖像

我們將整理牀鋪的任務看作是檢測毯子的四個角,家庭機器人需要抓起毯子,並且把它的角和牀對齊。我們最初的假設是深度圖像含有足夠的有關毯子的幾何形狀的信息。

爲了手機訓練數據,我們使用的是白色的毯子,將四個角用紅色標記,如上圖所示。重複幾次將毯子隨意仍在牀上,然後從機器人內置的RGB-D傳感器中採集RGB圖像和深度圖像。

接下來,我們訓練一個深度卷積神經網絡,只從深度圖像中檢測它的四個角。我們希望網絡可以泛化到能檢測出不同毯子的四角。我們的深度網絡使用了YOLO中的與訓練權重,之後添加了幾個圖層。結果表明,利用預訓練權重是非常有效果的。

毯子檢測結果

我們將訓練策略實施之後,模型表現出了優秀的結果,超越了無學習的基準策略,幾乎和人類完成的效果相當。雖然我們這裏檢測的標準是毯子是否最大程度地覆蓋了牀,不過這也說明,只有完成了精準的檢測,才能實現高度覆蓋。

結語

通過這三個項目的實踐,我們的結果表明深度圖像在進行物體抓取、圖像分割和不規則物體頂點檢測三方面,包含了許多有用的線索。我們認爲,隨着深度相機質量的提高,深度圖像對機器人的應用越來越重要。有了深度圖像,訓練樣本的合成更加簡單,背景噪音也能更容易地過濾掉。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章