一、项目地址:
yzhou359/MakeItTalk (github.com)
【说明】:因为此项目发布较久,运行环境需要的库和包各位码喽根据自己的搭载的环境更新
二、项目完成内容
如图上图所示,每个module的训练代码部分作者没有更新。在第三部分我会给大家说明自己如何生成项目之外其他非人类的卡通形象
三、项目部署
以小编搭载的运行环境为例,具体是:Linux系统,CentOS7
1、先创建一个虚拟环境
conda create -n makeittalk python=3.9
2、激活此虚拟环境
conda activate makeittalk
3、部署ffmpeg
sudo yum install ffmpeg
# ffmpeg下载地址:https://ffmpeg.org/download.html
4、安装python包
具体需要安装的包和对应版本在requirement.txt中,如果你的python版本和作者的不一样,建议根据自己的python版本安装对应的包
pip install -r requirements.txt
5、安装wine
winehq-stable
用于 Ubuntu 中的卡通面孔翘曲。因为小编的系统是Linux,所以wine具体的安装步骤如下:
1.sudo dpkg --add-architecture i386
2.wget -nc https://dl.winehq.org/wine-builds/winehq.key
3.sudo yum-key add winehq.key
2和3步骤也可用此命令替换 sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
4.sudo yum-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ xenial main'
4步骤可以用此命令替换 sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources
5.sudo yum update
6.sudo yum install --install-recommends winehq-stable
# =======================第6步可以用以下三个命令中的任意一个=================================
sudo yum install winehq-stable # 安装稳定版(推荐)
sudo yum install winehq-devel # 安装开发版
sudo yum install winehq-staging # 安装暂存版(个人翻译的)
参考的博客地址: Ubuntu 下 Wine的安装与使用(以22.04为例)_ubuntu22.04安装wine-CSDN博客
Linux wine系列——Ubuntu20.04安装wine教程 [2021.3]_wine did not work in linu-CSDN博客
6、预训练模型下载
将以下预训练模型下载到 examples/ckpt
文件夹,以测试您自己的动画
Model | Link to the model 链接到模型 |
---|---|
Voice Conversion 语音转换 | Link 链接 |
Speech Content Module 语音内容模块 | Link 链接 |
Speaker-aware Module 扬声器感知模块 | Link 链接 |
Image2Image Translation Module Image2图像翻译模块 |
Link 链接 |
Non-photorealistic Warping (.exe) 非逼真的变形 (.exe) |
Link 链接 |
7、肖像制作动画预训练模型下载
在此地址:drive.google.com预训练的嵌入并保存到 examples/dump
文件夹
8、自然人脸/卡通
在上传自己的卡通图像数据前,需要将肖像图像裁剪为 256x256
大小,并将其放在 examples
文件夹下,格式为 .jpg
。确保头部几乎在中间(查看现有示例以获取参考)
将 Test Audio Files 放在 examples
文件夹下,并采用 .wav
格式
9、生成动画
(1)人类卡通/动画形象生成
python main_end2end.py --jpg <图片的地址>
(2)非人类的卡通/动画形象生成
1)将卡通图像放在 examples_cartoon
2)为 Face-of-art (https://github.com/papulke/face-of-art) 安装 conda 环境foa_env_py2
(在 Python 2 上测试)。在此处下载预训练权重,并将其放在 examples/ckpt
下。激活环境
3)创建必要的文件来为您的卡通图像制作动画,即 <your_puppet>_open_mouth.txt
、<your_puppet>_close_mouth.txt
、 <your_puppet>_open_mouth_norm.txt
<your_puppet>_scale_shift.txt
<your_puppet>_delauney.txt
【说明】:这里需要说明以下,因此此项目时间较久,作者后期没怎么维护,查了资料依然没有解决生成上述这五个txt的办法。最后,我通过对比作者项目中现有的五个txt找到其对应的卡通形象,对比卡通形象的眼睛、嘴巴、鼻子、脸型、面部角度等信息,找到和自己需要生成的非人类卡通形象最相近的,用这个最相近的形象对应的五个txt作为自己需要生成的非人类卡通形象。然后运行下面的命令就得到了自己想要的结果。
python main_end2end_cartoon.py --jpg <cartoon_puppet_name_with_extension> --jpg_bg <puppet_background_with_extension>
# --jpg_bg 选取与背景图像大小相同的图像来创建动画,例如人偶的身体,整体固定的背景图像。如果要使用背景,请确保人偶面部图像(即 --jpg 图像)为 png 格式,并且在非面部区域是透明的。如果你不需要任何背景,请同时创建一个相同大小的图像(例如纯白色图像)来保存参数位置
10.样例展示
视频管理-CSDN创作中心(想要看具体生成的视频效果,点这个连接就可以看到)
想要生成的非人类卡通形象(如下):
四、总结
因为时间原因,采用了第三部分的第九步第三点提到的这个方式,虽然生成了非人类卡通形象,但是效果并不理想。
以上是小编自己部署并生成自己想要的非人类卡通形象的一点总结,希望可以帮到大家!