來自研究員的讀書筆記:基於資料驅動的三維幾何解碼器

微軟研究院AI頭條發表於2018-10-12

編者按:近年來隨著關於三維資料的研究與深度學習的緊密結合,三維內容(如物體與場景)的生成也成為這股三維深度學習浪潮中的熱點與亮點。針對這方面的核心部分——三維幾何解碼器的工作,我們邀請了微軟亞洲研究院主管研究員劉洋為大家做了全面的梳理和分析。

基於資料驅動的三維生成

基於資料驅動的三維解碼器,簡而言之就是從大量資料中學習一個對映,該對映將編碼空間裡的向量轉換為三維資料,如三維形狀和場景。這裡的編碼空間可以是大量的影像、文字、聲音或三維資訊透過某種編碼構成一個隱表達空間;這裡的轉換指的是用三維解碼器將隱表達空間的點翻譯成三維內容。目前常用的三維解碼器多用神經網路來完成,如卷積神經網路。下圖展示三維編解碼的一個概念架構。

來自研究員的讀書筆記:基於資料驅動的三維幾何解碼器

對於不熟悉編解碼架構的讀者,可用如下一個例子來理解。對於一個球形曲面, 編碼器提取球體的中心位置與半徑大小構成一個隱表達空間中的四維向量;給定一個四維向量,解碼器用前三維向量當成球體的中心,第四維數值當成球半徑以構造球體。對於大量紛雜的三維資料,往往很難直接構造編解碼器,這就需要從大量資料上來學習並構建功能強大的編解碼器。

來自研究員的讀書筆記:基於資料驅動的三維幾何解碼器

如何構造編碼空間、解碼向量、設定合適的三維表達,都是三維編解碼裡需要研究的問題,而解碼出來的資料質量是衡量三維解碼器優劣的一個重要指標。

除此之外,一個好的三維解碼器還應該有以下三個性質:

  1. 形神兼備——形似指的是三維生成的形狀符合期望、幾何細節逼真、紋理符合現實。神似指的是三維生成內容的功能及結構符合設計、可控並便於調節。 傳統的幾何建模工作在這兩點上可以做的很好,但耗時費力;相較而言,目前基於資料驅動的工作雖然在效率上有極大提升,但在形似這個方面上還差強人意,神似方面的工作也是剛剛起步。

  2. 形狀空間——好的編解碼器可以很好地用學習出來的低秩空間來刻畫形狀空間,透過在空間中合理取樣以增加形體的多樣性並建立形體類間及跨類之間的各種聯絡。

  3. 效率——對於一個演算法而言,它的時間複雜度和空間複雜度大小決定了其效率優劣。對於以神經網路為結構的三維解碼器,還有它對訓練集的需求、訓練難易、可擴充套件性等方面的各種考量。

三維幾何表達

在三維幾何的處理與分析中,三維資料的表達起著非常重要的作用。不同的表達在不同的任務以及與神經網路技術的結合上各有優劣。在三維內容的生成與合成任務上,由於輸出的內容就是三維資料,因此選擇不同的表達也直接關係到網路的構建、損失函式的設計及輸出內容的質量。在此我們以三維的幾何表達來分析目前已有的基於神經網路的三維解碼器。關於三維資料的其它屬性如紋理、表觀、物體彈性相關等屬性的生成,本文不做討論。

表達方式與表達層次

在圖形學及其相關領域,三維幾何表達可以大體分為連續表達離散表達。其中連續表達包括引數曲面、隱式曲面等;離散表達有諸如點雲、多邊形網格、多面體網格、體素等。這類分類方式相對比較底層,對物體缺乏語義層次的理解,我們統稱為低層次表達。如果將三維內容看做結構體或體元的集合,可以對物體有更好的認識,這種歸類方法可以稱之為為中低層次的表達。在此基礎上,如果三維內容的功能也有體現,如一把椅子的組成結構明確,元件功能清晰(如手臂支撐、腰部支撐等),那麼這個表達可以稱之為具有中高層次。同樣對於三維場景而言,如果有著佈局、物件之間關係等表示,其表達也是屬於中高層次。 低層次表達和中低層次的表達方式在基於資料驅動的三維生成中研究較多,我們接下來對基於它們的三維編碼器逐一介紹。

