前言 #
VideoReTalking是什么 #
来看一下官方的简介
We present VideoReTalking, a new system to edit the faces of a real-world talking head video according to input audio, producing a high-quality and lip-syncing output video even with a different emotion.
简而言之,这就是一种能根据输入音频编辑真实世界中人头视频中的人脸——甚至可以处理包含情绪的内容——从而生成高质量的唇语同步输出视频的系统。
这篇文章的意义 #
因为我个人在解决VideoReTalking系统运行环境中遇到诸多问题,通过反复试错和在互联网上寻求到了的答案。现将个人经验综合成一个解决方案,回馈互联网。
一些假定 #
- 假定读者对于家用个人计算机的使用,具备基本水准以上能力;例如:使用Windows操作系统,在Windows系统中安装软件,使用浏览器浏览网页,使用浏览器或其他下载工具下载文件,了解Windows磁盘分区
- 假定有兴趣实践的读者,在实践中使用
Windows 11 专业版 64位
操作系统;若使用其他Windows操作系统,本文仅供参考 - 假定有兴趣实践的读者对于Windows下的终端软件有一定了解;例如:会使用Windows系统的终端cmd或者PowerShell
- 假定有兴趣实践的读者对于python语言及其在Windows系统中的运行环境有所了解;例如:conda和Anaconda
- 假定有兴趣实践的读者能够识别计算机知识相关的英文单词;例如:Download一词的含义为下载
- 假定在无法访问、下载的资料面前,有兴趣实践的读者具备魔法上网的能力;部分资料体积较大,如果魔法上网请留意流量消耗
准备工作 #
很高兴有人阅读到这里,接下来需要一些准备工作,这些准备工作可以是实践过程避免无意义的报错和一些我已知的小问题
准备工具·必要 #
VideoReTalking项目地址 #
https://github.com/OpenTalker/video-retalking
我们当然需要项目的地址,要不实践什么内容呢
ᓚᘏᗢ
Microsoft C++ Build Tools下载地址 #
https://visualstudio.microsoft.com/visual-cpp-build-tools/
在Windows平台干活,我们都绕不开微软,不是吗
conda #
一个工具:适用于任何语言的包、依赖项和环境管理 - Python、R、Ruby、Lua、Scala、Java、JavaScript、C
现已加入Anaconda豪华套餐
-
Anaconda 官方下载页面 https://www.anaconda.com/download
-
Anaconda 清华源镜像信息页面 https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
如果这个单词不是tsinghua而是
qinghua
就更美了
Git工具Windows版本 #
https://git-scm.com/download/win
“真神”
林纳斯·贝内迪克特·托瓦兹(Linus Benedict Torvalds)
的造物之一
准备工具·可选 #
Nvidia CUDA 相关工具 #
这些内容可以搁置,因为他们可以也通过conda工具安装,手动安装可能导致conda内的python包编译时无法识别
-
Nvidia CUDA Toolkit https://developer.nvidia.com/cuda-downloads
-
Nvidia CUDA 深度神经网络库(cuDNN) https://developer.nvidia.com/cudnn
python dlib包 #
https://pypi.org/project/dlib/
不排除需要手动下载编译安装的情况
准备环境 #
pip仓库镜像设置 #
python使用pip作为管理工具,我们所在的区域可能会由于未知原因导致pip仓库无法访问或者拉取速度缓慢,这时候为pip配置一个可信的镜像地址有奇效
本文推荐使用阿里云镜像仓库
。就目前已知的情况而言,清华镜像仓库会出现有些包找不到情况
在用户目录创建pip
文件夹,并在里面添加一个pip.ini
文件
[global]
index-url = https://mirrors.aliyun.com/pypi/simple
trusted-host = mirrors.aliyun.com
用户目录通常为
C:\Users\用户名
开始施工 #
接下来的步骤有一定的先后顺序,如果出现了问题,可以考虑推倒重来 (比如重装系统?)(删了吧有人会信的),并且按本文的施工顺序操作
安装相关组件 #
安装Microsoft C++ Build Tools #
具体操作细节可以参考这里: [赛博胎教] 安装Microsoft C++ Build Tools
通过安装Anaconda获得conda #
具体操作细节可以参考这里: [赛博胎教] 安装Anacoda
安装Git #
具体操作细节可以参考这里: [赛博胎教] 安装Git
准备运行环境 #
项目中的ReadMe文件年久失修,都看到这了还是继续跟随文章的步伐吧
请进入anaconda Prompt执行下面的操作!
在开始菜单中输入anacoda Prompt,启动anaconda专属终端👇
不要用其他终端!
不要用其他终端!!
不要用其他终端!!!
拉取项目并且创建conda环境 #
拉取项目到本地👇
git clone https://github.com/vinthony/video-retalking.git
cd video-retalking
创建环境👇
conda create -n video_retalking python=3.8
当出现Proceed询问时候,输入y,然后敲击回车键继续👇
激活环境👇
conda activate video_retalking
安装环境依赖 #
ffmpeg安排一下👇
conda install ffmpeg
安装 CUDA 和 cuDNN
不通过 Nvidia 官网,而是通过 Conda 安装 CUDA 和 cuDNN👇
conda install cuda cudnn -c nvidia
安装torch相关组件👇 这时候需要前往 https://pytorch.org/get-started/previous-versions/ 页面,找到最新的安装命令 也可以通过查看自己安装的版本,找到符合刚才安装cuda版本的torch
我当前的cuda版本是12,据网上资料表示pytorch-cuda11.8可以兼容,所以在网页上找到最新版,复制了对应的命令执行安装
conda install pytorch==2.0.0 torchvision==0.15.0 torchaudio==2.0.0 pytorch-cuda=11.8 -c pytorch -c nvidia
再补个chardet
conda install chardet
为dlib包准备编译工具👇
pip install cmake
pip install -r requirements.txt👇
pip install numpy==1.23.1
下载训练模型 #
前往 https://github.com/OpenTalker/video-retalking/releases 页面,下载除Source code (zip)
和Source code (tar.gz)
外的其他文件👇
在项目内创建一个名为checkpoints
的文件夹👇
将刚才下载的文件全部放进去👇
解压BFM.zip到BFM文件夹
注意文件路径,不要出现BFM嵌套的情况
下载其他组件·可选 #
如果能忍受自动下载缓或者不存在下载速度缓慢的问题,可以忽略这个步骤
或者为你的终端设置代理 #
set https_proxy=http://127.0.0.1:8080
跑个测试 #
创建一个文件夹
mkdir results
执行测试
python inference.py --face examples/face/1.mp4 --audio examples/audio/1.wav --outfile results/1_1.mp4
成败在此一举!
参考资料 #
https://blog.csdn.net/AiTanXiing/article/details/129933911 https://blog.arisa.moe/blog/2022/220429-dilb-ultimate-solution
相关资源 #
https://github.com/OpenTalker/video-retalking/releases/download/v0.0.1/30_net_gen.pth
https://github.com/OpenTalker/video-retalking/releases/download/v0.0.1/BFM.zip
https://github.com/OpenTalker/video-retalking/releases/download/v0.0.1/DNet.pt
https://github.com/OpenTalker/video-retalking/releases/download/v0.0.1/ENet.pth
https://github.com/OpenTalker/video-retalking/releases/download/v0.0.1/expression.mat
https://github.com/OpenTalker/video-retalking/releases/download/v0.0.1/face3d_pretrain_epoch_20.pth
https://github.com/OpenTalker/video-retalking/releases/download/v0.0.1/GFPGANv1.3.pth
https://github.com/OpenTalker/video-retalking/releases/download/v0.0.1/GPEN-BFR-512.pth
https://github.com/OpenTalker/video-retalking/releases/download/v0.0.1/LNet.pth
https://github.com/OpenTalker/video-retalking/releases/download/v0.0.1/ParseNet-latest.pth
https://github.com/OpenTalker/video-retalking/releases/download/v0.0.1/RetinaFace-R50.pth