二次元的正確打開方式
本文 GitHub //github.com/Jack-Cherish/PythonPark 已收錄,有技術乾貨文章,整理的學習資料,一線大廠面試經驗分享等,歡迎 Star 和 完善。
一、前言
大家好,我是 Jack 。
去年發表的「Talking Head Anime」大家都看過了吧?
最近,這位Google工程師對演算法進行了升級,「Talking Head Anime 2」效果更好!
只需要一張 PNG 二次元角色圖片,就可以生成虛擬偶像,生成帶面部表情捕捉的 Vtuber 角色。
作者親自上場,動漫頭像根據作者的口型和頭部動作實時「演唱」。
老規矩,今天就教大家怎麼玩!
二、演算法原理
演算法的核心思想是:給定某個動漫人物的一張人臉影像和六軸的姿態資訊(Pose),生成同一人物的另一張人臉影像。
通過實時控制六軸的姿態資訊(Pose),來達到實時控制動漫人物的效果。

整個過程分類兩個步驟:
第一步:改變面部表情,即控制眼睛和嘴的開閉程度。
第二步:人臉旋轉。
每一步都使用單獨的一個網路,並將第一個網路的輸出作為第二個網路的輸入。
第一個網路為人臉變形器,第二個網路為人臉旋轉器。

為了獲得更好的面部動作,作者本次升級將姿態維度增加到了 42 維。
同時在人臉變形器中增加了眉毛、眼睛、嘴巴形變器。

眉毛變形器:可以分割出眉毛,並控制眉毛扭曲的形狀。

眼睛和嘴巴變形器的網路也是類似操作。

更具體的原理,詳見作者的論文:
//pkhungurn.github.io/talking-head-anime-2/
三、演算法測試
「Talking Head Anime 2」還沒有開源,不過應該馬上就有了。
著急,可以先玩一玩「Talking Head Anime」,效果也很不錯,同時也算為第二代做環境的準備了。
項目地址:
//github.com/pkhungurn/talking-head-anime-demo
第一步:配置開發環境。
依賴不多,使用 Anaconda 配置安裝下即可。

這裡有詳細的環境配置教程:《一勞永逸的 Python 開發環境搭建》
第二步:下載程式碼和權重文件。
一共四個權重文件,下載好並它們放在工程目錄的 data 目錄下。

我將程式碼和權重文件,進行了打包,可以直接下載使用(提取碼:jack):
//pan.baidu.com/s/1MlBYx2EhyZgRoD7nXWayBA
第三步:運行程式。
Python;toolbar:false">python app/manual_poser.py
超級簡單,運行效果:

四、總結
很期待第二個優化版本,效果絕對更好!
真實人臉也是可以這樣控制的,只是需要的維度更多,數據更多。
現在各種虛擬主播已經登場了,在直播領域上線了不少相關產品,後續這類技術會做的越來越好。
三次元的人臉模型驅動也將不在話下。
我是 Jack,我們下期見。
文章首發鏈接:

