繼 AI 將文字變成圖片后,又有 AI 可以將文字變成 3D 場(chǎng)景了。
近日,蘋果 AI 團(tuán)隊(duì)發(fā)布最新 AI 系統(tǒng) GAUDI,GAUDI 基于用于生成沉浸式 3D 場(chǎng)景的神經(jīng)架構(gòu) NeRFs,可以根據(jù)輸入的文字提示生成 3D 室內(nèi)場(chǎng)景。
在此之前,OpenAI 的 DALL-E 2 以及谷歌的 Imagen 和 Parti 等 AI 系統(tǒng)都展示了將文字生成圖片的能力,但生成的內(nèi)容僅限于 2D 圖像和圖形。
2021 年年末,谷歌通過 Dream Fields 首次展示了新的 AI 系統(tǒng),該系統(tǒng)將 NeRF 生成 3D 視圖的能力與 OpenAI 的 CLIP 評(píng)估圖像內(nèi)容的能力相結(jié)合。而蘋果 AI 團(tuán)隊(duì)發(fā)布的 GAUDI 則更進(jìn)一步,能夠生成沉浸式 3D 場(chǎng)景的神經(jīng)架構(gòu),并可以根據(jù)文字提示創(chuàng)建 3D 場(chǎng)景。
例如,輸入“穿過走廊”或“上樓梯”,就可以看到執(zhí)行這一動(dòng)作的 3D 場(chǎng)景視頻。
據(jù)了解,NeRFs 是一種主要用于 3D 模型和 3D 場(chǎng)景的神經(jīng)存儲(chǔ)介質(zhì),并能夠從不同的相機(jī)視角進(jìn)行渲染。
此前,將生成 AI 擴(kuò)展到完全不受約束的 3D 場(chǎng)景是一個(gè)尚未解決的問題。這背后的原因之一是受限于攝像機(jī)位置:雖然對(duì)于單個(gè)對(duì)象,每個(gè)攝像機(jī)位置都可以映射到一個(gè)圓頂,但在 3D 場(chǎng)景中,這些攝像機(jī)位置會(huì)受到對(duì)象和墻壁等障礙物的限制。
對(duì)于這個(gè)難題,GAUDI 模型的解決方案是:相機(jī)姿態(tài)解碼器對(duì)可能的相機(jī)位置進(jìn)行預(yù)測(cè),并確保輸出是 3D 場(chǎng)景架構(gòu)的有效位置。
雖然當(dāng)前 GAUDI 生成的 3D 場(chǎng)景視頻質(zhì)量很低,但這也預(yù)示了 AI 在未來新的可能,或許在 AI 的下一階段,我們可以看到更多驚喜。
根據(jù)蘋果方面的介紹,GAUDI 的目標(biāo)是給定 3D 場(chǎng)景軌跡的經(jīng)驗(yàn)分布時(shí),學(xué)習(xí)得出生成模型。
論文地址:
https://arxiv.org/pdf/2207.13751.pdf
具體技術(shù)實(shí)現(xiàn)方面,令 X = {xi∈{0,…,n}}表示所定義的經(jīng)驗(yàn)分布示例集合,其中每個(gè)示例 xi 代表一條軌跡。每條軌跡 xi 被定義為相應(yīng)的 RGB、深度圖像與 6DOF 相機(jī)位姿的可變長(zhǎng)度序列。
蘋果 AI 團(tuán)隊(duì)將學(xué)習(xí)生成模型這個(gè)任務(wù)拆分成兩個(gè)階段。首先,為每個(gè)示例 x ∈ X 獲取一個(gè)潛在表示 z = [zscene, zpose],用于表達(dá)場(chǎng)景輻射場(chǎng)和在單獨(dú)的解糾纏向量中的位姿。接下來,給定一組潛在的 Z = {zi∈{0,...,n}},目的就是學(xué)習(xí)分布 p(Z)。
為每個(gè)示例 x ∈ X(即經(jīng)驗(yàn)分布中的每條軌跡)尋找潛在表示 z ∈ Z。為了獲得這一潛在表示,團(tuán)隊(duì)采用了無編碼器視圖,并將 z 解釋為通過優(yōu)化問題[2,35]找到的自由參數(shù)。為了將潛在 z 映射至軌跡 x,我們?cè)O(shè)計(jì)了一套網(wǎng)絡(luò)架構(gòu)(即解碼器),可用于解析相機(jī)姿勢(shì)與輻射場(chǎng)參數(shù)。這里的解碼器架構(gòu)由 3 個(gè)網(wǎng)絡(luò)構(gòu)成(如下圖所示):