低層次表達

規則體素

將二維規則網格直接推廣到三維,即體素表達,可以方便地將影像域的各種方法推廣到三維空間——比如在解析度N^3 的規則網格上每個單元(即體素)上定義一個布林值0表示該體素位於三維形體之外,1表示其在三維形體內部。常見的基於體素的三維解碼器透過學習三維卷積網路來預測空間中N^3個布林值,以構建三維內容。這方面幾個代表性的工作包括:(1)利用迴圈神經網路來重建三維物體的3D-R2N2 [Choy2016]; (2)基於體素表達上的3D-GAN和3D-VAE-GAN [WU2016]。然而由於規則體素的記憶體與計算開銷呈立方級增長,基於體素的神經網路對於高解析度的支援受限於GPU記憶體大小與訓練時間,使得體素表達的三維生成常侷限於32^3、64^3這類低解析度上,不易生成較高質量的結果。

稀疏體素

注意到三維內容大都與物體表面相關,空間中絕大部分割槽域實則為空的事實,不少研究者開始用稀疏體素的方式來表達三維內容,從而極大地減少記憶體與計算開銷,使得高解析度體素輸出(如256^3、512^3)成為可能。這類方法中以八叉樹結構為代表的三維解碼器,空間及時間複雜度降為O(N^2)。這方面的主要工作有OctGen [Tatarchenko2017]、OctNetFusion [Riegler2017]、HSP [Hane2017]。它們的解碼器動態生成給定深度的八叉樹,在八叉樹的節點上預測該體素是否屬於哪種狀態:1. 在物體外部;2. 在物體內部;3. 含物體表面。對於第三種狀態八叉樹繼續剖分。

點雲

將三維物體離散成無結構的點雲也是一種直接的方式。由於沒有體素方法裡剖分空間的束縛,點雲表示有著更好的靈活性。 最近關於點雲生成工作主要包括[Su2017]、[Achlioptas2018]。這些工作中解碼器直接預測給定數目的點雲三維座標,在從單幅影像生成三維物體的任務上取得比3D-R2N2更好的效果。但將點雲轉化為體素或其它表達以用於造型等任務還需進一步的處理。

網格表示

多邊形網格是三維圖形學裡常見的表達,相較之前介紹的各種表示,它既有較高的表示精度也有足夠的靈活度。最近很多工作都將網格直接作為三維解碼器的輸出。這類工作假定網格有個初始形態,解碼器實質上是預測初始網格頂點的變形。其中很多工作假定初始網格和球形或矩形網格同胚,如SurfNet [Sinha2017]、Pixel2Mesh [Wang2018]、Neural 3D Mesh Renderer [Kato2018]、FoldingNet [Yang2018]。然而受到網格拓撲的限制,這些解碼器不能生成多虧格的曲面。最近一個名為AtlasNet [Groueix2018]的工作假定有指定數目的矩形網格作為初始,解碼器預測每個網格的頂點的三維位置。這些網格的並集近似出一個三維形體,這樣也解決了拓撲限制的問題。基於網格表示的三維生成結果的視覺效果目前來說是最好的,當然網格的扭曲和多片合成完整網格的問題還是亟待解決。

多檢視表示

透過多個方向觀察物體可以極大程度地恢復物體的整體結構和細節,這就是多檢視表示的原理。基於多檢視表示的三維解碼器預測若干給定視點下的物體的深度影像來構造三維形體。最近這方面的工作有[Lun2017]和[Lin2018]。前者用訓練資料已知視點的深度圖來訓練解碼器,後者用預測出的深度圖合成的三維點雲在多視點下投影和真實值的差異來指導訓練,從而進一步提高解碼器的預測水準。

中低層次表達

型元表示

一個三維形體可以看做若干個簡單元素的集合。我們把這簡單元素分成兩類:面元、體元,統稱為型元。 廣義上講點雲、三角面也是型元表示。 這裡我們把簡單元素定義為具有固定型別的幾何元素:如平面、球面、長方體、球體等。

