当你注意到清晰度问题时,恭喜你已经是个老鸟了。 本篇就来讲讲清晰度相关的进阶教程
清晰度通常有以下几种情况导致看上去违和 1. 视频清晰、SRC脸模糊 (常见) 2. 视频模糊、SRC脸清晰 (偶尔) 3. 视频DST人脸时而清晰时而模糊,换的SRC一直清晰 (少见)
我就分开讲讲这三种情况都该如何优化
1. 视频清晰、SRC脸模糊 这是最常见的情况,也是新手都会遇到过着情况。挑了一个清晰的视频做换脸,结果换上去的脸比周围背景明显模糊一大截。 然后许多人错误的以为加大模型分辨率就可以变清晰,吭哧吭哧又训练一个高分辨率模型,一换发现还是这么糊。 别急,先来分析下产生这问题的原因
以1920*1080p的视频为例,如下图,通常人脸大小只有250左右,理论上用256分辨率的模型已经足够满足人脸清晰度要求
但为什么你用256模型合成出来就感到模糊呢? 原因是你的256模型没有训练出它的极限清晰度。一个256极限清晰度的模型要比512垃圾清晰度的模型要好得多 就像你打游戏,256级满技能满装备的土豪,能吊打512级没技能没装备的玩家
那怎么才能训练出模型的极限清晰度呢? 1. 训练数据要足够清晰,减少模糊素材比例。如果没有高清素材,可以提取人脸后,用Topaz系列软件来提升清晰度: 论坛有老哥发过 http://dfldata.xyz/forum.php?mod=viewthread&tid=74&extra=page%3D1 2. 训练足够充分 3. 训练充分后把随机扭曲(random warp)关闭 4. 训练充分后开GAN 0.01-0.1(一定要开启自动备份和梯度裁剪,以免模型跑崩)
除了训练时尽量压榨出模型潜力,在合成阶段也有两个个手段可以提升脸部清晰度 1. 合成时按T,可以调用软件自带的超分辨率模型来提升人脸清晰度 2. 清晰度实在提不上去,换个思路,可以把dst视频弄模糊一点。合成阶段有个背景图片降噪功能,可以把dst背景视频给弄模糊,从而提高融合自然度。
按上述处理完后,基本可以实现清晰人脸。 如果你视频中的人脸特别大,那就挑战更高分辨率的模型吧。高分辨率模型的训练技巧以后讲解。
2. 视频模糊、SRC脸清晰 这个通常是SRC训练特别好,比dst视频清晰太多出现的问题。属于幸福的烦恼 也很容易解决。几个方法 1. 找同款但高清的dst视频(哈哈) 2. 在SRC训练数据中,加入一些模糊的SRC。这样模型看到模糊的dst就生成模糊的src,看见清晰的dst就生成清晰的dst
3. 视频DST人脸时而清晰时而模糊,换的SRC一直清晰 产生这个现象的原因是dst视频中人脸在不停变动。静止时比较清晰,动起来就有运动模糊,看上去自然会糊。 但SRC一股脑全生成清晰的图,不带运动模糊,看上去就不自然 解决方法很简单 1.合成时按R调节运动模糊强度。(如果一个画面有多个人脸,合成时会全片无法开启运动模糊。请提前确保aligned_dst中,每一帧至多只有一个人脸,将多余的非目标人脸删除)
出处:deepfacelab中文论坛,免费软件、模型、素材下载 http://dfldata.xyz/forum.php?mod=viewthread&tid=737&extra=page%3D1
|