文生3D模型大突破!MVDream重磅來襲,一句話生成超逼真三維模型
不得了了!
現(xiàn)在只用打幾個(gè)字就能創(chuàng)造精美、高質(zhì)量的3D模型出來了?
這不,國外一篇博客引爆網(wǎng)絡(luò),把一個(gè)叫MVDream的東西擺到了我們面前。
用戶只需要寥寥數(shù)語,就可以創(chuàng)造出一個(gè)栩栩如生的3D模型。
而且和之前不同的是,MVDream看起來是真的「懂」物理。
下面就來看看這個(gè)MVDream有多神奇吧~
MVDream
小哥表示,大模型時(shí)代,我們已經(jīng)看到了太多太多文本生成模型、圖片生成模型。而且這些模型的性能也越來越強(qiáng)大。
后來,我們甚至還目睹了文生視頻模型的誕生,當(dāng)然也包括今天要提到的3D模型。
試想一下,你只需要輸入一句話,就可以生成一個(gè)宛如存在于真實(shí)世界的物體模型,甚至還包含著所有必要細(xì)節(jié),這個(gè)場景該有多酷。
而且這絕對(duì)不是一件簡單的事,尤其是用戶需要生成的模型所呈現(xiàn)的細(xì)節(jié)要足夠逼真。
先來看看效果~
同一個(gè)prompt,最右側(cè)就是MVDream的成品。
肉眼可見5個(gè)模型的差距。前幾個(gè)模型完全違背了客觀事實(shí),只有從某幾個(gè)角度看才是對(duì)的。
比如前四張圖片,生成的模型居然有不止兩只耳朵。而第四張圖片雖然看起來細(xì)節(jié)更豐滿一點(diǎn),但是轉(zhuǎn)到某個(gè)角度我們能發(fā)現(xiàn),人物的臉是凹進(jìn)去的,上面還插著一只耳朵。
誰懂啊,小編一下就想起了之前很火的小豬佩奇正視圖。
就是那種,某些角度是展示給你看的,別的角度千萬別看,會(huì)死人。
可最右邊MVDream的生成模型顯然不一樣。無論3D模型怎樣轉(zhuǎn)動(dòng),你都不會(huì)覺得有任何反常規(guī)的地方。
這也就是開頭所提到的,MVDream真懂物理常識(shí),而不會(huì)為了保證在每個(gè)視圖下都有兩只耳朵而搞出一些奇奇怪怪的東西。
小哥指出,一個(gè)3D模型是否成功,最主要的就是觀察這個(gè)模型的不同視角是不是都足夠逼真,質(zhì)量都足夠高。
而且還要保證模型在空間上的連貫性,而不是像上面多個(gè)耳朵的模型那樣。
生成3D模型的主要方法之一,就是對(duì)攝像機(jī)的視角進(jìn)行模擬,然后生成某一視角下所能看到的東西。
換個(gè)詞,這就是所謂的2D提升(2D lifting)。就是將不同的視角拼接在一起,形成最終的3D模型。
出現(xiàn)上面多耳的情況,就是因?yàn)樯赡P蛯?duì)整個(gè)物體在三維空間的樣態(tài)信息掌握的不充分。而MVDream恰恰就是在這方面往前邁了一大步。
新模型解決了之前一直出現(xiàn)的3D視角下的一致性問題。
分?jǐn)?shù)蒸餾采樣
而用到的方法叫做分?jǐn)?shù)蒸餾采樣(score distillation sampling),由DreamFusion開發(fā)。
在了解分?jǐn)?shù)蒸餾采樣技術(shù)之前,我們需要先了解一下該方法所使用的架構(gòu)。
簡而言之,這其實(shí)只是另一種二維圖像的擴(kuò)散模型,同類的還有DALLE、MidJourney和Stable Diffusion模型。
更具體地說,一切的一切都是從預(yù)訓(xùn)練好的DreamBooth模型開始的,DreamBooth是一個(gè)基于Stable Diffusion生圖的開源模型。
然后,改變來了。
研究團(tuán)隊(duì)后續(xù)所做的是,直接渲染一組多視角圖像,而不是只渲染一張圖像,這一步需要有各種物體的三維數(shù)據(jù)集才可以完成。
在這里,研究人員從數(shù)據(jù)集中獲取了三維物體的多個(gè)視圖,利用它們來訓(xùn)練模型,再使其向后生成這些視圖。
具體做法是將下圖中的藍(lán)色自注意塊改為三維自注意塊,也就是說,研究人員只需要增加一個(gè)維度來重建多個(gè)圖像,而不是一個(gè)圖像。
在下圖中,我們可以看到攝像機(jī)和時(shí)間步(timestep)也都被輸入到了每個(gè)視圖的模型中,以幫助模型了解哪個(gè)圖像將用在哪里,以及需要生成的是哪種視圖。
現(xiàn)在,所有圖像都連接在一起,生成也同樣在一起完成。因此它們就可以共享信息,更好地理解全局的情況。
然后,再將文本輸入模型,訓(xùn)練模型從數(shù)據(jù)集中準(zhǔn)確地重建物體。
而這里也就是研究團(tuán)隊(duì)?wèi)?yīng)用多視圖分?jǐn)?shù)蒸餾采樣過程的地方。
現(xiàn)在,有了一個(gè)多視圖的擴(kuò)散模型,團(tuán)隊(duì)可以生成一個(gè)物體的多個(gè)視圖了。
下一步,就是用這些視圖來重建一個(gè)和真實(shí)世界一致的三維模型,而不僅僅是視圖。
這里需要使用NeRF(neural radiance fields,神經(jīng)輻射場)來實(shí)現(xiàn),就像前面提到的DreamFusion一樣。
基本上這一步就是把前面訓(xùn)練好的多視角擴(kuò)散模型給凍住,也就是說,在這一步中,上面各個(gè)視角的圖片只是被「使用」,而不會(huì)被再「訓(xùn)練」。
在初始渲染的引導(dǎo)下,研究人員開始使用多視角擴(kuò)散模型生成一些添加了噪聲(noise)的初始圖像版本。
研究人員添加噪聲是為了讓模型知道,它需要生成不同版本的圖像,但同時(shí)仍能接收到背景信息。
然后,再使用該模型進(jìn)一步生成更高質(zhì)量的圖像。
添加用于生成該圖像的圖像,并移除我們手動(dòng)添加的噪聲,以便在下一步中使用該結(jié)果來指導(dǎo)和改進(jìn)NeRF模型。
這些步驟都是為了更好地理解NeRF模型應(yīng)該集中在圖像的哪個(gè)部分,以便在下一步中生成更好的結(jié)果。
如此反復(fù),直到生成出令人滿意的3D模型。
而對(duì)于多視角擴(kuò)散模型的圖像生成質(zhì)量的評(píng)估,以及不同的設(shè)計(jì)會(huì)如何影響其性能的判斷,該團(tuán)隊(duì)是這么操作的。
首先,他們比較了用于建立跨視角一致性模型的注意力模塊的選擇。
這些選項(xiàng)包括:
(1)視頻擴(kuò)散模型中廣泛使用的一維時(shí)間自注意;
(2)在現(xiàn)有模型中添加新的三維自注意模塊;
(3)重新使用現(xiàn)有的二維自注意模塊進(jìn)行三維注意。
在本實(shí)驗(yàn)中,為了清楚地顯示這些模塊之間的差異,研究人員使用了8幀的90度視角變化來訓(xùn)練模型,這更加接近視頻的設(shè)置。
同時(shí)在實(shí)驗(yàn)中,研究團(tuán)隊(duì)還保持了較高的圖像分辨率,即512×512作為原始的標(biāo)清模型。結(jié)果如下圖所示,研究人員發(fā)現(xiàn),即使在靜態(tài)場景中進(jìn)行了如此有限的視角變化,時(shí)間自注意力仍然會(huì)受到內(nèi)容偏移的影響,無法保持視角的一致性。
團(tuán)隊(duì)假設(shè),這是因?yàn)闀r(shí)間注意力只能在不同幀的相同像素之間交換信息,而在視點(diǎn)變化時(shí),相應(yīng)像素之間可能相距甚遠(yuǎn)。
另一方面,在不學(xué)習(xí)一致性的情況下,添加新的三維注意會(huì)導(dǎo)致嚴(yán)重的質(zhì)量下降。
研究人員認(rèn)為,這是因?yàn)閺念^開始學(xué)習(xí)新參數(shù)會(huì)耗費(fèi)更多的訓(xùn)練數(shù)據(jù)和時(shí)間,不適合這種三維模型有限的情況。研究人員提出的重新使用二維自注意的策略在不降低生成質(zhì)量的情況下實(shí)現(xiàn)了最佳的一致性。
團(tuán)隊(duì)還注意到,如果將圖像大小減小到256,視圖數(shù)減小到4,這些模塊之間的差異會(huì)小得多。然而,為了達(dá)到最佳一致性,研究人員在以下實(shí)驗(yàn)中根據(jù)初步觀察做出了選擇。
此外,對(duì)于多視角的分?jǐn)?shù)蒸餾采樣,研究人員在threestudio(thr)庫中實(shí)現(xiàn)了多視角擴(kuò)散的引導(dǎo),該庫在統(tǒng)一框架下實(shí)現(xiàn)了最先進(jìn)的文本到三維模型的生成方法。
研究人員使用threestudio中的隱式容積(implicit-volume)實(shí)現(xiàn)作為三維表示,其中包括多分辨率的哈希網(wǎng)格( hash-grid)。
對(duì)于攝像機(jī)視圖,研究人員采用了與渲染三維數(shù)據(jù)集時(shí)完全相同的方式對(duì)攝像機(jī)進(jìn)行倆人采樣。
此外,研究人員還使用AdamW優(yōu)化器對(duì)3D模型進(jìn)行了10000步優(yōu)化,學(xué)習(xí)率為0.01。
對(duì)于分?jǐn)?shù)蒸餾采樣,在最初的8000 步中,最大和最小時(shí)間步長分別從0.98步降到了0.5步和0.02步。
渲染分辨率從64×64開始,經(jīng)過5000步后逐步增加到了256×256。
更多案例如下:
以上就是研究團(tuán)隊(duì)如何利用二維文本到圖像模型,將其用于多視角合成,最后利用它迭代,并創(chuàng)建出文本到3D模型的過程。
當(dāng)然,目前這種新方法還存在一定的局限性,最主要的缺陷在于,現(xiàn)在生成的圖像只有256x256像素,分辨率可以說很低了。
此外,研究人員還指出,執(zhí)行這項(xiàng)任務(wù)的數(shù)據(jù)集的大小在某種程度上一定會(huì)限制這種方法的通用性,因?yàn)閿?shù)據(jù)集的太小的話,就沒辦法更逼真的反應(yīng)我們這個(gè)復(fù)雜的世界。