無需微調(diào),一張照片即可換臉、換背景!NUS等華人團隊破局個性化視頻生成
隨著擴散模型的發(fā)展,基于輸入文本生成高質(zhì)量的圖片和視頻已經(jīng)成為現(xiàn)實,但是僅使用文本生成視覺內(nèi)容的可控性有限。
為了克服這個問題,研究人員們開始探索額外的控制信號和對現(xiàn)有內(nèi)容進行編輯的方法。這兩個方向在一定程度上實現(xiàn)了生成過程的可控性,但仍然需要依賴文本來描述目標生成內(nèi)容。
在實際應用中,我們面臨著一個新的需求:如果用戶想要生成的內(nèi)容無法用語言描述呢?
例如,用戶想生成某一個普通人的視頻,但僅在輸入文本中使用普通人的名字是無意義的,因為語言模型無法識別不在訓練語料中的個體姓名。
針對這個問題,一種可行的解決方案是基于給定個體訓練個性化的模型。
例如,DreamBooth和Dreamix通過多張圖片理解個體概念,從而進行個性化的內(nèi)容生成,不過這兩種方法需要對每個個體分別進行學習,并且需要該個體的多張訓練圖片和精細化調(diào)參。
最近,來自新加坡國立大學(NUS)和華為諾亞實驗室的研究者們在個性化視頻編輯上取得了新的進展,通過多個集成模型的協(xié)同工作,無需對個性化概念進行額外的訓練和微調(diào),僅僅需要一張目標參考圖片,就能實現(xiàn)對已有視頻的主角替換、背景替換以及特定主角的文生視頻。
項目主頁:https://make-a-protagonist.github.io/
論文地址:https://arxiv.org/pdf/2305.08850.pdf
代碼地址:https://github.com/Make-A-Protagonist/Make-A-Protagonist
這項研究為個性化視頻編輯領域帶來了新的可能性,使得生成個性化內(nèi)容變得更加簡便和高效。
介紹
Make-A-Protagonist將視頻分為主角和背景,對二者使用視覺或語言參考信息,從而實現(xiàn)主角編輯、背景編輯和特定主角的文生視頻。
主角編輯功能允許用戶使用相同的場景描述,但通過參考圖像來替換視頻中的主角。這意味著用戶可以使用自己選擇的圖像來替換視頻中的主要角色。
背景編輯功能允許用戶使用與原始視頻相同的主角描述(例「Suzuki Jimny」),并使用原始視頻幀作為視覺信息,但可以更改對場景的文字描述(例如「in the rain」)。這樣,用戶可以保持相同的主角,但改變場景的描述,營造出不同的視覺效果。
特定主角的文生視頻功能將主角編輯和背景編輯結合起來。用戶可以使用參考圖像作為主角,并對場景進行描述,從而創(chuàng)造出全新的視頻內(nèi)容。此外,對于多主角視頻,Make-A-Protagonist還可以對單個或多個角色進行更改。
與DreamBooth和Dreamix不同,Make-A-Protagonist僅需要單張參考圖像,不需要對每個概念進行微調(diào),因此在應用場景上更加靈活多樣。Make-A-Protagonist為用戶提供了一種簡便而高效的方式來實現(xiàn)個性化的視頻編輯和生成。
方法
Make-A-Protagonist使用多個強大的專家模型,對原視頻、視覺和語言信息進行解析,并結合基于視覺語言的視頻生成模型和基于掩碼的去噪采樣算法,實現(xiàn)通用視頻編輯。該模型主要由三個關鍵部分組成:原視頻解析,視覺和語言信息解析,以及視頻生成。
具體來說,Make-A-Protagonist推理過程包括以下三步:首先使用BLIP-2, GroundingDINO、Segment Anything 和 XMem等模型對原視頻進行解析,獲得視頻的主角掩碼,并解析原視頻的控制信號。
接下來,使用CLIP和DALL-E 2 Prior對視覺和語言信息進行解析。最后,使用基于視覺語言的視頻生成模型和基于掩碼的去噪采樣算法,利用解析信息生成新的內(nèi)容。
Make-A-Protagonist的創(chuàng)新之處在于引入了基于視覺語言的視頻生成模型和基于掩碼的去噪采樣算法,通過整合多個專家模型并解析、融合多種信息,實現(xiàn)了視頻編輯的突破。
這些模型的運用使得該系統(tǒng)更加精準地理解原視頻、視覺和語言信息,并能夠生成高質(zhì)量的視頻內(nèi)容。
Make-A-Protagonist為用戶提供了一款強大而靈活的工具,讓他們能夠輕松進行通用的視頻編輯,創(chuàng)作出獨特而令人驚艷的視覺作品。
1. 原視頻解析
原視頻解析的目標是獲取原視頻的語言描述(caption)、主角文字描述、主角分割結果以及ControlNet所需的控制信號。
針對caption和主角文字描述,Make-A-Protagonist采用了BLIP-2模型。
通過對BLIP-2的圖像網(wǎng)絡進行修改,實現(xiàn)了對視頻的解析,并使用captioning模式生成視頻的描述,這些描述在訓練和視頻編輯中用于視頻生成網(wǎng)絡。
對于主角文字描述,Make-A-Protagonist使用VQA模式,提出問題:「視頻的主角是什么?」并使用答案進一步解析原視頻中的主角信息。
在原視頻中的主角分割方面,Make-A-Protagonist利用上述得到的主角文字描述,在第一幀中使用GroundingDINO模型來定位相應的檢測內(nèi)容,并使用Segment Anything模型獲得第一幀的分割掩碼。然后,借助跟蹤網(wǎng)絡(XMem),Make-A-Protagonist得到整個視頻序列的分割結果。
除此之外,Make-A-Protagonist利用ControlNet來保留原視頻的細節(jié)和動作,因此需要提取原視頻的控制信號。文中使用了深度信號和姿態(tài)信號。
通過這些創(chuàng)新的解析方法和技術,Make-A-Protagonist能夠準確地解析原視頻的語言描述、主角信息和分割結果,并提取控制信號,為后續(xù)的視頻生成和編輯打下了堅實的基礎。
2. 視覺和語言信息解析
對于視覺信號,Make-A-Protagonist在本文中采用CLIP image embedding作為生成條件,為了去除參考圖像背景的影響,類似于原視頻解析,Make-A-Protagonist使用GroundingDINO和Segment Anything得到參考圖像主角的分割掩碼,使用掩碼將分割后的圖像輸入CLIP視覺模型,以獲取參考視覺信息。
語言信息主要用于控制背景,本文將語言信息用于兩方面,一方面使用CLIP語言模型提取特征,作為注意力網(wǎng)絡的key和value。
另一方面,使用DALL-E 2 Prior網(wǎng)絡,將語言特征轉(zhuǎn)化為視覺特征,從而增強表征能力。
3. 視頻生成
3.1 視頻生成網(wǎng)絡訓練
為了充分利用視覺信息,Make-A-Protagonist使用Stable UnCLIP作為預訓練模型,并對原視頻進行微調(diào),從而實現(xiàn)利用視覺信息進行視頻生成。
在每個訓練迭代中,Make-A-Protagonist提取視頻中隨機一幀的CLIP image embedding,將其作為視覺信息輸入到Residual block中。
3.2 基于掩碼的去噪采樣
為融合視覺信息和語言信息,本文提出基于掩碼的去噪采樣,在特征空間和隱空間對兩種信息進行融合。
具體來說,在特征域,Make-A-Protagonist使用原視頻的主角掩碼,將主角對應部分使用視覺信息,背景對應部分使用DALL-E 2 Prior轉(zhuǎn)化后的語言信息:
在隱空間中,Make-A-Protagonist將僅使用視覺信息的推理結果和經(jīng)過特征融合的推理結果按照原視頻的主角掩碼進行融合:
通過特征空間和隱空間的信息融合,生成的結果更加真實,并且與視覺語言表述更加一致。
總結
Make-A-Protagonist引領了一種全新的視頻編輯框架,充分利用了視覺和語言信息。
該框架為實現(xiàn)對視覺和語言的獨立編輯提供了解決方案,通過多個專家網(wǎng)絡對原視頻、視覺和語言信息進行解析,并采用視頻生成網(wǎng)絡和基于掩碼的采樣策略將這些信息融合在一起。
Make-A-Protagonist展現(xiàn)了出色的視頻編輯能力,可廣泛應用于主角編輯、背景編輯和特定主角的文生視頻任務。
Make-A-Protagonist的出現(xiàn)為視頻編輯領域帶來了新的可能性。它為用戶創(chuàng)造了一個靈活且創(chuàng)新的工具,讓他們能夠以前所未有的方式編輯和塑造視頻內(nèi)容。
無論是專業(yè)編輯人員還是創(chuàng)意愛好者,都能夠通過Make-A-Protagonist打造出獨特而精彩的視覺作品。
參考資料:
https://make-a-protagonist.github.io/