大家都懂,視頻生成這件事,最讓創(chuàng)作者頭疼的,不一定是畫面不夠清晰。
而是模型常常聽不懂人話?。。。ㄔ?.jpg )
想把晴天改成雪天,它可能只會往畫面上撒雪花;想把一段動(dòng)畫植入商場 LED 大屏,它可能邊界亂飄、透視不穩(wěn)。
于是乎,問題來了:AI 視頻生成,能不能先理解創(chuàng)作者到底想改什么,再動(dòng)手生成?
就在剛剛,字節(jié)商業(yè)化技術(shù)團(tuán)隊(duì)反手給出一個(gè)行業(yè)新解法——
開源面向視頻生成與視頻編輯的統(tǒng)一框架:Bernini。
主打一個(gè)先理解再生成~

在能力上,Bernini 覆蓋了參考生成、視頻編輯等多種任務(wù),重點(diǎn)體現(xiàn)的就是兩個(gè)字:「可控」。
比如改變整體視覺風(fēng)格時(shí),不只是把單幀畫得好看,還能穩(wěn)住前后幀的一致性,主打一個(gè)效果超級穩(wěn):

對了,目前,Bernini 的推理代碼和權(quán)重已經(jīng)開放!?。g呼 .jpg )
一條指令改視頻,Bernini 輕松拿捏「可控編輯」!
如果說過去很多視頻生成模型更像按提示詞出片,那 Bernini 想解決的,是另一個(gè)更實(shí)際的問題——
生成之后,怎么繼續(xù)改?
我們?nèi)粘E龅降拇蠖鄶?shù)調(diào)整需求聽起來都很 easy,但對視頻模型來說并不簡單!??!
因?yàn)橐曨l編輯不是改一張圖,而是在一段連續(xù)畫面里,既要聽懂指令,又要保住主體、結(jié)構(gòu)、鏡頭和運(yùn)動(dòng)關(guān)系。
稍微處理不好,就會出現(xiàn)主體變形、背景漂移、動(dòng)作斷裂、幀間閃爍等問題。
而 Bernini 的核心思路,正是把這個(gè)過程拆得更清楚。

我們可以把 Bernini 理解成一個(gè) AI 視頻片場里的「導(dǎo)演 + 后期團(tuán)隊(duì)」。
前面負(fù)責(zé)導(dǎo)演的,是一個(gè)叫MLLM-based planner的多模態(tài)大模型規(guī)劃器。
它會先看懂你的文本指令,也會一起理解源視頻、參考圖片、參考視頻這些素材,判斷目標(biāo)畫面應(yīng)該變成什么樣。
等這一步想清楚后,再交給 diffusion 模型 DiT-based renderer 來完成視覺渲染,把前面規(guī)劃好的語義目標(biāo),真正變成連續(xù)、穩(wěn)定、高質(zhì)量的視頻畫面。
所以 Bernini 框架的妙處,就在于分工足夠清楚:
多模態(tài)大模型負(fù)責(zé)想明白,Diffusion Transformer 負(fù)責(zé)生成出來。
從文本到視頻生成,到視頻編輯,再到基于圖像和視頻參考的復(fù)雜控制生成都全部梭哈!

這套巧妙分工,也讓 Bernini 在視頻可控編輯上,展現(xiàn)出了一批相當(dāng)直觀的視頻編輯能力。
最基礎(chǔ)的,是一條指令改變天氣、季節(jié)、材質(zhì)和風(fēng)格的能力。
比如同一段城市航拍視頻,輸入指令后,可以從晴天切到霧天、雨天、雪天。
最關(guān)鍵是,它處理的并不只是天上多幾片雪、畫面加一層濾鏡,而是會連帶調(diào)整天空、光照、路面、建筑表面和整體環(huán)境氛圍,讓這場天氣變化看起來像真的發(fā)生在原場景里:

首先就是能控制畫面關(guān)注區(qū)域的視角、焦點(diǎn)和動(dòng)作。
在視角編輯上,Bernini 能進(jìn)一步理解場景里的三維關(guān)系,讓部分視角調(diào)整結(jié)果更符合透視、結(jié)構(gòu)和空間邏輯:

比如一個(gè)畫面里有多個(gè)物體,我們可以讓鏡頭更關(guān)注桌上的收音機(jī),也可以讓焦點(diǎn)從前景轉(zhuǎn)到背景,so easy~

畢竟很多 AI 視頻靜止看還行,一動(dòng)起來就露餡:主體變形、動(dòng)作斷裂、背景漂移,鏡頭也跟著不穩(wěn)??!
值得一提的是,Bernini 在保留主體身份和場景結(jié)構(gòu)的前提下,可以高精準(zhǔn)度地改變主體動(dòng)作行為。
我們來看下面這段棕熊視頻,哪怕從普通狀態(tài)改成起身跳舞、咆哮,環(huán)境、光照和鏡頭關(guān)系依然能保持穩(wěn)定~

從反復(fù)抽卡到哪里不對改哪里,AI 視頻終于開始有點(diǎn)后期軟件的味兒了???
參考素材上場,視頻創(chuàng)作更可控、更一致
友友們?nèi)粘W?AIGC 內(nèi)容創(chuàng)作時(shí),還會遇到一個(gè)問題,那就是——
我們真的很難用一句 prompt,精確描述想要的視覺效果……
尤其是碰到具體材質(zhì)、某個(gè)商品、某種電影色調(diào),或者一段需要植入到屏幕里的視頻素材,就更容易翻車… ..
好巧不巧, Bernini 除了編輯的本事很強(qiáng)外,還有一個(gè)賊實(shí)用的能力:支持圖片和視頻作為編輯參考。
不僅如此,它還能基于參考輸入直接生成新視頻,把物體、角色和場景的一致性問題狠狠拿捏?。?/p>
不只靠 prompt:用圖片和視頻作為編輯參考
首先來看 Bernini 參考生成的第一個(gè)本事——編輯參考。
具體來說,Bernini 可以讓創(chuàng)作者直接用視覺樣例控制結(jié)果,廣告創(chuàng)意、電商展示、影視預(yù)演、二次創(chuàng)作友友狂喜!!
比如下面這個(gè)增加指定主體的案例,只需要放入一張狗狗參考圖,視頻里就能自然出現(xiàn)同款狗狗。
再輸入一張雪人圖片,雪人也能順滑融進(jìn)當(dāng)前視頻里,光照、透視、邊緣關(guān)系都處理得非常自然:

比如給它布料、朱砂壺、大理石、金屬等不同材質(zhì)參考,原視頻里的盤子就可以被改成對應(yīng)紋理視覺質(zhì)感~
而且最重要的是,這種材質(zhì)變化會跟著目標(biāo)物體穩(wěn)定存在,而不是播放幾幀就漂移、錯(cuò)位或失真:

哪怕參考圖橫跨卡通、寫實(shí)、水墨、賽博朋克等完全不同的視覺風(fēng)格,Bernini 也能提取風(fēng)格特征并遷移到視頻里。
值得一提的是,原視頻里的主體和運(yùn)動(dòng)關(guān)系也會高度保留,風(fēng)格變化也會隨著時(shí)間軸穩(wěn)定延續(xù):

大家都知道,街頭燈箱、商場 LED 大屏、地鐵電視,甚至鏡頭里任何一塊屏幕,都可以變成展示位。
而 Bernini 能做的,就是把一張海報(bào)、一段視頻精準(zhǔn)填進(jìn)目標(biāo)區(qū)域里,還能跟著原片鏡頭一起移動(dòng),做到邊界不破、透視不亂、時(shí)序不抖。
例如給一段街頭實(shí)拍再提供一張油畫圖片,Bernini 就能把油畫自然貼進(jìn)招牌里,畫面融合度也非常強(qiáng):

從參考圖生成視頻:更一致的物體、角色和場景
順帶提一嘴,除了編輯已有視頻,Bernini 還支持基于參考圖直接生成「新視頻」。
我們先來看大家日常需求比較多的單圖參考生成。
比如只給一張香水產(chǎn)品圖,再輸入「生成一段產(chǎn)品展示視頻」的提示詞,模型就能生成真人手持香水轉(zhuǎn)動(dòng)的畫面。
瓶身輪廓、金色液體、黑色標(biāo)貼這些關(guān)鍵細(xì)節(jié),都能和原圖保持很高的一致性。
更有意思的是,換成一條運(yùn)動(dòng)頭帶,再讓模型自由發(fā)揮,它還能生成一只羊駝戴著頭帶站在沙漠的畫面:

再進(jìn)一步,Bernini 還能實(shí)現(xiàn)多元素組合參考生成。
在此我需要要大大點(diǎn)贊的一點(diǎn)是,我們喂進(jìn)去的參考圖不一定需要來自同一個(gè)物體?。?!
比如一座大理石半身像、一副粉色貓耳耳機(jī)、一件的黑色 T 恤、一條熱帶印花短褲,再加一張落日海灘長椅。
幾張圖原本八竿子打不著,但 Bernini 卻可以把它們組合成同一個(gè)視頻角色:

這類能力放到 IP 聯(lián)名、虛擬人塑造、廣告概念片里就很有用,素材庫里原本分散的元素,可以被重新組合成一個(gè)全新的角色和場景~
此外,Bernini 還有一個(gè)更關(guān)鍵的能力,那就是同一物體的多角度參考。
大家都知道,商品和角色很少只有一面,包有背帶,車有尾燈,雕塑有側(cè)臉和背面,模型如果只看過正面,鏡頭一轉(zhuǎn),很容易開始自由發(fā)揮。
而 Bernini 特殊就特殊在,它可以吃進(jìn)同一物體的多張角度參考圖——
比如喂給它大理石雕塑的五張多角度參考,再讓它生成一段連續(xù)鏡頭,雕塑從不同角度出現(xiàn)時(shí),五官、肌肉走向、衣袍褶皺都能保持高度一致:

