学会了基本操作之后,你出来的效果也许并不理想。或者说你需要在速度和性能之间做一个平衡,或者你想要更高的清晰,更加完美的融合效果。这个时候你就需要自己去设置参数了。
[图片上传失败...(image-c5b801-1592286838791)]
DeepFaceLab 提供了很多可以设置的参数。但是大部分人可能并不明白其背后的含义,哪怕是能看懂它的英文单词,未必真的懂这个参数背后的意义。下面结合软件作者的机翻英文文档和自己的经验做一些参数讲解。 因为官方英文文档本来就是俄语机翻成英语,然后再翻译成中文,这其中难免有谬误,加上很多专业的术语无处可查,所以只能将就了。谁有更好的,更贴切的翻译请群里AT,我会更新上去。
DeepFaceLab参数主要可以分为以下几类:
- 模型参数(train)
- 合成参数(convert)
- 其他参数(extract , convert to mp4)
1.模型参数
模型参数,根据模型不同,各有不同,有一些参数是适用于所有模型。 这其中有些参数只有初始化的时候可以设置,有些参数可以进行修改。下面就一条一条来说明。
Which GPU idx to choose? (Skip: system choice):
该选项针对多卡用户,可以任性其一,默认系统自己配置好的,注意DFL是没办法同时用多卡训练的!
Write preview history? (Y / n skip: n):
是否保存历史预览图,默认不保存。
Choose image for the preview history? (Y / n skip: n):
选择预览图像,默认不启用。
Target iteration (skip: unlimited):
目标迭代次数,默认无限次。 通过这个参数你可以控制模型的训练次数,比如设定10000次,那么到了这个数字后自动停止。
Batch_size (skip: model choice):
批量大小, 默认为4。 对于这个参数普遍共识是在硬件允许的情况下越大越好,选2的n次方最佳。值越大收敛越快,但是单次迭代时间越长。
Feed faces to network sorted by yaw? (Y / n skip: n):
把扔进神经网络的脸图根据侧脸角度进行排序,默认不启用。作者尚未验证对效果有多少影响。
Flip faces randomly? (Y / n:? Help skip: y):
脸部反转,默认启用。 这个参数感觉是比较有用的。 它可以创造更多角度的数据。比如本来只有右侧脸,反转后左侧脸也有了。
Src face scale modifier% (-30 … 30,:? Help skip: 0):
缩放源头像(src)大小。默认不缩放。 如果 src脸比dst脸宽,可以稍微缩小这个值。
Press enter in 2 seconds to override some model settings
两秒内按回车键(Enter),进入模型设置。可以修改BS等参数。这个主要用于二次启动是调整模型参数。
options for H64 and H128:
H64和H128的共有参数
Use lightweight autoencoder? (Y / n,:? Help skip: n):
使用轻量级编码器,默认不启动。 这个参数主要是为了那些显存不够的人。比如3G,4G内存,如果默认参数跑步起来,可以尝试开启轻量级编码器。轻量级会牺牲一些质量,但是系统资源消耗少,迭代快。
options H64, H128, DF, LIAEF128 models:
H64,H128,DF ,LIAEF128共有参数
Use pixel loss? (Y / n,:? Help skip: n / default):
使用像素丢失,默认不启用。可以改善细节,消除抖动。仅在2万次之后启用。经反馈,可能会提升模型崩溃的概率。
options only for SAE model:
SAE模型的参数。
Resolution (64-256:? Help skip: 128):
像素,数值越高,需要越多显存,需要更长的训练时间。你可以选择64到256之间的数值,这个数字应该是16的倍数。256这样的数值很少有电脑能跑,一般建议128。
Half or Full face? (H / f,:? Help skip: f):
半脸还是全脸,默认被全脸。 注意,这两个的差别并不是眉毛,而是横向区域。
Learn mask? (Y / n,:? Help skip: y):
是否学习遮罩/面具?(翻译不重要,反正就是mask)。 默认启用!
Optimizer mode? (1,2,3:? Help skip:% d):
优化模式,这个选项仅针对N卡。 1为默认,2 允许你训练x2网络,需要更多内存,3允许你训练x3网络,需要更多内存,并且慢30%。
这个参数其实主要是为了解决显存太小的问题。使用2和3模式可以共享内存。叫做,显存不够,内存来凑。
AE architecture (df, liae, vg:? Help skip: df):
神经网络的体系结构类型。默认为df , 可选df,liae,vg。 这里主要使用DF和Liae,其实这个参数就是对应了DF和LIAE模型。
AutoEncoder dims (128-1024:? Help skip:% d):
编码器网络规模,一般用默认。所有的脸部特征都会被扔进这个网络,如果这个数值不够,有些细节就无法识别,比如闭眼。这个值越高越好。但是这个属性非常耗配置,太高了就会OOM跑不起来。
Encoder dims per channel (21-85:? Help skip:% d)
每个 通道的编码器网络规模,大图大参数,其他原理同上
Decoder dims per channel (11-85:? Help skip:% d)
每个 通道的解码器网络规模,越大越有利于提升细节,其他原理同上
Remove gray border? (Y / n,:? Help skip: n):
移出灰边。默认不启用。如果启用需要消耗更多硬件资源。可能会增加模型崩溃的概率
Use CA weights? (Y / n,:? Help skip:% s):
使用CA参数初始化网络,有很多优点,可以参考Convolution Aware的相关论文,比如提升模型精度。但是,首次使用比较慢,重要的是会增加模型崩溃的概率!!!
Use multiscale decoder? (Y / n,:? Help skip: n):
使用多维度解码器,提升细节。一般不用!
Use pixel loss? (Y / n,:? Help skip: n / default)
使用像素丢失,默认不启用。可以改善细节,消除抖动。仅在2万次之后启用。经反馈,可能会提升模型崩溃的概率。
Face style power (0.0 .. 100.0:? Help skip:% 1f.):
学习人物风格,比如光照和颜色。默认为0,启用这个参数会增加模型崩溃的概率
Background style power (0.0 .. 100.0:? Help skip:% 1f.):
学习人脸周围的背景,默认为0, 启用这个参数会增加模型崩溃的概率
Apply random color transfer to src faceset? (Y / n,:? Help skip:% s):
使用随机颜色。通过改变src脸部颜色增加素材多样性。这一点和Face style pover类似。只是颜色变化更加精准,同时不需要更多GPU资源。
Pretrain the model? (Y / n,:? Help skip: n):
是否启用模型预训练,默认不启动。软件自带了大量人脸集合,通过预训练,增加模型的变形能力,训练越长,越强。 仅在第一次进入预训练,第二次启动模型,不会进入预训练,直接进入正常模式。
2.合成参数
[图片上传失败...(image-f4306c-1592286838791)]
上图大致展示了人脸合成的原理。这一部是要对人脸进行替换和融合。融合的主要方式有overlay, hist-match,seamless等。 这个环节也有不少的参数,这些参数会直接影响最终效果。
Choose mode: (1) overlay, (2) hist match, (3) hist match bw, (4) seamless (default), (5) raw:
选择融合模式。不同的融合方式,使用了不同的算法。
[图片上传失败...(image-c36a65-1592286838791)]
上面是各种类型的说明,但是即便直接翻译过来也没几个人明白,还不如看英文单词去找资料。基本上每个类型就代表着某种算法,至于哪种算法好,你可以自己去试一试。模式2和模型4比较常用。
Seamless hist match? (Y / n skip: n):
是否启用无缝直方图均衡? 默认不启用。
Masked hist match? (Y / n skip: y):
For modes hist match, hist match bw, seamless, indicates whether the histogram equalize the mask face.
Mask mode: (1) learned, (2) dst, (3) FAN-prd, (4) FAN-dst (5) FAN-prd * dst (6) learned * FAN-prd * FAN-dst help (?) . Default – 1:
[图片上传失败...(image-7a9805-1592286838791)]
遮罩模式
Learned :Learnedmask if you have selected the option Learn mask. The contours of the mask mitigated, but
can sometimes shake.
DST:crude mask obtained directly from individuals dst, so quivering contours of the mask.
FAN-prd :Mask received predtrenirovannoy DEV_FANSEG model of the predicted face. Facial contours
are not trembling.
FAN-dst :Mask received predtrenirovannoy DEV_FANSEG model of dst face. Facial contours are not
trembling.
FAN-prd *dst:the mask obtained by multiplying the FAN-prd and FAN-dst
learned * FAN-prd * FAN-dst:a mask obtained by multiplying the learned, FAN-prd and FAN�dst
这几种模式,从经验来看,默认的第一种似乎最差,建议选2,后面的3,4,5,6 效果有提升,但是转换速度会慢很多。在使用了Fanseg模型遮罩之后,必须使用带有FAN的模型才能生效。
Choose erode mask modifier [-200..200] (default 0):
[图片上传失败...(image-7f03cd-1592286838791)]
选择侵蚀蒙版修改器,默认值为0,取值范围 -200到200。 该选项告诉程序如何控制DST遮罩的大小。 如果值小于0,代表扩展遮罩。这是一个相对值,并非绝对值。上图展示了不同数值下合成效果。
这个选项可以减弱Seamless 模式的闪烁问题。
Choose blur mask modifier [-200..200] (default 0):
[图片上传失败...(image-f7485f-1592286838791)]
选择模糊蒙版修改器,通过这个值你可以指定遮罩的平滑度。
默认值为0,上图展示了-200和200的合成效果。
适当调整这个值,可以让边缘看起来更加自然。
Hist match threshold. [0..255] (default – 255):
[图片上传失败...(image-87178f-1592286838791)]
直方图匹配阈值,默认为255. 可选区间0-255。 适当降低该值,可以解决亮斑的问题。
Choose output face scale modifier [-50..50] (default 0):
[图片上传失败...(image-a01ec0-1592286838791)]
图片缩放比例设置。默认0不缩放。 取值范围:-50 ~50 。这个参数非常清晰,无需多说。负值代表缩小,正值代表放大。
Apply color transfer to predicted face? Choose mode (rct / lct skip: None):
[图片上传失败...(image-b9b6c8-1592286838791)]
是否使用rct或lct算法进一步调整肤色? 默认不启用。可选RCT和LCT。 用了之后似乎有点嘴唇发紫。可以更具实际情况选择是否启用,勇rct还是lct 。
Apply super resolution? (Y / n skip: n):
[图片上传失败...(image-48de07-1592286838791)]
是否请用无损放大。默认不启用。这里使用了一种基于神经网络的无损放大方案,可以使图片放大时候看起来不模糊,挺有用!
Degrade color power of final image [0..100] (default 0):
[图片上传失败...(image-eedbe0-1592286838791)]
降低最终图像的色彩能力,默认为0,取值区间 0~100。
通过降低图标质量,可以掩盖部分瑕疵。
Export png with alpha channel? [0..1] (default 0):
导出透明通道,便于通过视频软件进行后期制作。
3.其他参数
待更新!











网友评论