论文提出了一个简单,灵活,可扩展的换脸框架DeepFaceLab。
主要贡献:
一个具有成熟流程的state-of-the-art 的框架提出,旨在获得真实图片结果的换脸效果。
自打2018年以来,DeepFaceLab开源了源码,一直保持在计算机视觉领域的进步,对防卫假脸做出了贡献。在开源社区和VFX 领域取得了广泛关注。
DeepFaceLab提供了一些高效的组尖和工具,使得用户可以更加灵活的操作和及时发现问题。
DeepFaceLab特点:
Leras ,更加轻量的keras,使用TensorFlow作为深度学习框架。具备简单和灵活的模型构建能力。训练过程的时间性能指标减少10%-20%。具备更加灵活的tensor的控制。
Put users first ,用户优先
Engineering support ,工程化支持,支持多gpu训练,支持半精度训练
可扩展性和可批量化特性,Extensibility and Scalability
整体流程:
整体处理过程包括人脸检测,人脸关键点检测及对齐,人脸分割,人脸融合,人脸锐化。
人脸检测Face Detection :
DeepFaceLab使用S3FD作为默认的人脸检测框架,也可以使用其他的检测框架,比如RetinaFace , MTCNN
人脸对齐Face Alignment :
对于正常姿势的人脸使用2DFAN ,对于欧拉角较大的人脸使用PRNet
人脸分割Face Segmentation :
使用TernausNet ,XSeg
人脸融合Face Blending :
提供了超过5种以上的颜色变换算法,包括,reinhard color transfer(RCT) , iterative distribution transfer(IDT)
正常的融合方式,类似alpha融合。为了实现对不同的皮肤颜色,人脸形状,光照条件进行优化,这里提出了自己的泊松融合方式,
人脸锐化Face Sharpening :
提供了人脸超分辨模型FaceEnhancer 。
网络结构:
DeepFaceLab 包含2种模型结构,分别为DF和LIAE。
在DF模型中,原图和目标图的隐空间特征都是通过Inter模块进行的提取。而在LIAE模型中,则是分别通过InterAB,InterB,2个模块进行提取。其中,InterAB会输出原图和目标图的隐空间特征,InterB只输出目标图的隐空间特征。
然后,InterAB的输出原图特征和自己进行通道的concat,然后输入解码模块。InterAB的输出目标图特征和InterB的输出目标图特征进行concat,然后输入解码模块。
在训练过程中,通过对人脸眼睛区域加mask操作,使得眼睛部分传递更大的loss,颈部则传递较少的loss,使得换脸后的生成图片具有生动的眼睛细节。
训练的loss使用DSSIM (structural dissimilarity) + MSE ,其中,DSSIM 可以使得生成的人脸训练速度更快,MSE 则提供了更好的人脸细节。
DF模块的详细结构图如上图,LIAE模块与之类似。
DF结构里面包含了普通模块DF和高清DFHD模块,共2个分支。两者的主要区别就是DFHD在编码和解码模块都堆叠了更多的层。
该结构的主要特点:
使用pixelshuffle (depth2space) 进行上采样,而不是反卷积和双线性插值。这样做的好处就是可以消除生成图片边界效应。
解码模块采用残差连接方式,融合更多的特征。
最后一层的输出,采用sigmoid归一化输出为0–1之间,而不是采用tanh归一化到-1–1之间。
实验结果:
总结:
Suppressing the publication of such methods would not stop their development, but rather make them only available to a limited number of experts and potentially blindside policy makers if it goes without any limits