給到同一辦公區(qū)休息廊的幾張關(guān)鍵幀,比如沙發(fā)、綠植、走廊盡頭的玻璃門,Bernini 可以生成一段連續(xù)平移鏡頭:

因?yàn)樗简?yàn)的已經(jīng)不只是這一幀好不好看,還包括模型能不能理解同一個(gè)場景在連續(xù)鏡頭里的空間關(guān)系。
虛擬漫游、游戲關(guān)卡生成、影視預(yù)演,甚至具身智能模擬,往后都繞不開這種連續(xù)性。
從語義規(guī)劃到視覺渲染,Bernini 的關(guān)鍵是「先理解,再生成」
所以問題來了,Bernini 為什么能同時(shí)吃文本、視頻、參考圖,還能把結(jié)果做得更穩(wěn)?
就像前面提到的,其核心原因在于它沒有讓一個(gè)模型包辦所有事情,而是把任務(wù)拆成了兩步。
第一步是「語義規(guī)劃」,讓模型先理解目標(biāo)。
具體來說,Bernini 首先使用 MLLM-based planner 來理解文本、視頻和參考視覺輸入,并直接在 ViT embedding space 中預(yù)測目標(biāo)語義表示。
這個(gè)目標(biāo)語義表示,可以理解成生成前的一張「語義草圖」。
它不直接規(guī)定每個(gè)像素長什么樣,而是先描述清楚:目標(biāo)視頻應(yīng)該包含什么內(nèi)容、結(jié)構(gòu)怎么變、哪些元素要保留、哪些地方要被編輯。

拿到語義規(guī)劃后,DiT-based renderer 會負(fù)責(zé)生成最終畫面,對于視頻編輯任務(wù),它還會結(jié)合源視頻的 VAE features,盡量保留原視頻里的細(xì)節(jié)和非編輯區(qū)域,避免一改就把整段畫面帶跑。
還有一個(gè)關(guān)鍵點(diǎn),是「多參考輸入」怎么處理。
當(dāng)多個(gè)參考圖、源視頻、目標(biāo)視頻被串進(jìn)同一個(gè)序列里時(shí),不同素材可能會出現(xiàn)相同的時(shí)間和空間坐標(biāo),模型容易認(rèn)混。
所以 Bernini 引入了 Segment-Aware 3D Rotary Positional Embedding,也就是 SA-3D RoPE。
它會給不同視覺片段加上各自的 segment 標(biāo)記,讓模型分清:哪個(gè)是參考圖,哪個(gè)是源視頻,哪個(gè)是目標(biāo)輸出;同時(shí)還能保留時(shí)間和空間位置關(guān)系。
值得一提的是,在字節(jié)商業(yè)化技術(shù)團(tuán)隊(duì)自建的 Arena 結(jié)果里,Bernini 的位置也很有看頭——
面對幾款國內(nèi)外主流閉源模型,這個(gè)開源框架沒有被拉開差距,反而已經(jīng)站進(jìn)了第一梯隊(duì):

以前我們寫了一大段 prompt,AI 未必懂;想改一個(gè)小地方,它可能整條視頻都重來;給了參考圖,它也可能只學(xué)到一點(diǎn)皮毛,最后主體、材質(zhì)、風(fēng)格全都跑偏。
而 Bernini 解決的,就是這種創(chuàng)作里的失控感。
它先理解用戶想要什么,理解原視頻里哪些內(nèi)容要保留,也理解參考圖片、參考視頻到底提供了什么視覺信息。
然后,再把這種理解轉(zhuǎn)成可以生成、可以編輯、可以穩(wěn)定落地的視頻結(jié)果。
少一點(diǎn)反復(fù)碰運(yùn)氣,多一點(diǎn)真正可控的創(chuàng)作空間,這也是 Bernini 最有價(jià)值的地方——
讓大家用自己的素材、自己的想法,去探索 AI 視頻創(chuàng)作還能怎么變得更好用、更聽話、更接近真實(shí)創(chuàng)作流程。
對了,需要一提的是,目前率先開源的 Bernini-R,對應(yīng) Bernini 三階段訓(xùn)練流程中的第二階段模型。
而包含 MLLM Planner 的完整版本也在代碼整理中,預(yù)計(jì)近期將進(jìn)一步開放,大家可以小小期待一下子!
(不管咋說,Bernini-R 可以先狠狠安排上了~)
Bernini 一籮筐參考鏈接:
[ 1 ] GitHub:https://github.com/bytedance/Bernini
[ 2 ] Hugging Face:https://huggingface.co/ByteDance/Bernini
[ 3 ] Project Page:https://bernini-ai.github.io
一鍵三連「點(diǎn)贊」「轉(zhuǎn)發(fā)」「小心心」
歡迎在評論區(qū)留下你的想法!
— 完 —
點(diǎn)亮星標(biāo)
科技前沿進(jìn)展每日見