Deepfacelab模型训练,人人都可以训练一个专属自己的模型

Deepfacelab模型训练,人人都可以训练一个专属自己的模型-Studio Mars.AI
Deepfacelab模型训练,人人都可以训练一个专属自己的模型
此内容为付费阅读,请付费后查看
29.9
付费阅读

在开始训练模型之前,我们需要先了解,我们目前现有几个模型,SAEHD、AMP、Quick96,这几个是比较稳定的模型,当然还有最新的木兰模型。木兰模型的使用,需要用在dfl 开源代码上二次开发的软件去使用。

术语介绍

  • SAEHD:高清自动编码器,至少显存在6GB以上。最常用的模型,有多种架构变体;一般来讲,src、dst有一些相似之处时,交换人脸、特别是一般的脸/头形状,可以自由地重复使用、预训练,一般可以提供快速的、较好的效果,但一些架构会因相似性差、光线、颜色将导致人脸替换效果差。
  • AMP:新模型类型,更倾向保留源数据(src)形状,同样,显存至少6GB以上。具有可调整的变形因子,后期更考验合成技术、经验。与SAEHD不同的是,它没有不同的架构可供选择,并且在重复使用时,不太通用,需要更长的训练时间,也没有预训练的选项,但可以提供好的效果,结果看起来更像src。
  • Quick96:测试模型,适用于显存 2-4GB。固定参数:96*96像素分辨率、(全脸)FullFace类型、batch-size:4、SAEHD的DF-UD架构,用于快速测试效果。

训练模型步骤顺序(仅供参考)

大致模型概况介绍了,我的建议选择是尽量用SAEHD模型,关于模型架构变体,可以看下文,如果你急于尝鲜想迫不及待训练个模型玩玩,那可以参考下面的方法。我相信大家希望有更快的捷径走,我依旧推荐,你先自己训练一个,然后,有了一定基础,在使用模型复用(通俗来说,万能模型等等)

新手训练模型 参考方法1

模型参数阶段1阶段2阶段3阶段4阶段5阶段6阶段7阶段8阶段9
[n]Flip SRC faces randomlyoffoffoffoffoffoffoffoffoff
[y]Flip DST faces randomlyononononononononon
[8]batch size4~88~1618~168~168~168~168~16168~16
Masked training23ononononononononon
[n]Eyes and mouth priorityoffonoffoffoffonoffoffon
[n]Uniform yaw distribution of samplesoffoffononoffoffonoffon
[n]Blur out mask4offoffoffoffonononoffon
[y]Place models and optimizer on GPU5ononononononononon
[y]Use AdaBelief optimizerononononononononon
[n]Use learning rate dropoutoffoffoffonoffoffoffonoff
[y]Enable random warp of samplesononononoffoffoffoffoff
[0.0]Random hue/saturation/light intensityoffoffoffoff0.010.010.01offoff
[0.0]GAN poweroffoffoffoffoffoffoff0.01off
[0.0]true face6offoffoffoff0.010.010.01offoff
[0.0]Background style poweroffoffoffoff0.010.010.01off0.01
[none]Color transfer for src facesetnonenonenonenonerct/lctrct/lctrct/lctrct/lctrct/lct
[n]Enable gradient clippingononononononononon
[n]Enable pretraining modeoffoffoffoffoffoffoffoffoff
防止模型崩溃,每个阶段备份一次。结合预览图和损失值来看loss<0.3/不降反升loss极慢/不降反升loss<0.3/不降反升loss<0.1/不降反升loss极慢/不降反升loss极慢/不降反升loss极慢/不降反升2~3W迭代
火星提示:仅供参考,实际训练可以灵活操作并没有特别固定的顺序

新手训练模型 参考方法2

模型参数阶段1阶段2阶段3阶段4阶段5
[n]Flip SRC faces randomly视素材视素材视素材视素材视素材
[y]Flip DST faces randomly视素材视素材视素材视素材视素材
[8]batch size(视机器配置)4~88~168~168~168~16
Masked trainingononononon
[n]Eyes and mouth priority视素材视素材视素材视素材视素材
[n]Uniform yaw distribution of samplesononoffoffoff
[n]Blur out maskononoffoffoff
[y]Place models and optimizer on GPUononononon
[y]Use AdaBelief optimizerononononon
[n]Use learning rate dropoutoffonononon
[y]Enable random warp of samplesonononoffoff
[0.0]Random hue/saturation/light intensityoffoffoffoffoff
[0.0]GAN poweroffoffoffoff0.1
[0.0]true faceoffoffoffoffoff
[0.0]Background style poweroffoffoffoffoff
[none]Color transfer for src facesetrct/lctrct/lctrct/lctrct/lctrct/lct
[n]Enable gradient clippingononononon
[n]Enable pretraining modeoffoffoffoffoff
迭代次数7500K+500K500K500K+200~300K
火星提示:仅供参考,实际训练可以灵活操作并没有特别固定的顺序

