Open main menu
IT人
Up主已經開始鬼畜,騰訊開源「AniPortrait」讓照片唱歌說話
机器之心
發表於
2024-04-07
AI
AniPortrait 模型是開源的,可以自由暢玩。
「小破站鬼畜區的新質生產力工具。」
近日,
騰訊
開源釋出的一個新專案在推上獲得瞭如此評價。這個專案是 AniPortrait,其可基於音訊和一張參考
影像生成
高質量動畫人像。
話不說多,我們先看看可能會被律師函警告的 demo:
動漫影像也能輕鬆開口說話:
該專案剛上線幾天,就已經收穫了廣泛好評:GitHub Star 數已經突破 2800。
下面我們來看看 AniPortrait 的創新之處。
論文標題:AniPortrait:
Audi
o-Driven Synthesis of Photorealistic Portrait Animation
論文地址:https://arxiv.org/pdf/2403.17694.pdf
程式碼地址:https://github.com/Zejun-Yang/AniPortrait
AniPortrait
騰訊
新提出的 AniPortrait 框架包含兩個模組:
Audi
o2Lmk 和 Lmk2Video。
Audi
o2Lmk 的作用是提取 Landmark 序列,其能從音訊輸入捕獲複雜的面部表情和嘴唇動作。Lmk2Video 是利用這種 Landmark 序列來生成時間上穩定一致的高質量人像影片。
圖 1 給出了 AniPortrait 框架的概況。
Audi
o2Lmk
對於一段語音片段序列,這裡的目標是預測對應的 3D 人臉網格序列和姿勢序列。
該團隊採用了預訓練的 wav2vec 來提取音訊特徵。該模型具有很好的泛化效能,並且可以準確識別音訊中的發音和語調 —— 這對生成具有真實感的人臉動畫來說至關重要。透過利用所獲得的魯棒的語音特徵,使用一種包含兩個 fc 層的簡單架構就可以有效地將它們轉換成 3D 人臉網格。該團隊觀察到,這種簡單直接的設計不僅能確保準確度,而且還能提升推理過程的效率。
在將音訊轉換成姿勢的任務中,該團隊使用的骨幹網路依然是同樣的 wav2vec。但是,這一個網路的
權重
不同於音訊到網格模組的網路。這是因為:姿勢與音訊中的節奏和音調的關聯更加緊密,而音訊到網格任務關注的重點(發音和語調)卻不一樣。為了將之前狀態的影響納入考量,該團隊採用了一個 transformer 解碼器來解碼姿勢序列。在這個過程中,該模組使用交叉
注意力機制
將音訊特徵整合進解碼器。對於上述兩個模組,訓練使用的
損失函式
都是簡單的 L1 損失。
在獲得了網格和姿勢序列之後,再使用透視投影將它們轉換為 2D 的人臉 Landmark 序列。這些 Landmark 是下一階段的輸入訊號。
Lmk2Video
給定一張參考人像和一個人臉 Landmark 序列,該團隊提出的 Lmk2Video 可以建立具有時間一致性的人像動畫。這個動畫過程是將動作與 Landmark 序列對齊,同時維持與參考影像一致的外觀。該團隊採取的思路是將人像動畫表示成一個人像幀構成的序列。
Lmk2Video 的這種網路結構設計的靈感來自 AnimateAnyone。其中的骨幹網路是 SD1.5,其整合了一個時間運動模組,能有效地將多幀噪聲輸入轉換成一個影片幀序列。
另外,他們還使用了一個 ReferenceNet,其同樣採用了 SD1.5 的結構,作用是提取參考影像的外觀資訊並將其整合進骨幹網路中。這一策略設計可確保人臉 ID 在整個輸出影片中保持一致。
不同於 AnimateAnyone,這裡提升了 PoseGuider 的設計的複雜性。原來的版本只是整合了幾個卷積層,之後 Landmark 特徵與骨幹網路的輸入層的隱含特徵融合。而
騰訊
的這個團隊發現,這種初級設計無法捕獲嘴唇的複雜運動。因此,他們採用了 ControlNet 的多尺度策略:將相應尺度的 Landmark 特徵整合進骨幹網路的不同模組。儘管有這些改進,但最終模型的
引數
數量依然相當低。
該團隊還引入了另一項改進:將參考影像的 Landmark 用作一個額外的輸入。PoseGuider 的交叉注意力模組能促進參考 Landmark 和每一幀的目標 Landmark 之間的互動。這一過程能為網路提供額外的線索,使其能夠理解人臉 Landmark 和外觀之間的關聯,由此可幫助人像動畫生成更精準的動作。
實驗
實現細節
Audi
o2Lmk 階段使用的骨幹網路是 wav2vec2.0。用於提取 3D 網格和 6D 姿勢的工具是 MediaPipe。
Audi
o2Mesh 的訓練資料來自
騰訊
的內部資料集,其中包含接近一個小時的來自單個說話人的高質量語音資料。
為了確保 MediaPipe 提取出的 3D 網格的穩定性,在記錄期間,表演者頭部位置穩定並且面向相機。訓練
Audi
o2Pose 使用的是 HDTF。所有的訓練操作都在單臺 A100 上執行,使用了 Adam
最佳化器
,
學習率
設定為 1e-5.
Lmk2Video 過程則採用了一種兩步式訓練方法。
起始步驟階段關注的重點是訓練骨幹網路 ReferenceNet 以及 PoseGuider 的 2D 元件,而不管運動模組。在後續步驟,則會凍結其它所有元件,專注於訓練運動模組。為了訓練模型,這裡使用了兩個大規模高質量人臉影片資料集:VFHQ 和 CelebV-HQ。所有資料都經由 MediaPipe 來提取 2D 人臉 Landmark。為了提升網路對嘴唇運動的敏感性,該團隊的做法是在根據 2D Landmark 渲染姿勢影像時,給上下唇標註不同的顏色。
所有影像的解析度都重新調整成了 512x512。該模型的訓練使用了 4 臺 A100 GPU,每一步都耗時 2 天。
最佳化器
是 AdamW,
學習率
固定為 1e-5。
實驗結果
如圖 2 所示,新方法得到的動畫在質量和真實度上都非常出色。
此外,使用者還可以編輯其中間的 3D 表徵,從而對最終輸出進行修改。舉個例子,使用者可從某個源提取 Landmark 並修改其 ID 資訊,從而實現面部重現效果,如下影片所示:
更多細節請參考原論文。
相關文章
已開源|碼上用它開始Flutter混合開發——FlutterBoost
2019-03-07
Flutter
碼上用它開始Flutter混合開發——FlutterBoost | 已開源
2019-03-07
Flutter
讓Windows XP系統開口說話(轉)
2007-08-11
Windows
各位frontend developer們,時機已經成熟,讓我們開始用上pnpm吧
2021-12-04
Developer
NPM
從“埋點技術已死?”開始說起
2016-03-16
微軟開源的 AI 工具,讓舊照片煥發新生
2020-11-25
微軟
AI
人物照片+文字 = 定製化影片,騰訊光子開源ID-Animator
2024-05-18
大咖說·對話開源|企業如何用好開源資料庫
2022-08-16
資料庫
谷歌程式碼評審指南已經開源
2019-09-06
谷歌
騰訊UnLua開源
2019-08-13
清空資料庫,或者說讓id這個主鍵從1從新開始的方法
2017-10-16
資料庫
階段性進展:開源資料庫已開始得寵(轉)
2007-08-16
資料庫
開源已經勝出,但是可持續嗎?
2023-03-10
什麼樣的技術,能讓黃河開口說話?
2022-12-22
讓你的Windows XP系統開口說話(TTS)(轉)
2007-08-11
Windows
TTS
微軟真會玩:已經開始研發AR平臺
2016-06-06
微軟
Elasticsearch 創始人 Shay Banon:讓資料自己說話
2017-10-25
Elasticsearch
元宇宙7個開源工具和框架讓開發不用從零開始
2022-07-13
元宇宙
開源工具
框架
騰訊“瘋狂”開源!
2020-01-22
讓Java說話! (轉)
2007-12-09
Java
Oracle 6月已經加入Grails開源計劃(轉)
2007-08-15
Oracle
AI
[小夥伴們]X君正傳——開源君有話說
2014-03-20
從Java 9開始JDK已經提供日誌記錄器
2022-02-16
Java
JDK
專訪Elasticsearch創始人ShayBanon:讓資料自己說話
2017-10-24
Elasticsearch
『騰訊雲開發達人計劃』開始啦~
2019-04-09
騰訊投資深藍遊戲持股20%,創始人曾主導開發《食物語》
2021-02-25
遊戲
食物語
我的BERT!改改字典,讓BERT安全提速不掉分(已開源)
2020-09-25
[譯] 讓 Apache Cassandra 尾部延遲減小 10 倍,已開源
2018-04-03
Apache
大咖說·對話開源|與 Tapdata 論道資料技術開放生態
2023-01-10
大白話開源協議
2024-03-06
協議
【Java經驗分享篇01】小白如何開始學會看開源專案?
2021-08-02
Java
如何開始參與開源專案?
2014-08-03
說一說 Facebook 開源的 Litho
2017-05-22
騰訊 AI Lab 正式開源PocketFlow,讓深度學習放入手機!
2018-11-05
AI
深度學習
資料運營實戰(三):用資料說話,從埋點開始
2017-08-18
蘋果公司已經開始量產4.7英寸版本的iPhone 7
2016-06-25
蘋果
iPhone
【日記】已經在開始幻想明年的年度計劃了(498 字)
2024-08-29
AMD 開源照片級渲染引擎 Radeon ProRender
2016-07-27