[PaddleGAN]人脸表情迁移-视频换脸

原创
2023/09/05 11:32
阅读数 34

背景

最近和朋友聊天,突然聊到了视频编辑的换脸功能,对此功能进行了调研,通过分析,最终选择Paddle飞浆的PaddleGAN的 "First Order Motion" 进行视频换脸功能。

环境配置

废话不多说,直接写出来对应的命令,如下所示

python -m pip install paddlepaddle-gpu==2.1.3.post112 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html

## https://pypi.tuna.tsinghua.edu.cn/simple/opencv-python/ 在这里选择合适的版本进行 whl 安装
pip install opencv_python-4.6.0.66

python3 -m pip install --upgrade ppgan==2.0.0

pip install 'protobuf~=3.19.0'


环境配置解释

GPU环境

本人租用了一台云服务器:GPU NVIDIA RTX A2000 显卡内存12 GB,预装:Python 3.7, CUDA 11.2, cuDNN 8.0.5, Ubuntu 18.04, VNC, Numba

PaddleGAN

最开始选择 ppgan 的最新2.1版本,但是遇到了 init() got an unexpected keyword argument 'slice_size' 问题,所以最终切换到 ppgan==2.0.0 版本。

PaddlePaddle

根据PaddleGAN官方的安装文档,环境依赖中 PaddlePaddle >= 2.1.0,这里直接选择最低的 2.1.0 版本, 并根据PaddlePaddle官方安装文档进行安装,注意这里 需要先查看GPU的环境配置,执行命令 nvidia-smi 后选择合适的 CUDA 版本对应的 PaddlePaddle 安装命令。

opencv_python

本人在安装PaddleGAN的过程中,发现 opencv-python 执行时间会很长,所以直接在清华镜像选择对应的 whl 进行单独下载安装。

Downgrade the protobuf package to 3.20.x or lower.

在执行 tools/first-order-demo.py 命令的过程中,会提示 protobuf 的版本问题,所以对 protobuf 进行版本降级,命令如上所示。

截图

1、 云服务器GPU环境nvidia-smi,图片无法正常查看的话, 访问 ppgan-nvidia-smi.png

2、 protobuf 错误提示,访问 ppgan-protobuf-error.png

3、 first-order-demo.py 执行,访问 ppgan-run.png

总结

命令执行完毕后,视频文件将存储至 /PaddleGAN-release-2.0/applications/output/result.mp4 ,可以对生成的视频进行查看。

参考链接

  1. https://github.com/PaddlePaddle/PaddleGAN/issues/788
  2. https://github.com/PaddlePaddle/PaddleGAN/blob/release/2.0/docs/zh_CN/tutorials/motion_driving.md
  3. https://www.paddlepaddle.org.cn/install/old?docurl=/documentation/docs/zh/install/pip/linux-pip.html#old-version-anchor-33-Linux 安装
  4. https://pap-docs.pap.net.cn/
展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部