AI视频换脸, AI实现YouTube视频换脸, 使用“ DeepFakes”自动编码器模型实现YouTube视频换脸, YouTube Video Face Swap using “DeepFakes” Autoencoder-Model

 

总览

该项目的目的是几乎自动在youtube视频上进行人脸转换。
需要人的唯一步骤是步骤1.5中的质量。

 

它是如何工作的?

Siraj Raval在他的视频中说得很好:https://www.youtube.com/watch?v=7XchCsYtYMQ&feature=youtu.be

 

安装

 

我的设定

我正在使用一台运行Ubuntu服务器16.04的GTX1060的台式机。
训练模型10万个纪元需要我大约30个小时。

 

apt安装软件包

sudo apt-get install ffmpeg x264 libx264-dev

 

为虚拟屏幕安装xvfb

sudo apt-get install xvfb  

 

安装chromedriver进行图像抓取

wget https://gist.githubusercontent.com/ziadoz/3e8ab7e944d02fe872c3454d17af31a5/raw/ff10e54f562c83672f0b1958a144c4b72c070158/install.sh
sudo sh ./install.sh

 

安装所需的库 (https://raw.githubusercontent.com/DerWaldi/youtube-video-face-swap/master/requirements.txt)

pip install -r requirements.txt

 

或者:requirements.txt

bs4
selenium
pyvirtualdisplay
fake_useragent
numpy
keras
h5py
cv2
tqdm
numpy
pytube
moviepy
face_recognition
scikit-image
opencv-python
requests
lxml.html
tensorflow

 

用法

 

第1步:获取培训数据

从Google图片中刮取两个人的面部图片。

python3 1_get_faces.py --name="angela%20merkel" --limit=500
python3 1_get_faces.py --name="taylor swift" --limit=500

 

或从youtube视频中刮取人脸图像(例如采访)。

python3 1_get_faces_from_yt.py --url="https://www.youtube.com/watch?v=XtHwjrm4sMg" --start=30 --stop=200 --name="siraj raval" --limit=500
python3 1_get_faces_from_yt.py --url="https://www.youtube.com/watch?v=kwRM4PQdheE" --start=60 --stop=179 --name="kal penn" --limit=500

 

步骤1.5:人眼

在“数据/面部/”中查看提取的面部图像!将会出现一些误解,只是删除不适合的图像。

 

步骤2:训练模型

使用收集的面部图像训练facewap模型。
在此示例中,默克尔的脸将插入泰勒·斯威夫特。

python3 2_train.py --src="angela%20merkel" --dst="taylor swift" --epochs=100000

 

预训练模型

您可以在此处下载Angela Swift的预训练模型,
只需将“ models”文件夹放在代码目录旁边。

 

第3步:在YouTube视频上应用面部互换

在YouTube影片上执行faceqp。
“-开始”和“-停止”参数以秒为单位定义剪辑视频的位置。
如果要将生成的视频导出为gif文件,请将“ –gif”设置为“ True”

python3 3_youtube_face_swap.py --url="https://www.youtube.com/watch?v=XnbCSboujF4" --start=0 --stop=60 --gif=False

 

例子

唐纳德·特朗普(Donald Trump),尼古拉斯·凯奇(Nicolas Cage): 安吉拉·默克尔(Angela Merkel),泰勒·斯威夫特(Taylor Swift):更高质量的视频更高质量的视频 前两幅人体象素都训练有从Google刮取的图像,这就是为什么被交换的面孔看起来有些冻结。 最后一个仅使用两个采访视频进行了培训。 您会看到,与静态图像训练相比,它可以更好地传递面部表情。

AI视频换脸, AI实现YouTube视频换脸, 使用“ DeepFakes”自动编码器模型实现YouTube视频换脸, YouTube Video Face Swap using
AI视频换脸, AI实现YouTube视频换脸, 使用“ DeepFakes”自动编码器模型实现YouTube视频换脸, YouTube Video Face Swap using “DeepFakes” Autoencoder-Model
AI视频换脸, AI实现YouTube视频换脸, 使用“ DeepFakes”自动编码器模型实现YouTube视频换脸, YouTube Video Face Swap using
AI视频换脸, AI实现YouTube视频换脸, 使用“ DeepFakes”自动编码器模型实现YouTube视频换脸, YouTube Video Face Swap using “DeepFakes” Autoencoder-Model
AI视频换脸, AI实现YouTube视频换脸, 使用“ DeepFakes”自动编码器模型实现YouTube视频换脸, YouTube Video Face Swap using
AI视频换脸, AI实现YouTube视频换脸, 使用“ DeepFakes”自动编码器模型实现YouTube视频换脸, YouTube Video Face Swap using “DeepFakes” Autoencoder-Model

 

接下来会发生什么?

由于我更喜欢​​音频处理,因此我想在音乐信号上传递人脸交换的概念。
如果您有任何建议,请让我知道。

 

更多参考

https://github.com/deepfakes/faceswap

https://github.com/rushilsrivastava/image-scrapers

https://gist.github.com/ziadoz/3e8ab7e944d02fe872c3454d17af31a5

特别感谢Siraj Raval,他启发了我这个项目!
https://github.com/llSourcell/deepfakes

 

项目地址:https://github.com/DerWaldi/youtube-video-face-swap

 

 

本文:AI视频换脸, AI实现YouTube视频换脸, 使用“ DeepFakes”自动编码器模型实现YouTube视频换脸, YouTube Video Face Swap using “DeepFakes” Autoencoder-Model

Leave a Reply