这里,火星泰二师兄多提一句,为啥两个训练方法差很多,提示说的很明白,并没有固定的顺序,当然也不是完全瞎搞,大致思路,就是把形先学习了,在填细节,细节有很多。最终看预览图,毕竟咋们这个弄得都是机器视觉类,从研究角度来说,那就看loss值,尤其你会代码的话,可以解开很多模型参数,分析loss值对应效果。

模型参数中文解释

  • SAEHD模型参数设置8
    • Resolution:像素分辨率,模型分辨率越高,模型学习的人脸越详细
    • Face type:脸型,一般就选择wf
    • AE architecture:模型架构
    • AutoEncoder dimensions:自解码器,影响模型学习人脸的整体能力,直接默认
    • Encoder dimensions:编码器,影响编码器学习人脸的能力,直接默认
    • Decoder dimensions:解码器,影响解码器重现人脸的能力,直接默认
    • Decoder mask dimensions:遮罩解码器
  • SAEHD训练参数设置9
    • Autobackup every N hour:自动备份,单位小时,
    • Write preview history:创建预览历史记录
    • Target iteration:预设迭代次数
    • Flip SRC faces randomly:随机翻转src人脸,视情况开
    • Flip DST faces randomly:随机翻转dst人脸,视情况开
    • Batch_size:涉及算法,总的来说,bz数值选择适中。建议最小值4
    • Eyes and mouth priority:眼睛和嘴巴(包括牙齿)优化,提供清晰度和细节水平;没有闭眼和张嘴的素材,则关闭
    • Uniform yaw distribution of samples:轮廓面优化,预训练默认打开
    • Blur out mask:羽化遮罩蒙版,要配合XSeg训练一起用,否则就是关闭
    • Place models and optimizer on GPU:模型、优化器在gpu上运行,提高了性能,但增加了显卡的负载。
    • Use AdaBelief optimizer:adabelief优化器,提高模型准确性和训练面部质量
    • Use learning rate dropout:学习率衰减,加速人脸训练,减少亚像素人脸抖动,在一定程度上也可以减少灯光闪烁
    • Enable random warp of samples:是否启用随机扭曲样本,开始训练模型的时候,就开启
    • Random hue/saturation/light intensity:随机色调/饱和度/光强,建议值0.05
    • GAN power:额外的训练方式,获得脸部细节,建议0.01
    • GAN patch size=模型分辨率/8
    • GAN dimensions:提高效果,获得锐利的边缘,建议16
    • true face:合成后的脸看起来更像src,同时会带来脸更加锐利。会改变照明和颜色匹配,建议0.001或者0.01
    • Face style power:开启时,先备份模型,从0.001-0.1开始,根据你的需要增加或减少。改善照明和颜色匹配
    • Background style power:同Face style power
    • Color transfer for src faceset:src和dst颜色匹配,让合成后的肤色、色调和dst相似
    • rct/lct/mkl/idt/sot sot开启在训练期间性能受影响,其余在合并的时候对性能有影响
    • Enable gradient clipping:此功能降低模型崩溃的几率,无论什么时候都开启
    • Enable pretraining mode:在启用随机人脸数据集初始预训练模型的时候,使用。在训练到50万到100万此迭代之后,关闭。此功能在训练实际的dst、src时,节省时间。减少人脸清晰显示的时间
  1. 颜色变化表示与上一步操作发生变化 ↩︎
  2. 仅WF、Head的脸型有 ↩︎
  3. 这部分针对遮罩训练 ↩︎
  4. 这部分针对遮罩训练 ↩︎
  5. 显卡不是特别行,就选择off,把一部分内容放到cpu上运算 ↩︎
  6. 只有DF架构才有 ↩︎
  7. 迭代次数并不是标准答案,完全凭对预览效果 ↩︎
  8. 模型参数,一旦设置,在训练无法更改 ↩︎
  9. 训练参数,可以在每次开启训练前修改 ↩︎

随着软件的开发,某些模型可能会有更多选项可用或不可用,如果你使用的是最新版本并注意到缺少某些选项,请通过评论告诉我,我会尝试以尽快更新。

火星提示:先打好基础,不要急于求成。等有了基础,更多的理解的时候,自然而然有更多的方法思路涌现。老规矩,上付费阅读部分,这部分主要针对想要对模型参数、训练参数意义更深入理解,以及如何更好使用现有模型快速制作更多的实时换脸(直播换脸)的方法。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 共8条

请登录后发表评论