基于DeepFaceLabTorrent的人脸替换

震惊!一男子竟当众变成钢铁侠!


img

什么是DeepFaceLabTorrent

DeepFaceLab是一种利用深度学习识别和交换图片与视频中脸部的工具。
要注意的是你的GPU得是N系显卡,AMD的各位要去下载CPU版本进行训练。

优点:
可手动调整每帧中的脸部识别,减少提取脸部时的错误
mt模式下训练出的效果很好,脸部贴合度高
可选择的训练模式较多
有集成环境版本,只需正确安装驱动即可使用,无需单独搭建环境,对非专业人士较友好
缺点:
mt模式的训练时间较长,但最后效果最好

DeepFaceLab的安装

前往github下载
下载并解压后无需配置系统变量,只需安装有显卡驱动就可以进行训练了

准备素材

需要准备两个视频 一个是data_dst(需要被换脸的原视频) 一个是data_src(换脸的素材)。需要注意的是为了减少人工操作,视频中的人物最好是一个并且脸部不能有遮挡。准备好视频并放在workspace目录下。

将换脸素材分解成图片

img

为了换脸成功我们需要要替换脸的尽可能多的情况,一般是选择分解成每秒10帧,如果视频过短也可以选择全帧数分解。(保证分解出900-1200张图片)

img

分解完成后需要找到不包含人脸的图片并将其删除。

将图片中的人脸提取出来

img

识别人脸官方提供了两种方案 DLIB和MT
DLIB学习速度快但效果差 MT学习速度慢但效果好,大家可以根据自己的硬件配置选择合适的方案。

img

看看识别出的人脸有没有相似的,有的话就删除,这会大大提高之后训练的速度。

将原视频分解成图片并识别人脸

img

这里的选择是唯一的,因为要将原视频全部替换,所以是全帧分解。

img

和之前一样根据GPU的情况选择合适的方案

开始训练

img

这些方案是按对显存要求递增排序的,如果你的显卡的显存高最好是选择H128以下的方案。实测移动平台的MX150 2G满血版(相当于桌面级的GTX650Ti)比 GTX1060 4G满血版的平均单次迭代时间差了3倍,分别使用了对显存要求1G+的H64 和 要求2G+的H128两种方案。

img

迭代了6万次后(大约花了15个小时,笔记本真的是有点勉强了)可以看出换脸的效果不错,这时候我们就可以使用这个模型为之前识别出的人脸进行替换了。

应用模型

img

需要注意你在训练时使用了什么方案,这里就要选择对应的转换方案。

输出视频

img

可以选择输出为avi或者mp4格式,这里要耗费的时间和视频的长度成正比。

换脸结果

原视频:

img

换脸后的视频:

img

×

纯属好玩

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. 什么是DeepFaceLabTorrent
  2. 2. DeepFaceLab的安装
  3. 3. 准备素材
  4. 4. 将换脸素材分解成图片
  5. 5. 将图片中的人脸提取出来
  6. 6. 将原视频分解成图片并识别人脸
  7. 7. 开始训练
  8. 8. 应用模型
  9. 9. 输出视频
  10. 10. 换脸结果