2) extract images from video data_src.bat
这一步将会把 data_src.mp4 分解为图片序列并存储在 data_src 文件夹中。运行此.bat 文件会提供如下选项:
Enter FPS
默认值 0 为使用 src 视频帧率,即视频每一帧都会被分解为图片并用于训练,但我们并不推荐这样做,因为数据并不是越多越好,相邻的帧区别并不大,对训练的作用非常有限,而且会极大拖慢训练速度。这里建议输入 5-10 之间的数字。
Output image format
选择提取的图片格式,JPG 较小而且通常质量足够好,因此推荐使用 JPG。
切割视频(可选)
3) cut video (drop video on me).bat
如果你没有视频编辑软件,可以把视频拖到此处以快速切割为想要的长度。
会出现的选项:
From time 视频开始时间;
End time 视频结束时间;
Audio track 音频,默认保留;
Bitrate 更改视频比特率,最好保持默认值。
从 data_dst.mp4 提取帧
3) extract images from video data_dst FULL FPS.bat
同第 2 步,这一步将会把 data_dst.mp4 一帧帧分解为图片并存储在 data_dst 文件夹中。因为 dst 视频每一帧都需要被换脸,所以这里没有帧数选项。
[0] blur :模糊度[1] face yaw direction :面水平方向[2] face pitch direction :面俯仰方向[3] histogram similarity :直方图相似性[4] histogram dissimilarity :直方图差异[5] brightness :亮度[6] hue :色调[7] amount of black pixels :黑色像素数量[8] original filename :原始文件名[9] one face in image :同一张脸(?)[10] absolute pixel difference :绝对像素差[11] best faces :最佳面孔其它可选项
Learn mask (学习蒙版)
启用将生成 learned mask。如果不启用此功能并在转换器中选择 “learned mask”,则合并期间将默认使用 dst 蒙版。此功能对性能有较大影响但效果通常更好,所以最好在经过一定程度训练后启用并在 5-6 千次迭代后禁用(可在中途多次开关)。默认值为 n(禁用)。
Place models and optimizer on GPU (在 GPU 上放置模型和优化器)
启用会增加 GPU 负担并大大提高性能,但会导致 batch size 降低。如果出现 OOM(内存不足)错误,则应禁用此功能。默认值为 y(启用)。
Use learning rate dropout (使用 dropout 率)
此功能应仅在训练结束时启用,并且如果启用了 random warp of samples 或者 flip faces randomly 功能则请勿启用此功能。它会让你在更少的迭代次数下得到更多的细节和清晰,但一般情况不会使用此功能。在模型训练完成之前启用可能会导致模型永远无法改进。默认值为 n(禁用)。
Enable random warp of samples (启用样本随机扭曲)
用于粗略学习面部特征,但无法学习细节。建议在模型仍在改善的情况下(通过查看减少的损失值和预览窗口)保持启用此功能,在几十万次迭代后你想得到更多的细节时再禁用。默认值为 y(启用)。
GAN power (GAN 功率)
额外训练以获得更详细的面孔。仅当模型或多或少完成了训练(在禁用了 random warp of samples 之后)时才应启用此选项。建议从低值开始,然后一直到 max 来测试该特性是否能给出好的结果。如果结果不好,则需要禁用它并启用一段时间的 random warp of samples,以便模型可以恢复。请考虑在启用此功能之前进行备份。默认值为 0.0(禁用)。
'True face' power (真实面孔权重)
目的是使最终面部看起来更像 src 面部,与 GAN 一样,只有当 random warp of samples 被禁用,并且模型或多或少经过了充分的训练后,再启用此功能。您同样应该从一个较低的值开始。如果结果不好,则需要禁用它,并启用一段时间的 random warp of samples,以便模型可以恢复。请考虑在启用此功能之前进行备份。默认值为 0.0(禁用)。
Face style power and Background style power (面部权重与背景权重)
可以提高合并后的最终结果的质量和外观,但较高的值可能导致学习面看起来更像 dst 数据而不是 src 数据(嘴唇、眼睛、化妆品、肤色等)。建议开始时最多调至 10,并在训练期间将其减少到 1 甚至 0.1。此功能对性能有很大影响,并可能要求您降低 batch size 或禁用 gpu 优化器。请考虑在启用此功能之前进行备份。默认值为 0.0(禁用)。
Color transfer for src faceset (src 面集肤色转换)
此功能用于将 src 数据的肤色与 dst 数据匹配,以使最终结果具有与 dst 数据相似的肤色 / 色调,并且在面部移动时不会改变肤色(如果从包含不同光照条件的不同来源获取不同的面部角度,则可能会发生这种情况)。
Enable gradient clipping (启用渐变剪辑)
实现此功能是为了防止 DFL 可能发生的所谓模型折叠 / 损坏。它对性能的影响很小,因此如果您真的不想使用它,则必须启用自动备份,因为折叠的模型无法恢复,必须进行清理,并且从头开始训练。默认值是 n(已禁用),但由于性能影响很低,防止模型崩溃可以节省大量时间,因此我建议始终在所有模型上启用它。
Enable pretraining mode (启用预训练模式)
启用预训练过程,该过程使用随机人员面部数据集来初步训练模型,在训练到大约 50k-100k 次迭代后,当开始使用您要训练的 src 数据和 dst 数据时,可以恢复该模型,这节省了时间,因为您不必每次都从 0 开始训练。建议使用此功能对模型进行预训练,方法是使用随机人脸制作自己的 src 数据和 dst 数据。可以随时启用,但建议在开始时仅对模型进行一次 pretrain(大约 100-200k 次迭代)。默认值为 n(禁用)。
训练至少 15 万次迭代后可以按回车结束训练。
合并
6) train Quick96.bat
6) train SAEHD.bat
对应训练模式,上一步使用什么模式这一步就用什么模式。
两者都会出现以下选项:
Use interactive merger? (使用交互式合并工具?)
默认值是 y (启用) ,强烈建议使用,因为它具有完整功能,还有一个交互式预览,更改各种选项和启用 / 禁用各种功能的效果将直接反映到屏幕中。
Choose one of saved models, or enter a name to create a new model. (选择一个保存的模型,或者输入名字创建新模型)
选择刚刚训练好的模型,一般编号是 0。
Choose one or several GPU idxs (separated by comma). (你想使用哪个 GPU 或 CPU 进行合并?)
选择一个或多个 GPU(用半角逗号分隔)。