该存储库包含来自单个图像2:更具表现力项目的说话头动画的演示程序。与以前的版本类似,它有两个程序:
manual_poser可让您通过图形用户界面来操纵单个图像中的动漫角色的面部表情和头部旋转。配售器有两种形式可用:标准GUI应用程序和Jupyter笔记本。ifacialmocap_puppeteer可让您将面部运动传输,该面部运动被称为IfacialMocap的商业iOS应用程序捕获到动漫角色的图像中。 如果您没有所需的硬件(下面讨论)或不想下载代码并设置环境来运行它,请单击以尝试在Google Colab上运行手动摆动器。
这两个程序都要求最近有力的NVIDIA GPU运行。我可以亲自使用NVIDIA TITAN RTX以良好的速度运行它们。但是,我认为最近的高端游戏GPU,例如RTX 2080,RTX 3080或更好的做法也一样。
ifacialmocap_puppeteer需要一个能够从视频提要中计算混合形状参数的iOS设备。这意味着该设备必须能够运行iOS 11.0或更高版本,并且必须具有truedepth的前置摄像头。 (有关更多信息,请参见此页面。)换句话说,如果您拥有iPhone X或更好的内容,则应该全部设置。就我个人而言,我使用了iPhone 12 mini。
这两个程序均在Python 3中编写。要运行GUI,需要以下软件包:
特别是,我使用以下命令创建了与Anaconda一起运行程序的环境:
> conda create -n talking-head-anime-2-demo python=3.8
> conda activate talking-head-anime-2-demo
> conda install pytorch torchvision cudatoolkit=10.2 -c pytorch
> conda install scipy
> pip install wxPython
> conda install matplotlib
注意:您可能会发现Python(3.8)和Cuda Toolkit(10.2)的特定版本可能不适用于您的特定计算机设置。发生这种情况时,将这些版本替换为与硬件一起使用的版本。命令将成为:
> conda create -n talking-head-anime-2-demo python=[YOUR-PYTHON-VERSION]
> conda activate talking-head-anime-2-demo
> conda install pytorch torchvision cudatoolkit=[YOUR-CUDA-TOOLKIT-VERSION] -c pytorch
> conda install scipy
> pip install wxPython
> conda install matplotlib
通常,最新版本的Python和Pytorch网站上显示的最新版本的CUDA工具包将有效。
要运行manual_poser的Jupyter笔记本电脑版本,您还需要:
这意味着,除了上述命令外,您还需要运行:
> conda install -c conda-forge notebook
> conda install -c conda-forge ipywidgets
> jupyter nbextension enable --py widgetsnbextension
最后, ifacialmocap_puppeteer需要IFACIALMOCAP,这在App Store中可用于980日元。您还需要在PC或Mac上安装配对的桌面应用程序。 (Linux用户,对不起!)您的iOS和您的计算机也必须使用同一网络。 (例如,您可以将它们连接到同一无线路由器。)
您也可以使用Anaconda下载并安装一个命令中的所有Python软件包。打开外壳,将目录更改为克隆存储库的位置,然后运行:
conda env create -f environment.yml
这将创建一个称为talking-head-anime-2-demo的环境,其中包含所有必需的Python软件包。
在运行程序之前,您需要从此Dropbox链接下载模型文件,然后将其解压缩到存储库目录的data文件夹。最后, data文件夹应该看起来像:
+ data
+ illust
- waifu_00.png
- waifu_01.png
- waifu_02.png
- waifu_03.png
- waifu_04.png
- waifu_05.png
- waifu_06.png
- waifu_06_buggy.png
- combiner.pt
- eyebrow_decomposer.pt
- eyebrow_morphing_combiner.pt
- face_morpher.pt
- two_algo_face_rotator.pt
模型文件与Creative Commons Attribution 4.0国际许可证一起分发,这意味着您可以将其用于商业目的。但是,如果您分发它们,则必须说我是创造者。
manual_poser桌面应用程序打开外壳。将您的工作目录更改为存储库的根目录。然后,运行:
> python tha2/app/manual_poser.py
请注意,在运行上面的命令之前,您可能必须激活包含所需软件包的Python环境。如果您使用上面讨论的Anaconda创建环境,则需要运行
> conda activate talking-head-anime-2-demo
如果您尚未激活环境。
manual_poser jupyter笔记本打开外壳。激活环境。将您的工作目录更改为存储库的根目录。然后,运行:
> jupyter notebook
浏览器窗口应打开。在其中,打开tha2.ipynb 。完成此操作后,您应该看到它只有一个单元格。运行它。然后,向下滚动到文档的末尾,您将在那里看到GUI。
ifacialmocap_puppeteer首先,在iOS设备上运行IfacialMocap。它应该向您显示设备的IP地址。记下它。保持应用程序打开。

然后,运行配套桌面应用程序。

单击“打开高级设置>>”。应用程序应扩展。

单击右侧的“ Maya”的按钮。

然后,单击“搅拌机”。

接下来,用iOS设备的IP地址替换左侧的IP地址。

单击“连接到搅拌机”。

打开外壳。激活环境。将您的工作目录更改为存储库的根目录。然后,运行:
> python tha2/app/ifacialmocap_puppeteer.py
如果程序正确连接,您应该看到,当您在iOS设备的前置摄像头前移动脸部时, ifacialmocap_puppeteer窗口底部的许多进度条应移动。

如果一切顺利,请加载角色图像,并应遵循您的面部运动。
为了使模型运行良好,输入图像必须遵守以下约束:
但是,请注意,无论输入图像的大小如何,程序都将始终将其调整为256x256,并始终输出256x256图像。这是系统的内在限制。

如果您的学术工作从此存储库中的代码中受益,请引用该项目的网页如下:
Pramook khungurn。来自单个图像的说话头动画2:更具表现力。 http://pkhungurn.github.io/talking-head-anime-2/,2021。访问:yyyy-mm-dd。
您还可以使用以下Bibtex条目:
@misc{Khungurn:2021,
author = {Pramook Khungurn},
title = {Talking Head Anime from a Single Image 2: More Expressive},
howpublished = {url{http://pkhungurn.github.io/talking-head-anime-2/}},
year = 2021,
note = {Accessed: YYYY-MM-DD},
}
虽然作者是Google Japan的雇员,但该软件不是Google的产品,也没有Google的支持。
该软件的版权属于我,因为我使用IARC流程要求它。但是,Google可能声称拥有本发明的知识产权的权利。
该代码是根据MIT许可发布的。该模型是在创意共享归因4.0国际许可下发布的。