將物體抽象為若干個簡單實體——即體元的集合是種簡單且有效的三維表達方式。透過在大量資料上的學習,體元在類似資料上還具有一定的共同性,並呈現對應關係,在形狀理解和編輯上帶來不少好處。長方體作為簡單體元已經在最近的兩個工作中使用——[Tulsiani2017]、[Zou2017]。這些工作用無監督或有監督的學習來預測若干數目長方體的大小、朝向、位置。透過學習可以把同類物體的共性、相似結構提取出來。目前的工作還侷限於單一體元,擴充到多型別體元和建立體元之間的關係可能是未來研究的一個重點。

用盡量少的簡單面元可以逼近三維形體,可簡化三維表示並方便處理。我們最近在這方向做了一些探索[Wang2018a]——利用平面片表示構造了自適應八叉樹結構以表達三維物體,極大地減少網路訓練的記憶體與實踐開銷,並訓練解碼器生成自適應八叉樹結構以產生三維形體:解碼器預測當前八叉樹結點狀態:1. 不含三維形體表面的任一部分;2. 含三維形體表面的某一部分且能用平面片很好近似;3. 含三維形體表面的某一部分且不能用平面片很好近似。對於第三種狀態八叉樹繼續剖分。最後所有層的八叉樹裡估計的平面片集合構成了三維形體。下圖中展示了一個三維兔子模型在平面片表示下的自適應八叉樹表達:(a)-(d) 是八叉樹不同層上葉子節點的平面片元集合,(e)是所有平面片元的集合,它重構了輸入的兔子模型。

來自研究員的讀書筆記:基於資料驅動的三維幾何解碼器

下圖中展示了用自適應八叉樹解碼器將單幅圖片變成三維形狀的部分結果。相較其它生成演算法,我們的方法在同等解析度下可以恢復更多的細節。

來自研究員的讀書筆記:基於資料驅動的三維幾何解碼器

樹形生成結構

樹形生成結構是將三維內容看做一個樹狀層次性結構,葉節點是內容的一部分,如物體的一個元件/場景中的一個物體等。這種結構比較適合由元件構成的物體或場景,並且元件之間有層級關係。Siggraph2017上一個名為GRASS的工作展示了此種結構在三維生成中的優越能力[Li2017]。其中的三維解碼器遞迴地生成樹形結構並預測節點上的定義的關係和葉節點中的內容。論文作者最近也在GRASS基礎上開展了影像到三維,場景生成等有意義的工作。

過程式建模

過程式建模是透過一系列既定規則來生成三維模型,其中包括L-system、分型、GML、CSG等造型方式。廣義地講,使用者透過組合軟體裡給定的命令操作生成期望的模型,都可以稱之為過程式建模。過程式建模的好處是建模成為一個白盒,每一步都可以有相應的語義。目前這方面最近的工作包括[Huang2017]和CSGNet [Sharma2018]。前者工作預測指定規則集的引數(包括離散和連續變數),後者生成一棵CSG樹——哪些基本體元參與其中、體元的引數、體元之間的布林操作(交併補)與操作序列順序。

基於資料驅動來學習過程式建模才剛剛起步,筆者認為它的發展會是未來三維建模的一個新趨勢,其可以更大程度地降低建模門檻,便於新增創意以及編輯,並能夠保證建模質量,將依賴機器學習的建模做到"知其然知其所以然"的層次。

典型應用

三維生成不是憑空而生,大量的工作是依據使用者給定輸入來構建,如常見的基於單幅或多幅影像進行三維生成、三維補全等方面的工作。下面介紹其它幾種有潛力的典型應用。

基於草圖的三維生成

