CVPR 2024 | 萬物皆可移動!SceneDiffusion:可控場景生成新SOTA! 精華
文章鏈接:https://arxiv.org/pdf/2404.07178
擴(kuò)散模型生成的圖像質(zhì)量達(dá)到了前所未有的水平,但我們?nèi)绾巫杂芍匦屡帕袌D像布局呢?最近的研究通過學(xué)習(xí)空間解耦的潛在編碼生成可控場景,但由于擴(kuò)散模型的固定前向過程,這些方法并不適用。
在這項(xiàng)工作中,本文提出了SceneDiffusion,在擴(kuò)散采樣過程中優(yōu)化分層場景表示。本文的關(guān)鍵洞察是,通過聯(lián)合去噪不同空間布局的場景渲染,可以獲得空間解耦。生成的場景支持各種空間編輯操作,包括移動、調(diào)整大小、克隆和分層外觀編輯操作,包括對象重塑和替換。此外,可以根據(jù)參考圖像生成場景,從而實(shí)現(xiàn)對自然場景圖像進(jìn)行對象移動。值得注意的是,這種方法無需訓(xùn)練,與一般的文本到圖像擴(kuò)散模型兼容,并且在不到一秒的時間內(nèi)響應(yīng)。
更多生成可控場景結(jié)果
介紹
可控場景生成,即生成具有可重新排列布局的圖像,是生成建模的重要課題,其應(yīng)用范圍從社交媒體平臺的內(nèi)容生成和編輯到互動室內(nèi)設(shè)計(jì)和視頻游戲。在GAN時代,潛在空間被設(shè)計(jì)為在生成的場景中提供mid-level控制。這些潛在空間被優(yōu)化以在無監(jiān)督的情況下提供場景布局和外觀之間的解耦。
例如,BlobGAN使用一組splattering blobs進(jìn)行2D布局控制,而GIRAFFE使用組合神經(jīng)場進(jìn)行3D布局控制。雖然這些方法提供了對場景布局的良好控制,但在生成的圖像質(zhì)量方面仍然存在局限性。另一方面,擴(kuò)散模型最近在文本到圖像(T2I)生成任務(wù)上展現(xiàn)了前所未有的性能。然而,由于缺乏mid-level表示,它們無法提供精細(xì)的空間控制,這是由于其固定的前向噪聲處理過程引起的。
本文提出了一個框架來填補(bǔ)這一差距,允許使用通用預(yù)訓(xùn)練的T2I擴(kuò)散模型進(jìn)行可控場景生成。本文的方法SceneDiffusion,基于這樣一個核心觀察:在擴(kuò)散采樣過程中,通過在每個去噪步驟中去噪多個場景布局,可以實(shí)現(xiàn)空間內(nèi)容的解耦。
更具體地,在每個擴(kuò)散步驟t中,通過首先隨機(jī)采樣幾個場景布局,同時在每個布局上運(yùn)行局部條件去噪,然后在下一個擴(kuò)散步驟t-1中對表示進(jìn)行解析優(yōu)化,以最小化其與每個去噪結(jié)果之間的距離。采用了分層場景表示,其中每個層表示一個對象,其形狀由mask控制,內(nèi)容由文本描述控制,從而能夠使用深度排序來計(jì)算對象的遮擋。分層表示的渲染是通過運(yùn)行一個短時間表的圖像擴(kuò)散完成的,通常在一秒內(nèi)完成。
總的來說,SceneDiffusion生成可重新排列的場景,無需對配對數(shù)據(jù)進(jìn)行微調(diào)、特定mask的訓(xùn)練或測試時間優(yōu)化,并且不受去噪器架構(gòu)設(shè)計(jì)的影響。
此外,為了實(shí)現(xiàn)自然場景圖像編輯,提出使用參考圖像的采樣軌跡作為SceneDiffusion中的anchor。在同時去噪多個布局時,增加了參考布局在噪聲更新中的權(quán)重,以保持場景對參考內(nèi)容的忠實(shí)度。通過解耦內(nèi)容的空間位置和視覺外觀,本文的方法在減少幻覺和保留整體內(nèi)容方面比基線更好。為了量化性能,還建立了一個評估基準(zhǔn),創(chuàng)建了一個包含1,000個文本提示和與圖像描述、局部描述和mask標(biāo)注相關(guān)聯(lián)的圖像的數(shù)據(jù)集。在這個數(shù)據(jù)集上評估了本文提出的方法,并展示了它在可控場景生成和圖像編輯任務(wù)的圖像質(zhì)量和布局一致性指標(biāo)上均明顯優(yōu)于先前的工作。
本文貢獻(xiàn)如下:
- 提出了一種新穎的采樣策略,SceneDiffusion,用于生成具有圖像擴(kuò)散模型的分層場景。
- 展示了分層場景表示支持靈活的布局重新排列,實(shí)現(xiàn)了交互式場景操作和自然場景圖像編輯。
- 建立了一個評估基準(zhǔn),并觀察到本文的方法在場景生成和圖像編輯任務(wù)的性能上在數(shù)量上達(dá)到了最先進(jìn)水平。
相關(guān)工作
可控場景生成
生成可控場景在生成建模中一直是一個重要的課題,并且在GAN的背景下得到了廣泛研究。各種方法已經(jīng)被開發(fā)用于包括可控圖像生成、3D感知圖像生成和可控視頻生成等應(yīng)用。通常,mid-level控制是通過構(gòu)建空間解耦的潛在空間以無監(jiān)督的方式獲得的。然而,這些技術(shù)并不直接適用于T2I擴(kuò)散模型。擴(kuò)散模型采用了固定的前向過程,這限制了學(xué)習(xí)空間解耦mid-level表示的靈活性。在這項(xiàng)工作中,通過在擴(kuò)散采樣過程中優(yōu)化分層場景表示來解決這個問題。值得注意的是,最近的研究使擴(kuò)散模型能夠根據(jù)給定的布局生成圖像。然而,它們并不關(guān)注空間解耦,并且不能保證在重新排列布局后內(nèi)容相似。
?
基于擴(kuò)散的圖像編輯
現(xiàn)成的T2I擴(kuò)散模型可以是強(qiáng)大的圖像編輯工具。在倒置和以主題為中心的微調(diào)的幫助下,已經(jīng)提出了各種方法來實(shí)現(xiàn)圖像到圖像的轉(zhuǎn)換,包括概念替換和重塑。然而,這些方法局限于就地編輯,并且很少探索對象的空間位置編輯。此外,許多方法利用了與最終圖像的注意力對應(yīng)或特征對應(yīng),使得方法依賴于特定的去噪器架構(gòu)。與使用自我引導(dǎo)和特征跟蹤的擴(kuò)散模型的空間圖像編輯的并發(fā)工作相比,本文的方法有所不同:
- 生成保留不同空間編輯中內(nèi)容的場景
- 使用明確的分層表示,提供直觀和精確的控制
- 通過一個簡短的圖像擴(kuò)散時間表來渲染一個新的布局,而基于引導(dǎo)的方法需要一個長的采樣時間表,而特征跟蹤則需要針對每次編輯進(jìn)行基于梯度的優(yōu)化。
方法
框架概述??蚣芨攀鋈缦聢D2所示。先簡要介紹了擴(kuò)散模型和局部條件擴(kuò)散的初步工作。然后,介紹了如何使用SceneDiffusion獲得空間解耦的分層場景。最后,討論了SceneDiffusion如何實(shí)現(xiàn)對自然場景圖像的空間編輯。
初步工作
擴(kuò)散模型。擴(kuò)散模型是一種生成模型,它學(xué)習(xí)從隨機(jī)輸入噪聲生成數(shù)據(jù)。更具體地說,給定來自數(shù)據(jù)分布的圖像 ,一個固定的前向噪聲處理過程逐漸向數(shù)據(jù)添加隨機(jī)高斯噪聲,從而創(chuàng)建了一個隨機(jī)潛變量 的馬爾可夫鏈,如下所示:
其中ββ是與所選噪聲時間表相對應(yīng)的常數(shù),選取得足夠高的擴(kuò)散步數(shù)后,假定是一個標(biāo)準(zhǔn)高斯分布。然后,訓(xùn)練了一個去噪器θ來學(xué)習(xí)反向過程,即如何從帶噪聲的輸入中去除噪聲。在推斷時,我們可以通過從隨機(jī)標(biāo)準(zhǔn)高斯噪聲開始,并按照馬爾可夫鏈迭代去噪圖像,即通過連續(xù)地從θ中采樣,直到得到:
其中,σ是噪聲尺度。
局部條件擴(kuò)散。已經(jīng)提出了各種方法[1, 33],利用預(yù)訓(xùn)練的T2I擴(kuò)散模型基于局部文本提示生成部分圖像內(nèi)容。對于K個局部提示和二進(jìn)制不重疊mask ,局部條件擴(kuò)散首先使用無分類器指導(dǎo)為每個局部提示預(yù)測一個完整的圖像噪聲εθ,然后將其分配給由 mask的相應(yīng)區(qū)域:
其中⊙表示逐元素乘法。
可控場景生成
給定一個有序的對象mask列表及其相應(yīng)的文本提示,我們希望生成一個場景,其中對象的位置可以在空間維度上改變,同時保持圖像內(nèi)容一致性和高質(zhì)量。我們利用一個預(yù)訓(xùn)練的T2I擴(kuò)散模型θ,該模型在圖像空間(或潛在空間)生成圖像,其中c是通道數(shù),w和h分別是圖像的寬度和高度。為了實(shí)現(xiàn)可控場景生成,引入了一個分層場景表示進(jìn)行mid-level控制,并提出了一種新的采樣策略。
分層場景表示
將可控場景分解為K個層次,按對象深度排序。每個層lk具有:
- 一個固定的以對象為中心的二進(jìn)制mask (例如,邊界框或分割mask),用于顯示對象的幾何屬性;
- 一個兩元素偏移量,μν,表示其空間位置,其中μ和ν定義了水平和垂直移動范圍;
- 一個特征圖,表示其在擴(kuò)散步驟t的視覺外觀。
場景布局由mask及其關(guān)聯(lián)的偏移量定義。每個層的偏移量可以從移動范圍 μν 中采樣以形成新的布局。特別地,我們將最后一個層設(shè)為背景,使和。給定一個布局,分層表示可以渲染為圖像,將該圖像稱為一個視圖。類似于可控場景生成和視頻編輯中的先前工作,我們在渲染過程中使用α混合來合成所有的層。更具體地,視圖可以計(jì)算為:
每個元素α表示第k個潛在特征圖中該位置的可見性,而函數(shù) 表示我們通過o空間移動特征圖f或mask m的值。渲染過程可以應(yīng)用于分層場景的任何擴(kuò)散步驟,得到具有一定噪聲水平的視圖。
對于擴(kuò)散步驟T的初始化,初始特征圖 是從標(biāo)準(zhǔn)高斯噪聲 獨(dú)立采樣得到的,每個層都有一個。可以證明,由于 α 是二進(jìn)制的且 α,從初始分層場景渲染的視圖仍然遵循標(biāo)準(zhǔn)高斯分布。這使得我們可以直接使用預(yù)訓(xùn)練的擴(kuò)散模型對視圖進(jìn)行去噪。再討論如何在順序去噪過程中更新 。
使用SceneDiffusion生成場景
本文提出了SceneDiffusion來優(yōu)化從高斯噪聲中的分層場景中的特征圖。每個SceneDiffusion步驟包括:
- 從隨機(jī)采樣的布局中渲染多個視圖
- 從視圖中估計(jì)噪聲
- 更新特征圖。
具體來說,SceneDiffusion采樣N組偏移,其中每個偏移量 是在移動范圍 μν 內(nèi)的一個元素。這導(dǎo)致了N個布局變體。更多的布局有助于去噪器定位更好的模式,但也增加了計(jì)算成本。從K個潛在特征圖中,我們將布局渲染為N個視圖 :
然后,在每個SceneDiffusion步驟中,堆疊所有視圖,并使用局部條件擴(kuò)散(在方程3中描述)來預(yù)測噪聲ε:
其中,m 是對象mask,y 是每個層的局部文本提示。由于可以并行運(yùn)行多個布局的去噪過程,計(jì)算 ε 幾乎不會帶來額外的時間開銷,但會增加與 N 成比例的額外內(nèi)存消耗。然后,使用方程2從估計(jì)的噪聲 ε 更新視圖 ,得到 。由于每個視圖對應(yīng)于不同的布局并且獨(dú)立進(jìn)行去噪,因此在重疊的mask區(qū)域可能會發(fā)生沖突。因此,需要優(yōu)化每個特征圖 ,以使從方程5渲染的視圖與去噪后的視圖接近。
這個最小二乘問題有以下閉式解:
其中, 表示 x 中的值向 o 的反方向平移。這個解的推導(dǎo)與Bar-Tal等人的討論類似。解本質(zhì)上將 設(shè)置為裁剪去噪視圖的加權(quán)平均值。
圖像擴(kuò)散的神經(jīng)渲染
在運(yùn)行了 τ 步的 SceneDiffusion 后,切換到普通的圖像擴(kuò)散進(jìn)行 τ 步。由于層mask m (如邊界框)僅作為粗略的mid-level表示,而不是準(zhǔn)確的幾何表示,這個圖像擴(kuò)散階段可以被視為將mid-level控制映射到圖像空間的神經(jīng)渲染器。 τ 的值權(quán)衡了圖像質(zhì)量和對層mask的忠實(shí)度。 τ 的值在總擴(kuò)散步驟的 25% 到 50% 之間通常取得最佳平衡,使用一個流行的 50 步 DDIM 調(diào)度器通常耗時不到一秒。用于圖像擴(kuò)散階段的全局提示可以單獨(dú)設(shè)置。在這項(xiàng)工作中,我們主要將全局提示設(shè)置為按深度順序連接的局部提示 ,并且在大多數(shù)情況下,發(fā)現(xiàn)這種簡單策略足夠了。
層外觀編輯
可以通過修改局部提示來單獨(dú)編輯每個層的外觀。通過將局部提示更改為新的值,然后使用相同的特征圖初始化執(zhí)行 SceneDiffusion,可以對對象進(jìn)行重新設(shè)計(jì)或替換。
圖像編輯應(yīng)用
SceneDiffusion 可以根據(jù)參考圖像進(jìn)行條件化,方法是使用其采樣軌跡作為anchor,從而允許改變現(xiàn)有圖像的布局。具體而言,當(dāng)給定參考圖像以及現(xiàn)有布局時,將參考圖像設(shè)置為最終擴(kuò)散步驟的優(yōu)化目標(biāo),即一個被表示為 的anchor視圖。然后,我們在不同的擴(kuò)散噪聲水平上向該視圖添加高斯噪聲,從而創(chuàng)建不同去噪步驟下的一系列anchor視圖的軌跡。
在每個擴(kuò)散步驟中,我們使用相應(yīng)的anchor視圖 進(jìn)一步約束 ,這導(dǎo)致在方程 7 中出現(xiàn)額外的加權(quán)項(xiàng):
其中,n ∈ {1,··· ,N}∪{a},w 控制著 的重要性。足夠大的 w 會使得生成的圖像與參考圖像更加一致,我們在這項(xiàng)工作中設(shè)置 w = 104。這個方程的閉式解與方程 8 類似,可以在補(bǔ)充資料中找到。
實(shí)驗(yàn)
實(shí)驗(yàn)設(shè)置
對我們的方法進(jìn)行定性和定量評估。對于定量研究,需要一個包含數(shù)千個圖像的數(shù)據(jù)集才能有效地測量諸如 FID 等指標(biāo)。然而,在多對象場景中生成語義上有意義的空間編輯對是具有挑戰(zhàn)性的,特別是當(dāng)考慮到對象之間的遮擋時。因此,我們將定量實(shí)驗(yàn)限制在單對象場景中。有關(guān)多對象場景的定性結(jié)果,請參閱定性結(jié)果部分。
數(shù)據(jù)集。精心策劃了一個高質(zhì)量、以主題為中心的圖像數(shù)據(jù)集,與圖像描述和局部描述相關(guān)聯(lián)。使用 GroundedSAM 自動標(biāo)注了對象mask。首先從 1000 個圖像描述生成了 20,000 張圖像,然后應(yīng)用基于規(guī)則的篩選器來刪除低質(zhì)量的圖像,總共得到了 5,092 張圖像。對象mask和局部描述隨后被自動標(biāo)注。
指標(biāo)。用于可控場景生成的主要指標(biāo)包括 Mask IoU、Consistency、Visual Consistency、LPIPS 和 SSIM。Mask IoU 衡量了目標(biāo)布局與生成圖像之間的對齊程度。其他指標(biāo)比較了同一場景中多個生成視圖,并評估它們的相似性:Consistency 表示mask一致性,Visual Consistency 表示前景外觀一致性,LPIPS 表示感知相似性,SSIM 表示結(jié)構(gòu)變化。此外,在圖像編輯實(shí)驗(yàn)中,我們報告了 FID 來量化編輯后的圖像與原始圖像的相似性,以衡量圖像質(zhì)量。
實(shí)現(xiàn)。在我們的實(shí)驗(yàn)中,默認(rèn)設(shè)置 N = 8。對于定量研究,所有實(shí)驗(yàn)都是在 5 個隨機(jī)種子上平均的。有關(guān)我們的數(shù)據(jù)集構(gòu)建、指標(biāo)選擇、實(shí)驗(yàn)標(biāo)準(zhǔn)偏差和實(shí)現(xiàn)細(xì)節(jié)的更多信息,請參閱我們的補(bǔ)充文檔。
可控場景生成
設(shè)置。隨機(jī)放置一個對象mask到不同的位置,形成隨機(jī)的目標(biāo)布局。圖像應(yīng)該在目標(biāo)布局和局部提示的條件下生成,期望內(nèi)容在不同的布局中保持一致。對象mask來自前述策劃的數(shù)據(jù)集。為了減少對象移出畫布的可能性,我們將mask位置限制在一個以原始位置為中心的正方形內(nèi),其邊長為圖像寬度的 40%。在下圖 9 中可以找到一個視覺示例。
基線。將本文的方法與 MultiDiffusion 進(jìn)行比較,它是一種無需訓(xùn)練的方法,可以生成根據(jù)mask和局部描述的圖像。我們使用了他們協(xié)議中的 20% 純色引導(dǎo)策略。前景和背景噪聲在同一場景中是固定的,以提高一致性。
結(jié)果。在下表 1 中呈現(xiàn)了定量結(jié)果,顯示了 SceneDiffusion 在所有指標(biāo)上優(yōu)于 MultiDiffusion。對于定性研究,在下圖 3 中展示了我們生成的場景的順序操作結(jié)果。
圖像編輯中的對象移動
設(shè)置。給定一個參考圖像、一個對象mask和一個隨機(jī)的目標(biāo)位置,目標(biāo)是生成一幅圖像,其中對象已經(jīng)移動到目標(biāo)位置,同時保持其余內(nèi)容相似。前述的范圍用于防止將對象移出畫布。
基線。與基于修補(bǔ)的方法進(jìn)行比較。我們首先從參考圖像中裁剪出對象,將其粘貼到目標(biāo)位置,然后修補(bǔ)空白區(qū)域。我們將對象的邊緣膨脹了 30 個像素,以更好地與背景融合。將我們的方法與兩種修補(bǔ)模型進(jìn)行比較:使用 RePaint 技術(shù)的標(biāo)準(zhǔn) T2I 擴(kuò)散模型,以及經(jīng)過mask訓(xùn)練的專用修補(bǔ)模型。將我們方法中的所有局部層提示設(shè)置為全局圖像描述,以進(jìn)行公平比較。
結(jié)果。在下表 2 中報告了定量結(jié)果。本文的方法在所有指標(biāo)上都明顯優(yōu)于基于修補(bǔ)的基線方法。對象移動的定性結(jié)果如下圖 4 所示。
層外觀編輯
下圖 5 中展示了對象重新設(shè)計(jì)的結(jié)果,并在圖 6 中展示了對象替換的結(jié)果。我們觀察到變化主要局限在選定的層中,而其他層略微調(diào)整以使場景更加自然。此外,通過直接從一個場景復(fù)制一個層到另一個場景,可以將層外觀傳輸?shù)讲煌膱鼍爸校鐖D 7 所示。
消融研究
在下表 3 中,對所有組件進(jìn)行了消融。還按照[1]的方法額外衡量了 CLIP-美學(xué)(CLIP-a),以量化圖像質(zhì)量。如果沒有聯(lián)合去噪多個布局,所有指標(biāo)都會急劇下降。采用確定性布局采樣時,圖像質(zhì)量會下降。如果沒有圖像擴(kuò)散階段,盡管一致性指標(biāo)略微提高,但圖像質(zhì)量會顯著下降。
在下表 4 中,我們分析了視圖數(shù)量和圖像擴(kuò)散步數(shù)的影響。觀察到,擁有更多的視圖和更多的 SceneDiffusion 步驟會導(dǎo)致對象和背景之間的解耦更好,如更高的 Mask IoU 和一致性所示。定性比較見下圖 8。還呈現(xiàn)了限制為單個 32GB GPU 時的準(zhǔn)確性與速度的權(quán)衡。較大的 N 增加了優(yōu)化時間。較大的 τ 增加了推理時間。對于所有消融實(shí)驗(yàn),使用了一個隨機(jī)選擇的 10% 子集以便更容易實(shí)現(xiàn)。
結(jié)論
本文提出了SceneDiffusion,利用圖像擴(kuò)散模型實(shí)現(xiàn)了可控場景生成。SceneDiffusion 在擴(kuò)散采樣過程中優(yōu)化了分層場景表示。由于分層表示,空間和外觀信息被解耦,從而允許廣泛的空間編輯操作。利用參考圖像的采樣軌跡作為anchor,SceneDiffusion 可以在自然場景圖像上移動對象。與基線相比,我們的方法在生成質(zhì)量、跨布局一致性和運(yùn)行速度方面均取得了更好的效果。局限性。 在最終渲染的圖像中,對象的外觀可能不會與mask緊密匹配。此外,我們的方法需要大量內(nèi)存以同時去噪多個布局,從而限制了在資源有限的用戶案例中的應(yīng)用。
本文轉(zhuǎn)自 AI生成未來 ,作者:Jiawei Ren等
