"切勿滥用技术,切勿商用"
算法原理
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:训练模型,有多种算法可供选择
【python|python 视频ai换脸_Python实现AI换脸--Faceswap】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|python 机器人运动仿真_ROS仿真揭秘——七自由度机器人(五)
- 目标检测|深入目标检测原理学习笔记1
- 机器学习|pyhton 机器学习 sklearn——手把手教你预测心脏病
- python|python机器学习基础01——sklearn开启
- python|python机器学习基础05——sklearn之逻辑回归+分类评价指标
- 一些好玩的事|我赌你没有了解过——Python 图像加密
- Python|机器学习1——手写数字识别
- python|python 车牌识别简单_Python利用百度云接口实现车牌识别
- 人工智能|Python用百度AI识别车牌号教程(超详细)