字節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視頻: