在我們生活的世界中,有多種形狀的物體,人們會本能地去學習了解物體是如何連接的。因此,我們學會了將衣架掛在晾衣杆上,將電源插頭插入牆上的插座,以及將 USB 插頭插進對應的接口 。
這種基於形狀「將物品組合在一起」的模式源於我們多年的生活經驗,如進行 DIY 家居組裝或將禮品包裝好,這類經驗有助於提高執行任務的效率。
如果機器人能學會這種「將物品依形狀組合在一起」,那麼它們在面對從未見過的事物時或許能更好地適應並完成操作任務,如將斷裂的管道或線路重新連接好,或在災難應急響應時利用斷壁殘垣搭建臨時避難所。
為探究此想法的可行性,我們與史丹福大學和哥倫比亞大學的研究員一起開發了 Form2Fit,這是一種機器人操作算法,通過深度神經網絡學習識別物體彼此的對應關係(或者說「組合關係」)。
我們通過交給機器人一項組裝任務來測試算法,在任務中:機器人需將多個物體正確組裝到塑料包裝中或擺放在貨架中,形成一個整體。
在此之前,完成此類任務需要專門為任務創建一個系統,並且每次都需要大量的人工微調。但當我們從如何讓機器人學習「將物品組裝在一起」這個角度來嘗試時,任務成功率高達 94%。不僅如此,Form2Fit 還是首個實現泛化能力的系統,能夠舉一反三完成訓練時未見過的新任務。Form2Fit 通過尋找物體外觀與擺放位置間的幾何對應關係來學習組裝。再將訓練時學習到的多套件中的幾何信息,泛化到新物體和新套件上
形狀分析在操作中(尤其是套件組裝類任務中)發揮著重要作用,雖然這經常被忽略。日常生活中 ,物體外觀形狀通常與包裝內對應空間的形狀相一致,理解這一關係後,人們在完成此類任務時可最大限度地減少無意義的猜測。
Form2Fit 的核心目的是,從多項物體和對應擺放位置的系列任務的訓練中學習這種關係,以便更好地了解形狀與外觀如何組合。通過收集自己的訓練數據,Form2Fit 不斷自我完善,並最大限度地減少人工監督,在訓練中反覆試錯,重複拆卸組裝完的套件,然後顛倒拆卸順序以提供組裝步驟。
在 12 小時的訓練後,機器人掌握了各種套件的高效選取和擺放策略,而且不同組合的對象和套件的組裝成功率達 94%,在處理全新的物體和套件時,組裝成功率超過 86%。
Form2Fit 的核心是一個雙流匹配網絡,通過圖像數據生成 可區分方向的 像素級形狀描述符 (Descriptors),從而推斷物體與其對應的擺放位置。這些描述符可視物體的壓縮 3D 點表徵,其中編碼了幾何形狀、紋理和任務的上下文信息。Form2Fit 使用這些描述符在物體及其對應目標位置(即物體應當擺放的位置)建立對應關係。描述符可區分方向,因此 Form2Fit 在擺放物體到目標位置之前會先推斷應如何旋轉物體。
Form2Fit 使用另外兩個網絡生成 選取 和 放置 的有效候選。將物體的 3D 圖像輸入給選取網絡,並生成選取成功率的逐像素預測。選取的成功概率顯示為熱力圖,其中亮色表示在像素對應的 3D 位置具有更高的選取成功率。與此對應的,放置網絡得到目標套件的 3D 圖像,以熱力圖輸出放置成功率的逐像素預測,其中置信度較高的像素是更適合機械臂垂直下放物體的位置。最終規劃器 (Planner) 會整合這三個模塊的輸出,以生成最終的選取位置、擺放位置和旋轉角度。
Form2Fit 概覽:選取網絡和放置網絡可分別推斷場景中的選取和擺放候選位置。匹配網絡通過生成區分方向的逐像素描述符來匹配選取位置及其對應的擺放位置。規劃器整合輸出後控制機器人執行下一個最佳選取和擺放操作
神經網絡需要大量訓練數據,對於組裝類任務而言,很難收集足夠的數據。由於隨機探索的成功率很低,通過試錯法很難學會以正確的方向將物體準確插入狹窄的空間中(如套件中)。
相比之下,通過試錯法學習拆卸組裝完的套件通常要容易一些,因為拆東西要比組裝更簡單。我們利用這種方法來積累 Form2Fit 的訓練數據。
通過時間反轉法進行自監督學習的示例:倒放除臭劑套裝的拆卸順序,生成有效的組裝順序
我們觀察到的一個心得是:在多類組裝套件中,反轉拆卸順序即為有效的組裝順序。這個被稱為 時間反向拆卸 (Time-Reversed Disassembly) 的概念可幫助 Form2Fit 完全通過自監督進行訓練,這需要通過對完整組裝的套件進行反覆試錯隨機選取的組件進行拆卸,然後反轉該拆卸順序,以學習如何將套件組裝到一起。
我們的實驗結果顯示出學習組裝泛化策略的巨大潛力。例如,在訓練僅在一個特定位置和方向組裝套件的策略時,測試時隨機旋轉組件或調換為相似套件,仍能保持 90% 的正確率。
Form2Fit 訓練出的策略具有很好的穩定性,可適應套件的各種旋轉變換和相似替換
我們還發現 Form2Fit 能夠處理訓練時未接觸過的新組合。例如,在針對兩種單一物體套件(將牙線放入盒)訓練策略時,我們發現此算法可以成功組裝這些套件的新組合和混合搭配,即使以前從未見過這樣的組合。
Form2Fit 策略可泛化到新套件組合,比如相同套件的多種版本以及不同套件的混合組合
此外,在遇到未經訓練的全新套件時,Form2Fit 還可以使用學到的形狀進行歸納,然後再組裝這些套件,並且組裝正確率超過 86%。
Form2Fit 策略可以泛化到未曾見過的單個和多個物體套件
為研究 Form2Fit 匹配網絡的描述符如何學習與編碼,我們使用了一種稱為 t-SNE 的嵌入技術以 RGB 顯示各種對象的逐像素描述符。
嵌入 t-SNE 的物體描述符。相同類別相似朝向的物體顯示相同顏色(例如 A、B 或 F、G),而不同物體(例如 C、H)以及不同朝向的相同物體(例如A、C、D 或 H、F)則顯示不同顏色
旋轉 — 朝向不同的物體使用不同的描述符(A、C、D、E)和(H、F);空間對應關係 — 相同朝向物體對應的點共用相似的描述符(A、B)和(F、G);物體識別 — 外形相似卻是不同種類的動物和水果顯示的是不同的描述符(第 3 列和第 4 列)。
雖然 Form2Fit 的結果令人鼓舞,但此算法也存在一定的局限性,這將是今後研究人員工作的重點。在實驗中,我們假設僅使用 2D 平面工作區以限制套件組裝任務,因此僅需要上下操作進行選取和擺放便可解決問題。此策略顯然並不適用於所有組裝情況,例如,將釘子以 45 度角精確釘入平面。將 Form2Fit 拓展到更複雜的 3D 組裝操作中將會非常有趣。
您可以了解更多相關研究成果,也可以從我們的 GitHub 倉庫 (https://form2fit.github.io/)下載代碼。
這項研究由 Kevin Zakka、Andy Zeng、Johnny Lee 和 Shuran Song(哥倫比亞大學教職員)共同完成,在此特別感謝 Nick Hynes、Alex Nichol 和 Ivan Krasin 開展的卓有成效的技術討論;Adrian Wong、Brandon Hurd、Julian Salazar 和 Sean Snyder 提供的硬體支持;Ryan Hickman 提供的妥善管理支持;以及 Chad Richards 提供的寫作的建議。