一个不知名大学生,江湖人称菜狗
original author: Jacky Li
Email : 3435673055@qq.comTime of completion:2024.03.30
Last edited: 2024.03.30
目录
PaddleGAN快速让你的照片动起来
两个方案让照片动起来
方案一:FirstOrder
下载PaddleGAN代码
2.将驱动视频迁移至照片中
3.为生成的视频加上音乐
方案二:Wav2lip
安装必要的资源包
2.根据音频直接合成唇形动作
效果展示
作者有言
PaddleGAN快速让你的照片动起来
本项目基于PaddleGAN实现的FirstOrder与Wav2lip,。FirstOrder是输入一个模板视频与一张照片,就可以使照片里面的人物唱出模板视频里的歌曲,前段时间很火的 「蚂蚁呀嘿」就是用这个方法做的;还有另一个方法就是使用Wav2lip,输入照片和音频就可以直接让照片根据音频的内容动起来。
两个方案让照片动起来
方案一:FirstOrder
-
下载PaddleGAN代码
git clone https://gitee.com/paddlepaddle/PaddleGAN
# 安装所需安装包%cd PaddleGAN/ !pip install -r requirements.txt !pip install imageio-ffmpeg %cd applications/
2.将驱动视频迁移至照片中
大家可以上传自己准备的视频和图片,并在下面的代码中source_image参数和driving_video参数分别换成自己的图片和视频路径,然后点击运行,就可以完成动作表情迁移,程序运行成功后,会在ouput文件夹生成名为result.mp4的视频文件,该文件即为动作迁移后的视频。
本项目中提供了原始图片和驱动视频供展示使用。具体的各参数使用说明如下
-
driving_video: 驱动视频,视频中人物的表情动作作为待迁移的对象
-
source_image: 原始图片,视频中人物的表情动作将迁移到该原始图片中的人物上
-
relative: 指示程序中使用视频和图片中人物关键点的相对坐标还是绝对坐标,建议使用相对坐标,若使用绝对坐标,会导致迁移后人物扭曲变形
-
adapt_scale: 根据关键点凸包自适应运动尺度
-
output:设置输出视频的存放文件夹
!export PYTHONPATH=$PYTHONPATH:/home/aistudio/PaddleGAN && python -u tools/first-order-demo.py --driving_video /home/aistudio/PlanA_FirstOrder/zhiming.mp4 \ --source_image /home/aistudio/PlanA_FirstOrder/trumps.png \ --relative \ --adapt_scale \ --output /home/aistudio/PlanA_FirstOrder/output/
3.为生成的视频加上音乐
!pip install moviepy
#为生成的视频加上音乐
from moviepy.editor import *videoclip_driving = VideoFileClip("/home/aistudio/PlanA_FirstOrder/zhiming.mp4") # 打开驱动视频
videoclip_result = VideoFileClip("/home/aistudio/PlanA_FirstOrder/output/result.mp4") # 打开PaddleGan刚刚生成的视频audio_driving = videoclip_driving.audio # 提取驱动视频里的声音
video = videoclip_result.set_audio(audio_driving) # 将提取出来的声音加到生成视频的音轨中video.write_videofile("/home/aistudio/PlanA_FirstOrder/output/final_result.mp4", audio_codec="aac") # 保存视频
生成的视频将放置在“PlanA_FirstOrder/output/”目录下,下载后即可查看效果~
方案二:Wav2lip
-
安装必要的资源包
%cd /home/aistudio/work# 安装所需安装包!mkdir sndfile %cd sndfile !wget http://www.mega-nerd.com/libsndfile/files/libsndfile-1.0.28.tar.gz !tar xzvf libsndfile-1.0.28.tar.gz %cd libsndfile-1.0.28!./configure --prefix=/home/aistudio/build_libs CFLAGS=-fPIC --enable-shared !make !make install
%cd /home/aistudio/PaddleGAN !pip install -r requirements.txt %cd applications/
2.根据音频直接合成唇形动作
只需在如下命令中的face参数和audio参数分别换成自己的视频和音频路径,然后运行如下命令,就可以生成和音频同步的视频。
程序运行完成后,会在当前文件夹下生成文件名为outfile参数指定的视频文件,该文件即为和音频同步的视频文件。本项目中提供了demo展示所用到的视频和音频文件。具体的参数使用说明如下:
-
face: 原始视频,视频中的人物的唇形将根据音频进行唇形合成--通俗来说,想让谁说话
-
audio:驱动唇形合成的音频,视频中的人物将根据此音频进行唇形合成--通俗来说,想让这个人说什么
!export PYTHONPATH=$PYTHONPATH:/home/aistudio/PaddleGAN && python tools/wav2lip.py --face /home/aistudio/PlanB_Wav2lip/MonaLisa.jpeg \ --audio /home/aistudio/PlanB_Wav2lip/TA.mp3 \ --outfile /home/aistudio/PlanB_Wav2lip/output/result.mp4
效果展示
作者有言
如果感觉博主讲的对您有用,请点个关注支持一下吧,将会对此类问题持续更新……