3D AI生成出新玩法了:無需數(shù)小時,只要45秒,單張圖片即可生成 3D模型
3D AI 生成最近發(fā)展得如火如荼,不少最新工作都能夠從一句話 / 一張圖生成高質(zhì)量的三維模型。然而從去年下半年的 DreamFusion 和 Magic3D 到最新的 ProlificDreamer,絕大多數(shù)工作都通過對每個物體進(jìn)行優(yōu)化的方式來生成 3D 模型。這種方式使得現(xiàn)有的 3D AI 生成方法都非常耗時,譬如 ProlificDreamer 的作者就曾在知乎上表示方法目前的主要局限之一便是生成時間太慢了!
“一般而言,使用 stable-diffusion 生成一張圖片在 PC 上只需要幾秒鐘,哪怕微調(diào) LoRA 也很快;然而,我們生成一個 3D 物體需要數(shù)個小時,尤其是分辨率越高越慢。這主要是因?yàn)槲覀儽举|(zhì)上還是借助于隨機(jī)梯度下降來優(yōu)化 3D 表示(NeRF 或 Mesh)的參數(shù),這樣的優(yōu)化過程需要很多步的迭代,并且對 GPU 的顯存也有一定要求。我們最終展示的效果是 512 分辨率的結(jié)果,這些結(jié)果的優(yōu)化確實(shí)非常耗時,所以目前個人使用者還是很難在 PC 上直接使用我們的算法。”
高昂的推斷成本不僅使得研究者的實(shí)驗(yàn)迭代變慢,也阻礙了 3D AIGC 技術(shù)對于很多實(shí)時應(yīng)用的商業(yè)落地和推廣。
然而就在最近,來自 UCSD 等機(jī)構(gòu)的研究者發(fā)布了一項(xiàng)最新工作,One-2-3-45,它擺脫了逐物體優(yōu)化的生成范式,能夠在 45 秒內(nèi)從任意單張圖片 / 文本生成 3D 紋理網(wǎng)格,且在測試時無需針對每個物體進(jìn)行優(yōu)化。
- Project Page: http://one-2-3-45.com
- Paper: https://arxiv.org/pdf/2306.16928.pdf
- Code: https://github.com/One-2-3-45/One-2-3-45
- Demo:https://huggingface.co/spaces/One-2-3-45/One-2-3-45
通過與現(xiàn)有的文生圖模型(如 DALL-E2)結(jié)合,One-2-3-45 也支持從任意文本生成 3D 模型。
論文一發(fā)布,就被推特大佬 AK 宣傳轉(zhuǎn)發(fā),并受到網(wǎng)友的廣泛關(guān)注。
圖片
網(wǎng)友 Xin Kong 評論到:“這是最好的時代,也是最壞的時代。這可能是 3D 擴(kuò)散生成中的 Instant NGP 時刻。30 分鐘 ->45 秒,無分?jǐn)?shù)蒸餾,2D 視圖到 3D 是必經(jīng)之路!”
圖片
方法
由于 3D 數(shù)據(jù)的稀缺性,學(xué)術(shù)界最近的絕大多數(shù) 3D AI 生成工作都通過利用 2D 擴(kuò)散生成模型來指導(dǎo) 3D 表示(如 NeRF)的優(yōu)化,從而實(shí)現(xiàn) 3D 內(nèi)容生成。One-2-3-45 沒有遵循這個范式,而是先利用 2D 擴(kuò)散模型生成多視角圖像,然后希望利用這些多視角圖像來重建 3D 模型。
具體而言,One-2-3-45 利用了一個基于視角控制的 2D 擴(kuò)散生成模型,Zero123。該模型通過微調(diào) Stable Diffusion,實(shí)現(xiàn)了輸入單張圖片和一個相機(jī)的相對位姿變換,便能夠預(yù)測該物體在變換后的視角下的對應(yīng)圖像的能力。
通過借助這類 2D 擴(kuò)散生成模型,我們能夠從一張圖片預(yù)測生成對應(yīng)的多視角圖像。
圖片
一個很自然的想法,便是將這些多視角圖像傳給經(jīng)典的基于 NeRF 的重建方法來生成 3D 模型。然而研究者發(fā)現(xiàn)這樣并不能生成高質(zhì)量的 3D 模型(如下圖所示)。
圖片
這其實(shí)是因?yàn)?strong>網(wǎng)絡(luò)預(yù)測的多視角圖像具有潛在的不一致性。然而對于基于 NeRF 的優(yōu)化類重建方法,一些微小的不一致便已足以使得方法崩潰。
圖片
如上圖所示,通過將預(yù)測的多視角圖像與真實(shí)數(shù)據(jù)進(jìn)行對比,研究者發(fā)現(xiàn) Zero123 預(yù)測的多視角圖像雖然不具備像素級別的高精確度(PSNR 不高)。但整體輪廓(mIoU)以及語義 / 感知相似性(CLIP 相似度)都很高,尤其當(dāng)相機(jī)相對位姿變換較小時。這些結(jié)果說明了用網(wǎng)絡(luò)預(yù)測的多視角圖像進(jìn)行三維重建的可能性。
在 One-2-3-45 中,研究者使用了基于 cost volume 的可泛化 NeRF 類的方法來實(shí)現(xiàn)三維重建。這類方法將多視角圖像作為輸入,在訓(xùn)練后能夠直接推斷 3D 內(nèi)容而無需額外優(yōu)化。由于這類方法通過從訓(xùn)練數(shù)據(jù)學(xué)習(xí)了有關(guān)多視角預(yù)測不一致性的先驗(yàn)知識,他們更有希望能從不一致的多視角預(yù)測中生成 3D 模型。
圖片
One-2-3-45 方法流程圖
具體來說,One-2-3-45 首先通過對多視角圖像抽取 2D 圖像特征,并通過相機(jī)位姿來構(gòu)建 3D cost volume。然后 One-2-3-45 通過 3D 卷積神經(jīng)網(wǎng)絡(luò)來從 3D cost volume 推斷輸入多視角圖像對應(yīng)的潛在 3D 幾何,并最后通過 MLP 來預(yù)測物體的 SDF 和顏色,進(jìn)行體積渲染。
通過結(jié)合 2D 擴(kuò)散生成模型和基于 cost volume 的可泛化 NeRF,One-2-3-45 能夠在一次前向傳播中生成 3D 模型。擺脫了耗時的逐物體 3D 優(yōu)化后,One-2-3-45 生成一個高質(zhì)量 3D 紋理網(wǎng)格的時間從數(shù)小時降到了 45 秒!
然而在實(shí)現(xiàn)這個想法的過程中,研究人員卻遇到了一些具體的挑戰(zhàn):
1. 現(xiàn)有的可泛化 NeRF 方法大都是將具有一致性的多視角圖像作為輸入(渲染自真實(shí)物體)。但如何將這類方法擴(kuò)展到不完全一致的多視角預(yù)測上呢?
2. 現(xiàn)有的可泛化 NeRF 方法很多都專注于前景區(qū)域的重建。但在 3D 生成的問題中,我們希望得到 360 度的完整模型。
3. 由于 Zero123 采用了球坐標(biāo)系來描述相對相機(jī)位姿。為了提供多視角圖像的相機(jī)位姿給重建模塊,我們需要得到輸入圖片對應(yīng)的相機(jī)俯仰角(elevation)。
為了解決這些挑戰(zhàn),研究者提出了一系列關(guān)鍵的訓(xùn)練策略(如分階段預(yù)測多視角圖像)和一個俯仰角預(yù)測模塊。詳情請參考原論文。
研究者還特別指出由于重建模塊主要依賴于局部的對應(yīng)關(guān)系(correspondence),因此其只需少量的數(shù)據(jù)進(jìn)行訓(xùn)練,并具有很強(qiáng)的可泛化性。
與現(xiàn)有 3D AI 生成方法的比較
研究者表示,得益于 “2D 多視角預(yù)測 + 3D 可泛化重建” 的技術(shù)路線,One-2-3-45 與現(xiàn)有的 3D AI 生成方法相比,除了推斷時間顯著降低外,還在輸入的多樣性、輸出的幾何表示、結(jié)果的 3D 一致性、與輸入的相似性,以及所需的 3D 數(shù)據(jù)規(guī)模上,具有多方面的優(yōu)勢。
圖片
具體來說,許多基于逐物體優(yōu)化的方法雖然能生成高質(zhì)量 3D 內(nèi)容,但目前只支持文字生成 3D(如 DreamFusion,Magic3D 和 ProlificDreamer)。而 One-2-3-45 既支持文字生成 3D 也支持圖片生成 3D。下圖展示了 One-2-3-45 與現(xiàn)有的主要圖生 3D 的方法的對比。
可以看到一些基于 NeRF 優(yōu)化的方法(如 RealFusion 和 3D Fuse)雖然從新視角合成的角度上得到了還不錯的結(jié)果,但 NeRF 所輸出的幾何質(zhì)量卻不盡人意。類似地,Point-E 的原生輸出是稀疏點(diǎn)云,在經(jīng)過后處理重建后仍易存在部分區(qū)域破碎缺失的問題。而 One-2-3-45 通過預(yù)測 SDF 來提取網(wǎng)格,輸出的幾何質(zhì)量要更具優(yōu)勢。
另外一個重要的點(diǎn)便是現(xiàn)有方法的輸出沒有完全遵循(adherence)輸入圖片的指示。比如對于第一列的背包,Zero123+SD 生成的背包只有一條背帶;Shap-E 生成的背包沒有背帶。對于第二列的單只滅火器,Shap-E 和 Point-E 都預(yù)測了兩個兩個連體的滅火器。對于第四列的凳子,可以看到只有 One-2-3-45 和 3DFuse 保留了輸入圖片的椅腿結(jié)構(gòu)。但需要注意的是,3DFuse 生成的所有 3D 內(nèi)容在具體風(fēng)格和細(xì)節(jié)上均與輸入圖片有較大出入。
此外,研究者還指出基于逐物體優(yōu)化的方法通常會遇到 3D 一致性的挑戰(zhàn)。他們生成的 3D 模型通常會出現(xiàn)多面現(xiàn)象(或者 Janus 問題)。比如在上圖中,RealFusion 生成了一個雙面背包。相比之下,One-2-3-45 生成結(jié)果的 3D 一致性要好很多。
研究者還提到了 OpenAI 的 Point-E 和 Shap-E 在訓(xùn)練時用到了數(shù)百萬級別的內(nèi)部 3D 數(shù)據(jù)。由于 3D 數(shù)據(jù)的稀缺性,這樣的訓(xùn)練數(shù)據(jù)規(guī)模目前對于很多研究者 / 機(jī)構(gòu)來說還是比較嚴(yán)苛的條件。
可以看到除了之前提過的問題外,現(xiàn)有的文生 3D 方法對輸入文本的把握能力并不是很強(qiáng)。比如,對于輸入文本 “一棵空心的大樹”,“一只有綠腿的橙色凳子”,“一頂哈瓦那風(fēng)格菠蘿形狀的帽子” 以及 “一只木頭質(zhì)地的蘑菇” 等,現(xiàn)有方法都無法生成精確對應(yīng)的 3D 內(nèi)容。相比之下,One-2-3-45 所采納的在 2D 生成對應(yīng)圖片再提升到 3D 似乎是一條能夠?qū)斎胛谋居懈泳_控制的路線。
結(jié)語
One-2-3-45 提出了 “2D 多視角預(yù)測 + 3D 可泛化重建” 這樣一項(xiàng)新穎的 3D AI 生成玩法,并在許多方面都展示出了其優(yōu)越性。雖然目前 One-2-3-45 的生成質(zhì)量可能還比不上部分基于逐物體優(yōu)化的文生 3D 模型,但這個新玩法的探索和提高空間可能是充滿潛力的。