[PaddleGAN] 人脸表情迁移 - 视频换脸
背景
最近和朋友聊天,突然聊到了视频编辑的换脸功能,对此功能进行了调研,通过分析,最终选择 Paddle 飞浆的 PaddleGAN 的 "First Order Motion" 进行视频换脸功能。
环境配置
废话不多说,直接写出来对应的命令,如下所示
环境配置解释
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,图片无法正常查看的话, 访问
2、 protobuf 错误提示,访问
3、 first-order-demo.py 执行,访问
总结
命令执行完毕后,视频文件将存储至 /PaddleGAN-release-2.0/applications/output/result.mp4 ,可以对生成的视频进行查看。
参考链接
版权声明: 本文为 InfoQ 作者【alexgaoyh】的原创文章。
原文链接:【http://xie.infoq.cn/article/651eb4da68951a3d2569ae9e1】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论