想做就做,让爱豆对你说情话,过凡尔赛式情人节!
- 一. 前言
- 二. 项目简介
- 三. 代码实现
- 四. 项目成果
- 五. 总结
百度飞桨系列文章:
- 百度飞桨:春节写春联:你写上联,AI写下联
- 百度飞桨:给出关键词,AI自动生成元宵节祝福~
文章图片
一. 前言
- 情人节,又称圣瓦伦丁节或圣华伦泰节,日期在每年公历的2月14日,是西方国家的传统节日之一,起源于基督教。如今已经成为全世界著名的浪漫节日,但是不同国家的人们表达爱意的方式却各不相同。
- 情人节是一个关于爱、浪漫以及花、巧克力、贺卡的节日,男女在这一天互送礼物用以表达爱意或友好。情人节的晚餐约会通常代表了情侣关系的发展关键。
- 情人节现已成为欧美各国青年人喜爱的节日,其他国家也已开始流行。中国将传统节日七夕节视作情人节。由于能表达共同的人类情怀,各国各地纷纷发掘了自身的“情人节”。
情人节将至,当其他人还在苦思冥想如何准备情人节礼物时,我却已经收到了我最喜欢的爱豆说给我的情话视频~无论是女神还是男神,只要是你喜欢的,你全都能拥有!
不仅仅是让爱豆圆了你的梦想,现实生活中的你也将享受爱情的甜蜜!!
羞涩的你是否还在:抓耳扰腮给另一半准备惊喜??绞尽脑汁如何给暗恋的人直击TA??的告白?
那来看看如何利用我们的技能让女神男神刮目相看吧,说不定最后就眉目传情,就有对象了。有对象的拿去跟对象表达爱也是可以的。
文章图片
二. 项目简介 本项目使用的是paddlepaddle 2.x 框架,基于PaddleGAN实现的视频唇形同步模型Wav2lip, 它实现了爱豆口型与告白台词语音同步。 比如这样:
- Wav2lip模型还可以将你本人的图片或者视频,进行唇形转换,其中音频用于驱动唇形合成,而图片/视频中的人物则根据此音频进行唇形合成。输出与目标语音相匹配的视频,Wav2lip 实现唇形与语音精准同步的关键在于,它采用了唇形判别器来强制生成器产生准确而逼真的唇部运动。从此动人情话不再害羞说出口,你也可以成为魅力四射的情感大师。
- 同时,Wav2Lip模型在判别器中使用了多连续帧,通过视觉质量损失来提升视觉的质量,这样解决了时间相关性的问题。
- 此外,本项目支持大家上传自己准备的爱豆/自己的人脸素材视频和告白台词音频, 合成任意想要的情话/情歌告白视频!!!只需在如下命令中的face参数和audio参数分别换成自己的人脸素材视频和告白台词音频路径,然后运行如下命令,就可以生成和台词音频同步的爱豆告白视频。程序运行完成后,会在当前文件夹下生成文件名为outfile参数指定的爱豆告白视频文件,该文件即为和台词音频同步的爱豆告白视频文件。
- 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互粉吧,等你哦,来互关呀~请点击—> 非鱼子焉
- 欢迎大家喜欢收藏评论三连,感兴趣的朋友也可互相关注一下啊~
文章图片
推荐阅读
- 百度飞桨|百度飞桨(春节写春联:你写上联,AI写下联)
- python|RTX3050ti、3060等系列显卡正确安装cuda、cudnn,配置Pytorch深度学习环境(避免由于版本不适应导致重装)
- python|爬虫scrapy框架不理解(通俗?点告诉你)
- 工具|python登录+验证码
- 图论(graph theory)算法原理、实现和应用全解
- 不相交集(disjoint set)原理和实现图文详解
- 9大经典排序算法原理和实现代码详解
- Python MongoDB –查找数据用法介绍
- 比收费的还好用,7个自学python的网站