負(fù)責(zé)將相機(jī)位姿與 3D 幾何及場(chǎng)景外觀分離的解碼器模型架構(gòu)。解碼器包含三個(gè)子模塊:解碼器 d 將用于表示場(chǎng)景 zscene 的潛在代碼作為輸入,并通過三平面潛在編碼 w 生成 3D 空間的分解表示。輻射場(chǎng)網(wǎng)絡(luò) f 則將 p ∈ R3 作為輸入點(diǎn),并以 W 為條件通過體積渲染(方程 1)預(yù)測(cè)出密度σ和信號(hào) a。最后,我們通過網(wǎng)絡(luò) c 解碼相機(jī)位姿。網(wǎng)絡(luò) c 將歸一化的時(shí)間位置 s ∈ [-1, 1]作為輸入,并以 zpose(表示整個(gè)軌跡 x 中的相機(jī)位姿)為條件,預(yù)測(cè)出相機(jī)位姿 T^ s ∈ SE(3)。
相機(jī)位姿解碼器網(wǎng)絡(luò) c(由θc 實(shí)現(xiàn)參數(shù)化)負(fù)責(zé)預(yù)測(cè)軌跡中歸一化時(shí)間位置 s ∈ [-1, 1]處的相機(jī)位姿 T^ s ∈ SE(3),其中的 zpose 條件則代表整個(gè)軌跡的相機(jī)位姿。為了確保 c 的輸出為有效相機(jī)位姿(例如 SE(3)的一個(gè)元素),輸出一個(gè) 3D 向量,用以表示方向的歸一化四元數(shù) qs 外加 3D 平移向量 ts。
場(chǎng)景解碼器網(wǎng)絡(luò) d(由θd 實(shí)現(xiàn)參數(shù)化)負(fù)責(zé)預(yù)測(cè)輻射場(chǎng)網(wǎng)絡(luò) f 的條件變量。該網(wǎng)絡(luò)將表示場(chǎng)景 zscene 的潛在代碼作為輸入,可預(yù)測(cè)出以軸對(duì)齊的三平面表示[37, 4] W ∈ R 3×S×S×F。與空間維度 S x S 和 F 通道的三個(gè)特征圖[Wxy,Wxz,Wyz]相對(duì)應(yīng),每個(gè)軸分別對(duì)齊一個(gè)平面:xy、xz 與 yz。
輻射場(chǎng)解碼器網(wǎng)絡(luò) f(由θf 實(shí)現(xiàn)參數(shù)化)的作用,是使用方程 1 中的體積渲染議程重建圖像級(jí)目標(biāo)。其中 f 的輸入為 p ∈ R 3 和三平面表示 W = [Wxy,Wxz,Wyz]。給定一個(gè)要預(yù)測(cè)輻射度的 3D 點(diǎn) p = [i, j, k],將 p 正交投影至 W 中的每個(gè)平面,并執(zhí)行雙線性采樣。將這 3 個(gè)雙線性采樣向量連接成 wxyz = [Wxy(i, j),Wxz(j, k),Wyz(i, k)] ∈ R 3F,用于調(diào)節(jié)輻射場(chǎng)函數(shù) f。這里,蘋果 AI 團(tuán)隊(duì)將 f 實(shí)現(xiàn)為輸出密度值σ和信號(hào) a 的 MLP。為了預(yù)測(cè)像素的值 v,使用體積渲染議程(參見方程 1),其中的 3D 點(diǎn)表示特定深度 u 處的光線方向 r(相對(duì)于像素位置)。
方程1
團(tuán)隊(duì)還確立了去噪重建目標(biāo),用以聯(lián)合優(yōu)化θd, θc, θf 和{z}i={0,...,n},詳見方程 2。
請(qǐng)注意,雖然潛在 z 是針對(duì)每個(gè)示例 x 獨(dú)立優(yōu)化的,但網(wǎng)絡(luò)θd, θc, θf 的參數(shù)由所有示例 x ∈ X 均攤。與之前的自動(dòng)解碼方法[2,35]不同,每個(gè)潛在 z 在訓(xùn)練過程中都會(huì)受到與所有潛在模型的經(jīng)驗(yàn)標(biāo)準(zhǔn)差成正比的加性噪聲干擾,即 z = z+βN (0,std(Z)),從而導(dǎo)致收縮表示[46]。在這種情況下,β控制分布 z ∈ Z 的熵與重建項(xiàng)間的權(quán)衡:當(dāng)β= 0 時(shí),z 的分布為指示函數(shù)的集合;而β > 0 時(shí),潛在空間則為非平凡結(jié)構(gòu)(non-trivial structure)。使用一個(gè)較小的β > 0 值強(qiáng)制獲得一個(gè)潛在空間,插值樣本(或包含與經(jīng)驗(yàn)分布具有小偏差的樣本,即可能從采樣后續(xù)生成模型中獲得的樣本)將受解碼器支持以被包含其中。

