CVPR`24 | 4D編輯哪家強?浙大首次提出通用指導4D編輯框架:Instruct 4D-to-4D
文章鏈接:https://arxiv.org/pdf/2406.09402
項目地址:https://immortalco.github.io/Instruct-4D-to-4D/
今天和大家一起學習的是Instruct 4D-to-4D,可以通過2D擴散模型實現4D感知和時空一致性,以生成高質量的指令引導的動態場景編輯結果。先一起來看看4D編輯的精彩效果:
傳統的2D擴散模型在動態場景編輯中的應用通常會導致不一致,主要原因在于其固有的逐幀編輯方法。為了解決將指令引導的編輯擴展到4D的復雜性,本文的關鍵洞察是將4D場景視為偽3D場景,解耦為兩個子問題:在視頻編輯中實現時間一致性,并將這些編輯應用于偽3D場景。基于此,本文首先通過引入anchor感知注意模塊來增強Instruct-Pix2Pix (IP2P)模型,以實現批處理和一致性編輯。
此外,本文還在滑動窗口模式下集成了光流引導的外觀傳播,以實現更精確的逐幀編輯,并結合基于深度的投影來管理偽3D場景的大量數據,隨后通過迭代編輯實現收斂。本文在各種場景和編輯指令中對文中的方法進行了廣泛評估,結果表明其在空間和時間上一致性方面表現出色,并且在細節和清晰度上顯著提升。值得注意的是,Instruct 4D-to-4D具有通用性,適用于單目和具有挑戰性的多攝像頭場景。
介紹
通過渲染合成逼真的新視角圖像,神經輻射場(NeRF)及其變體已經成為3D甚至4D動態場景的主要神經表示方法。除了僅僅表示現有場景之外,越來越多的人對通過場景編輯從原始場景創建新的、多樣化的場景產生了興趣。對于用戶來說,最方便和直接的方式來傳達場景編輯操作是通過自然語言——這一任務被稱為指令引導的編輯。
在2D圖像任務中,已經通過2D擴散模型,即 Instruct-Pix2Pix (IP2P)取得了成功。然而,將這一能力擴展到以NeRF表示的3D或4D場景卻面臨顯著挑戰。困難在于NeRF表示的隱式特性,缺乏直接修改參數以實現目標方向的方式,同時在新維度中出現的復雜性也大大增加。最近,在指令引導的3D場景編輯方面取得了顯著進展,例如Instruct-NeRF2NeRF (IN2N)。IN2N通過從2D擴散模型(如IP2P)蒸餾來實現3D編輯,即生成經過IP2P編輯的多視圖圖像,并將它們擬合到NeRF表示的場景中。由于擴散模型生成結果的高度多樣性,IP2P可能會產生多視圖不一致的圖像,同一對象在不同視圖中的外觀可能會不同。因此,IN2N通過在NeRF上進行訓練來整合結果,使其收斂到“平均”編輯結果,這在理論上是合理的,但在實踐中往往會遇到挑戰。
將編輯任務從3D進一步擴展到4D,引入了基本的困難。在超出3D場景的額外時間維度中,不僅需要每幀3D場景切片的3D空間一致性,還需要不同幀之間的時間一致性。值得注意的是,由于最近的4D NeRF模型對場景中每個絕對3D位置的特性進行建模,而不是單個對象的運動,因此不同幀中的同一對象并非由相同的參數建模。這種偏差阻礙了NeRF通過擬合不一致的多視圖圖像實現空間一致性,使得IN2N流程無法有效地在4D場景上執行編輯。
本文引入了Instruct 4D-to-4D,是在指令引導的4D場景編輯中首次嘗試,克服了上述問題。本文的關鍵洞察是將4D場景視為偽3D場景,其中每個偽視圖是一個視頻,包含了同一視角的所有幀。隨后,對偽3D場景的任務可以以類似于真實3D場景的方式進行處理,分解為兩個子問題:1)為每個偽視圖實現時間一致的編輯,2)使用第(1)步中的方法編輯偽3D場景。然后,我們可以用視頻編輯方法解決(1),并利用蒸餾引導的3D場景編輯方法解決(2)。
本文特別利用了一種anchor感知注意力模塊來增強IP2P模型。在本文的模塊中,“anchor”是一對圖像及其編輯結果,作為IP2P生成的參考。增強后的IP2P現在支持批量輸入多個圖像,并且IP2Ppipeline中的自注意力模塊被替換為針對本批次anchor圖像的交叉注意力機制。因此,IP2P基于當前圖像與anchor圖像之間的相關性生成編輯結果,確保在該批次內進行一致的編輯。然而,注意力模塊可能無法始終正確關聯不同視圖中的對象,從而引入潛在的不一致性。
為此,本文進一步提出了一種光流引導的滑動窗口方法來促進視頻編輯。利用RAFT為每幀預測光流,以建立相鄰幀之間的像素對應關系。這使能夠將一個幀的編輯結果傳播到下一個幀,類似于一種扭曲效果。結合增強的IP2P和光流技術,本文可以按時間順序編輯視頻,通過分段處理幀并在每個段落應用編輯,同時將編輯效果傳播到下一個段落。這個過程涉及利用光流來初始化基于前幾幀的編輯,然后使用增強的IP2P,其中前一個段落的最后一幀作為anchor。
在處理包含大量視角的4D場景時,每個視角的計算成本很高。 為了解決這個問題,本文采用了受ViCA-NeRF 啟發的策略,基于關鍵視角來編輯偽3D場景。首先隨機選擇關鍵偽視角,并使用前面提到的方法進行編輯。然后對于每一幀,采用基于深度的投影將關鍵視角的結果扭曲到其他視角,并利用加權平均來聚合外觀信息,從而獲得所有幀的編輯結果。鑒于4D場景的復雜性,本文應用IN2N的迭代編輯過程,以逐步生成編輯后的幀并在編輯后的幀上擬合NeRF,直到場景收斂為止。
本文進行了廣泛的實驗,涵蓋單目和多攝像頭動態場景,驗證了文中方法的有效性。評估結果顯示,本文的方法在實現更銳利的渲染結果和顯著增強的細節方面具有顯著能力,并且在4D編輯中保證了空間-時間一致性(見下圖1)。
本文的貢獻主要體現在三個方面:
- 引入了Instruct 4D-to-4D,這是一個簡單而有效的框架,通過從2D擴散模型的蒸餾來將4D場景作為偽3D場景進行指導編輯;
- 提出了基于anchor感知的IP2P和光流引導的滑動窗口方法,實現了對任意長度的長視頻或偽視角的高效和一致的編輯;
- 借助所提出的方法,開發了一個pipeline來迭代生成完整和一致編輯的數據集,在各種任務中實現了高質量的4D場景編輯。本文的工作是首次探索和解決通用指導4D場景編輯的任務,為這一有前景的領域奠定了基礎。
方法
本文提出了Instruct 4D-to-4D,這是一個新穎的pipeline,通過從Instruct-Pix2Pix (IP2P) 中提煉來編輯4D場景,IP2P是一種強大的2D擴散模型,支持指導圖像編輯。本文方法的基本思想源于ViCA-NeRF,這是一種基于關鍵視角的編輯方法。將4D場景視為偽3D場景,其中每個偽視角是多幀視頻,本文應用基于關鍵視角的編輯方法,分為兩個步驟:關鍵偽視角編輯和從關鍵偽視角傳播到其他視角,如下圖2所示。本文提出了幾個關鍵組件,在這些步驟中強化和實現空間和時間一致性,生成4D一致的編輯結果。
基于anchor的IP2P用于一致的批量生成
批量生成與偽3D卷積。將偽視圖的編輯過程視為編輯視頻。因此,在編輯每幀時,需要強制實現時間上的一致性。受到之前視頻編輯工作的啟發,本文在IP2P中一起編輯一批圖像,并增強IP2P中的UNet,使其在生成時考慮整個批次。本文將其 的2D卷積層升級為 的3D卷積層,通過重復使用原始的卷積核參數。
基于anchor感知的注意力模塊。受限于GPU內存,本文無法一次性編輯偽視圖的所有幀,需要將生成過程分成多個批次。因此,保持批次之間的一致性至關重要。借鑒于Tune-a-Video 的思路,本文不是從頭開始生成新批次的編輯結果,而是允許模型參考一個在所有生成批次中共享的anchor幀,及其原始和編輯后的版本,以將編輯風格從anchor幀“傳播”到新的編輯批次。通過將IP2P中的自注意力模塊替換為針對anchor幀的交叉注意力模型,能夠在當前圖像和anchor圖像之間建立連接,通過模仿anchor的風格生成新的編輯圖像,從而延續anchor的一致編輯風格。值得注意的是,本文使用anchor注意力IP2P與Tune-a-Video有所不同,后者在當前幀和上一幀之間查詢交叉注意力而非anchor幀。我們的設計還進一步促進了下面章節的修復過程,該過程也需要集中關注當前幀的現有部分。
有效性。下圖3展示了不同版本的IP2P生成結果。原始的IP2P編輯所有圖像時存在不一致性,即使是同一個批次中的圖像也有不同的顏色分布。通過引入anchor感知注意力層,IP2P能夠將整個批次作為一個整體生成,因此在同一個批次內生成一致的編輯結果。然而,它仍然無法在不同批次之間生成一致的圖像。采用相同anchor圖像跨批次參考的全面anchor感知IP2P能夠為所有6個圖像在2個批次中生成一致的編輯結果,這表明即使沒有額外訓練,anchor感知IP2P也能夠實現一致的編輯結果。
光流引導滑動窗口方法用于偽視圖編輯
光流作為4D Warping。為了確保偽視圖的時間一致性,本文需要在不同幀之間找到像素的對應關系。傳統的3D場景編輯方法(如ViCA-NeRF、RAFT)利用基于深度的Warping來找到不同視角之間的對應關系,使用NeRF預測的深度和相機參數進行確定性Warping。然而,在4D中,沒有這樣明確的方法。因此,本文使用光流估計網絡RAFT來預測光流,其格式為每個像素的2D運動向量,可以推導出另一幀中的對應像素。利用RAFT,本文能夠在相鄰幀之間進行像素的Warping,就像在3D中一樣。由于每個偽視圖都是在固定的攝像機位置拍攝的,光流能夠很好地完成這項任務。
接著,類似于ViCA-NeRF中的思路,本文使用IP2P對滑動窗口中每個視角的融合圖像進行修補和再繪制,通過向融合圖像添加噪聲,并使用IP2P進行去噪,使生成的編輯圖像在Warping結果上遵循相似的模式,同時重新繪制整個圖像使其看起來自然合理。為了確保整個偽視圖的風格一致,本文使用第一幀作為所有窗口共享的anchor,這樣模型將以類似第一個視角的一致風格生成圖像。由于一個偽視圖的攝像機位置固定,不同幀之間有許多共同的物體,因此這種方法非常有效,能夠為窗口中的幀生成一致的編輯結果。
基于Warping的偽視圖傳播
生成第一幀圖像。由于本文需要將編輯后的偽視圖傳播到所有其他視圖并確保空間一致性,因此在所有關鍵偽視圖中以一種空間一致的方式編輯第一幀非常重要 - 它們不僅用于啟動當前偽視圖的編輯,還用作所有后續生成的anchor或參考。因此,本文首先在任意一個關鍵偽視圖中編輯一幀作為第一幀,然后使用本文的anchor感知IP2P與其一起作為anchor來生成其他第一幀。通過這種方式,所有第一幀都以一致的風格進行編輯,這對于編輯關鍵偽視圖是一個良好的起點。
從關鍵視圖傳播到其他視圖。在編輯關鍵偽視圖之后,類似于ViCA-NeRF 的方法,本文將它們的編輯結果傳播到所有其他關鍵視圖。ViCA-NeRF使用基于深度的空間Warping來從同一時間步的另一個視圖Warping圖像,而本文還提出了基于光流的時間Warping,從同一視圖的前一幀進行Warping。通過這兩種類型的Warping,本文可以從多個來源Warping編輯后的圖像。
整體編輯 pipeline
迭代式數據集更新。借鑒 IN2N 的思想,本文在基準方法上應用迭代式數據集替換,使用文中的方法重復生成完整的數據集,并在其上適配本文的NeRF。在每次迭代中,本文首先隨機選擇幾個偽視圖作為這次生成中的關鍵視圖。本文使用文中的方法為所有這些關鍵偽視圖的第一幀生成空間一致的編輯結果,然后使用滑動窗口方法來傳播這些編輯結果到所有偽視圖。在獲得所有編輯的關鍵偽視圖后,本文再次使用文中的方法為所有其他偽視圖生成空間和時間上一致的編輯結果,最終得到一個一致的編輯數據集。本文用這個編輯過的數據集替換原始的4D數據集,并在其上適配NeRF模型。
通過并行化和退火策略提高效率。在本文的pipeline中,NeRF只需要在數據集上進行訓練并提供當前的渲染結果,而IP2P只需要根據NeRF的渲染結果生成新的數據集 - IP2P和NeRF之間幾乎沒有依賴和交互。因此,本文通過在兩個GPU上異步運行這兩部分來并行化pipeline。在第一個GPU上,持續訓練NeRF并在渲染緩沖區中緩存NeRF的渲染結果;而在第二個GPU上,應用本文的迭代數據集生成pipeline來生成新的數據集,使用來自渲染緩沖區的圖像,并更新用于訓練NeRF的數據集。通過最小化交互,最大化了并行化,從而顯著減少了訓練時間。
另一方面,為了改善生成結果和收斂速度,本文采用了來自HiFA 的退火技巧來對NeRF進行精細編輯。高層次的思路是使用噪聲水平來控制渲染結果與IP2P編輯結果的相似性。本文在高噪聲水平下生成數據集,以生成充分編輯的結果,然后逐漸退火噪聲水平,使其與NeRF正在收斂到的編輯結果保持一致,并進一步細化這些結果。與IN2N總是在隨機噪聲水平下生成不同,本文的Instruct 4D-to-4D 能夠快速收斂到高質量的編輯結果。
通過這兩種技術,本文的Instruct 4D-to-4D能夠在幾個小時內編輯一個包含20個視圖和數百幀的大規模4D場景。
實驗
編輯任務和NeRF主干。本文用于評估的4D場景是通過單手持相機和多相機陣列捕捉的,包括:(I) DyCheck 和 HyperNeRF 中的單目場景,這些是簡單的、以物體為中心的場景,使用單個移動相機;(II) DyNeRF/N3DV 中的多相機場景,包括具有面向前方視角和人類運動結構的室內場景。對于單目場景,本文將所有幀視為單個偽視圖進行編輯。本文使用NeRFPlayer 作為NeRF主干,以生成高質量的4D場景渲染結果。
基線方法。Instruct 4D-to-4D是首個致力于指導式4D場景編輯的工作。以前沒有研究專注于相同的任務,而唯一類似的工作Control4D 尚未發布其代碼。因此,無法與現有方法進行基線比較。為了展示本文的Instruct 4D-to-4D的有效性,本文構建了一個基線方法IN2N-4D,將IN2N 平穩地擴展到4D,它會迭代地生成一個編輯過的幀并將其添加到數據集中。本文定性和定量地比較Instruct 4D-to-4D與IN2N-4D的結果。為了量化結果,由于本文的pipeline的模型都在使用生成的圖像訓練NeRF,本文使用傳統的NeRF 指標來評估結果,即在IP2P生成的圖像(從純噪聲生成,因此不會依賴于NeRF的渲染圖像)與NeRF的渲染結果之間的PSNR、SSIM和LPIPS。本文在補充材料中進行了Instruct 4D-to-4D各個變體的消融研究。
定性結果。本文的定性結果顯示在圖下6、下圖5和下圖4中。與基線方法IN2N-4D的定性比較如下圖5和下圖6所示。如下圖5所示,在將單目場景中的貓變成狐貍的任務中,IN2N-4D生成模糊的結果,并出現多個人工痕跡:多個耳朵、多個鼻子和嘴巴等。而本文的Instruct 4D-to-4D生成了逼真的結果,狐貍的形狀與原始場景中的貓非常吻合,毛發上有清晰的紋理,沒有任何痕跡。
這些結果表明,本文的anchor-aware IP2P、基于光流的Warping和滑動窗口方法用于偽視圖編輯,能夠產生偽視圖的時間一致性編輯結果。相比之下,IN2N-4D中原始的IP2P生成了每幀不一致的編輯圖像,最終導致了4D NeRF上的奇怪結果。下圖6展示了多攝像頭場景上的風格轉移結果。本文并行化的Instruct 4D-to-4D在短短兩小時內實現了一致的風格轉移結果,而IN2N-4D則需要比本文的Instruct 4D-to-4D長24倍的時間,仍無法使4D NeRF收斂到指定的風格。這表明,4D場景編輯具有極高的難度,而本文 Instruct 4D-to-4D通過迭代生成完整的編輯數據集的策略,實現了高效的編輯。所有這些結果共同顯示,本文設計的Instruct 4D-to-4D是合理且有效的,能夠以非常高效的方式生成高質量的編輯結果。
上圖5的實驗展示了單目場景mochi-high-five在不同指令下的表現,包括對貓的局部編輯,以及整個場景的風格轉移指令。本文的Instruct 4D-to-4D在Fox和Tiger指令下實現了逼真的局部編輯結果,如虎紋的清晰和一致。在風格轉移指令下,編輯后的場景忠實地反映了指定的風格。這些結果展示了Instruct 4D-to-4D在各種指令下編輯單目場景的出色能力。
上圖4的實驗展示了其他風格轉移結果,包括HyperNeRF和DyCheck中的單目場景,以及DyNeRF中的多攝像頭場景。Instruct 4D-to-4D始終以高保真度展現各種風格的風格轉移結果,顏色明亮,外觀清晰。
定量比較。本文在多攝像頭咖啡馬提尼場景上對文中的Instruct 4D-to-4D和基線方法IN2N-4D進行了量化比較,結果見下表1。與定性比較結果一致,本文的Instruct 4D-to-4D顯著且一致地優于基線方法IN2N-4D。這表明,由Instruct 4D-to-4D訓練的NeRF比基線方法更好地適應了IP2P生成的編輯結果,進一步驗證了本文Instruct 4D-to-4D的有效性。
消融研究:變量與設置。 本文通過與以下幾種變體的比較來驗證本文的設計選擇:
- 視頻編輯。這個變體作為本文Instruct 4D-to-4D的最基本實現,使用任何視頻編輯方法編輯每個偽視圖幀,并使用3D Warping將編輯結果傳播到其他幀。本文使用了一個零損耗文本驅動的視頻編輯模型,FateZero,通過預訓練的穩定擴散模型。本文遵循Fatezero官方實現中的風格編輯和屬性編輯設置。由于它們只能處理8個視頻幀的批處理,本文采用逐批次的偽視圖編輯策略。
- 不使用光流的anchor感知IP2P。在這個變體中,本文在沒有光流引導的情況下進行視頻編輯,即anchor感知IP2P直接使用相同的擴散模型設置編輯所有訓練圖像。
- 單次偽視圖傳播。在這個變體中,本文僅進行一次偽視圖傳播,即所有剩余的偽視圖從4個隨機選擇的關鍵偽視圖中進行Warping,然后在這些編輯圖像上訓練NeRF直至收斂。
消融研究的任務是在DyNeRF數據集的咖啡馬提尼上應用“如果由梵高繪制”的操作。由于“視頻編輯”變體不使用主文中的擴散模型IP2P來編輯視頻,因此本文無法使用主文中的度量標準。因此,與IN2N 一致,本文使用CLIP 相似度來評估編輯操作的成功程度。
消融研究:結果。定性結果顯示在下圖7和演示視頻中。大多數變體未能對場景進行足夠的編輯,呈現出陰沉的外觀,并且缺乏梵高典型的色彩。這表明本文Instruct 4D-to-4D的設計選擇是有效的且至關重要,可以實現高質量的編輯。
量化比較結果顯示在下表2中。本文完整的Instruct 4D-to-4D在消融任務中實現了顯著更高的CLIP相似度,表明本文的設計是有效的。此外,觀察到視頻編輯策略甚至無法比IN2N-4D獲得更好的指標,這表明即使將其轉換為偽3D場景,編輯4D場景仍然是一個非常困難的任務。
結論
Instruct 4D-to-4D,這是第一個通過將4D場景視為偽3D場景,并采用迭代策略利用2D擴散模型編輯偽3D場景的指導性4D場景編輯框架。定性實驗結果顯示,Instruct 4D-to-4D在包括單目和多攝像頭場景在內的多種任務中實現了高質量的編輯結果。Instruct 4D-to-4D還顯著優于基線方法,即將現有最先進的3D編輯方法簡單擴展到4D場景,顯示了這一任務的難度和復雜性,以及本文方法的成功。希望本文的工作能夠激發更多關于4D場景編輯的未來研究。
本文轉自 AI生成未來 ,作者:Linzhan Mou等
