简单介绍DeepFaceLab(DeepFake)的使用以及容易被忽略的事项

(一)关于DeepFaceLab

DeepFaceLab 是一个应用机器学习进行视频中人物换脸的工具

曾经在Reddit上一个很火的开源项目Deepfake。

随着大家的惊呼,神奇女侠的换脸视频出现,然后这个项目就被各大网站给禁了。

沉寂了一段时间后来国内朱茵换杨幂,加上徐锦江的海王雷神视频一出,

国内社会新闻进行了报道,个人感觉一下子在国内就火了。

除了DeepFaceLab,相关的项目还有FaceSwap,OpenFaceSwap等其它作者的工具软件。

(二)必要的信息

DeepFaceLab下载网站:deepfacelab.top

(三)下载安装

具体的下载安装各方面的文章请参考上面的网站,下面主要介绍几个问题。

(四)训练时间

从零开始,一个视频要迭代上百万次才有好效果,如果不想电脑长时间挂机,可以复用别人训练过的模型,在那基础上,一两小时就能快速呈现,效果也与模型相关。

放置素材文件

需要对图片进行人工筛选。

去掉模糊的源脸部,去掉被遮挡的源脸部,等等。具体可参考英文文档或中文网站。

作者写道:

99.995% 的成功或失败率都是因为糟糕的目标/源的脸部数据

所以你99.995%的时间都应该用在保证你的脸部数据是精心的准备好的。

你不能把素材一股脑全扔进去,否者结果保证令你失望,进去的是垃圾,出来的也是垃圾。

src是脸部素材,dst是被换脸视频

开始训练吧

当你准备好的素材,去掉了糟糕或者识别失败的脸部,就可以训练了。

同时会显示一个训练的预览窗口,可以看到图像的偏离度越来越低。

可以在上面按回车键停止训练。

合成训练结果(到图片)

选择怎么训练的,就选择对应的合成方式。

7) convert SAE.bat #合成的参数得自己好好理解,多尝试组合。 11

合成的目标帧图片放在这个目录:

%你安装的DeepFaceLab目录%\workspace\data_dst\merged\ 11

生成视频

8) converted to mp4.bat #合成的参数得自己好好理解,多尝试组合。 11

生成好的目标视频在这里:

%你安装的DeepFaceLab目录%\workspace\result.mp4 11

(五)不同的模型与参数(补充)

训练模型

H64 (2GB +):分辨率为64的半脸模型,适合2-3GB显存,当然质量也较低。H128 (3GB +):分辨率为128的半脸模型,适合3-4GB显存,半脸模型某些光线条件下会很糟糕。DF (5GB +):分辨率为128的全脸模型,适合5GB以上显存,有条件就可以用这个。LIAEF128 (5GB +):和DF一样,只从源到目标变形,有些时候会很怪,那么还是选DF吧。SAE (512MB +):最新最好最弹性的模型,包括其它所有模型,512MB-24GB显存都可用,参数多。

训练参数

H64,H128 模型的参数:

Use lightweight autoencoder? (Y / n,:? Help skip: n):

选择一个简版的模型,如果你的显存小于4GB,这个选项就很必要。

H64, H128, DF, LIAEF128 模型的参数:

Use pixel loss? (Y / n,:? Help skip: n / default):

更容易提升细节质量和去除图像颤动,请在训练至少20000次以后再打开这个选项(有模型崩溃风险)。

SAE 模型的参数:

Resolution (64-256:? Help skip: 128):分辨率从64到256,16的倍数,愈大越清晰,训练也需要越长。

Half or Full face? (H / f,:? Help skip: f):半脸还是全脸。

Learn mask? (Y / n,:? Help skip: y):学习的遮罩,呃,懒得翻译了,用它就对了。

Optimizer mode? (1,2,3:? Help skip:% d):N卡的神经网络优化模式,越大需要内存越多,也会更慢。

AE architecture (df, liae, vg:? Help skip: df):神经网络结构,缺省df。

AutoEncoder dims (128-1024:? Help skip:% d):网络维度,越多越好(但是内存得够啊)。

Encoder dims per channel (21-85:? Help skip:% d):也是越多越好(但是内存得够啊)根据显卡配置吧。

Decoder dims per channel (11-85:? Help skip:% d):同上(decoder的维度)。

Remove gray border? (Y / n,:? Help skip: n):去掉灰边,我记得已经没有这个选项了啊???

Use CA weights? (Y / n,:? Help skip:% s):是否使用卷积感知权重,提高模型精度,初始化要点时间。

Use multiscale decoder? (Y / n,:? Help skip: n):是否使用多路转换decoder,获得更高精度。

Use pixel loss? (Y / n,:? Help skip: n / default):更容易提升细节质量和去除图像颤动,请在训练难以提升质量以后再打开这个选项(有模型崩溃风险)。

Face style power (0.0 … 100.0:? Help skip:% 1f.):脸部特征影响值,加速转换学习的脸部特征(有模型崩溃风险)。搞不懂先别开哦。

Background style power (0.0 … 100.0:? Help skip:% 1f.):背景特征影响值,加速转换学习的脸部特征(有模型崩溃风险)。搞不懂先别开哦。

Apply random color transfer to src faceset? (Y / n,:? Help skip:% s):源脸随机颜色转换,比上面两个更加精确。需要学习更多的源脸。

Pretrain the model? (Y / n,:? Help skip: n):预先训练模型(已经包含了的许多不同的人脸模型)

转换参数

通常不变的参数:

Choose mode: (4) seamless

Seamless hist match? : y

Hist match threshold: 255

Mask mode: (1) learned,

下面的参数就值得调整了:

Choose erode mask modifier [-200…200] (skip:0) :决定缩小多少目标遮罩(值<0则是扩展遮罩)

Choose blur mask modifier [-200…200] (skip:0) :决定平滑目标遮罩的值。

Choose output face scale modifier [-50…50] (skip:0) : 源脸放大还是缩小(先试试0,再根据实际情况)

Apply color transfer to predicted face? Choose mode ( rct/lct skip:None ) : 两种都试试吧。

Degrade color power of final image [0…100] (skip:0) : 降低源脸的色彩值,根据实际情况设置。

如果你觉得文字枯燥无味,难以理解,也提供免费详细视频教程,一小时从小白到大神。——程序和教程由deepfacelab.top提供

    THE END
    喜欢就支持一下吧
    点赞6 分享
    评论 抢沙发
    头像
    欢迎您留下宝贵的见解!
    提交
    头像

    昵称

    取消
    昵称表情代码图片

      暂无评论内容