論文導讀:GR-ConvNet——用殘差卷積網路生成抓取,Jacquard 上達到 94.6%
Sulabh Kumra, Shirin Joshi, Ferat Sahin · 2020原文連結
一句話讀懂這篇論文
GR-ConvNet 要解決的問題跟 GG-CNN 一樣:給一張相機畫面,對每一個像素算出「從這裡夾、夾爪轉幾度、張多開、成功機率多高」。差別在於它把網路加深並加入殘差連接,同時吃 RGB 和深度兩種輸入,用不到 200 萬個參數,把 Cornell 和 Jacquard 兩個標準資料集的準確率都推到當時最高,而且一張圖只要 20 毫秒。
論文資訊卡
- 標題:Antipodal Robotic Grasping using Generative Residual Convolutional Neural Network
- 作者:Sulabh Kumra、Shirin Joshi、Ferat Sahin(羅徹斯特理工學院 MABL 實驗室;Kumra 同時任職 OSARO)
- 發表:IEEE/RSJ IROS 2020
- 程式碼:推論模組 github.com/skumra/robotic-grasping,控制模組 github.com/skumra/baxter-pnp
- 定位:2D 平面抓取偵測中,像素級生成路線(GG-CNN → GG-CNN2 → GR-ConvNet)的代表性成果,也是之後很多研究的比較基準
問題背景
「Antipodal grasp」指的是用兩指平行夾爪,從物體兩側相對的方向夾住物體。這篇論文把抓取問題定義為:從一張 n 通道的場景影像,預測未知物體的對握抓取,並在真實手臂上執行。
在這之前,抓取偵測大致有兩條路:
- 候選評分:先產生大量候選抓取矩形,再用網路逐一評分,挑最高分的(Lenz、Redmon、Dex-Net 的 GQ-CNN 等)。缺點是慢,一次只能處理一個候選。
- 像素級生成:GG-CNN 提出直接讓網路輸出跟輸入同尺寸的「抓取地圖」,每個像素都有一組抓取參數。速度快,但 GG-CNN 只吃深度圖,而且網路很淺,在 Cornell 上的準確率只有 73% 左右。
GR-ConvNet 站在第二條路上,想回答的問題是:能不能保持像素級生成的速度,同時把準確率拉到跟大型候選評分網路一樣高?
抓取表示法
論文沒有用傳統的五維矩形 ,而是沿用 GG-CNN 的表示法。在機器人座標系中,一個抓取是:
- :夾爪中心點位置
- :夾爪繞 z 軸的旋轉角
- :夾爪需要張開的寬度
- :抓取品質分數
在影像座標系中,對應的表示是:
- :抓取中心的像素座標
- :在相機座標系中的旋轉角
- :以像素為單位的夾爪寬度, 是夾爪最大開口
- :越接近 1,成功機率越高
影像空間的抓取要轉到機器人座標系執行,經過兩次轉換:
用相機內參把像素座標轉成相機 3D 座標, 用手眼校正的結果把相機座標轉成機器人座標。
把整張影像每個像素的抓取收集起來,就是三張圖:
這就是「生成式」的意思——網路不是輸出一個機率或幫候選分類,而是直接生成三張跟輸入一樣大的圖。因為每個像素都有答案,一次推論就能同時找出畫面中多個物體的多個抓取。
系統架構:推論模組 + 控制模組
整個系統拆成兩個獨立模組,透過 ROS 溝通,所以可以換到任何手臂上:
推論模組
- 前處理:裁切、縮放、正規化;如果有深度圖,先做深度補洞(inpainting),處理感測器的空洞
- 把 224 × 224 的 n 通道影像送進 GR-ConvNet
- 從輸出的三張圖中挑出品質分數最高的抓取
這裡的「n 通道」是關鍵設計:網路不限定輸入是什麼,可以只給深度(1 通道)、只給 RGB(3 通道)、或 RGB-D(4 通道)。
控制模組
- 任務控制器向推論模組要一個抓取(品質最高的那個)
- 用手眼校正把相機座標轉成機器人座標
- 透過 ROS 用逆運動學規劃軌跡
- 手臂執行夾取與放置
實際部署到一支手臂上時,流程大致是:拍照 → 模型輸出 三張圖並選出最佳抓取 → 相機座標轉手臂座標 → 逆運動學把手臂座標轉成各關節(或舵機)角度 → 手臂移動夾取。
網路架構
n 通道輸入(224 × 224)
│
3 層卷積(特徵擷取 + 下採樣)
│
5 個殘差區塊(56 × 56)
│
3 層轉置卷積(上採樣回 224 × 224)
│
┌────┼──────┬──────┐
▼ ▼ ▼ ▼
Q cos2Θ sin2Θ W
幾個設計重點:
- 殘差層:網路越深理論上準確率越高,但層數多到某個程度會出現梯度消失和準確率退化。殘差連接讓網路比較容易學到恆等映射,可以安全地加深。
- 上採樣:經過卷積和殘差層後,特徵圖縮到 56 × 56,不好直接對應回原圖。用轉置卷積放大回輸入尺寸,保留空間資訊,讓每個輸出像素都對應到輸入的一個位置。
- 角度用 和 表示:對握抓取在 是對稱的——夾爪轉 90° 和轉 −90° 其實是同一個抓取。直接回歸角度會在邊界跳動,拆成兩個連續值再組合回去就沒有這個問題。所以網路實際輸出四張圖。
- 參數量只有 1,900,900:相較於動輒數千萬參數的 ResNet-50 類架構小很多,所以推論快,可以支援最高 50 Hz 的閉迴路控制。
訓練
訓練目標是最小化給定輸入影像下、成功抓取的負對數概似:
其中 是影像數, 是第 張影像的成功抓取數。
損失函數方面,作者試了幾種後發現 Smooth L1(Huber loss) 最能避免梯度爆炸:
誤差小時是平方項(梯度平滑),誤差大時變成線性(梯度不會爆掉)。
訓練設定:Adam 最佳化器,學習率 ,mini-batch 大小 8,用三個隨機種子訓練取平均。
資料集與評估指標
| 資料集 | 模態 | 物體數 | 影像數 | 抓取數 |
|---|---|---|---|---|
| Cornell | RGB-D | 240 | 1,035 | 8,019 |
| Dex-Net | 深度 | 1,500 | 670 萬 | 670 萬 |
| Jacquard | RGB-D | 11k | 54k | 110 萬 |
- Cornell:1,035 張 640 × 480 的 RGB-D 影像,5,110 個正樣本、2,909 個負樣本。資料太少,作者用隨機裁切、縮放、旋轉擴增到約 5.1 萬個抓取範例,訓練只用正樣本。
- Jacquard:用 ShapeNet 的 CAD 模型在模擬中試抓產生的資料集,夠大所以不做擴增,90% 訓練、10% 驗證。
評估用標準的矩形指標:預測矩形跟標註矩形的 IoU 大於 25%,而且角度差小於 30°,就算正確。因為網路輸出的是像素圖而不是矩形,要先把每個像素的輸出換算成等價的矩形再比對。
Cornell 有兩種切分方式:
- Image-wise(IW):隨機切分影像,同一個物體的不同照片可能同時出現在訓練和測試集,測的是對新擺放位置的泛化
- Object-wise(OW):按物體切分,測試集的物體完全沒在訓練中出現,測的是對新物體的泛化
實驗結果一:Cornell
| 方法 | 演算法 | IW (%) | OW (%) | 速度 (ms) |
|---|---|---|---|---|
| Jiang | Fast Search | 60.5 | 58.3 | 5000 |
| Lenz | SAE, struct. reg. | 73.9 | 75.6 | 1350 |
| Redmon | AlexNet, MultiGrasp | 88.0 | 87.1 | 76 |
| Wang | Two-stage closed-loop | 85.3 | – | 140 |
| Asif | STEM-CaRFs | 88.2 | 87.5 | – |
| Kumra | ResNet-50x2 | 89.2 | 88.9 | 103 |
| Morrison | GG-CNN | 73.0 | 69.0 | 19 |
| Guo | ZF-net | 93.2 | 89.1 | – |
| Zhou | FCGN, ResNet-101 | 97.7 | 96.6 | 117 |
| Karaoguz | GRPN | 88.7 | – | 200 |
| Asif | GraspNet | 90.2 | 90.6 | 24 |
| 本文 | GR-ConvNet-D | 93.2 | 94.3 | 19 |
| 本文 | GR-ConvNet-RGB | 96.6 | 95.5 | 19 |
| 本文 | GR-ConvNet-RGB-D | 97.7 | 96.6 | 20 |
幾個觀察:
- RGB-D 版本達到 97.7%(IW)/ 96.6%(OW),跟 ResNet-101 架構的 FCGN 一樣,但速度快了將近 6 倍(20 ms 對 117 ms)
- 跟同樣是像素級生成的 GG-CNN 比,速度差不多(19~20 ms),準確率高了 20 多個百分點
- 多模態比單模態好:RGB-D > 只用 RGB > 只用深度,作者認為多種輸入讓網路學到更好的特徵
- Cornell 的資料擴增對整體表現有幫助
實驗結果二:Jacquard
| 方法 | 演算法 | 準確率 (%) |
|---|---|---|
| Depierre | Jacquard(AlexNet) | 74.2 |
| Morrison | GG-CNN2 | 84 |
| Zhou | FCGN, ResNet-101 | 91.8 |
| 本文 | GR-ConvNet-D | 93.7 |
| 本文 | GR-ConvNet-RGB | 91.8 |
| 本文 | GR-ConvNet-RGB-D | 94.6 |
在比 Cornell 大 50 倍的 Jacquard 上,RGB-D 版本達到 94.6%,是當時最高。有趣的是在 Jacquard 上,只用深度(93.7%)比只用 RGB(91.8%)好,跟 Cornell 的結果相反——Jacquard 是合成資料,深度圖品質較好,而 RGB 影像是渲染出來的,紋理資訊比真實照片少。
實驗結果三:真實機器人
設定:Rethink Robotics 的 7 自由度 Baxter 機器人,兩指平行夾爪,Intel RealSense D435 深度相機架在手臂後方往下看。推論在 Intel i7-7800X + GTX 1080 Ti 上執行。
| 方法 | 家用物品 | 對抗性物體 |
|---|---|---|
| Lenz | 89% (89/100) | – |
| Pinto | 73% (109/150) | – |
| GG-CNN | 92% (110/120) | 84% (67/80) |
| Chu | 89% (89/100) | – |
| 本文 | 95.4% (334/350) | 93% (93/100) |
- 家用物品:35 個形狀、大小、幾何彼此不像的物品,包含可變形、難抓、反光、需要高精度的小物體,每個試 10 種位置與朝向,共 350 次
- 對抗性物體:10 個 3D 列印的抽象幾何物體,表面和邊緣不規則、難以感知,每個 10 次,共 100 次
- 雜亂場景:10 輪,每輪從 60 個沒看過的物體中挑一組堆在一起,抓到畫面中沒有物體為止。成功率 93.5%。值得注意的是模型只用單一物體的資料訓練,卻能在雜亂場景中同時預測多個物體的抓取
失敗案例分析
- 抓取分數極低或夾爪閉合後物體滑落:最常見的失敗,原因是相機深度資訊不準,以及夾爪碰到旁邊物體造成偏移
- 透明瓶子:所有物體中唯一沒辦法產生好抓取的。透明和反光材質會讓深度相機量不準。不過因為同時輸入 RGB,模型仍能產生勉強可用的抓取
作者把未來方向放在兩點:支援吸盤、多指手等其他夾爪;用深度預測技術補足反光物體的深度。
影響與定位
GR-ConvNet 的貢獻不是發明新概念,而是把幾個已知有效的元素組合得很好:
- 從 GG-CNN 繼承「像素級生成」的表示法和速度優勢
- 加入殘差層,讓網路可以加深而不退化
- 支援任意通道數的輸入,讓 RGB 和深度互補
結果是一個小、快、準的網路,而且開源了推論和控制兩部分的完整程式碼。這讓它成為 2D 平面抓取的常用起點:要在自己的手臂上做抓取,GR-ConvNet 加上 Cornell 或 Jacquard 預訓練權重,是門檻最低的選擇之一。
它的限制也來自 2D 表示法本身:只能做由上往下的抓取,夾爪不能從側面接近;在雜亂堆疊、需要考慮遮擋和碰撞的場景,就需要 GraspNet、GSNet、AnyGrasp 這類 6 自由度的點雲方法。
相關論文推薦
- GG-CNN 論文導讀:用像素級生成取代候選抓取評分——GR-ConvNet 的抓取表示法直接來自這篇
- GGCNN2 論文導讀:用空洞卷積擴大感受野的即時抓取網路
- 論文導讀:Jacquard——用物理模擬自動生成百萬筆抓取標註的大型資料集——本文的兩個評測資料集之一
- 論文導讀:用 GG-CNN 抓取複雜形狀與細薄物體——以手術工具為例——同樣處理反光、細薄物體的深度問題
- 論文導讀:GraspNet-1Billion——雜亂場景、6 自由度、10 億筆抓取標註的通用抓取基準——從 2D 走到 6 自由度
參考資料
- Kumra, S., Joshi, S., & Sahin, F. (2020). Antipodal Robotic Grasping using Generative Residual Convolutional Neural Network. IEEE/RSJ IROS 2020. arXiv:1909.04810
- 程式碼:github.com/skumra/robotic-grasping
相關術語
訂閱 RoboTech Lab 電子報
每週一封,整理新的教學、論文導讀與機器人業界動態。隨時可以取消訂閱。