這是擴散模型在3D領域的最新成果。例如,只需一張法國雕塑家羅丹的舊照,一下子就能把他「變」進遊戲中:
甚至只需要一句話就能修改裝扮和形象。告訴AI產生羅丹「穿著紅色毛衣戴著眼鏡的造型」:
不喜歡龐畢度頭?那就換成「綁著辮子的造型」:
再試試換個髮色?這是「棕色頭髮的時尚潮人造型」,連鬍子顏色都搞定了:
上面這個最新的3D生成擴散模型「羅丹」RODIN(Roll-out Diffusion Network),來自微軟亞洲研究院。
RODIN也是首個利用生成擴散模型在3D訓練資料上自動生成3D數位化身(Avatar)的模型,論文目前已被CVPR 2023接收。
直接用3D資料訓練擴散模型
這個3D生成擴散模型「羅丹」RODIN的名字,靈感來源於法國雕塑藝術家奧古斯特‧羅丹(Auguste Rodin)。
之前2D生成3D圖像模型,通常用2D資料訓練生成對抗網路(GAN)或變分自編碼器(VAE)得到,但結果往往不盡人意。
研究人員分析,造成這種現象的原因在於這些方法存在一個基礎的欠定(ill posed)問題。即由於單視角圖片存在幾何二義性,僅僅透過大量的2D資料,很難學到高品質3D化身的合理分佈,導致生成效果不好。
因此,他們這次嘗試直接用3D資料來訓練擴散模型,主要解決了三個難題:
首先,如何用擴散模型生成3D模型多視角圖。此前擴散模型在3D資料上沒有可參考實踐方法和可遵循前例。
其次,高品質和大規模3D圖像資料集很難獲取,且存在隱私版權風險,但網路公開3D圖像無法保證多視圖一致性。
最後, 2D擴散模型直接拓展成3D生成,所需的記憶體、儲存與運算開銷極大。
為了解決這三個難題,研究人員提出了「AI雕塑家」RODIN擴散模型,超越了現有模型的SOTA水準。
RODIN模型採用神經輻射場(NeRF)方法,借鑒NVIDIA的EG3D工作,將3D空間緊湊地表達為空間三個互相垂直的特徵平面(Triplane),並將這些圖展開至單個2D特徵平面中,再執行3D感知擴散。
具體而言,就是將3D空間在橫、縱、垂三個正交平面視圖上以二維特徵展開,這樣不僅可以讓RODIN模型使用高效的2D架構進行3D感知擴散,而且將3D圖像降維成2D圖像也大幅降低了運算複雜度和運算成本。
上圖左邊,用三平面(triplane)表達3D空間,此時底部特徵平面的特徵點對應於另外兩個特徵平面的兩條線;上圖右邊,則引入3D感知卷積處理展開的2D特徵平面,同時考慮到三個平面的3D固有對應關係。
具體而言,實現3D圖像的生成需要三個關鍵要素:
其一,3D感知卷積,確保降維後的三個平面的內在關聯。
傳統2D擴散中使用的2D卷積神經網路(CNN),並不能很好地處理Triplane特徵圖。
3D感知卷積並不是簡單產生三個2D特徵平面,而是在處理這樣的3D表達時,考慮了其固有的3D特性,即三個視圖平面中其中一個視圖的2D特徵本質上是3D空間中一條直線的投影,因此與其他兩個平面中對應的直線投影特徵存在關聯性。
為了實現跨平面通訊,研究員們在卷積中考慮了這樣的3D相關性,因此高效地用2D的方式合成3D細節。
其二,隱空間協奏三平面3D表達生成。
研究員們透過隱向量來協調特徵生成,使其在整個3D空間中具有全域一致性,從而獲得更高品質的化身並實現語義編輯。
同時,還透過使用訓練資料集中的圖像訓練額外的圖像編碼器,該編碼器可提取語義隱向量作為擴散模型的條件輸入。
這樣,整體的生成網路可視為自動編碼器,用擴散模型作為解碼隱空間向量。對於語義可編輯性,研究員們採用了一個凍結的CLIP圖像編碼器,與文本提示共用隱空間。
其三,層級式合成,生成高保真立體細節。
研究員們利用擴散模型,先生成了一個低解析度的三視圖平面(64×64),然後再通過擴散上採樣生成高解析度的三平面(256×256)。
這樣,基礎擴散模型集中於整體3D結構生成,而後續上採樣模型專注於細節生成。
基於Blender產生大量亂數據
在訓練資料集上,研究員們借助開源的3D算繪軟體Blender,透過隨機組合畫師手動創建的虛擬3D人物圖像,再加上從大量頭髮、衣服、表情和配飾中隨機採樣,進而創建了10萬個合成個體,同時為每個個體算繪出了300個解析度為256*256的多視圖圖像。
在文本到3D頭像的生成上,研究員們採用了LAION-400M資料集的人像子集,訓練從輸入模態到3D擴散模型隱空間的映射,最終讓RODIN模型只使用一張2D圖像或一句文字描述,就能創建出逼真的3D頭像。
不僅能一句話改變形象,如「留捲髮和大鬍子穿著黑色皮夾克的男性」:
甚至連性別都能隨意更換,「紅色衣著非洲髮型的女性」:
研究人員也給出了一個應用Demo示範,創建自己的形象只需要幾個按鈕:
更多效果可以到專案連結查看。
做出了RODIN後,團隊接下來的計畫是?
據微軟亞洲研究院作者們表示,目前RODIN的作品還主要停留在3D半身人像上,這也與它主要採用人臉資料訓練有關,但3D圖像生成需求不僅局限於人臉上。
下一步,團隊將會考慮嘗試用RODIN模型創建更多3D場景,包括花草樹木、建築、汽車家居等,實現「一個模型產生3D萬物」的終極目標。
論文連結:
專案頁面:
加入電腦王Facebook粉絲團