1. 程式人生 > >Pixel2Mesh:從單幀RGB影象生成三維網格模型

Pixel2Mesh:從單幀RGB影象生成三維網格模型

https://mp.weixin.qq.com/s/ZU6NN-jdKzYeSnJweP-E0g 該論文由復旦大學、普林斯頓大學、Intel Labs 和騰訊 AI Lab 合作完成。文章提出了一種端到端的深度學習框架,可從單張彩色圖片直接生成三維網格(3D Mesh)。

受深度神經網路特性的限制,以前的方法通常用 volume 或者 point cloud 表示三維形狀,將它們轉換為更易於使用的 mesh 並非易事。與現有方法不同,本文使用圖卷積神經網路表示 3D mesh,利用從輸入影象中提取的特徵逐步對橢球進行變形從而產生正確的幾何形狀。本文使用由粗到精的模式進行生成,使得整個變形過程更加穩定。

此外,本文還定義了幾種與 mesh 相關的損失函式捕捉不同級別的特性,以保證視覺上有吸引力並且物理上高重建精度。大量實驗表明,本文的方法不僅定性上可以生成細節更加充分的 mesh 模型,而且與當前最好的方法相比也實現了更高的重建精度。

三維資料有多種表示形式,包括 volume、point cloud、mesh 等。volume 是一種規則的資料結構,即將物體表示為的 N3 格子,受解析度和表達能力限制,這種表示方法通常缺乏細節。

point cloud 是一種不規則的資料結構,由於點之間沒有區域性連結關係,點雲往往缺乏物體的表面資訊;3D Mesh 同樣是一種不規則的資料結構,由點、邊和麵組成,由於其輕量、形狀細節豐富等特性,在虛擬現實、動畫遊戲、生產製造等實際產業中應用越來越廣泛,本文研究如何從單張 RGB 圖重建出對應的 3D mesh 模型。

模型架構

▲ Figure 1: Pixel2Mesh的架構

Pixel2Mesh 的架構如圖 1 所示。對於輸入影象,設計一個多層的卷積神經網路,用於提取圖片不同層次的特徵。對於輸出三維網格,設計了 3 個級聯的變形模組,由圖神經網路構成。Perceptual feature pooling 層可根據網格頂點座標得到投影的圖片特徵,然後根據此特徵不斷對初始的橢球進行變形,以逼近真實形狀。Graph unpooling 層用於增加三維網格節點和邊的數量。

本文的目的在於提出一種生成結果光滑、重建精度高的利用單張彩色圖生成物體三維網格模型的方法。本文沒有直接採用生成 3D Mesh 的方法,而是採用將一個固定的橢球依據影象特徵逐漸形變成目標形狀的策略。本文針對兩個三維網格重建難點給出瞭解決方案:

  1. 3D Mesh 的表示問題—引入圖卷積神經網路。3D mesh 一般使用非規則資料形式—圖(Graph)來表示,而同時整個網路還需要對其輸入的規則的影象資料進行特徵抽取。本文使用圖卷積網路(GCN)來處理三維網格,使用類似於 VGG-16 的網路來提取二維影象特徵。為了將兩者聯絡在一起,設計了一個投影層使得網格中的每個節點能對應獲取相應的二維影象的特徵。

上圖(a)中 P 是從輸入圖片得來的特徵,是頂點的位置,兩者組合可得到相應的投影特徵,再與 GCN 的特徵簡單合併送入網格形變模組(Mesh Deformation Block)中。整個網路包含若干該模組。上圖(b)是依據相機引數進行投影的示意圖。

  1. 如何有效地更新網格的形狀—引入圖的上池化層。實驗發現,直接訓練網路使其預測 mesh 的效果並不好。一個原因是如果直接預測較大數量的點的網格,頂點的感受野會有受限,即 mesh 的頂點無法有效地檢索鄰近頂點的特徵。為了解決這個問題,本文設計了一個圖的上池化層(Graph unpooling layer),使得點的數量逐漸由少到多,相應的網格形狀由粗到細,既保留了全域性資訊,又具有細節的表達。

上圖是圖的上池化過程。(a)中的黑色頂點即為新增的頂點,連線的虛線即為新增的邊。這是 Edge-based 的方式,還有一種 Face-based 的方式,即在每個三角形中心新增一個頂點,但這樣會造成網格頂點不均衡的問題,如(b)所示。在實際操作中,每個新增的點位於舊三角形的邊的中點位置,特徵的值取相鄰兩頂點的均值。

損失函式

本文定義了四種不同的損失函式來促使網格更好地形變。

  1. Chamfer 損失函式:其作用是限制網格頂點的具體位置;

  2. Normal 損失函式:其作用是增強網格表面法向的一致性(增加表面光滑度);

  3. Laplacian 正則化:其作用是在形變時維持臨近頂點的相對位置;

  4. Edge length 正則化:其作用是防止個別異常頂點的出現。

本方法對輸入影象進行的三維網格建模的結果:

▲ Qualitative results. (a) Input image; (b) Volume from 3D-R2N2 [1], converted using Marching Cube [4]; (c) Point cloud from PSG [2], converted using ball pivoting [5]; (d) N3MR[3]; (e) Ours; (f) Ground truth.

實驗結果

F-score (%)

本文提出的方法在 ShapeNet 測試資料集上的表現,除了當閾值為時在 watercraft 類低於 PSG,其他指標均達到了最好水平。

CD 和 EMD

對於 CD 和 EMD,在 ShapeNet 測試集上,本文的方法在多數情況下都達到了最好水平。

參考文獻

[1]. Choy, C.B., Xu, D., Gwak, J., Chen, K., Savarese, S.: 3d-r2n2: A unified approach for single and multi-view 3d object reconstruction. In: ECCV. (2016) [2]. Fan, H., Su, H., Guibas, L.J.: A point set generation network for 3d object reconstruction from a single image. In: CVPR. (2017) [3]. Kato, H., Ushiku, Y., Harada, T.: Neural 3d mesh renderer. In: CVPR. (2018) [4]. Lorensen, W.E., Cline, H.E.: Marching cubes: A high resolution 3d surface construction algorithm. In: SIGGRAPH. (1987) [5]. Bernardini, F., Mittleman, J., Rushmeier, H.E., Silva, C.T., Taubin, G.: The ball-pivoting algorithm for surface reconstruction. IEEE Trans. Vis. Comput. Graph. 5(4) (1999) 349–359

點選以下標題檢視更多論文解讀:

網路表示學習綜述:一文理解Network Embedding 神經網路架構搜尋(NAS)綜述 從傅立葉分析角度解讀深度學習的泛化能力 哈佛NLP組論文解讀:基於隱變數的注意力模型 ACL2018高分論文:混合高斯隱向量文法 ECCV 2018 | 騰訊AI Lab提出視訊再定位任務 KDD 18 | 斯坦福大學提出全新網路嵌入方法