python 视频ai换脸_Python实现AI换脸--Faceswap

"切勿滥用技术,切勿商用"

算法原理

Faceswap ,在 Encoder-Decoder 自编解码架构之上又引入 GAN技术,显著提升换脸效果

Encoder-Decoder 自编解码换脸:通过将任意扭曲的人脸进行还原,整个过程包含:

1.获取正常人脸照片

2.扭曲变换人脸照片

3. Encoder编码向量

4.Decoder解码向量

5.还原正常人脸照片

总体上,「Faceswap」换脸主要分为以下三个过程:人脸检测

特征提取

人脸转换

环境搭建

代码clone到本地

git clone deepfakes/faceswap

创建虚拟环境

conda create -n faceswap python=3.7

安装必要的库

pip install -r _requirements_base.txt

最新版本提示需要

python3.7

tensorflow-GPU=2.2.0

重新安装即可

以及CUDA等的安装踩坑记录网上搜索即可

"也可以用CPU版本体验"

环境搭建完成后启动GUI界面

python faceswap.py gui

首次启动会提示你选择使用 CPU或者是GPU,有GPU选择GPU

主要有四个功能:Extract:数据集制作,可以自动提取视频或图片中的人脸

Train:训练模型,有多种算法可供选择

Convert:换脸,使用训练好的模型对图片或视频换脸

Tools:很多图像处理小工具,可以通过排序等筛选人脸

Input Dir: 对象视频文件

Output Dir: 提取视频中的人脸并保存到本文件夹

Alignments: 人脸对齐文件(自动生成,不需要追加)

设定完成后 执行 Extract 提取人脸图像,并生成人脸对齐文件

人脸提取完之后,需要使用人脸识别接口或者人工清晰一遍数据,将无用的数据删除。

删除图片之后,需要根据剩余的图片重新生成 alignments.fsa 文件。

这时候,就需要用到 Tools 里面的功能。

选择 Tools 标签下的 Sort 选项,Input 填写为刚刚处理完图片的文件夹,Output 填写新的文件夹,其余选项默认,点击 Sort 执行按钮,对所有图片进行重新排序。

图片名处理完了,再选择 Tools 标签下的 Alignments,job 选项 Remove-Faces

执行Alignments

数据集 A处理完成 数据集B同理 ,数据集 A和 数据集 B 越多越好

模型训练

训练模型 选择数据集 A 和 数据集 B 的地址,以及两个数据集对应的人脸对齐文件。

最后指定一个模型保存地址

执行 Train

训练生成的模型

最后执行Convert 转换

你可能感兴趣的:(python,视频ai换脸)