方程2
使用兩種不同的損失函數(shù)對(duì)參數(shù)θd, θf , θc 和潛在變量 z ∈ Z 進(jìn)行優(yōu)化。第一個(gè)損失函數(shù) Lscene 負(fù)責(zé)測(cè)量在 zscene 中編碼的輻射場(chǎng)與軌跡 x im s 中的圖像之間的重建(其中 s 表示幀在軌跡中所處的歸一化時(shí)間位置),這時(shí)需要給定實(shí)際相機(jī)位姿 Ts。
對(duì) RGB 使用 l2 損失函數(shù),對(duì) 4 depth 1 使用 l1 損失函數(shù)。第二個(gè)損失函數(shù) Lpose 則測(cè)量在 zpose 中編碼的位姿 T^ s 與真實(shí)位姿之間的相機(jī)位姿重建差。對(duì)平移使用 l2 損失,對(duì)相機(jī)位姿的歸一化四元數(shù)部分采用 l1 損失。盡管在理論上,歸一化四元數(shù)并不一定唯一(例如 q 和-q),但在訓(xùn)練期間并未發(fā)現(xiàn)任何經(jīng)驗(yàn)問題。
給定一組潛在的 z ∈ Z,這些 z 由對(duì)方程 2 中目標(biāo)的最小化產(chǎn)生。目的是通過學(xué)習(xí)獲得一個(gè)生成模型 p(Z),并捕捉其分布(即在最小化方程 2 的目標(biāo)之后,將 z ∈ Z 解釋為潛在空間中經(jīng)驗(yàn)分布的形式)。為了對(duì) p(Z)進(jìn)行建模,團(tuán)隊(duì)采用了去噪擴(kuò)散概率模型(DDPM)[15],這是一種新近出現(xiàn)、基于分?jǐn)?shù)匹配[16]的模型。該模型能夠通過大量但有限的時(shí)間步數(shù),學(xué)習(xí)馬爾可夫鏈的逆向擴(kuò)散。
DDPMs 表明,這一逆向過程等效于學(xué)習(xí)一系列具有綁定權(quán)重的去噪自動(dòng)解碼器。DDPM 中的監(jiān)督去噪目標(biāo)使得學(xué)習(xí)這(Z)變得簡(jiǎn)單且可擴(kuò)展。由此,我們就能學(xué)習(xí)得到一個(gè)強(qiáng)大的生成模型,該模型能夠以無條件/有條件方式生成 3D 場(chǎng)景。為了訓(xùn)練先前的 pθp (Z),采用方程 3 中定義的目標(biāo)函數(shù)。在方程 3 中,t 代表時(shí)間步長(zhǎng),~ N (0, I)為噪聲,αˉt 為具有固定調(diào)度的噪聲幅度參數(shù),θp 則表示去噪模型。

方程3
在推理期間,團(tuán)隊(duì)會(huì)遵循 DDPM 中的推理過程以對(duì) z ~ pθp (Z)進(jìn)行采樣。首先對(duì) zT ~ N (0, I)采樣,之后迭代應(yīng)用θp 對(duì) zT 進(jìn)行梯度去噪,從而逆向擴(kuò)散馬爾可夫鏈以獲得 z0。接下來,將 z0 作為輸入提供給解碼器架構(gòu),借此重建輻射場(chǎng)和相機(jī)路徑。如果目標(biāo)是學(xué)習(xí)潛在變量 p(Z|Y )的條件分布,則應(yīng)給定配對(duì)數(shù)據(jù){z ∈ Z, y ∈ Y },為去噪模型θ增加一個(gè)條件變量 y,由此得到θp (z, t, y)。