谷歌發(fā)布BlenderFusion,基于3D的視覺編輯與生成式合成框架
近年來,生成對(duì)抗網(wǎng)絡(luò)和擴(kuò)散模型等創(chuàng)新技術(shù)在圖像生成領(lǐng)域取得了巨大突破,能夠生成逼真的圖像和視頻內(nèi)容。但這些技術(shù)通常側(cè)重于整體圖像的生成,對(duì)于需要精確控制多個(gè)視覺元素如物體、相機(jī)視角和背景的復(fù)雜合成場(chǎng)景支持有限。
例如,在一個(gè)包含多個(gè)物體的場(chǎng)景中,若要將某個(gè)物體進(jìn)行替換、改變其位置或調(diào)整其外觀,同時(shí)保持整個(gè)場(chǎng)景的自然過渡和真實(shí)感,現(xiàn)有技術(shù)往往難以達(dá)到理想效果。
所以,谷歌發(fā)布了BlenderFusion通過整合先進(jìn)的3D圖形編輯工具Blender與強(qiáng)大的擴(kuò)散模型,構(gòu)建了一個(gè)能夠?qū)崿F(xiàn)3D視覺編輯和生成合成的創(chuàng)新框架。

BlenderFusion遵循分層、編輯、合成的流程,能將2D圖像轉(zhuǎn)化為可編輯的3D實(shí)體,進(jìn)行精準(zhǔn)的3D編輯操作,再將編輯后的3D場(chǎng)景融合為連貫的最終圖像。
分層階段是BlenderFusion流程的起點(diǎn),其核心任務(wù)是從輸入的2D圖像中提取出可編輯的3D對(duì)象。研究人員借助諸如SAM2和DepthPro等前沿的視覺基礎(chǔ)模型,實(shí)現(xiàn)了這一關(guān)鍵步驟。首先,將3D邊界框投影到圖像空間,獲取粗略的2D邊界框。隨后,利用GroundingDINO模型,結(jié)合物體類別標(biāo)簽對(duì)這些2D邊界框進(jìn)行精細(xì)化調(diào)整,以更精準(zhǔn)地定位物體在圖像中的位置?;谡{(diào)整后的2D邊界框,SAM2模型提取出物體的掩碼,同時(shí)結(jié)合DepthPro模型提供的度量深度預(yù)測(cè),得到物體的深度信息。
通過將預(yù)測(cè)深度的尺度與每個(gè)物體的3D邊界框?qū)R,并將調(diào)整后的物體深度圖反向投影生成3D點(diǎn)云,進(jìn)而連接相鄰點(diǎn)形成三角網(wǎng)格,最終生成一系列3D實(shí)體。這些3D實(shí)體隨后被導(dǎo)入到Blender中,為后續(xù)的編輯操作做好準(zhǔn)備。

完成分層后,接下來進(jìn)入編輯階段,這是BlenderFusion流程的核心環(huán)節(jié),充分發(fā)揮了Blender作為專業(yè)3D圖形編輯軟件的強(qiáng)大功能。在這一階段,從分層階段得到的3D實(shí)體被導(dǎo)入到Blender中,用戶可以利用Blender提供的豐富工具和功能,對(duì)物體、相機(jī)以及背景等視覺元素進(jìn)行各種精準(zhǔn)的3D編輯操作。
對(duì)于物體的基本控制操作,包括對(duì)每個(gè)獨(dú)立物體進(jìn)行平移、旋轉(zhuǎn)或縮放,以及物體的移除、插入或替換等。由于包含了每個(gè)物體的3D模型,這些變換操作可以自動(dòng)地反映在渲染結(jié)果中,為用戶提供直觀且高效的編輯體驗(yàn)。
例如,用戶可以輕松地將一個(gè)場(chǎng)景中的物體移動(dòng)到另一個(gè)位置,或者將一個(gè)物體替換為另一個(gè)具有不同形狀和紋理的物體,而無需擔(dān)心物體之間的空間關(guān)系和整體場(chǎng)景的協(xié)調(diào)性。

