【一键生成】PaddleGAN多人版表情迁移

518 阅读3分钟

基于PaddleGAN的First Order Motion和人脸检测算法一键实现的【多人版】蚂蚁呀嘿创意视频 无需切换任何软件或安装包,手把手教你如何一键实现多人乱舞蚂蚁呀嘿🤩🤩🤩

🥳🥳 更绝的是,此版本无论是单人版还是多人版都可通用!🥳🥳

接下来,快来一起来动手实现吧!

整个实现步骤还是老样子,分为三步:

  1. 下载PaddleGAN
  2. 运行First Order Motion命令
  3. 配上音乐🎵

然后,优秀的你就拥有了一个顶级宝藏技能,一键实现多人蚂蚁呀嘿!!快去和你身边朋友炫耀吧~~

接下来,我们来让百年前油画中的人物一起「蚂蚁呀嘿」吧~

PaddleGAN施魔法前:

PaddleGAN施魔法后:

【多人版】蚂蚁呀嘿技术流程

整体流程分为三步:

  1. 将照片中的多人脸使用人脸检测模型S3FD框出并抠出
  2. 对抠出的人脸用First Order Motion进行脸部表情迁移
  3. 将迁移好的人脸放回对应的原位置

注意,由于人脸检测后,需要确定位置将人脸框出来并抠出,如果人脸太近,会框到除了其他的脸,导致效果较差,如下图

所以尽量选取人脸间距较大的照片,同时,框的大小需要根据照片中人脸间距情况进行调节(参数--ratio)

# 从github上克隆PaddleGAN代码

#!git clone https://github.com/PaddlePaddle/PaddleGAN

!git clone https://gitee.com/paddlepaddle/PaddleGAN.git

%cd PaddleGAN

!git checkout develop
# 安装所需安装包

!pip install -r requirements.txt

!pip install imageio-ffmpeg

%cd applications/

执行命令

大家可以上传自己准备的视频和图片,并在如下命令中的source_image参数和driving_video参数分别换成自己的图片和视频路径,然后运行如下命令,就可以完成动作表情迁移,程序运行成功后,会在ouput文件夹生成名为result.mp4的视频文件,该文件即为动作迁移后的视频。

同时,根据自己上传的照片中人脸的间距,

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

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

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

# add audio
!pip install moviepy
#为生成的视频加上音乐

from moviepy.editor import *
videoclip_1 = VideoFileClip("/home/aistudio/work/2.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/finalout.mp4", audio_codec="aac")js

多人版的蚂蚁呀嘿完成!

您也可以直接进入网址多人版蚂蚁呀嘿在线体验,使用线上免费GPU一键运行此项目