不少設計者習慣用草圖來快速粗略地描繪目標形狀或場景,這在概念設計裡比較常見。如果能把草圖直接轉換成三維內容,那麼對於設計者和一般使用者而言,三維生成將變得容易。基於草圖的三維生成在圖形學領域已經有很多工作,但大多基於幾何規則來構造。 2007年有一個工作[Lun2017]從資料驅動出發在卡通形象資料集上做了一個嘗試。給定卡通形象的正面和側面的二維草圖,網路透過學習可以預測出卡通形象的三維形狀。 今年我們也在這方面做了進一步研究[Li2018](連結:http://t.cn/EPkkHf0),我們藉助草圖中的線條和曲面的曲率方向的相關性,利用卷積網路預測出高質量的曲面形狀,而且對於曲面資料集型別無強的假設。下圖中展示了我們方法從一個或多個視角的草圖生成曲面的結果。相較傳統方法而言,基於資料驅動的草圖建模有著更魯棒、更迅捷的優勢。

來自研究員的讀書筆記:基於資料驅動的三維幾何解碼器

來自研究員的讀書筆記:基於資料驅動的三維幾何解碼器

基於文字的三維生成

對於普通使用者而言,繪製草圖也顯得太過專業,能否利用文字描述來生成三維內容呢?Text2Shape [Chen2018]將三維生成和自然語言處理結合起來。網路把文字編碼解碼為符合描述的三維實體。比如輸入"Dark brown wooden dinning chair with red padded seat and round red pad back",解碼器不僅生成三維幾何也生成相應的顏色去儘量符合文字描述。隨著這方面的進一步研究,相信人們利用語言文字來快速構建虛擬世界、調整裝潢佈局等個性化的場景會變為可能。

展望

目前基於資料驅動的三維生成工作還有很多不足。首先生成模型的完整度、精細度還與傳統三維建模有著相當的差距。生成結果離實用領域,尤其是加工製造方面,還有很長的路要走。對於三維結構和功能的理解與生成也是剛剛起步,還需要更多的研究。另外現有的工作還主要是從資料中歸納經驗指導生成,如何利用資料進行推理生成還需要更多的關注。

筆者對未來基於資料驅動的三維生成做一些展望。

  • 形(shape)神(functional)兼備。目前基於資料驅動的三維生成在形狀和功能方面還差強人意,離實用的地步還相去甚遠,未來這方面還需更多更深入的研究。最近胡等人的工作[Hu2018] 在功能分析與三維生成方向做了一個很好的結合與嘗試。

  • 三維表達。合適的三維表達對於不同的應用非常重要,如骨架之於動畫、圖之於場景分析。 選擇合適的三維表達還將是未來三維生成的重點研究課題。

  • 形狀空間的構建及生成的多樣性。利用各種對抗生成網路及類似的思想尋找最優的形狀空間一直是眾多研究人員感興趣的課題。 構建好的形狀空間可以生成更多樣的三維內容、建立形狀之間的聯絡、挖掘三維內容的各種關係。

  • 不同媒體空間的聯合嵌入。影像、文字、聲音等媒介是人們常用的互動溝通手段,每種媒介都已有大量樣本和學習出來的空間。建立這些空間之間的聯絡,將為三維生成開啟方便之門,使得其早日步入實用階段。這裡有大量的機器學習成果可以借鑑。

  • 表觀屬性和物理屬性。三維內容除了幾何,它的觀感、物理屬性(如彈性、密度)等也非常重要, 這些屬性的生成,對渲染、物理模擬和製造等方面都有著重要意義。

  • 資料集的體量與質量。目前三維資料在體量和質量上處於初級階段,無法與影像領域的ImageNet相比。擁有大量和高質量的資料,對於未來研究尤為重要。如何採集、清洗、分享、協同使用資料也是三維生成工作必不可少和極為重要的環節。

  • 專注特定類別的應用,如人臉動畫、人體動畫、室內佈局、服裝設計等與人的生活相關的三維生成工作將進一步走向產業化。

小結

本文簡介了目前基於資料驅動的三維幾何生成的部分工作,希望起到拋磚引玉的作用。更多內容可參考筆者在第二十一屆中國計算機輔助設計與圖形學(CAD&CG 2018)、第十一屆全國幾何設計與計算(GDC 2018) 聯合學術會議上所作的前沿進展報告《基於資料驅動的三維幾何生成》,點選“閱讀原文”即可下載該報告的PDF版內容。

所有文獻資料,請訪問以下連結:

https://www.msra.cn/zh-cn/news/features/3d-decoder

相關文章