美文网首页
PaddleGAN 表情迁移

PaddleGAN 表情迁移

作者: 孙庚辛 | 来源:发表于2021-10-15 14:26 被阅读0次

基于 [PaddleGAN] (https://github.com/PaddlePaddle/PaddleGAN)打造动态照片工具,无论是单人照还是多人合照皆可通用!

fork from: https://aistudio.baidu.com/aistudio/projectdetail/1603391

流程

image

下载 PaddleGAN

In [1]

# 从 github 上克隆 PaddleGAN 代码
#!git clone https://github.com/PaddlePaddle/PaddleGAN
!git clone https://gitee.com/paddlepaddle/PaddleGAN.git
%cd PaddleGAN
!git checkout develop

In [2]

# 安装所需依赖
!pip install -r requirements.txt
!pip install imageio-ffmpeg
!pip install moviepy
%cd applications/

执行命令

上传自己准备的人脸表情视频和照片(表情视频需要截取脸部区域)。将下面命令中的 source_image 参数和 driving_video 参数分别换成自己的图片和视频路径,然后运行命令,就可以完成表情动作迁移,程序运行成功后,会在 PaddleGAN/applications/output 文件夹生成名为result.mp4 的视频文件,该文件即为表情迁移后的视频。

本项目中提供了原始图片和驱动视频供展示使用。具体的各参数使用说明如下:

  • driving_video: 驱动视频,视频中人物的表情动作作为待迁移的对象
  • source_image: 原始图片,视频中人物的表情动作将迁移到该原始图片中的人物上
  • relative: 指示程序中使用视频和图片中人物关键点的相对坐标还是绝对坐标,建议使用相对坐标,若使用绝对坐标,会导致迁移后人物扭曲变形
  • adapt_scale: 根据关键点凸包自适应运动尺度
  • ratio:将框出来的人脸贴回原图时的区域占宽高的比例,默认为0.4,范围为【0.4,0.5】

注意,由于人脸检测后,需要将人脸裁剪出来,如果人脸靠得太近,会见到相邻的人脸,导致效果较差。

In [3] 注意这里有个 export 的语句比较关键。

!export PYTHONPATH=$PYTHONPATH:/home/aistudio/PaddleGAN && python -u tools/first-order-demo.py  --driving_video ~/work/driving_video.mp4  --source_image ~/work/油画.jpg --ratio 0.4 --relative --adapt_scale 

最后一步:使用 moviepy 为生成的视频加上音乐

In [4]

from moviepy.editor import *

videoclip_1 = VideoFileClip("/home/aistudio/work/driving_video.mp4")
videoclip_2 = VideoFileClip("./output/result.mp4")

audio_1 = videoclip_1.audio

videoclip_3 = videoclip_2.set_audio(audio_1)
videoclip_3.write_videofile("./output/result_with_music.mp4", audio_codec="aac")

相关文章

网友评论

      本文标题:PaddleGAN 表情迁移

      本文链接:https://www.haomeiwen.com/subject/qpdmoltx.html