雷鋒網(公眾號:雷鋒網)AI科技評論按:伯克利AI實驗室最新發文公布了用於機器人抓取的Dexterity Network (Dex-Net) 2.0數據集,這些數據集可以用來訓練根據實際機器人的點雲做抓取規劃的神經網絡。
本文作者為加州大學伯克利分校博士後研究員Jeff Mahler。雷鋒網全文翻譯如下:
由於傳感器噪聲和遮擋的存在,物體的形狀、位置和質量往往不能被精準確定,因此讓機器人能夠可靠地抓取各種不同的物體是很大的一項挑戰。
Dexterity Network(Dex-Net)2.0是一個以魯棒機器人抓取的物理模型為核心的項目,通過多達上千種3D CAD物體模型,生成了海量的平口鉗抓取數據集。
這些數據集可以用來訓練根據一個實際機器人的點雲做抓取規劃的神經網絡,這個實體機器人可以拿取、運輸各種物體。
為了提高重現性,助力將來的研究,在這裡公開如下三個資料庫:
1、Dexterity Network (Dex-Net) 2.0數據集:670萬對帶有魯棒標籤的合成點雲和抓取數據。
2、Grasp Quality CNN (GQ-CNN)模型:在Dex-Net 2.0數據集中訓練的1800萬個參數。
3、GQ-CNN Python 程序包: 包含代碼,可以復現我們用生成的數據訓練GQ-CNN網絡的結果。(點我打開)(注意下面的系統需求)
在這篇文章中,我們也概述了支持Dex-Net 2.0的方法,在實際機器人上的實驗結果,以及數據集、模型和代碼的細節。
關於Dexterity Network的研究論文和額外信息可以在這個項目的網站上找到。網址如下:https://berkeleyautomation.github.io/dex-net
Dex-Net是加州大學伯克利分校AUTOLAB實驗室的研究項目,由Ken Goldberg教授指導。
抓取的背景
由於傳感器噪聲和遮擋,很難精確的推斷物體的形狀、位姿、材料、質量以及手指與物體之間接觸點的位置等物理性質,因此讓機器人能夠抓取各種不同的物體很困難。
最近的研究結果表明,通過大量人類抓取標籤(human grasp labels)或者真實系統上嘗試抓取的數據訓練的深度神經網絡可以成功地對許多種不同的物體做抓取規劃,甚至都不需要對被抓取的物體做清晰的建模,就像曾在計算機視覺領域裡看到過的泛化結果一樣。
然而,生成訓練數據集可能需要耗費大量時間。
為了減少訓練時間,可以利用雲計算的方法,基於物理抓取模型對大量物體的網格模型快速進行抓取計算。
這些方法通過一個叫抓取魯棒性(the grasp robustness)的參數來排序抓取動作,這個參數是通過力學模型預測出的抓取成功率。通過基於物體位置、表面摩擦等屬性計算出的概率分布,判斷抓取動作對任意的力和力矩的抵抗能力。
不過,這些方法對感知系統提出了很高的要求,需要能夠完美地估算上述屬性或是根據已知的高斯分布來估算屬性。實際中的感知系統很緩慢,容易出錯,可能不能很好地擴展到新的物體上。
儘管經過了30多年的研究,通過試探法(heuristics)進行抓取規劃仍很常見,例如圓柱體探測(detecting cylinders)在家庭整理(home decluttering)和亞馬遜挑揀大賽(the Amazon Picking Challenge)中的應用。
靈敏網絡 (Dex-Net) 2.0
不同於試圖通過圖形來估算3D物體的形狀和位姿,Dex-Net 2.0使用概率模型來從數據集生成綜合點雲、抓取規劃以及抓取魯棒標籤(grasp robustness labels),這個數據集是基於物理的抓取、圖像渲染和相機噪聲模型生成的3D物體網格。
我們設計這個方法主要考慮到的是:魯棒性地用平口鉗抓取物體與物體的形狀息息相關。
把手和圓柱體這樣適合抓取的幾何特徵可以在部分點雲中看到,它們和抓取之間的關聯性也可以在模型生成的樣本中觀察到。
我們假設具有多層濾波器的深度CNN模型可以學到這些關聯性,從而識別出幾何體,與用於圖像分類的CNN模型可以學到類Gabor濾波器類似。
在 「Dex-Net 2.0:藉助生成的點雲和抓取度量分析,用深度學習規劃魯棒抓取」 這篇論文中,我們正則化了這個方法並對其進行研究。
在論文中,我們詳述了Dexterity Network (Dex-Net )2.0,這是一個擁有670萬魯棒抓取和點雲的數據集,數據中帶有我們的概率模型生成的噪音,這個概率模型是我們用平口鉗在桌面上抓取剛性物體得到的。
我們開發了一種深度抓取質量卷積神經網絡(GQ-CNN)模型,並在Dex-Net 2.0上對它進行訓練,用候選抓取規劃和點雲估算抓取的魯棒性(grasp robustness)。
利用GQ-CNN模型,可以從帶有邊緣檢測的輸入點雲得到候選抓取方案,通過對這些候選抓取方案進行採樣,以及執行GQ-CNN估計得到的最魯棒的抓取,就可以在實際機器人上規劃抓取:
在Dex-Net 2.0上進行訓練的時候,GQ-CNN學到了一組看起來可以對不同尺寸圖像檢測梯度的低層次濾波器。
濾波器可以分為兩類:一類是用於估算夾鉗和物體之間碰撞的粗導向梯度濾波器(coarse oriented gradient filters),另一類是用於估算手指和物體之間接觸點表面法向量的精細垂直濾波器(fine vertical filters):
在ABB YuMi上進行了如下實驗
為了評估基於GQ-CNN進行抓取規劃的實際機器人,我們對 ABB YuMi進行了超過1000次的抓取實驗。主要是研究以下兩個指標:
1、模型性能:用一組已知的物體生成數據,只用這些數據訓練的GQ-CNN模型能否讓實際的機器人成功抓取這些物體?
2、普遍性: GQ-CNN模型能否成功地抓取在訓練中沒有出現的新物體?
模型性能
首先,我們測量了這個抓取規劃方法的能力——當用夾鉗舉起、運輸和搖動物體時,是否能一直保持對物體控制。
我們使用了一組8個已知形狀、質心和摩擦特性的3D列印物體,來突出我們的物理模型和實際機器人抓取之間的差異。
為了對失敗模式進行探討,我們為二手指抓手選擇具有對抗性的幾何形狀(adversarial geometry)的物體來進行抓取,比如表面光滑或彎曲,開口的狹小物體。
我們發現Dex-Net 2.0抓取規劃器(grasp planner)用於實際機器人上可以取得高達93%的成功率,比將精確的物體形狀與點雲相匹配的方法快了3倍。
結果表明:1,當物體屬性已知時,我們的物理模型能有效的預測實際機器人的抓取結果;2,GQ-CNN模型能被用於規劃更高精確度的抓取。
下圖是一個例子:
普遍性
我們還測試了一組40個新的有可活動部件或者會變形的物體,例如開罐器和毛巾,從而評估了將抓取規劃泛化到先前從未見過的物體的能力。
在進一步分析數據之後,我們發現了一個令人驚訝的結果:在69次預測能夠成功的抓取中,GQ-CNN模型只出現了一次誤報。
99%的精確度非常重要,因為它表明機器人可以根據它的信心標籤(confidence labels)來預測失敗,並執行諸如戳目標物體或向人求助等恢復動作。
局限
用Dex-Net 2.0抓取規劃的結果表明,只在利用抓取和圖像形成(image formation)的物理模型產生的數據上訓練神經網絡,對於很多種不同的物體都可以進行高可靠性的抓取。然而,當前的方法有幾個局限。
1、傳感器精度。實際的深度相機上,缺失數據之類的噪聲源在Dex-Net 2.0模型中沒有被考慮進來。此外,深度照相機不能識別桌上的透明物體或平面物體。
2、模型局限:Dex-Net 2.0中使用的物理抓取模型考慮到了對剛體的指尖抓取,我們沒有囊括用夾持器夾起一張平的紙或用一個指頭勾起物體的抓取策略。
3、單一物體。該方法只能抓取一個單獨的物體,目前我們正在擴展Dex-Net 2.0模型功能,研究如何從一堆物體中抓取對象。
4、獨立任務。用這種方法規劃抓取可以穩定的拿取和運輸物體,但沒有考慮到在裝配時對物體的精確定位、堆疊或是連接到另一個物體的用例,這時可能需要更精確的抓取。我們正在通過基於任務的抓取質量值(task-based grasp quality metrics)、動態仿真和演示學習研究可能的擴展功能。
數據集和代碼發布
2017年夏天,我們發布了我們的代碼、數據集和經過GQ-CNN權重訓練的一個子集,我們希望這將有助於進一步的研究和對比。
現在我們發布Dex-Net 2.0的訓練數據集和代碼,其中包括了包含670萬個合成數據集的dex-net 2.0數據集,從論文中預先訓練過的gq-cnn模型,以及gqcnn Python包,用於複製我們的實驗,將健壯的掌握在gq-cnn的合成數據上。
我們希望這將有助於開發新的GQ-CNN架構和訓練方法,這些方法將在生成的數據集和我們的機器人已經收集到的數據集上都能運行得更好。
系統需求
這裡有一點需要注意,使用這個特定的數據集進行訓練的機器人具有強大的性能,但並不代表其他機器人也會具有這樣的性能,因為這個數據集是對以下的組件專用的:
1) ABB YuMi夾持器,數據集中使用了它的碰撞幾何外型。
2) Primesense Carmine 1.08傳感器,數據集的渲染中使用了它的相機參數。
3) 相機相對於桌子的空間位置: 在桌子上方50-70釐米範圍內直接朝下攝像。
儘管如此,支撐這個數據集的算法可以為相關的其他二手指夾持器、相機和相機位置產生新的數據集。
我們假設,如果訓練數據集是根據硬體配置中的夾具幾何結構(gripper geometry)、相機內部函數(intrinsics)和相機位置而專門生成的,基於GQ-CNN的抓取規劃將會表現得最好。
ABB YuMi Benchmark
我們最佳的模型在合成數據上只能達到93%的分類精度,為了研究改進GQ-CNN架構,我們計劃在Dex-Net 2.0數據集上做一個表現排行榜(leaderboard of performance)。
由於數據集是針對硬體配置專用的,我們很樂意在我們的實際機器人上對用合成數據訓練的、表現明顯高出其它方法的模型做benchmark。
歡迎任何學科或背景的研究人員加入我們。
Python包
為了幫助訓練GQ-CNN模型,我們開發了 gqcnn Python包。
通過gqcnn,你可以馬上在Dex-Net 2.0生成的數據集上開始訓練GQ-CNN模型。
在我們的RSS論文中有教你復現結果的教程,我們還邀請研究人員在合成數據集和通過ABB YuMi機器人收集的抓取數據集(datasets of grasps)上進行研究,改善分類性能。
我們還使用ROS服務來進行GQ-CNN的抓取規劃。ROS包能使用戶看到在GQ-CNN上對自定的點雲的抓取規劃的結果。
我們鼓勵有興趣的同行在桌面上方約50-70釐米的範圍內安裝一個Primesense Carmine 1.08或Microsoft Kinect for Xbox 360,通過基於GQ-CNN的抓取規劃器進行抓取。
雖然我們的數據集不能推廣到上面提到的其他硬體配置上,但希望通過進一步的研究,能夠做到利用GQ-CNN模型讓其他機器人抬舉和運輸物品。
如果你對這一項目的研究合作感興趣,請給Jeff Mahler發郵件(jmahler@berkeley.edu)。
未來的發布計劃
我們還計劃在2017年如下日期發布Dex-Net系統的附加數據和功能:
Dex-Net Object Mesh Dataset v1.1:在RSS論文中使用的Dex-Net 1.0系統中1500個3D物體模型的子集,這些子集帶有ABB YuMi平口鉗抓取的標籤。2017年7月12號發布。
Dex-Net as a Service: 通過HTTP網絡API對自定義3D模型創建新的數據集並計算抓取魯棒性值(grasp robustness metrics)。2017年秋發布。
Via:http://bair.berkeley.edu/blog/2017/06/27/dexnet-2.0/,雷鋒網編譯。
雷鋒網版權文章,未經授權禁止轉載。詳情見轉載須知。