用圖網路幫機器人「拼傢俱」,北大、史丹佛NeurIPS論文提出基於動態圖網路學習的三維部件拼裝

機器之心發表於2020-10-15

在一篇 NeurIPS 2020 論文中,北大、史丹佛大學的研究者提出了一種基於迭代式圖神經網路的動態圖神經網路學習的框架。在這一框架下,機器人透過對各個部件幾何形狀的觀察和推理去隱式學習各個部件之間的關係,並將這一隱式學到的部件關係應用到部件拼裝任務當中,甚至達到了比使用給定各部件之間真實連線關係更好的效果。本文是對這篇論文的解讀。


用圖網路幫機器人「拼傢俱」,北大、史丹佛NeurIPS論文提出基於動態圖網路學習的三維部件拼裝

引言

三維形狀的部件拼裝,是計算機視覺、圖形學領域的基本問題。如圖1所示,三維部件拼裝在數學上可以形式化為對於各個輸入部件的位姿估計(pose estimation)問題,即給定各個部件在各自規範空間(canonical space)中的佈局,目標是組成一個完整的形狀。三維部件拼裝有著很廣泛的應用,比如從傢俱城買回來一堆傢俱的部件,或者工廠當中有一堆雜亂擺放的零件,這時候則需要機器人把這些零散的部件組裝成完整的、可供使用的整體。

儘管目前已有很多工作利用深度學習方法進行部件拼裝,然而這些方法都至少有以下幾個侷限性之一:1.每個部件的幾何形狀都可以任意生成,沒有限制;2.假設了每個部件初始的時候都是已經旋轉好了的;3.假設機器人知道關於整個三維幾何形狀的先驗知識。為了讓訓練出來的模型能夠更好地在真實的場景中完成部件拼裝的任務,在我們的任務設定當中,每個部件的幾何形狀都是給定、不能更改的,機器人不知道關於整體形體的任何先驗知識,並且需要預測每個給定輸入部件的包括旋轉、平移在內的六自由度位姿。

為解決這一新設定下的部件拼裝問題,我們提出了一個基於迭代式圖神經網路(iterative graph neural network)的動態圖神經網路學習(dynamic graph learning)的框架。在這一框架下,機器人透過對各個部件幾何形狀的觀察和推理去隱式學習各個部件之間的關係,並將這一隱式學到的部件關係應用到部件拼裝任務當中,甚至達到了比使用給定各部件之間真實連線關係更好的效果。這一框架,為分析機器學習過程中“機器是如何學習的”,提供了啟示。
用圖網路幫機器人「拼傢俱」,北大、史丹佛NeurIPS論文提出基於動態圖網路學習的三維部件拼裝
圖1. 三維形狀的部件拼裝任務

方法

給定一個原始的三維點雲 ,我們的目標是對每一個輸入的部件 去預測一個六自由度的部件位姿 ,用預測的位姿對每一個輸入的部件 做變換得到變換後的部件 ,這些變換後的部件則一起構成機器人最終拼裝出來的三維幾何體 。

我們的架構由迭代式的圖神經網路骨架(iterative graph neural network backbone)、動態關係推理模組(dynamic relation reasoning module)和動態部件聚合模組(dynamic part aggregation module)組成,總的框架結構如圖2所示。

迭代式的圖神經網路骨架:我們在每一輪迭代的時候對圖中每一個結點做一次資訊傳遞(message passing)以更新這個結點的潛表達:

用圖網路幫機器人「拼傢俱」,北大、史丹佛NeurIPS論文提出基於動態圖網路學習的三維部件拼裝

其中,用圖網路幫機器人「拼傢俱」,北大、史丹佛NeurIPS論文提出基於動態圖網路學習的三維部件拼裝 是點 傳遞給點 的資訊。此外,我們還根據當前輪每個結點的潛表達、上一輪對這個結點代表部件的位姿預測、這個結點代表部件初始幾何資訊去更新這個結點代表部件的位姿預測:

用圖網路幫機器人「拼傢俱」,北大、史丹佛NeurIPS論文提出基於動態圖網路學習的三維部件拼裝

動態關係推理模組:每一輪迭代時,我們根據當前圖的各個結點代表部件的位姿去動態更新圖中邊的權重

用圖網路幫機器人「拼傢俱」,北大、史丹佛NeurIPS論文提出基於動態圖網路學習的三維部件拼裝

並按照當前圖中邊的權重加權對每一個結點做資訊傳遞以更新這個結點的潛表達:

