大叔也能“變”萌妹?1張動漫頭像就可以,說話唱歌樣樣行
還能讓二次元老婆“說話”
蕭簫 發(fā)自 凹非寺
量子位 報道 | 公眾號 QbitAI
只需要1張動漫頭像,就能讓你的二次元老婆“開口說話”:
甚至可以像虛擬主播一樣搖晃腦袋唱歌:
不僅如此,動漫頭像還能模擬你的口型和頭部動作,實時“唱”出想要的效果來(作者親自上場):
簡直是老二刺螈玩家的福音。而且,不想露面的主播,也有了新的免費“虛擬主播”可選擇。
那么,這是用的什么原理,讓模型能達(dá)到這樣的效果?
用3D模型,讓2D頭像動起來
這個模型最核心的思想,就是將圖片和姿態(tài)參數(shù)輸入系統(tǒng),來“改變”輸入圖片中動漫人物的姿態(tài)。
聽起來非常簡單,但實際上并不容易實現(xiàn)。其一,對應(yīng)的數(shù)據(jù)集不好找;其二,網(wǎng)絡(luò)的體系結(jié)構(gòu)和訓(xùn)練不容易搭建。
而且,作者也沒能如愿找到多姿態(tài)的2D動漫角色數(shù)據(jù)集。
怎么辦?
經(jīng)過思考,作者選擇采用大量3D模型(約8000個)對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,因為這些3D模型的參數(shù),是可控的。
除此之外,也還需要設(shè)計模型注釋,以“圈”出模型的頭部、發(fā)型和配飾等“需要旋轉(zhuǎn)”的地方。
而動漫人物經(jīng)過變化的眼睛和嘴型,也需要單獨提取出來,用于考慮各種人物表情的變化。
根據(jù)3D人物的實際動畫效果,就能設(shè)計出對應(yīng)的網(wǎng)絡(luò)了:從人物最主要的兩個動作,即改變表情和旋轉(zhuǎn)臉部,來讓人物“動起來”。
也就是說,首先需要控制眼睛和嘴張開的程度,然后,再想辦法讓動漫人物的頭部“轉(zhuǎn)起來”。
先是改變表情。這一步驟相對簡單,只需要找到一個張嘴、睜眼的動漫頭像,就能用算法,讓主角眨眼睛、改變嘴型。
但控制臉部旋轉(zhuǎn)的算法,則要更復(fù)雜一些,因為伴隨著臉部轉(zhuǎn)動的,雖然只有頭部,但還要連同發(fā)型和配飾一同轉(zhuǎn)動。
作者進(jìn)一步改進(jìn)算法后,控制面部旋轉(zhuǎn)的網(wǎng)絡(luò)模型,變得更加細(xì)化了一些:
首先找到需要旋轉(zhuǎn)的部分、完成旋轉(zhuǎn),然后將輸出圖像的顏色控制與輸入像素對應(yīng),最后將效果進(jìn)行結(jié)合。
從人物的晃頭、前后擺動來看,效果還是非常不錯的。
不過,這還不是作者想要的模型,畢竟虹膜和眉毛還不能變化。
在對算法進(jìn)行優(yōu)化后,最新的模型,不僅能惟妙惟肖地做出生氣、厭惡、沮喪的表情來,還能改變瞳孔和眉毛的形狀,人物看起來也更逼真了。
效果如何?
應(yīng)用到單張2D頭像上的效果,還是挺能打的:
不僅能通過視頻人臉檢測,實時模擬人物的口型和表情:
還能用已有的視頻人物控制它“說話”、“唱歌”,化身“虛擬主播”:
不過,單從3D模型的渲染效果來看,偶爾會出現(xiàn)一些失誤,需要適當(dāng)進(jìn)行調(diào)整。
例如……這位黃發(fā)少年身上的劍,就會“隨頭移動”:
盡管頭部的旋轉(zhuǎn)已經(jīng)非常完美,不過,本該在背后的劍,卻也隨著頭部轉(zhuǎn)動了起來……
作者本人也提到了這些細(xì)節(jié),而且也指出,對于某些發(fā)型比較特殊的動漫人物來說,的確會出現(xiàn)不那么完美的情況。
例如,隨著頭部轉(zhuǎn)動,出現(xiàn)辮子被“割斷”的情況:
不過,這些也都還是細(xì)節(jié)上的問題。
作者表示,數(shù)據(jù)集也需要重點關(guān)注:他找的動漫頭像,基本都是人物頭像。
也就是說,如果訓(xùn)練數(shù)據(jù)與角色外觀差異較大(例如獸人),就會出現(xiàn)這種情況:
如果你是獸人玩家,可能還需要自行準(zhǔn)備數(shù)據(jù)集,再訓(xùn)練一個模型出來。
作者介紹
Pramook Khungurn,本碩畢業(yè)于MIT,博士就讀于康奈爾大學(xué)計算機科學(xué)系,目前在谷歌日本(Google Japan)工作,專注于渲染算法和外觀建模的研究。
讀書期間,他也有不少計算機系的論文發(fā)表在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/



