![万能丹笔记](https://irils.gitee.io/irils-cdn/Typecho-Theme/A-My/src/img/sj/17.jpg)
万能丹基础:
- 只支持DF结构
- dst丢各种人脸数据进去,越杂越好,src保持单人数据
- 训练时把true face参数打开,推荐0.01
你可以在别的DF预训练模型上,按上述方法练。然后就挂机练,多日后就练成了。
是不是特别简单?
-------------------萌新分割线--------------------------
但其背后原理不简单。
true face 参数开启后,对模型的中间层会施加一个判别器,来约束DST和SRC编码出来的码越相似越好,强迫编码器部分只抽取共性特征,放弃非共同特征
这样dst就能丢这种各样的图来训练,而且不会中间层特征带来负面作用。
如果不加这个中间层约束,那dst加入大量杂数据后,中间层把原图所有特征都包含进来,这样就容易影响src自身的生成,让src带上dst的影子。
first.底丹的选择:
之前推荐224f丹底,经过一段时间的探索后,我认为猫之汉化的新224WF在各个方面已经小压224f一头了,在此我推荐224WF作为新手入门丹。底丹选择应该遵循以下标准:
1.自己的显存能够承受开启GAN的消耗
2.优先选择高质量的神丹,这里推荐论坛的测试贴神丹之间的高低之分,测试了40多个丹后,列了个排名
2.src数据集的选择:
选择一个好的src数据集那么万能模型就成功了一半,这两个万能模型的数据集都是选择多角度、多表情、多光影、不染色(如黑白)的GPEN数据集,并且删减冗余人脸,数据集保持在5000张左右,简单来说,应该尽量达到以下标准:
多角度
多表情
多光影
不染色(如黑白)
清晰度越高越好,而且现在用GPEN增强后的图片进行训练会有油光脸的现象发生,不建议直接使用GPEN
删减冗余人脸
在这里强烈推荐夢生若汐顔 大佬的src数据集与【老鸟进阶】练就超清Src素材的必要事项,观察他数据集的构成与切图方法
last.训练方法:
万能模型的实现原理滚大的帖子【万能模型训练方法】你没看错,就这么简单已经说明,这里详细说一下我的具体训练步骤:
常驻打开项:true_face_power: 0.01(楼里有朋友说0.005也可以,感兴趣的可以自测一下,这个主要是抽取特征的程度) 和 uniform_yaw: True,ct_mode: rct 这三个一个是万能模型训练的关键,一个是均化样本开关,一个是补充光影
第一阶段,bs设为4,random_warp设为true,该阶段主要是让底丹学习src的人脸。这个阶段bs4是最优,能开大建议也开到bs4,直到loss值不降反升或者出现波动。然后打开lr_dropout,继续迭代到loss值不降反升或者出现波动。建议迭代30W次
第二阶段,关闭random_warp,打开eyes_mouth_prio,bs设置为显卡能承受的极限值,该阶段主要是训练眼睛和嘴巴,眼珠位置和高光位置、嘴巴角度决定了合成图的表情是否自然,直到loss值不降反升或者出现波动。建议迭代10W次对于使用新版dfl的朋友,可以打开random color训练一顿时间,然后关闭,再打开random hue,设置为0.05,这两个参数对于色调提升明显,合成更自然
第三阶段,这个时候眼睛和嘴巴角度应该已经非常贴合了,关闭第二阶段的参数,GAN设为0.001-0.01之间,打开Enable gradient clipping。开始训练细节,直到你觉得细节满足需求或者不再变化为止
训练完成大概在50W-80W迭代之间,这个时候万能模型基本成型了,可以直接进行合成查看效果,针对不足的角度添加素材重新训练,直到自己满意为止
合成:
合成阶段要讲的不多,
但是一定注意dst脸型!!!一定注意dst脸型!!!一定注意dst脸型!!!脸型不像的dst用什么丹合成都不像,这也是现在dfl的弊端,同时合成注意颜色模式,遮罩模式,按T调整超分辨率等
剩下的想到再补充