注意:本文仅用于学习研究,严禁利用本文做违法乱纪的事。
随着深度学习技术飞速发展,产生了非常多的应用,丰富了我们的生活,人脸识别技术目前已经比较成熟,现在基本上成了手机上的基础功能。随着GAN网络的发展(GAN, Generative Adversarial Networks ,生成式对抗网络)是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一,就有了换脸技术的出现,AI换脸技术应用很广泛,例如某影视剧里的某人出现了什么问题,就可以利用该技术把他的脸给换了等等。废话不多说,接下来就直接介绍如何利用faceswap来完成换脸,相应的算法理论,会在以后的文章中更新,谢谢。
AI换脸
一、AI换脸算法整体流程简介
AI换脸算法整体流程简介
二、下载源码,配置环境- 代码下载
源码下载地址见评论
- 配置环境
# 创建Python环境
conda create -n faceswap python==3.7
# 切换python环境
conda activate faceswap
# 安装必须包
# 解压源码,路径切换到源码文件夹下
cd faceswap-master
# pip安装requirements.txt
pip install -i pypi.tuna.tsinghua.edu/simple -r requirements.txt
# cpu用户
pip install -i pypi.tuna.tsinghua.edu/simple tensorflow
# gpu用户
pip install -i pypi.tuna.tsinghua.edu/simple tensorflow-gpu
# 安装faceswap
python setup.py
# 下图给出利用cpu的安装过程
- CPU的安装过程参考
CPU安装过程
三、开始制作
# 运行
python faceswap.py gui
运行成功的界面如下:
Faceswap制作界面
- 第0步,准备两个不同人的视频
- 第一步,视频转换成图片
视频转换成图片
也可以使用以下命令:
pytho
n faceswap.py extract -i C:/Users/Administrator/Downloads/Video/Obama.mp4 -o C:/Users/Administrator/Downloads/Video/Obama -D cv2-dnn -A cv2-dnn -nm none -min 0 -l 0.4 -een 1 -sz 256 -si 0 -L INFO
转换后如下所示
文件夹1 Obama
文件夹2 Trump
- 第二步,训练模型
训练模型界面
也可以使用以下命令:
python.exe faceswap.py train -A C:/Users/Administrator/Downloads/Video/Obama -B C:/Users/Administrator/Downloads/Video/Trump -m C:/Users/Administrator/Downloads/Video/outputs -t original -bs 64 -it 1000000 -s 100 -ss 25000 -ps 50 -L INFO
- 第三步,生成新的图片
生成新图片界面
也可以使用以下命令:
python faceswap.py convert -i C:/Users/Administrator/Downloads/Video/Obama.mp4 -o C:/Users/Administrator/Downloads/Video/outputs -m C:/Users/Administrator/Downloads/Video/model -c avg-color -M extended -sc none -w opencv -osc 100 -l 0.4 -j 0 -L INFO
- 第四步,转换成视频
ffmpeg -i video-frame-
.png -c:v libx264 -vf "fps=25,format=yuv420p" out.mp4