「單張圖像重建3D網(wǎng)格」告別卡頓,從30分鐘提速到45秒!浙大、加州大學(xué)等聯(lián)合發(fā)布One-2-3-45:在線Demo可試玩
基于單幅圖像進行三維重建是一項具有重要應(yīng)用價值的任務(wù),但實現(xiàn)起來也非常困難,需要模型對對自然世界具有廣泛的先驗知識。
之前有工作通過在2D擴散模型的引導(dǎo)下優(yōu)化神經(jīng)輻射場來解決這個問題,但仍存在優(yōu)化時間過長、3D結(jié)果不一致以及幾何形狀不佳等問題。
最近,來自加州大學(xué)圣迭戈分校、加州大學(xué)洛杉磯分校、康奈爾大學(xué)、浙江大學(xué)、印度理工學(xué)院馬德拉斯分校以及Adobe的研究人員聯(lián)合提出一個新模型One-2-3-45,以任意物體的單張圖像作為輸入,只需45秒即可在一次前饋過程中生成一個完整的360度的3D紋理網(wǎng)格。
圖片
論文鏈接:https://arxiv.org/pdf/2306.16928.pdf
項目主頁:https://one-2-3-45.github.io/
在線Demo:https://huggingface.co/spaces/One-2-3-45/One-2-3-45
圖片
One-2-3-45主要包括三個組件:
1. 多視角合成:使用視圖條件的二維擴散模型Zero123,以兩階段的方式生成多視圖圖像,輸入包括單幅圖像和相對相機變換,參數(shù)為相對球面坐標(biāo);
2. 姿態(tài)估計:根據(jù)Zero123生成的4個鄰近視圖估計輸入圖像的仰角,再將指定的相對位置與輸入視圖的估計位置相結(jié)合,獲得多視圖圖像的位置;
3. 三維重建:將多視圖姿態(tài)圖像輸入基于SDF的通用神經(jīng)曲面重建模塊,進行360°網(wǎng)格重建
由于無需使用開銷較大的優(yōu)化操作,該方法在重建3D形狀時相比其他方法耗時顯著縮短。
此外,該方法還可以生成更好的幾何形狀,產(chǎn)生3D一致性更好的結(jié)果,并更忠實于輸入圖像。
在實驗部分,研究人員對該方法在合成數(shù)據(jù)和全新圖像上都進行了實驗,證明了該方法在網(wǎng)格質(zhì)量和運行時間上的優(yōu)勢。
該方法也可以通過集成與現(xiàn)成的文本到圖像的擴散模型,無縫地支持文本到3D的任務(wù)。
One-2-3-45
Zero123:以視圖為條件的2D擴散模型
通過在互聯(lián)網(wǎng)規(guī)模的數(shù)據(jù)上進行訓(xùn)練,二維擴散模型可以學(xué)習(xí)到通用的視覺概念,并且控制條件也從文本擴展到其他模態(tài),例如可視邊緣、用戶涂鴉、深度和法線圖等。
Zero123模型采用類似的思路,將條件設(shè)為視點(viewpoint)來控制圖像生成,具體來說,給定一個物體的RGB圖像和一個相對的相機變換,Zero123可以控制擴散模型在變換后的相機視角下合成一個新的圖像。
Zero123根據(jù)大規(guī)模三維數(shù)據(jù)集來合成一對圖像及其相對相機變換對穩(wěn)定擴散進行了微調(diào)。
在創(chuàng)建微調(diào)數(shù)據(jù)集的過程中,Zero123假設(shè)物體以坐標(biāo)系的原點為中心,并使用球形攝像機,即攝像機放置在球面上并始終看著原點,相機位置參數(shù)包括極角、方位角和半徑,兩個點的差值即為相對攝像機變換參數(shù)。
目標(biāo)是學(xué)習(xí)一個模型f,使得f在輸入「初始視角,相機變換參數(shù)」時與輸入「變換后視角」時感知相似。
實驗結(jié)果發(fā)現(xiàn),這種微調(diào)方式可以使Stable Diffusion模型用于學(xué)習(xí)控制攝像機視點的通用機制,對微調(diào)數(shù)據(jù)集之外的物體進行推斷。
NeRF優(yōu)化能否將多視圖預(yù)測提升至三維?
給定一個物體的單張圖像,可以利用Zero123生成多視圖圖像,但能否使用傳統(tǒng)的基于NeRF或基于SDF的方法從這些預(yù)測中重建高質(zhì)量的三維網(wǎng)格呢?
給定單幅圖像后,研究人員首先使用Zero123從球面均勻采樣相機姿態(tài),生成32幅多視角圖像,然后將預(yù)測結(jié)果輸入基于NeRF的方法(TensoRF)和基于SDF的方法(NeuS),分別優(yōu)化密度場和SDF場。
圖片
不過這兩種方法都沒有取得令人滿意的結(jié)果,生成結(jié)果中包含大量的失真和浮點,主要是由于Zero123預(yù)測不一致導(dǎo)致的。
圖片
2階段源視圖選擇和真實預(yù)測混合訓(xùn)練
SparseNeuS論文中只演示了正面視圖重構(gòu),但研究人員通過在訓(xùn)練過程中以特定方式選擇源視圖并添加深度監(jiān)督,將其擴展到在一次前饋傳遞中重構(gòu)360度網(wǎng)格。
凍結(jié)Zero123模型的參數(shù)后,在三維物體數(shù)據(jù)集上訓(xùn)練。
按照Zero123對訓(xùn)練形狀進行歸一化處理,并使用球形相機模型;對于每個形狀,首先渲染來自球面上均勻分布的n個攝像機姿態(tài)的n幅真實RGB和深度圖像;對于每個視圖,使用Zero123預(yù)測附近的四個視圖。
在訓(xùn)練過程中,將所有4×n的預(yù)測結(jié)果和真實姿態(tài)輸入到重建模塊中,并隨機選擇n個真實RGB圖像中的一個視圖作為目標(biāo)視圖,然后使用真實RGB值和深度值進行有監(jiān)督訓(xùn)練,從而可以讓模型學(xué)會處理來自Zero123的不一致預(yù)測,并重建一致的360°網(wǎng)格。
相機位置估計
研究人員提出了一個仰角估計模塊來推斷輸入圖像的仰角。
首先使用Zero123預(yù)測輸入圖像的四個鄰近視圖,然后以從粗到細的方式列舉所有可能的仰角。
對于每個仰角候選角,計算四幅圖像對應(yīng)的相機姿態(tài),并計算這組相機姿態(tài)的重投影誤差,以衡量圖像與相機姿態(tài)之間的一致性。
重投影誤差最小的仰角被用于通過組合輸入視圖的姿態(tài)和相對姿態(tài)來生成所有4×n源視圖的相機姿態(tài)。
實驗結(jié)果
圖片
從定性實驗結(jié)果來看,在對比現(xiàn)有zero-shot圖像三維重建方法時,包括Point-E、Shap-E等在數(shù)百萬三維數(shù)據(jù)上訓(xùn)練得到的模型,以及基于Stable Diffusion先驗的優(yōu)化方法,可以看到One-2-3-45模型在處理合成圖像和真實圖像時都非常有效。
圖片
研究人員還在Objaverse和GoogleScannedObjects(GSO)數(shù)據(jù)集上對這些方法進行了定量比較。
對于每個數(shù)據(jù)集,隨機選擇20個形狀,并為每個形狀渲染一張圖像進行評估。
為了使預(yù)測結(jié)果與真實網(wǎng)格對齊,線性搜索縮放因子和旋轉(zhuǎn)角度,對采樣點云應(yīng)用迭代最鄰近點(ICP),并選擇離群值最多的點云。
遵循RealFusion測量了F-score(閾值為0.05)和CLIP相似度,以及在A100 GPU上的運行時間。
圖片
從實驗結(jié)果中可以看到,該方法在F-Score方面優(yōu)于所有基線方法;在CLIP相似度方面,除了Shap-E之外,超越了所有方法。
還可以發(fā)現(xiàn),CLIP相似度對顏色分布非常敏感,而對局部幾何變化(如凳子的腿數(shù)、杯子的把手數(shù))的區(qū)分度較低。
在運行時間方面,與基于優(yōu)化的方法相比,該方法具有明顯優(yōu)勢,其性能與Point-E和Shap-E等三維原生擴散模型相當(dāng),即三維重建模塊只需要大約5秒鐘就可以重建一個三維網(wǎng)格,剩余時間主要用于Zero123預(yù)測,在A100 GPU上每幅圖像大約需要1秒鐘。