百度飞桨|百度飞桨((情人节特辑)想做就做,让爱豆对你说情话,过凡尔赛式情人节~)


想做就做,让爱豆对你说情话,过凡尔赛式情人节!

  • 一. 前言
  • 二. 项目简介
  • 三. 代码实现
  • 四. 项目成果
  • 五. 总结

百度飞桨系列文章
  • 百度飞桨:春节写春联:你写上联,AI写下联
  • 百度飞桨:给出关键词,AI自动生成元宵节祝福~
关注专栏:百度飞桨
百度飞桨|百度飞桨((情人节特辑)想做就做,让爱豆对你说情话,过凡尔赛式情人节~)
文章图片
一. 前言
  • 情人节,又称圣瓦伦丁节或圣华伦泰节,日期在每年公历的2月14日,是西方国家的传统节日之一,起源于基督教。如今已经成为全世界著名的浪漫节日,但是不同国家的人们表达爱意的方式却各不相同。
  • 情人节是一个关于爱、浪漫以及花、巧克力、贺卡的节日,男女在这一天互送礼物用以表达爱意或友好。情人节的晚餐约会通常代表了情侣关系的发展关键。
  • 情人节现已成为欧美各国青年人喜爱的节日,其他国家也已开始流行。中国将传统节日七夕节视作情人节。由于能表达共同的人类情怀,各国各地纷纷发掘了自身的“情人节”。
情人节这天,爱豆居然对我「说情话」!? ?? ?
情人节将至,当其他人还在苦思冥想如何准备情人节礼物时,我却已经收到了我最喜欢的爱豆说给我的情话视频~无论是女神还是男神,只要是你喜欢的,你全都能拥有!
不仅仅是让爱豆圆了你的梦想,现实生活中的你也将享受爱情的甜蜜!!
羞涩的你是否还在:抓耳扰腮给另一半准备惊喜??绞尽脑汁如何给暗恋的人直击TA??的告白?
那来看看如何利用我们的技能让女神男神刮目相看吧,说不定最后就眉目传情,就有对象了。有对象的拿去跟对象表达爱也是可以的。
百度飞桨|百度飞桨((情人节特辑)想做就做,让爱豆对你说情话,过凡尔赛式情人节~)
文章图片
二. 项目简介 本项目使用的是paddlepaddle 2.x 框架,基于PaddleGAN实现的视频唇形同步模型Wav2lip, 它实现了爱豆口型与告白台词语音同步。 比如这样:
  • Wav2lip模型还可以将你本人的图片或者视频,进行唇形转换,其中音频用于驱动唇形合成,而图片/视频中的人物则根据此音频进行唇形合成。输出与目标语音相匹配的视频,Wav2lip 实现唇形与语音精准同步的关键在于,它采用了唇形判别器来强制生成器产生准确而逼真的唇部运动。从此动人情话不再害羞说出口,你也可以成为魅力四射的情感大师。
  • 同时,Wav2Lip模型在判别器中使用了多连续帧,通过视觉质量损失来提升视觉的质量,这样解决了时间相关性的问题。
  • 此外,本项目支持大家上传自己准备的爱豆/自己的人脸素材视频和告白台词音频, 合成任意想要的情话/情歌告白视频!!!只需在如下命令中的face参数和audio参数分别换成自己的人脸素材视频和告白台词音频路径,然后运行如下命令,就可以生成和台词音频同步的爱豆告白视频。程序运行完成后,会在当前文件夹下生成文件名为outfile参数指定的爱豆告白视频文件,该文件即为和台词音频同步的爱豆告白视频文件。
本项目中提供了demo展示所用到的爱豆人脸视频和告白台词音频文件。具体的参数使用说明如下:
  • face: 原始爱豆人脸视频,视频中的爱豆的唇形将根据台词音频进行唇形合成。
    【百度飞桨|百度飞桨((情人节特辑)想做就做,让爱豆对你说情话,过凡尔赛式情人节~)】
  • audio:驱动唇形合成的告白台词音频。
  • outfile: 指定生成的视频文件的保存路径及文件名.
    百度飞桨|百度飞桨((情人节特辑)想做就做,让爱豆对你说情话,过凡尔赛式情人节~)
    文章图片

百度飞桨|百度飞桨((情人节特辑)想做就做,让爱豆对你说情话,过凡尔赛式情人节~)
文章图片
三. 代码实现 代码基于飞桨的 BML CodeLab 编写
# 下载PaddlePaddle安装包 %cd /home/aistudio/work # 从github上克隆PaddleGAN代码(如下载速度过慢,可用gitee源) !git clone https://gitee.com/PaddlePaddle/PaddleGAN

# 安装所需安装包 !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/work/PaddleGAN !pip install -r requirements.txt %cd applications/

!export PYTHONPATH=$PYTHONPATH:/home/aistudio/work/PaddleGAN && python tools/wav2lip.py --face /home/aistudio/work/jieyi13s.mp4 --audio /home/aistudio/work/gaobai12s.m4a --outfile pp_gaobai_jieyi.mp4

百度飞桨|百度飞桨((情人节特辑)想做就做,让爱豆对你说情话,过凡尔赛式情人节~)
文章图片
四. 项目成果 要是想保存视频的话,可以直接在上述路径 work/PaddleGAN/applications/pp_gaobai_jieyi.mp4 下找到文件并下载到本地。
# display the output video import cv2 import imageio import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation from IPython.display import HTML import warnings# video display function def display(driving, fps, size=(8, 6)): fig = plt.figure(figsize=size) ims = [] for i in range(len(driving)): cols = [] cols.append(driving[i]) im = plt.imshow(np.concatenate(cols, axis=1), animated=True) plt.axis('off') ims.append([im]) video = animation.ArtistAnimation(fig, ims, interval=1000.0/fps, repeat_delay=1000) plt.close() return video# Display the output video # 视频比较长的话,运行时间会稍长,建议把视频下载到本地预览,视频保存路径为'/home/aistudio/work/PaddleGAN/applications' video_path = 'pp_gaobai_jieyi.mp4' video_frames = imageio.mimread(video_path, memtest=False) # 获得视频的原分辨率 cap = cv2.VideoCapture(video_path) fps = cap.get(cv2.CAP_PROP_FPS) HTML(display(video_frames, fps).to_html5_video())

百度飞桨|百度飞桨((情人节特辑)想做就做,让爱豆对你说情话,过凡尔赛式情人节~)
文章图片

百度飞桨|百度飞桨((情人节特辑)想做就做,让爱豆对你说情话,过凡尔赛式情人节~)
文章图片
五. 总结
  • PaddleGAN不仅能实现唇形同步,还可以实现其他的许多功能,例如风格迁移等,欢迎大家尝试。
  • 可以尝试使用 wav2lipHD 模型,该模型基于wav2lip,增添了高分辨率。
  • 项目基于 飞桨_PaddleGAN 发布的项目Idol对我说情话–PaddleGAN带你过凡尔赛式情人节,大家可以进行参考,并在此基础上进行延申。
  • 来AI Studio互粉吧,等你哦,来互关呀~请点击—> 非鱼子焉
  • 欢迎大家喜欢收藏评论三连,感兴趣的朋友也可互相关注一下啊~
百度飞桨|百度飞桨((情人节特辑)想做就做,让爱豆对你说情话,过凡尔赛式情人节~)
文章图片

    推荐阅读