在高級(jí)物體控制方面,BlenderFusion繼承了Blender的強(qiáng)大功能,能夠?qū)崿F(xiàn)物體屬性的改變、非剛性物體變換以及新物體的插入等操作。這些操作可以通過Blender的用戶界面進(jìn)行交互式完成,也可以通過自動(dòng)腳本實(shí)現(xiàn)。
例如,用戶可以對(duì)一個(gè)物體的表面材質(zhì)進(jìn)行調(diào)整,使其呈現(xiàn)出金屬質(zhì)感或透明質(zhì)感;或者對(duì)一個(gè)物體的形狀進(jìn)行局部變形,以滿足特定的設(shè)計(jì)需求。這些高級(jí)編輯功能為用戶提供了極大的創(chuàng)作自由度,使得BlenderFusion能夠應(yīng)對(duì)各種復(fù)雜的視覺編輯任務(wù)。
此外,BlenderFusion還支持對(duì)相機(jī)和背景的控制。用戶可以指定新的背景圖像來替換原有的背景,同時(shí)通過Blender中的相機(jī)對(duì)象來模擬相機(jī)的運(yùn)動(dòng)。這種對(duì)相機(jī)和背景的靈活控制,使得用戶能夠在編輯過程中創(chuàng)造出各種獨(dú)特的視角和場(chǎng)景組合,進(jìn)一步豐富了視覺內(nèi)容的表現(xiàn)力。

經(jīng)過編輯階段后,進(jìn)入合成階段,這是BlenderFusion流程的最后一步,其目的是將經(jīng)過編輯后的3D場(chǎng)景與背景融合,生成最終的連貫圖像。這一階段的關(guān)鍵組件是生成合成器,它基于擴(kuò)散模型,能夠處理來自分層和編輯階段的兩路輸入信息:源流和目標(biāo)流。
源流包含了原始場(chǎng)景的圖像、渲染結(jié)果、相機(jī)參數(shù)以及物體姿態(tài)。目標(biāo)流則包含了編輯后的渲染結(jié)果、相機(jī)參數(shù)以及物體姿態(tài)。由于編輯過程可能會(huì)引入噪聲,導(dǎo)致目標(biāo)渲染出現(xiàn)瑕疵,因此生成合成器需要對(duì)這些輸入進(jìn)行處理,以糾正瑕疵并生成高質(zhì)量的最終圖像。
為了有效處理雙路輸入,研究人員對(duì)預(yù)訓(xùn)練的擴(kuò)散模型進(jìn)行了多項(xiàng)關(guān)鍵架構(gòu)修改。首先,將模型擴(kuò)展為雙路架構(gòu),其中單個(gè)權(quán)重共享的去噪U(xiǎn)Net獨(dú)立處理兩路輸入,同時(shí)通過自注意力機(jī)制實(shí)現(xiàn)兩路之間的交互。
其次,修改UNet的第一層,以容納額外的條件輸入,將其通道數(shù)從4增加到15,并使用零初始化權(quán)重。這15個(gè)通道中,前4個(gè)通道處理源流或目標(biāo)流的VAE編碼圖像或噪聲;接下來的5個(gè)通道處理Blender渲染(4個(gè)用于VAE編碼的渲染圖像,1個(gè)用于實(shí)例掩碼);
最后6個(gè)通道使用Plücker嵌入編碼相機(jī)參數(shù)。此外,每路輸入都有獨(dú)立的一組文本標(biāo)記,這些標(biāo)記由物體類別標(biāo)簽和姿態(tài)組成。標(biāo)簽通過CLIP進(jìn)行嵌入,而3D邊界框則轉(zhuǎn)換為位置編碼,并通過MLP進(jìn)行處理。將得到的嵌入序列拼接起來,作為各自流的文本標(biāo)記。




































