AudioDVP复现总结
Photorealistic Audio-driven Video Portraits的官方实现
github地址:https://github.com/xinwen-cs/AudioDVP
主要需求
Ubuntu >= 18.04
PyTorch >= 1.2
GCC >= 7.5
NVCC >= 10.1
FFmpeg (with H.264 support)
一般装pytorch和ffmpeg就好了,剩下的都是会附带安装好。这个项目兼容性不是很强,我用的是1080Ti,cuda版本10.2.之前用3090出现了各种问题,解决不了就换1080Ti了,用这个型号很顺利。
作者有点坑,扔了一个大环境出来让我们自己测试,自主安装缺少的包。一个一个试挺费时间的,我做了一个汇总。
pip install numpy
pip install librosa0.6.0 这里=被和谐了自己在中间加两个=
pip install numba0.48.0同上
pip install python_speech_features
pip install face_recognition
pip install scikit-image
pip install face_alignment
pip install tensorboard
pip install dominate
pip install visdom
这些安装好基本就没啥问题了
具体步骤
1.下载各种模型
因为各个模型都比较复杂 所以我都下载好打包好了。
链接:https://pan.baidu.com/s/1BuQXCGiNqXgKru7QZYSx6Q
提取码:nfw3
巴塞尔人脸模型 2009。(01_MorphableModel.mat。)
从3DFace下载表达式基础。(Exp_Pca.bin。)
从Deep3DFaceReconstruction下载辅助文件。
将数据放入renderer/data如下结构中:
renderer/data
├── 01_MorphableModel.mat
├── Exp_Pca.bin
├── BFM_front_idx.mat
├── BFM_exp_idx.mat
├── facemodel_info.mat
├── select_vertex_id.mat
├── std_exp.txt
└── data.mat(This is generated by the step 2 below.)
2.构建数据
cd renderer/
python build_data.py
3.下载ATnet的预训练模型
把atnet_lstm_18.pth放在vendor/ATVGnet/model
4.在VGGFace2上下载预训练的ResNet
将resnet50_ft_weight.pkl放在weights
5.下载特朗普演讲视频
把它放进去 data/video
6.编译CUDA光栅化内核
cd renderer/kernels
python setup.py build_ext --inplace
这里有点坑 要是cuda版本啥的不对会编译出错
7.运行演示脚本
./scripts/demo.sh
里面每一步都有注释,要跑的话要把那些注释给关了
跑完直接看结果就好了
遇到的问题
这是关于CV的问题,解决方法:
pip install opencv-python-headless
这个特别坑,作者的问题,解决方案:
demo.sh文件李这一行没有加斜杠,所以没有识别出dataroot
没有预训练模型,所以得从头开始。对显卡需求比较大,可以加大batch_size和减少epoch,加快训练速度,这些是在显卡支持的情况下,默认使用第一个GPU,卡多的可以在option那里改。也可以不用作者提供的,可以训练自己的视频数据,不过效果不是很好就是了。