0. 筆者個人體會
提問:給你一張2D圖像,要求獲得完整的三維模型,你會怎么做?
我第一反應(yīng)是拿SolidWorks自己畫一個~
最近就看到了這樣的一項開源工作Wonder3D,可以直接從2D圖像生成3D模型,感覺很神奇。讀了讀文章,發(fā)現(xiàn)這項工作是基于擴(kuò)散模型實(shí)現(xiàn)的,這里也不得不感嘆擴(kuò)散模型確實(shí)在AI繪畫和圖像生成領(lǐng)域有無限前景。今天筆者也將帶領(lǐng)讀者閱讀一下這項工作,當(dāng)然筆者水平有限,如果有理解不當(dāng)?shù)牡胤綒g迎大家一起探討,共同學(xué)習(xí)。
1. 效果展示
Wonder3D僅需2~3分鐘即可從單視圖圖像重建高細(xì)節(jié)紋理網(wǎng)格。Wonder3D首先通過跨域擴(kuò)散模型生成一致的多視法線圖與相應(yīng)的彩色圖像,然后利用一種法線融合方法來實(shí)現(xiàn)快速和高質(zhì)量的重建。這里也推薦「3D視覺工坊」新課程《徹底搞透視覺三維重建:原理剖析、代碼講解、及優(yōu)化改進(jìn)》。
對不同風(fēng)格的圖像也都適用。
甚至對各種小動物也適用:
代碼已經(jīng)開源了,而且他們的官方主頁還放上了Live Demo的鏈接,感興趣的讀者可以上傳自己的圖像來嘗試,下面展示一下筆者自己的測試結(jié)果。
原始圖像:
生成的多視角圖像:
2. 摘要
在這篇文章中,我們介紹了Wonder3D,一種從單視圖圖像中高效生成高保真紋理網(wǎng)格的新方法。基于分?jǐn)?shù)蒸餾采樣(SDS)的最近方法已經(jīng)顯示出從2D擴(kuò)散先驗恢復(fù)3D幾何形狀的潛力,但是它們通常遭受每個形狀優(yōu)化的耗時和不一致的幾何形狀。相比之下,某些作品通過快速網(wǎng)絡(luò)推理直接產(chǎn)生3D信息,但其結(jié)果通常質(zhì)量較低且缺乏幾何細(xì)節(jié)。為了從整體上提高圖像到3D任務(wù)的質(zhì)量、一致性和效率,我們提出了一種跨域擴(kuò)散模型來生成多視圖法線貼圖和相應(yīng)的彩色圖像。為了確保一致性,我們采用了一種多視圖跨域關(guān)注機(jī)制,該機(jī)制有助于跨視圖和模態(tài)的信息交換。最后,我們介紹了一種幾何感知法向融合算法,從多視圖2D表示中提取高質(zhì)量的表面。我們的大量評估表明,與先前的工作相比,我們的方法實(shí)現(xiàn)了高質(zhì)量的重建結(jié)果、魯棒的泛化以及相當(dāng)好的效率。
3. 算法解析
先讓我們重新審視一下這個問題:
給定單張圖像,繪制其三維模型。
傳統(tǒng)方法會怎么做呢?
使用SLAM或SfM?單張圖像做初始化都不夠。
使用MVS方法?沒有多視角圖像就沒有視差圖。
用NeRF?最吃數(shù)據(jù)了,視角大一點(diǎn)都不行。
直接訓(xùn)模型學(xué)習(xí)?思路上可以,實(shí)操起來效果非常差。
這個任務(wù)本身就非常反人類,因為只有一個視角,沒有先驗信息誰也不知道完整的三維模型長什么樣。
那怎么做呢?
這篇文章的思路很巧妙,沒有像NeRF那樣直接從2D圖像生成3D模型,而是先用擴(kuò)散模型生成多個視角的2D圖像和法線圖,再融合生成3D模型。
這么做有啥好處呢?
最大的好處就是可以直接利用Stable Diffusion這種經(jīng)過數(shù)十億張圖像訓(xùn)練過的2D擴(kuò)散模型,實(shí)際上相當(dāng)于引入了非常強(qiáng)的先驗信息。而且法線圖可以表征物體的起伏和表面幾何信息,進(jìn)而計算3D模型的高保真幾何元素。
這樣,整個任務(wù)就變?yōu)榱私⒁粋€馬爾科夫鏈,然后從中采樣顏色和法線信息的過程。
其中p代表高斯噪聲,n代表法線圖,x代表RGB圖,K代表圖像數(shù)量。
不太對,擴(kuò)散模型只能處理一個域,怎么出來RGB和法線兩個域了?
的確是這樣,最直觀的改動思路就是給擴(kuò)散模型添加一個頭,重新訓(xùn)練模型,直接輸出RGB和法線信息,這也是前兩年多任務(wù)網(wǎng)絡(luò)的常用做法。但是實(shí)際操作過程中會發(fā)現(xiàn)收斂很慢,而且泛化性差。
另一個思路是直接訓(xùn)練兩個擴(kuò)散模型,但這樣不光增加了計算量,還會導(dǎo)致性能下降。
Wonder3D的做法是設(shè)計了一個域轉(zhuǎn)換器(Domain Switcher),實(shí)際上是一個標(biāo)注域信息的一維向量。域轉(zhuǎn)換器先做位置編碼,聚合時間embedding信息,再把它也輸送給擴(kuò)散模型,就可以讓擴(kuò)散模型同時處理兩個域的信息。
這一點(diǎn)可以先放一個定性對比圖來觀察:
還有問題,RGB和法線是獨(dú)立生成的,多視角的RGB圖也未必就幾何一致。
在這里,Wonder3D引入了一個注意力機(jī)制,分別處理多個時間RGB幾何不一致的問題,以及RGB和法線圖的關(guān)聯(lián)問題。
到這里,Wonder3D具體的Pipeline就出來了:
輸入一幅圖像,Wonder3D取原始圖像、CLIP產(chǎn)生的文本embedding、多視角相機(jī)參數(shù),以及一個域轉(zhuǎn)換器作為條件,生成一致的多視點(diǎn)法線圖和彩色圖。隨后,Wonder3D借助法線融合算法,將2D表征重建為高質(zhì)量的3D幾何圖形,產(chǎn)生高保真的紋理網(wǎng)格。
最后再看看這個幾何融合是怎么做的:
Wonder3D是優(yōu)化神經(jīng)隱式SDF場,來從匹配的RGB和法線圖中提取完整的三維信息。
剛才不是說NeRF需要稠密的圖像序列嗎?
如果直接做NeRF-SDF重建的話,誤差非常大,并且會一直累計下去。Wonder3D的做法是引入了一系列損失函數(shù)來約束優(yōu)化:
4. 實(shí)驗
訓(xùn)練數(shù)據(jù)集是LVIS子集,batch size是512,在8塊A800上訓(xùn)練了3天(果然普通人還是玩不起)。從2D圖像生成3D模型的方法還是用的Instant NGP(論NeRF在各個領(lǐng)域的入侵haaaaa)。評估使用Google Scanned Object數(shù)據(jù)集。評估指標(biāo)方面,3D重建用Chamfer Distances (CD)和Volume IoU,生成圖像質(zhì)量用PSNR、SSIM、LPIPS這幾個常見指標(biāo)。對比的方案也都是目前的SOTA,包括Zero123、RealFusion、Magic123、One-2-3-45、Point-E、Shap-E、SyncDreamer這些。
新視點(diǎn)合成對比,Zero 123缺乏多視圖一致性,SyncDreamer對輸入圖像的仰角比較敏感,但是Wonder3D生成具有語義一致性和幾何一致性的圖像。這里也推薦「3D視覺工坊」新課程《徹底搞透視覺三維重建:原理剖析、代碼講解、及優(yōu)化改進(jìn)》。
新視點(diǎn)合成的定量對比。
3D重建質(zhì)量的對比,Shape-E的重建結(jié)果不完整且扭曲。SyncDreamer的重建結(jié)生成圖像大致對齊,但紋理質(zhì)量不好。相比之下Wonder3D實(shí)現(xiàn)幾何和紋理上最高的重建質(zhì)量。
3D重建的定量對比。
最后3D生成模型中各項損失函數(shù)的消融實(shí)驗,驗證損失函數(shù)的必要性:
還是一個消融實(shí)驗,驗證多視圖幾何一致性和RGB-法線對其的注意力機(jī)制的作用:
5. 總結(jié)
本文為各位讀者介紹了Wonder3D,可以從單張圖像直接生成完整的三維模型,整個模型的設(shè)計思路很巧妙,而且也開源。渲染速度也達(dá)到了2~3分鐘,這項工作的應(yīng)用也很廣泛,建圖、VR、AR、動畫、影視等等都可以用。感覺Wonder3D還是很神奇的,有點(diǎn)長見識了。
-
3D
+關(guān)注
關(guān)注
9文章
2899瀏覽量
107701 -
圖像
+關(guān)注
關(guān)注
2文章
1088瀏覽量
40515 -
模型
+關(guān)注
關(guān)注
1文章
3279瀏覽量
48973
原文標(biāo)題:上線一周就2.1k star!單張圖像直接轉(zhuǎn)為3D模型!
文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論