作者介紹 劉芳甫,清華大學博士生 內容簡介 最近,通過利用2D和3D擴散模型,從文本提示創建3D內容取得了顯著進展。雖然3D擴散模型確保了良好的幾何一致性,但由于3D數據有限,其生成高質量和多樣化3D內容的能力受到限制。相比之下,2D擴散模型通過一種提煉方法,在不使用任何3D數據的情況下實現了卓越的泛化能力和豐富的細節。然而,2D提升方法由于固有的視角不可知的模糊性,導致了嚴重的多面性問題,即文本提示無法提供足夠的指導來學習一致的3D結果。我們沒有重新訓練一個昂貴的視點感知模型,而是研究如何充分利用易于獲取的粗略3D先驗知識來增強提示并引導2D提升優化進行細化。在本文中,我們提出了Sherpa3D,一個新的文本到3D框架,能夠同時實現高保真度、通用性和幾何一致性。具體而言,我們設計了一對指導策略,來自由3D擴散模型生成的粗略3D先驗:幾何保真度的結構指導和3D一致性的語義指導。通過采用這兩種指導,2D擴散模型豐富了3D內容,產生了多樣化和高質量的結果。大量實驗證明了我們的Sherpa3D在質量和3D一致性方面優于最新的文本到3D方法。 論文地址:https://arxiv.org/pdf/2312.06655 代碼地址:https://liuff19.github.io/Sherpa3D/ 項目地址:https://jamesyjl.github.io/DreamReward/ 01 Gallery of Sherpa3D Sherpa3D 是一個全新的文本到3D生成框架。該框架能夠在25分鐘內生成高保真度、多樣化且符合幾何一致性的三維物體。相比于現有的方法,Sherpa3D在生成質量和時間上均有顯著提升。 3D生成技術的發展歷程可以從ICLR 2023年的DreamFusion開始,該方法在生成質量和時間效率上存在一定局限。隨后在ICLR 2024年提出的SweetDreamer,雖然在生成質量上有所提升,但需要大量的3D數據進行訓練。本文的研究表明,Sherpa3D的性能與SweetDreamer相當,但在時間效率上更具優勢。 此外,ICLR 2024年的Dream Gaussian在生成速度上實現了突破,但其生成的紋理質量仍有提升空間。相比之下,Sherpa3D有效解決了現有方法中的諸多問題,并提出了一個全新的框架,顯著提升了3D生成的質量和效率。 02 Background of 3D AIGC 3D AIGC的發展分為兩個主要范式。第一個范式以DreamFusion為代表,采用優化的方式。該方法旨在將2D擴散模型的能力提升到3D空間,通過SDS損失(Score Distillation Sampling loss)實現。具體來說,3D物體的每一個側面都在2D世界中見到過,因此可以通過2D擴散模型來監督整個3D物體的生成。SDS的本質是將2D擴散模型的能力進行蒸餾,通過對損失函數直接求梯度的方式,監督3D物體的生成。 第二個范式是從合成數據進行訓練,稱為合成數據原生推理的方法。主要代表方法包括早期的CP、PointE以及近期利用ObjectVerse訓練多視圖數據的生成方法。 03 Motivation 本文的研究動機在于分析現有的2D和3D擴散模型,即前面提到的兩種范式。2D擴散模型的優勢在于其訓練數據集非常豐富,2D圖像數量龐大,具備很強的泛化能力,能夠生成細節豐富的圖像。然而,2D擴散模型的局限在于其僅見過2D圖像,而且2D圖像數據集存在長尾分布問題,例如正面圖像遠多于背面圖像,導致其缺乏3D先驗,容易出現多面(multi-face)問題,例如DreamFusion生成的圖像可能正面和背面都有臉。 相比之下,3D擴散模型因為直接使用3D數據進行訓練,具備很好的多視角一致性,不會出現多面的問題。但其不足在于3D數據相對于2D數據量非常少,導致模型的質量和泛化能力較差。 因此,該研究的目標是同時解決上述問題,提出一個質量高、泛化性好,并且能夠保證幾何一致性的模型。 04 Method Overview 作者提出了Sherpa3D框架。Sherpa意指喜馬拉雅山的向導,引導登山者攀登高峰。類似地,本文所提框架引導2D擴散模型逐步優化,最終生成高質量且具備3D一致性的模型。 首先,需要解決以下三個挑戰。第一個挑戰是在2D轉3D的過程中,容易出現多個面部的情況。第二個挑戰是僅使用2D擴散模型時,可能生成的幾何結構不穩定。第三個挑戰是引入3D擴散模型作為先驗時,需要平衡2D和3D擴散模型在整個優化過程中的作用權重。 為了解決這些挑戰,本文方法如下。首先通過3D擴散模型生成一個粗略的3D先驗,然后將3D先驗投影成不同的側面圖像。接著,使用結構引導和語義引導來輔助2D提升過程。結構引導利用3D先驗引導后續的2D提升過程,避免出現結構不良的幾何現象;語義引導則通過3D先驗提供正面、背面和側面的語義信息,從而緩解多面問題。最后,作者提出了一個分步退火策略(Step Annealing Strategy),在整個優化過程中平衡2D和3D擴散模型的作用。 Method in detail 在該方法中,作者首先討論了哪些知識可以作為優化過程的引導。通過實驗,作者發現幾何不一致性是導致3D性能不佳的一個主要原因。因此,優化過程主要集中在幾何優化上的設計和改進。 首先,在結構引導方面,為了保留粗略3D先驗的結構,本文采用了一個簡單的邊緣提取算子來描述其輪廓。這使得在后續的優化過程中,生成的3D形狀能夠與初始的3D形狀保持幾何大小的一致,避免幾何結構出現問題。 其次,在語義引導方面,作者通過約束語義一致性來避免多面問題。這樣可以確保生成的3D物體在不同視角下具有一致的外觀。 第三,本文引入了一個分步退火策略(step annealing strategy)來平衡2D和3D優化的作用。如果沒有分步退火,3D擴散模型可能會過度發揮作用,從而導致生成的細節不足。因此,通過分步退火策略,就能夠在優化過程中適當調整2D和3D擴散模型的作用權重,保證生成結果的細節和一致性。 最后,文中的優化是在幾何空間進行的,而不是在RGB空間。具體來說,通過對法線向量進行SDS優化。在早些時候的SCP 2023和Fantasia 3D研究中,已經證明了這種方法的有效性。Stable diffusion使用的訓練數據中包含了一部分法線數據,因此可以很快地對SDS進行收斂。 05 Visualization 以下是生成的一個模型的可視化結果,這是使用Blender進行渲染的。 06 Experiment Results 以下是更多的實驗結果。可以看到,早期的方法如CPE盡管在3D一致性上表現良好,但生成的質量非常粗糙。DreamFusion、Magic3D、Fantasia3D和ProlificDreamer等方法在生成時間上都非常長,并且經常出現多臉和多頭的問題,質量也較差。 相比之下,本文方法在解決多面問題上表現出色。最左邊的結果是Sherpa3D生成的3D模型,顯示出Sherpa3D不僅有效解決了多面問題,還在質量和逼真度上達到了更高水平,生成的3D模型更加真實可信。 More Experiment Results 進一步的實驗結果表明,在CLIP上的驗證中,Sherpa3D表現出最高的性能。此外,用戶研究也顯示,Sherpa3D更受大眾歡迎。 值得一提的是,由于Sherpa3D僅在幾何空間進行優化,因此可以充分發揮Stable Diffusion的上色能力和泛化能力。在整個優化過程中,不會改變Stable Diffusion的特性,這使得Sherpa3D在生成質量上優于直接使用3D數據訓練的模型。例如,ObjectVerse和MV-Dream等方法可能會過擬合到特定的數據集顏色空間,而Sherpa3D則能夠避免這種情況。 此外,Sherpa3D在解決OOD(Out-of-Distribution)現象時表現出色。無論是生成多樣化和具有高度泛化能力的提示,還是進行簡單的編輯操作(如只改變紋理而不改變幾何結構),Sherpa3D都能很好地完成任務。 07 Zero-shot 3D Generation 下面展示了Sherpa3D在零樣本(zero-shot)3D生成任務中的結果。可以看到,Sherpa3D在3D一致性和紋理質量方面表現出色。生成的3D模型不僅具備高度的幾何一致性,還在紋理細節上保持了很高的質量。 08 Future Work Subject-Driven 3D Generation:Make-Your-3D 未來工作包括一個以主體為驅動的3D生成(subject-driven 3D generation)。當前的3D生成大多數是基于給定的文本或圖片生成一個3D物體,而這篇文章提出了一種新方法,即只需提供一張圖片并添加一些文本提示,就可以在保持主體特征不變的情況下,為其添加帽子、墨鏡等配件。例如,我們可以讓格魯特坐著或者穿上制服。這實際上是一種定制化的過程。 該方法只需五分鐘內就可以生成,有些案例甚至可以在幾十秒內完成。此外,還可以對人物風格進行修改,比如讓奧巴馬穿上不同的衣服,這都是定制化生成的表現。這是在后期進行的主體驅動的3D生成工作。具體工作參見:https://liuff19.github.io/Make-Your-3D/ Human Preference Alignment:DreamReward 另一個未來工作是解決當前3D生成與人類偏好不對齊的問題。研究發現,目前的3D生成模型在理解文本提示的語義方面存在局限。例如,當我們希望給自行車添加花籃裝飾時,使用MV-Dream等3D數據訓練的模型可能無法很好地理解這一文本提示的語義。類似地,對于“獅子在陽光下”這樣的提示,模型可能無法捕捉到其中的語義信息。 為了解決這一問題,本文采用了ILHF(Instruction Learning from Human Feedback)的方法,使人類偏好與3D生成模型實現一定程度的對齊。右側展示的結果表明,所提方法在這一方面取得了顯著的進展,生成的3D模型與文本提示產生了更好的對齊效果。具體工作參見:https://jamesyjl.github.io/DreamReward/ |