DeepFaceLab参数详解之遮挡神器FAN-X

DeepFaceLab参数详解之FAN-X。

用DeepFaceLab做出如假包换的换脸视频已经不是什么新鲜事儿,即便你不会,但是肯定看过很多不错的换脸视频。但是,观察大部分视频你可以发现一个共同点,就是这些视频基本脸部都“很干净”。很干净的意思就是脸上几乎没有遮挡。很少看到那些戴眼镜,头发或手挡住脸的。之所以会这样,是因为软件对于遮挡的处理能力并不是很强,但是也并不是说完全没法处理。今天就来说一个参数FAN-X,可以处理一些简单的遮挡。

 

FAN-X简介

Fan-x是DeepFaceLab转换(convert)环节的一个参数,名字是:Mask mode。这个参数于20190321版本加入,仅针对SAE,DF等全脸模型。后来有经过多次修改,直到827版本,H128等半脸模型也可以使用这个参数了。

 

FAN-X使用

下面我以907版的H128为例演示一下遮挡的具体使用过程。

我这里已经准备好了一个高迭代的模型,并且把之前训练模型之前的步骤全部做了一遍。data_dst中特地挑选了几张有遮挡的图片,这些图片来自官方的demo,大家也可以很容易的跟着操作。

 

万事俱备后,点击7) convert H128.bat 开始转换。转换启动后启用动态交互,然后按Tab键盘进入预览窗口。

默认情况下,可以很清楚的看到,希亚·拉博夫的手指被托尼的脸给覆盖了。这显然不是我们要的结果。我们希望的是手指能露出来,但是脸是托尼的。

此时,只需要按键盘上的X两次,将遮罩模式(Mask mode)切换成 Fan-dst

Magic ….可以非常清楚的看到,手指出来了,脸往后贴了。这可不是我PS的哦~~~~

稍微调整一下其他参数后最终效果如上。同理,其他遮挡也可以这样处理。

单纯从这个例子来说,遮挡处理已经非常不错,但是实际应用可能没这么理想,因为Fan模式的效果直接受Fan模型的影响,因为fan模型中已经训练了官方demo中的遮挡,所以转换的时候直接使用就效果很好。而作者提供的Fan模型训练的数据非常有限,所以能力也比较有限,如果真的要处理所有奇奇怪怪的遮挡,就必须自己训练Fan。这个就不展开了,对于小白来说先学会怎么用,然后再去考虑怎么优化。

 

FAN-X背后的原理。

 

知其然而不知其所以然总是让人很难受,尤其是作为一个程序员。下面我就来简单说说这背后的原理,这一部分内容不适合小白,深度学习方向的程序员可以一战,发际线越高战斗力越强O(∩_∩)O。

TernausNet: U-Net with VGG11 Encoder Pre-Trained on ImageNet for Image Segmentation

大概意思是,这是一个使用Vgg11编码器的U-NET网络,使用ImageNet进行了预训练,主要应用于图像分割。至于什么是Vgg11, 什么是U-NET,什么是ImageNet,这个…在下告退了。

开源项目地址:

https://github.com/ternaus/TernausNet

论文地址:

https://arxiv.org/abs/1801.05746

 

   

--------------------------------------------------------------------------

申明:图文均由deepfakes 中文网原创,转发请注明出处,谢谢!

 网站官方入门交流群:659480116,663199843,672316851交流更方便,群文件!  

微信公众号:托尼是塔克(TonyIsStark)第一时间获取最新消息。

--------------------------------------------------------------------------

6 Comments

Add a Comment

电子邮件地址不会被公开。 必填项已用*标注