OpenAI文本生成3D模型再升級(jí),數(shù)秒完成建模,比Point·E更好用
生成式 AI 大模型是 OpenAI 發(fā)力的重點(diǎn),目前已經(jīng)推出過(guò)文本生成圖像模型 DALL-E 和 DALL-E 2,以及今年初基于文本生成 3D 模型的 POINT-E。
近日,OpenAI 研究團(tuán)隊(duì)升級(jí)了 3D 生成模型,全新推出了 Shap?E,它是一個(gè)用于合成 3D 資產(chǎn)的條件生成式模型。目前相關(guān)模型權(quán)重、推理代碼和樣本已開(kāi)源。
- 論文地址:https://arxiv.org/abs/2305.02463
- 項(xiàng)目地址:https://github.com/openai/shap-e
我們先來(lái)看一下生成效果。與根據(jù)文字生成圖像類似,Shap?E 生成的 3D 物體模型主打一個(gè)「天馬行空」。例如,一個(gè)看起來(lái)像香蕉的飛機(jī):
看起來(lái)像一棵樹(shù)的椅子:
還有經(jīng)典例子,像牛油果的椅子:
當(dāng)然也可以生成一些常見(jiàn)物體的三維模型,例如一碗蔬菜:
甜甜圈:
本文提出的 Shap?E 是一種在 3D 隱式函數(shù)空間上的潛擴(kuò)散模型,可以渲染成 NeRF 和紋理網(wǎng)格。在給定相同的數(shù)據(jù)集、模型架構(gòu)和訓(xùn)練計(jì)算的情況下,Shap?E 更優(yōu)于同類顯式生成模型。研究者發(fā)現(xiàn)純文本條件模型可以生成多樣化、有趣的物體,更彰顯了生成隱式表征的潛力。
不同于 3D 生成模型上產(chǎn)生單一輸出表示的工作,Shap-E 能夠直接生成隱式函數(shù)的參數(shù)。訓(xùn)練 Shap-E 分為兩個(gè)階段:首先訓(xùn)練編碼器,該編碼器將 3D 資產(chǎn)確定性地映射到隱式函數(shù)的參數(shù)中;其次在編碼器的輸出上訓(xùn)練條件擴(kuò)散模型。當(dāng)在配對(duì) 3D 和文本數(shù)據(jù)的大型數(shù)據(jù)集上進(jìn)行訓(xùn)練時(shí), 該模型能夠在幾秒鐘內(nèi)生成復(fù)雜而多樣的 3D 資產(chǎn)。與點(diǎn)云顯式生成模型 Point?E 相比,Shap-E 建模了高維、多表示的輸出空間,收斂更快,并且達(dá)到了相當(dāng)或更好的樣本質(zhì)量。
研究背景
本文聚焦兩種用于 3D 表示的隱式神經(jīng)表示(INR):
- NeRF 一個(gè) INR,它將 3D 場(chǎng)景表示為將坐標(biāo)和視向映射到密度和 RGB 顏色的函數(shù);
- DMTet 及其擴(kuò)展 GET3D 表示一個(gè)紋理 3D 網(wǎng)格,它作為函數(shù)將坐標(biāo)映射到顏色、符號(hào)距離和頂點(diǎn)偏移的。這種 INR 能夠以可微的方式構(gòu)建 3D 三角網(wǎng)格,然后渲染為可微的柵格化庫(kù)。
雖然 INR 靈活而富有表現(xiàn)力,但為數(shù)據(jù)集中每個(gè)樣本獲取 INR 的成本高昂。此外每個(gè) INR 可能有許多數(shù)值參數(shù),在訓(xùn)練下游生成模型時(shí)可能會(huì)帶來(lái)難題。通過(guò)使用帶有隱式解碼器的自動(dòng)編碼器來(lái)解決這些問(wèn)題,可以獲得較小的潛在表示,它們直接用現(xiàn)有生成技術(shù)進(jìn)行建模。另外還有一種替代方法,就是使用元學(xué)習(xí)創(chuàng)建一個(gè)共享大部分參數(shù)的 INR 數(shù)據(jù)集,然后在這些 INR 的自由參數(shù)上訓(xùn)練擴(kuò)散模型或歸一化流。也有人提出,基于梯度的元學(xué)習(xí)可能并不必要,相反應(yīng)該直接訓(xùn)練 Transformer 編碼器,產(chǎn)生以 3D 對(duì)象多個(gè)視圖為條件的 NeRF 參數(shù)。
研究者將上述幾種方法結(jié)合并拓展,最終得到了 Shap?E,并成為用于各種復(fù)雜 3D 隱式表示的條件生成模型。首先通過(guò)訓(xùn)練基于 Transformer 的編碼器來(lái)為 3D 資產(chǎn)生成 INR 參數(shù),然后在編碼器的輸出上訓(xùn)練擴(kuò)散模型。與先前的方式不同,生成同時(shí)表示 NeRF 和網(wǎng)格的 INR,允許它們以多種方式渲染或?qū)胂掠?3D 應(yīng)用。
當(dāng)在數(shù)百萬(wàn)個(gè) 3D 資產(chǎn)的數(shù)據(jù)集上訓(xùn)練時(shí),本文模型能夠在文本 prompt 的條件下產(chǎn)生多種可識(shí)別的樣本。與最近提出的顯式 3D 生成模型 Point?E 相比,Shap-E 收斂得更快。在相同的模型架構(gòu)、數(shù)據(jù)集和條件作用機(jī)制的情況下,它能獲得相當(dāng)或更好的結(jié)果。
方法概覽
研究者首先訓(xùn)練編碼器產(chǎn)生隱式表示,然后在編碼器產(chǎn)生的潛在表示上訓(xùn)練擴(kuò)散模型,主要分為以下兩步完成:
1. 訓(xùn)練一個(gè)編碼器,在給定已知 3D 資產(chǎn)的密集顯式表示的情況下,產(chǎn)生隱式函數(shù)的參數(shù)。編碼器產(chǎn)生 3D 資產(chǎn)的潛在表示后線性投影,以獲得多層感知器(MLP)的權(quán)重;
2. 將編碼器應(yīng)用于數(shù)據(jù)集,然后在潛在數(shù)據(jù)集上訓(xùn)練擴(kuò)散先驗(yàn)。該模型以圖像或文本描述為條件。
研究者在一個(gè)大型的 3D 資產(chǎn)數(shù)據(jù)集上使用相應(yīng)的渲染、點(diǎn)云和文本標(biāo)題訓(xùn)練所有模型。
3D 編碼器
編碼器架構(gòu)如下圖 2 所示。
潛在擴(kuò)散
生成模型采用基于 transformer 的 Point?E 擴(kuò)散架構(gòu),但是使用潛在向量序列取代點(diǎn)云。潛在函數(shù)形狀序列為 1024×1024,并作為 1024 個(gè) token 序列輸入 transformer,其中每個(gè) token 對(duì)應(yīng)于 MLP 權(quán)重矩陣的不同行。因此,該模型在計(jì)算上大致相當(dāng)于基礎(chǔ) Point?E 模型(即具有相同的上下文長(zhǎng)度和寬度)。在此基礎(chǔ)上增加了輸入和輸出通道,能在更高維度的空間中生成樣本。
實(shí)驗(yàn)結(jié)果
編碼器評(píng)估
研究者在整個(gè)編碼器訓(xùn)練過(guò)程中跟蹤兩個(gè)基于渲染的指標(biāo)。首先評(píng)估重建圖像和真實(shí)渲染圖像之間的峰值信噪比(PSNR)。此外,為了衡量編碼器捕獲 3D 資產(chǎn)語(yǔ)義相關(guān)細(xì)節(jié)的能力,對(duì)最大 Point?E 模型產(chǎn)生的網(wǎng)格進(jìn)行編碼,重新評(píng)估重建 NeRF 和 STF 渲染的 CLIP R-Precision。
下表 1 跟蹤了這兩個(gè)指標(biāo)在不同訓(xùn)練階段的結(jié)果??梢园l(fā)現(xiàn),蒸餾損害了 NeRF 重建質(zhì)量,而微調(diào)不僅恢復(fù)還略微提高了 NeRF 質(zhì)量,同時(shí)大幅提高了 STF 渲染質(zhì)量。
對(duì)比 Point?E
研究者提出的潛在擴(kuò)散模型與 Point?E. 具有相同架構(gòu)、訓(xùn)練數(shù)據(jù)集和條件模式。與 Point?E 進(jìn)行比較更有利于區(qū)分生成隱式神經(jīng)表示而不是顯式表示的影響。下圖 4 在基于樣本的評(píng)估指標(biāo)上對(duì)這些方法進(jìn)行了比較。
下圖 5 中顯示了定性樣本,可以看到這些模型通常為相同的文本 prompt 生成質(zhì)量不同的樣本。在訓(xùn)練結(jié)束之前,文本條件 Shap?E 在評(píng)估中開(kāi)始變差。
研究者發(fā)現(xiàn) Shap?E 和 Point?E 傾向于共享相似的失敗案例,如下圖 6 (a) 所示。這表明訓(xùn)練數(shù)據(jù)、模型架構(gòu)和條件圖像對(duì)生成樣本的影響大于選擇的表示空間。
我們可以觀察到兩個(gè)圖像條件模型之間仍然存在一些定性差異,例如在下圖 6 (b) 的第一行中,Point?E 忽略了長(zhǎng)凳上的小縫隙,而 Shap?E 試圖對(duì)它們進(jìn)行建模。本文假設(shè)會(huì)出現(xiàn)這種特殊的差異,因?yàn)辄c(diǎn)云不能很好地表示薄特征或間隙。此外在表 1 中觀察發(fā)現(xiàn),當(dāng)應(yīng)用于 Point?E 樣本時(shí),3D 編碼器略微降低了 CLIP R-Precision。
與其他方法比較
下表 2 中,研究者在 CLIP R-Precision 度量標(biāo)準(zhǔn)上將 shape?E 與更廣泛的 3D 生成技術(shù)進(jìn)行了比較。
局限與展望
雖然 Shap-E 可以理解許多具有簡(jiǎn)單屬性的單個(gè)對(duì)象 prompt,但它在組合概念方面的能力有限。下圖 7 中可發(fā)現(xiàn),這個(gè)模型很難將多個(gè)屬性綁定到不同的對(duì)象,并且當(dāng)請(qǐng)求兩個(gè)以上的對(duì)象時(shí),無(wú)法有效生成正確的對(duì)象數(shù)量。這可能是配對(duì)訓(xùn)練數(shù)據(jù)不足導(dǎo)致的結(jié)果,通過(guò)收集或生成更大的標(biāo)注 3D 數(shù)據(jù)集或許可以解決。
此外,Shap?E 產(chǎn)生可識(shí)別的 3D 資產(chǎn),但這些通??雌饋?lái)粗糙或缺乏細(xì)節(jié)。下圖 3 顯示編碼器有時(shí)會(huì)丟失詳細(xì)的紋理(例如仙人掌上的條紋),這表明改進(jìn)的編碼器可能會(huì)恢復(fù)一些損失的生成質(zhì)量。
更多技術(shù)和實(shí)驗(yàn)細(xì)節(jié)請(qǐng)參閱原論文。