首頁 >科技週邊 >人工智慧 >深入探討GET3D生成模型的五分鐘技術趣談

深入探討GET3D生成模型的五分鐘技術趣談

王林
王林轉載
2023-09-01 19:01:061258瀏覽

Part 01●

前言

近年來,隨著以Midjourney和Stable Diffusion為代表的人工智慧影像產生工具的興起,2D人工智慧影像產生技術已成為許多設計師在實際專案中使用的輔助工具,在各種商業場景中得到應用,創造越來越多的實際價值。同時,隨著元宇宙的興起,許多產業正朝著創建大規模3D虛擬世界的方向發展,多樣化、高品質的3D內容對於遊戲、機器人、建築和社交平台等產業變得越來越重要。然而,手動創建3D資源非常耗時且需要特定的藝術素養和建模技能。其中一個主要挑戰是規模問題——儘管可以在3D市場上找到大量的3D模型,但在遊戲或電影中填充一群看起來都不一樣的角色或建築仍然需要藝術家投入大量時間。因此,對於能夠在3D內容的數量、品質和多樣性方面進行擴展的內容製作工具的需求也變得越來越明顯

深入探討GET3D生成模型的五分鐘技術趣談圖片

請看圖1,這是元宇宙空間的照片(來源:電影《無敵破壞王2》)

#得益於2D生成模型在高解析度影像合成中已經獲得了逼真的質量,這項進展也啟發了對3D內容生成的研究。早期的方法旨在將2D CNN生成器直接擴展到3D體素網格,但由於3D卷積的高記憶體佔用和計算複雜性,阻礙了在高解析度下的生成過程。作為一種替代方案,其他研究已經探索了點雲、隱式或八叉樹表示法。然而,這些工作主要集中在生成幾何體上,而忽略了外觀。它們的輸出表示還需要進行後處理,以使其與標準圖形引擎相容

為了能夠實際應用到內容製作中,理想的3D生成模型應滿足以下要求:

#具備產生具有幾何細節和任意拓撲的形狀的能力

重寫內容:(b)輸出的應該是紋理網格,這是Blender和Maya等標準圖形軟體所常用的表達方式

可以使用2D圖像進行監督,因為它們比明確的3D形狀更普遍

Part 02

3D生成模型簡介

為了方便內容的創作過程並且能夠實際應用,生成性3D網路已成為一個活躍的研究領域,能夠產生高品質和多樣化的3D資產。每年都有許多3D生成模型在ICCV、NeurlPS、ICML等大會上發表,其中包括以下幾種前沿模型

Textured3DGAN是一種生成模型,它是卷積生成紋理3D網格方法的延伸。它能夠在二維監督下學習使用GAN從實物圖像中生成紋理網格。與以往的方法相比,Textured3DGAN放寬了姿態估計步驟中對關鍵點的要求,並將該方法推廣到未標記的圖像集合和新的類別/資料集,例如ImageNet

DIB-R :是一種基於內插的可微分渲染器,底層使用了PyTorch機器學習框架。這個渲染器已經被加入了3D深度學習的PyTorch GitHub庫(Kaolin)。這種方法允許對影像中所有像素的梯度進行分析計算。其核心思想是將前景光柵化視為局部屬性的加權插值,將背景光柵化視為基於距離的全局幾何體的聚合。透過這種方式,它可以從單一影像預測出形狀、紋理和光線等資訊

PolyGen:PolyGen是一種基於Transformer架構的自回歸生成模型,用於直接對網格進行建模。模型依序預測網格的頂點和麵。我們使用ShapeNet Core V2資料集對模型進行訓練,所得到的結果已經非常接近人類建構的網格模型

SurfGen:具有明確表面鑑別器的對抗性3D形狀合成。透過端到端訓練的模型能夠產生具有不同拓撲的高保真3D形狀。

GET3D是一個生成模型,可以透過學習影像來產生高品質的3D紋理形狀。它的核心是可微分錶面建模、可微分渲染和2D生成對抗性網路。透過對2D影像集合進行訓練,GET3D可以直接產生具有複雜拓撲、豐富幾何細節和高保真紋理的顯式紋理3D網格

深入探討GET3D生成模型的五分鐘技術趣談圖片

##需要重寫的內容是:圖2 GET3D生成模型(資料來源:GET3D論文官網https://nv-tlabs.github.io/GET3D/)

GET3D是最近提出的一種3D生成模型,它透過使用ShapeNet、Turbosquid和Renderpeople等多個具有複雜幾何圖形的類別,例如椅子、摩托車、汽車、人物和建築,展示了在無限制生成3D形狀方面的最先進性能

Part 03

GET3D的架構與特性

深入探討GET3D生成模型的五分鐘技術趣談

#GET3D架構來自GET3D論文官網,圖3展示了該架構

透過兩個潛在編碼生成了一個3D SDF(有向距離場)和一個紋理場,再利用DMTet(Deep Marching Tetrahedra)從SDF中提取3D表面網格,並在表面點雲查詢紋理場以取得顏色。整個過程使用在2D影像上定義的對抗性損失來進行訓練。特別是,RGB影像和輪廓是使用基於光柵化的可微分渲染器來取得的。最後使用兩個2D鑑別器,每個鑑別器分別針對RGB影像和輪廓,來分辨輸入是真的還是偽造的。整個模型可以進行端到端的訓練

GET3D在其他方面也非常靈活,除了將顯式網格作為輸出表達之外,還可以輕鬆適應其他任務,包括:

將幾何體和紋理分離實現:模型的幾何和紋理之間實現了良好的解耦,可以對幾何潛在程式碼和紋理潛在程式碼進行有意義的插值

在產生不同類別形狀之間的平滑過渡時,可以透過在潛在空間中進行隨機行走,並產生對應的3D形狀來實現

產生新的形狀:可以透過在局部的潛在程式碼中添加一些小的雜訊來擾動,從而產生看起來相似但局部略有差異的形狀

無監督材質生成:透過與DIBR 結合,以完全無監督的方式生成材質,並產生具有意義的視圖相關照明效果

以文字為導向的形狀生成:透過結合StyleGAN NADA,利用計算渲染的2D圖像和使用者提供的文字上的定向CLIP損失來微調3D生成器,使用者可以透過文字提示產生大量有意義的形狀

深入探討GET3D生成模型的五分鐘技術趣談#圖片

請參考圖4,該圖展示了基於文字生成形狀的過程。圖的來源是GET3D論文官網,網址為https://nv-tlabs.github.io/GET3D/

Part 04

總結

#雖然GET3D已經朝著實用的3D紋理形狀的生成模型邁出了重要的一步,但是它仍然存在一些限制。特別是在訓練過程中,仍依賴2D剪影和相機分佈的知識。因此,目前GET3D只能根據合成數據進行評估。一個有前景的擴展是利用實例分割和相機姿態估計的進步來緩解這個問題,並將GET3D擴展到真實世界的數據。 GET3D目前也只按照類別進行訓練,未來將擴展到多個類別,以更好地表示類別之間的多樣性。希望這項研究能讓人們離使用人工智慧進行3D內容的自由創作更近一步

以上是深入探討GET3D生成模型的五分鐘技術趣談的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除