字節AI版小李子一開口:黃風嶺,八百里

字節和浙大聯合研發的項目Loopy火了!

只需一幀圖像,一段音頻,就能生成一段非常自然的視頻!

研究團隊還放出了Loopy和同類應用的對比視頻:

網友下場齊誇誇:

真這麼牛?咱們一起來看一下!

研究團隊放出了一些DEMO視頻,內容腦洞跨度有點大!

比如讓小李子唱《黑神話》靈吉菩薩的陝北說書(高音時還會皺眉):

讓兵馬俑滿口英倫腔:

蒙娜麗莎張口說話:

梅梅自帶Bgm說古裝臺詞(甚至還有挑眉的小動作):

狼叔的側顏照也難不倒它:

嘆息聲的細節也能處理得很好:

看完這些毫無違和感DEMO視頻,咱們來研究一下Loopy是如何生成這類視頻的:

總的來說,Loopy是一個端到端的音頻驅動視頻生成模型。

它的框架可以由四部分構成,分別是:

ReferenceNet:一個額外的網絡模塊,它複製了原始SD U-Net的結構,以參考圖像的潛在表示作爲輸入,來提取參考圖像的特徵。

DenoisingNet:一個去噪的U-Net,負責從噪聲輸入生成最終的視頻幀。

在DenoisingNet的空間注意力層中,ReferenceNet提取的參考圖像特徵會與DenoisingNet的特徵在token維度上進行拼接。

這樣做是爲了讓DenoisingNet能夠選擇性地吸收ReferenceNet中與當前特徵相關的圖像信息,從而在生成過程中保持圖像的視覺一致性。

簡單來說,通過結合這兩個網絡的特徵,DenoisingNet能夠更好地利用參考圖像的細節,提升生成結果的質量和連貫性。

Apperance:Loopy的外觀模塊,主要接收參考圖像和運動幀圖像,然後將它們壓縮成特殊的數字編碼(潛在向量)。

運動幀的潛在向量經過“時間序列模塊”處理,與參考圖像的潛在向量拼在一起。這樣就融合了參考信息和動作信息。

然後將拼接後的潛在向量輸入ReferenceNet模塊中,生成一張特徵圖,標註着重要的視覺信息,方便供後續去噪模塊使用。

Audio:Loopy的音頻模塊。模型先是使用Wav2Vec網絡提取音頻特徵,並將每層的特徵連接起來,形成多尺度音頻特徵。

然後對於每一幀視頻,將前兩幀和後兩幀的音頻特徵連接,形成一個包含5幀音頻特徵的序列,作爲當前幀的音頻信息。

最後在每個殘差塊中,使用“交叉注意力”機制,將音頻特徵與視覺特徵結合,計算出一個關注的音頻特徵,並將其與視覺特徵相加,生成新的特徵。

值得一提的是,模型中也涉及到了一個Audio2Latent模塊,這個模塊可以將音頻信息映射到共享的運動潛在空間,進一步幫助模型理解音頻與視頻中人物動作之間的關係。

研究團隊的實驗結果如下:

值得一提的是,在Loopy之前,字節和浙大就已經聯合研發出了一款類似的項目CyberHost。

但與Loopy不同的是,CyberHost是一個端到端音頻驅動的人類動畫模型。

團隊同樣也放出了DEMO視頻: