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