• 非常规的DeepFaceLab(DeepFake)小花招和注意事项


    DeepFaceLab相关文章

    如果你已经从别的地方了解了这些信息可以跳过。
    如果没有,在此之前请看看 🔗相关专栏,里面有基础信息和历史版本的变化。

    (一)更新放缓的稳定版本

    📖官网放出的包停留在🔗2021年11月20日的版本,
    如果访问不了可以用下面的磁力链接。

    magnet:?xt=urn:btih:e7ffdcb4ada863de9504f2a741f924dcd56ab84a&dn=DeepFaceLab&tr=udp%3a%2f%2ftracker.dler.com%3a6969%2fannounce&tr=http%3a%2f%2ftracker3.itzmx.com%3a6961%2fannounce&tr=udp%3a%2f%2ftracker.blacksparrowmedia.net%3a6969%2fannounce&tr=http%3a%2f%2ftracker2.itzmx.com%3a6961%2fannounce&tr=udp%3a%2f%2fengplus.ru%3a6969%2fannounce&tr=udp%3a%2f%2ftracker.torrent.eu.org%3a451%2fannounce&tr=http%3a%2f%2ft.nyaatracker.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.zerobytes.xyz%3a1337%2fannounce&tr=udp%3a%2f%2ftracker0.ufibox.com%3a6969%2fannounce&tr=udp%3a%2f%2ftracker2.dler.org%3a80%2fannounce&tr=http%3a%2f%2fretracker.sevstar.net%3a2710%2fannounce&tr=udp%3a%2f%2finferno.demonoid.is%3a3391%2fannounce&tr=https%3a%2f%2ftracker.lilithraws.cf%3a443%2fannounce&tr=udp%3a%2f%2fbt2.archive.org%3a6969%2fannounce&tr=udp%3a%2f%2fopen.stealth.si%3a80%2fannounce&tr=udp%3a%2f%2fcode2chicken.nl%3a6969%2fannounce&tr=udp%3a%2f%2fmail.realliferpg.de%3a6969%2fannounce&tr=http%3a%2f%2ftracker.files.fm%3a6969%2fannounce&tr=udp%3a%2f%2ftracker.0x.tf%3a6969%2fannounce&tr=udp%3a%2f%2fdiscord.heihachi.pw%3a6969%2fannounce&tr=udp%3a%2f%2fmts.tvbit.co%3a6969%2fannounce&tr=http%3a%2f%2fvps02.net.orel.ru%3a80%2fannounce&tr=udp%3a%2f%2fwww.torrent.eu.org%3a451%2fannounce&tr=udp%3a%2f%2fbt1.archive.org%3a6969%2fannounce&tr=udp%3a%2f%2fadmin.videoenpoche.info%3a6969%2fannounce&tr=udp%3a%2f%2ftracker.altrosky.nl%3a6969%2fannounce&tr=udp%3a%2f%2fmovies.zsw.ca%3a6969%2fannounce&tr=https%3a%2f%2ftracker.tamersunion.org%3a443%2fannounce&tr=udp%3a%2f%2fretracker.lanta-net.ru%3a2710%2fannounce&tr=https%3a%2f%2ftracker.nitrix.me%3a443%2fannounce
    

    之后作者还有几次小的更新,可以自己拖git源码更新。
    各个步骤和以前差不多,具体更新内容请看作者的描述。
    这里不是重点。

    (二)技巧汇总

    (2.1)常规的技巧

    之前的文章提过一些使用技巧,这里仅简短总结一下:

    • 视频图片一定要降噪。
    • 确认每一帧提取的头像都是正确的
    • 重复利用你的模型(即使src/dst都换了)。
    • 用更高的分辨率(如果显卡显存运行,分辨率会量变引起质变)。
    • 使用适当的合成参数(边缘模糊,大小缩放,颜色转换类型等)。
    • 特殊遮挡情况下,自己训练和使用遮罩。

    (2.2)角度/表情小花招

    如果我们提取的data_dst(目标),能识别的面部有角度特别大的,比如大角度抬头低头(俗称死亡角度)。
    那么因为data_src(源)很难有对应角度,所以尽管训练次数很多,训练结果也不佳,很不自然。

    这时候可以选择:

    1. 你自己头像做data_src的,大可再拍一些刁钻角度,丰富后用于训练😄(Really?)
    2. data_dst/aligned中这些角度特别大的头像图片,拷贝到data_src/aligned中,再进行训练。
    3. 直接将data_dst/aligned面部信息放入data_src/aligned进行训练,一定时间后再换成正常的data_src训练。

    使用方法2:
    这些角度的面部变得自然,但也变得不再是data_src中人的样子了。
    不过角度特别大的情况下,其实也看不出来是谁,这时候视频整体显得自然更重要。
    同时缺点是你得自己去选哪些照片,还要注意用完后不要混入真正的data_src中了。

    使用方法3:
    偷懒的办法,也许没有方法2那么自然吧……呃,自己试试:)


    (2.3)加入噪点更自然

    由于机器学习的特点,训练后的脸部,会显得相对平滑。
    而视频画面其它位置,特别是电影是一定有噪点的。

    两者合成后就会显得不自然。
    这时候可以:

    1. 合成时选择合适的超分辨率系数。
    2. data_dst视频帧大幅度降噪,合成后,再用其它视频处理软件加入一定的模仿电影画面的噪点。

    这两个方法可以同时用,不是二选一。
    比如最近做的这个例子(不知道能看出效果么):

    是中国古装奇幻版本特工绍特么?


    (2.4)确认每一帧的头像

    这点在前面其实写过:

    1. 确认每一帧只提取了目标的头像,而不是其它人的,或多个头像。
    2. 重新手动提取扭曲的/错误的头像。

    但是重点来了:⚠️

    即使你检查过提取后的头像图片是正常的,也不能完全确认头像正确。
    还需要检查识别到头像的每个视频帧。

    也就是,你仅仅检查data_dst\aligned里的头像图片是不够的,如下:
    在这里插入图片描述

    还需要检查data_dst\aligned_debug中的每一个视频帧,

    检查每一帧的脸部是否正确以外,还需要检查前后视频帧脸部识别情况,是否连贯。
    所谓连贯就是前后很相似的视频帧中,脸部检测情况也相似:

    如果不连贯,宁愿删掉这些看上去识别成功的。
    然后重新手工识别这一段连续的视频帧,这样才能保证最终结果不会闪烁。
    PS:比如前后帧一帧胖一帧瘦,五官位置突然移动一下又回来。这种就是识别不连贯。

    检查的内容是data_dst\aligned_debug类似下图的绿色脸部轮廓,眼睛,鼻子,嘴巴:
    在这里插入图片描述
    似乎工程量很大,但是清晰的脸部都不会有什么问题。
    大部分时间只是浏览图片一遍。

    真正需要找到的识别有问题的,可能只有几张。

    PS:希望我的表述足够清楚。


    (2.4)使用LHR显卡的问题

    💡 !!!更新:有报道称N卡522.25版本驱动取消了挖矿限制,所以升级驱动后,应该没有下面的问题了……

    托显卡挖矿的福,导致之前很长时间显卡大幅涨价。
    价格很离谱,同时严重的消耗了整个地球的能源和半导体,还不产生任何真正的价值。

    那时厂商推出的LHR显卡(Light Hash Rate)低哈希运算,也就是锁挖矿能力。

    本意是给游戏玩家一条生路。但是在训练时偶然发现……
    可能中途导致训练速度变成正常的50%(真是谢谢您,Nvidia,温暖了四季…)。

    遇到这种情况可以稍微调低训练参数,比如Batch Size,不要让显卡负载太高(这是咱应该操心的么)。
    或者如果没有买30系列显卡的,可以等等,40来了。

    PS:不知道40系列上市后,是否DFL也会有30时代的适配问题。

  • 相关阅读:
    传智杯#5练习赛_树的变迁
    IIS 网站初始化与 Keep alive
    C# 之 选择并调用文件[winform]
    Day 4 Qt
    GPS卫星位置解算原理与程序设计(C语言)
    Linux+MCSM9+Docker 搭建Minecraft基岩版BDS私服,我的世界基岩版开服教程
    Docker相关操作
    Linux磁盘分区与挂载
    Llama 3.1论文中文对照翻译
    0047【Edabit ★☆☆☆☆☆】Minimal I: If Boolean Then Boolean
  • 原文地址:https://blog.csdn.net/ddrfan/article/details/127101112