DeepFaceLab进阶:H128,DF,SAE模型有何不同?哪个最好?
整个换脸过程中模型是最重要的一部分,耗时久,调优难,很多人虽然一直在跑模型,却并不知道每个模型的特点。
我也常常被问及:
到底用哪个模型换脸效果最好?
H128和DF有什么差别?
H64和H28有什么不同?
SAE是最好的吗?
全脸和半脸是什么意思?
等等问题。
今天,就专门写一篇文章,来统一解答这些疑问。
首先,来说说每个模型的特点。
H64模型
H64模型也被称为经典模型/原始模型(original),DeepFakes早期就是靠这个模型名震江湖,后来的FaceSwap,DeepFaceLab,Fakeapp都包含这个模型。
相比其他模型,这个模型速度最快,对系统的要求最低,但是同时效果也是比较差的一个。其中64代表的是头像的大小为64px *64px。 这是什么意思呢?这个意思就是,如果你需要替换的头像大小为64像素那么就刚刚好,如果你的视频脸特别大,那么不管你练多久,最终合成视频脸部肯定是模糊的。 H64轻量级最低显存要求为2G,H64默认参数需要3G。
H128模型
这个模型和H64的内部结构是完全一样的,唯一的差别就是像素不一样,简而意之就是能处理脸的大小不一样。这个模型对应的像素为128*128,能应对大部分远景和中景镜头,部分特写镜头也能勉强处理。所以他的好处非常明显,缺点嘛自然是需要更久的时间,更大的显存。H128轻量级需要4G显存,H128默认参数需要6G显存(5G+)。
DF模型
DF的结构和H64以及H128其实也是一样的。唯一不同的地方是DF为全脸模型(Full Face),像素为128*128 , 使用该模型换出来的脸一般来说比H128更像,因为脸部面积大,但是兼容性更差,边缘问题突出。 显存要求为5G+
LIAEF128模型
LIAEF128模型的大小和DF一致,同样为全脸模型。但是内部结构有所不同,所以这个模型和前面的模型有本质的不同。LIAEF128能使换脸目标发生一定的形变,以解决换脸生硬的问题,以及一些边缘问题,和轻微遮挡的问题。但是形变容易导致相似度降低,你可能会看不出来谁换了谁。
SAE模型
各大换脸软件基本都是基于以上模型。但是DeepFaceLab却多出了一个模型SAE。按作者的说法,这是一个超级模型。其实从本质上来说,这并不是一个独立的模型,这是一个建立在上面所有模型之上的模型。通过SAE的参数配置,可以配置出以上各种模型。
也就是SAE最大的优势在于“参数可以配置” 。这个模型是DFL主打的模型,可玩性非常高,参数非常多,可以调优的空间也非常大。你可以自定义模型(DF/H/LIAEF,脸型(Half/Full),像素(64/128/256,稍微魔改可以512) ,还有N多参数可探索。
同时有几个缺点,容易崩溃,默认参数合成效果不理想(面具),跑起来特别慢,对系统要求最高。
看了几个模型的异同,大家应该有一个比较好的认识了。关于如何选择模型,你可以参考一下几个点。
- 我的配置,不同配置选不同模型。
- 我的耐心,不同耐心选不同模型。
- 我的追求,不同追求选不同模型。
- 我的场景,不同长选择不同模型。
这几点,不展开说了,其实就是从,时间,配置,效果之间做一个权衡。也就是说没有绝对好的模型,也没有绝对差的模型,只有合适的模型。这也是为什么有那么多模型并存的原因。
当然,不管你用什么模型,训练起来都不是那么简单,都需要有极大的耐心和恒心。
全脸和半脸的差别
最后来说说全脸(Full Face)和半脸(Half Face)。 对于这个概念很多人一知半解,很多人有根本性的误解,其实主要是怪这个名字取得不好。说真像之前,先来说说两种误解。
第一种: 全脸包含眉毛,半脸不包含眉毛,所以为了换眉毛我选DF
第二种:全脸是整张脸, 半脸是左边一半脸或者右边一半脸。
这两种都是错的,一个认为是垂直方向的一半,一个认为是水平方向的一半,都是被这个名字给误导了。
其实他是从内向外的一半。曾经有一个灵魂画手用一张图解释了两者的差别。
我不擅长画画,我就用齐天大圣孙悟空来做一个解说吧。所谓半脸就是猴哥“不长毛”的部分,全脸就是整张脸(不包括额头)。 就是这么简单!!!
申明:图文均由deepfakes 中文网原创,转发请注明出处,谢谢!
如果本文对你有帮助,可以考虑打赏一下作者!
为什么我的2060显卡Batch_size只能设到8,再往上就会报错,网上看到有人贴同样是H128 他却能设到32,而且训练时GPU基本没有占用更别说跑满了
我很好奇,有没有可以弄掉换脸人的眼镜办法
眼镜不太好处理!
不是用GAN,曾经看到篇RNN做图像生成的论文可以做到添加眼镜
猴哥的比喻好形象,我是在bing上查half face跳出来half/full face的头盔我才理解的
从牙齿和眼睛的细节来看sae精度准确性比h128要高很多,正在尝试跑sae,目前30万。
8g显存只能跑bs8,改成12,中途会崩溃……
win10系统会被系统强制1.2g显存,非常头疼!
同样迭代,看起来肯定是SAE清晰啊。 sae消耗的资源和时间都比其他模型多。
Sae 的模型练好了可以复用吗?就是说练一个sae的仙丹可不可以。看网上都是复用H128的模型。
有待验证!
不明白
脸型也能换吗
我感觉脸型换不了
还有个问题就是轻量化和batchsize应该优先选哪个?比如我是1060 6G显卡,我开轻量化跑h128,可以跑32batchsize。
如果我不开轻量化,只能设置batchsize最高为18才能不报错。
轻量化是给4G 设备准备的。
站长能回答下上面问题吗,谢谢了
站长,DF模式是不是不适合有刘海的素材?我合成图片那步,接近刘海的地方会有大片黑斑,这个怎么解决?、sae模式也有这种问题么?。
如何魔改512 有大神能提点一下吗? 拜谢!
整个软件里面流转的过程最大都是256. 你改512,首先得改不少东西,其次改完了跑步起来的可能性极大。起码也是32G显存起步。so,乖乖玩256
大神,我一开256就会没反应,是什么原因,显存太低?