用圖網路幫機器人「拼傢俱」,北大、史丹佛NeurIPS論文提出基於動態圖網路學習的三維部件拼裝

動態部件聚合模組:偶數輪迭代時,我們把代表每種等價類部件(geometrically-equivalent parts)的結點聚合成一個結點用圖網路幫機器人「拼傢俱」,北大、史丹佛NeurIPS論文提出基於動態圖網路學習的三維部件拼裝,從而在一個稀疏點集(sparse node set)上進行資訊傳遞;奇數輪迭代的時候,我們又把這些聚合了的結點分開(unpool)成獨立的結點,從而在稠密點集(dense node set)上進行資訊傳遞。

以上各個模組具體的實現和訓練細節請參見論文。
用圖網路幫機器人「拼傢俱」,北大、史丹佛NeurIPS論文提出基於動態圖網路學習的三維部件拼裝
圖2. 我們部件拼裝動態圖神經網路的框架結構

實驗結果

我們的實驗是在 PartNet [1] 資料集上進行的。我們和之前一些方法(如 ComplementMe [2], PQ-Net [3] 等)的變體以及我們自己方法的幾個變體都進行了對比,展示了定性和定量的結果,證明了我們的方法在部件拼裝任務中的優越性。圖3展示了定性的對比結果(左),此外,利用 VAE 類似的思想,我們的方法還可以產生多模態的輸出(右)。
用圖網路幫機器人「拼傢俱」,北大、史丹佛NeurIPS論文提出基於動態圖網路學習的三維部件拼裝
圖3. 不同方法在部件拼裝任務上的對比(左)以及我們的方法可以產生多模態的輸出(右)

最有意思的是,我們的網路在學習拼裝部件的過程中能夠隱式地學習到各個部件之間的關係,如圖4所示。我們可以觀察到,奇數步的時候呈現出相同的模式(pattern),偶數步的時候亦呈現出另一種相同的模式(關於模式的詳細分析請參見論文)。總體而言,較為中心的部件(central part)(如back, seat)相比於較為邊緣的部件(peripheral part)(如 leg, arm)發出的關係權重更多,而接收的關係權重更少。結合資訊傳遞的過程,我們可以分析得到,中心部件更多地主導了部件拼裝的過程。
用圖網路幫機器人「拼傢俱」,北大、史丹佛NeurIPS論文提出基於動態圖網路學習的三維部件拼裝
圖4. 動態圖網絡隱式學習到的各部件之間的關係。橙色表示4個最大的關係權重,黃色表示最小的關係權重。縱列表示發出關係權重的部件,橫排表示接收關係權重的部件。

為了進一步佐證這個結論,圖5進一步視覺化了我們的迭代式圖神經網路拼裝部件的過程。可以發現,我們的模型在沒有任何外界直接監督的情況下隱式地學會了漸進式地(in a coarse-to-fine manner)拼裝部件:在開始的幾步先拼好中心部件(back和seat),接著邊緣部件(arm 和 leg)會根據中心部件的位姿來調整自己的位姿,最終“由粗到細”地完成部件的拼裝。

用圖網路幫機器人「拼傢俱」,北大、史丹佛NeurIPS論文提出基於動態圖網路學習的三維部件拼裝
圖5. 迭代式圖神經網路拼裝部件的過程

總結

本文提出了一種更貼近實際的(practical)的部件拼裝問題,並設計了一個基於動態圖網絡學習的可以生成多模態拼裝的方法。我們的方法揭示了動態圖網絡學習在部件拼裝任務中的優越性,併為分析“機器是如何學習的”提供了思路。未來可能的研究方向包括考慮融合部件關節資訊以及更高階的部件之間的資訊等來達到更好的部件拼裝效果。

參考文獻

[1] Kaichun Mo, Shilin Zhu, Angel X Chang, Li Yi, Subarna Tripathi, Leonidas J Guibas, and Hao Su. Partnet: A large-scale benchmark for fine-grained and hierarchical part-level 3d object understanding. CVPR, 2019.
[2] Minhyuk Sung, Hao Su, Vladimir G Kim, Siddhartha Chaudhuri, and Leonidas Guibas. Complementme: weakly-supervised component suggestions for 3d modeling. ACM TOG, 36(6):1–12, 2017.
[3] Rundi Wu, Yixin Zhuang, Kai Xu, Hao Zhang, and Baoquan Chen. Pq-net: A generative part seq2seq network for 3d shapes. CVPR, 2020.

相關文章