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

什么是DeepFaceLabTorrent
DeepFaceLab是一种利用深度学习识别和交换图片与视频中脸部的工具。
要注意的是你的GPU得是N系显卡,AMD的各位要去下载CPU版本进行训练。
优点:
可手动调整每帧中的脸部识别,减少提取脸部时的错误
mt模式下训练出的效果很好,脸部贴合度高
可选择的训练模式较多
有集成环境版本,只需正确安装驱动即可使用,无需单独搭建环境,对非专业人士较友好
缺点:
mt模式的训练时间较长,但最后效果最好
DeepFaceLab的安装
前往github下载
下载并解压后无需配置系统变量,只需安装有显卡驱动就可以进行训练了
准备素材
需要准备两个视频 一个是data_dst(需要被换脸的原视频) 一个是data_src(换脸的素材)。需要注意的是为了减少人工操作,视频中的人物最好是一个并且脸部不能有遮挡。准备好视频并放在workspace目录下。
将换脸素材分解成图片

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

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

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

看看识别出的人脸有没有相似的,有的话就删除,这会大大提高之后训练的速度。
将原视频分解成图片并识别人脸

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

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

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

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

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

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

换脸后的视频:


