大叔也能“變”萌妹?1張動漫頭像就可以,說話唱歌樣樣行
還能讓二次元老婆“說話”
蕭簫 發自 凹非寺
量子位 報道 | 公眾號 QbitAI
只需要1張動漫頭像,就能讓你的二次元老婆“開口說話”:
甚至可以像虛擬主播一樣搖晃腦袋唱歌:
不僅如此,動漫頭像還能模擬你的口型和頭部動作,實時“唱”出想要的效果來(作者親自上場):
簡直是老二刺螈玩家的福音。而且,不想露面的主播,也有了新的免費“虛擬主播”可選擇。
那么,這是用的什么原理,讓模型能達到這樣的效果?
用3D模型,讓2D頭像動起來
這個模型最核心的思想,就是將圖片和姿態參數輸入系統,來“改變”輸入圖片中動漫人物的姿態。
聽起來非常簡單,但實際上并不容易實現。其一,對應的數據集不好找;其二,網絡的體系結構和訓練不容易搭建。
而且,作者也沒能如愿找到多姿態的2D動漫角色數據集。
怎么辦?
經過思考,作者選擇采用大量3D模型(約8000個)對網絡進行訓練,因為這些3D模型的參數,是可控的。
除此之外,也還需要設計模型注釋,以“圈”出模型的頭部、發型和配飾等“需要旋轉”的地方。
而動漫人物經過變化的眼睛和嘴型,也需要單獨提取出來,用于考慮各種人物表情的變化。
根據3D人物的實際動畫效果,就能設計出對應的網絡了:從人物最主要的兩個動作,即改變表情和旋轉臉部,來讓人物“動起來”。
也就是說,首先需要控制眼睛和嘴張開的程度,然后,再想辦法讓動漫人物的頭部“轉起來”。
先是改變表情。這一步驟相對簡單,只需要找到一個張嘴、睜眼的動漫頭像,就能用算法,讓主角眨眼睛、改變嘴型。
但控制臉部旋轉的算法,則要更復雜一些,因為伴隨著臉部轉動的,雖然只有頭部,但還要連同發型和配飾一同轉動。
作者進一步改進算法后,控制面部旋轉的網絡模型,變得更加細化了一些:
首先找到需要旋轉的部分、完成旋轉,然后將輸出圖像的顏色控制與輸入像素對應,最后將效果進行結合。
從人物的晃頭、前后擺動來看,效果還是非常不錯的。
不過,這還不是作者想要的模型,畢竟虹膜和眉毛還不能變化。
在對算法進行優化后,最新的模型,不僅能惟妙惟肖地做出生氣、厭惡、沮喪的表情來,還能改變瞳孔和眉毛的形狀,人物看起來也更逼真了。
效果如何?
應用到單張2D頭像上的效果,還是挺能打的:
不僅能通過視頻人臉檢測,實時模擬人物的口型和表情:
還能用已有的視頻人物控制它“說話”、“唱歌”,化身“虛擬主播”:
不過,單從3D模型的渲染效果來看,偶爾會出現一些失誤,需要適當進行調整。
例如……這位黃發少年身上的劍,就會“隨頭移動”:
盡管頭部的旋轉已經非常完美,不過,本該在背后的劍,卻也隨著頭部轉動了起來……
作者本人也提到了這些細節,而且也指出,對于某些發型比較特殊的動漫人物來說,的確會出現不那么完美的情況。
例如,隨著頭部轉動,出現辮子被“割斷”的情況:
不過,這些也都還是細節上的問題。
作者表示,數據集也需要重點關注:他找的動漫頭像,基本都是人物頭像。
也就是說,如果訓練數據與角色外觀差異較大(例如獸人),就會出現這種情況:
如果你是獸人玩家,可能還需要自行準備數據集,再訓練一個模型出來。
作者介紹
Pramook Khungurn,本碩畢業于MIT,博士就讀于康奈爾大學計算機科學系,目前在谷歌日本(Google Japan)工作,專注于渲染算法和外觀建模的研究。
讀書期間,他也有不少計算機系的論文發表在SIGGRAPH等頂會上。(而且,還擁有比滿分更高的GPA)
項目地址:
https://pkhungurn.github.io/talking-head-anime/
參考鏈接:
https://www.cs.cornell.edu/~pramook/
https://www.reddit.com/r/MachineLearning/comments/lafy8i/rp_talking_head_anime_from_a_single_image_2_more/
- 首個GPT-4驅動的人形機器人!無需編程+零樣本學習,還可根據口頭反饋調整行為2023-12-13
- IDC霍錦潔:AI PC將顛覆性變革PC產業2023-12-08
- AI視覺字謎爆火!夢露轉180°秒變愛因斯坦,英偉達高級AI科學家:近期最酷的擴散模型2023-12-03
- 蘋果大模型最大動作:開源M芯專用ML框架,能跑70億大模型2023-12-07




