|
|
DFL 没有把 SRC/DST 的 yaw 配对,也没有把 landmarks 匹配作为训练 loss。
DFL 做的是这几件事:
- 用 landmarks 做对齐
DFL faceset 里的 landmarks 主要用于 aligned face 变换、mask、eyes/mouth mask、random warp 等。它不是训练时拿 SRC landmarks 和 DST landmarks 做匹配监督。
- SRC 和 DST 是两个独立采样器
SAEHD 训练里分别创建 SampleGeneratorFace(src) 和 SampleGeneratorFace(dst)。它们各自随机抽样,不是:
dst 右脸 -> 找 src 右脸dst 左脸 -> 找 src 左脸这种配对训练。
- 有 uniform_yaw_distribution,但不是 yaw 配对
DFL 的 Uniform yaw distribution 是把单个 faceset 按 yaw 分桶,让侧脸样本不至于被正脸数量淹没。它是“每边自己均衡 yaw”,不是“SRC/DST 同 yaw 匹配”。
- SAEHD loss 不直接用 landmark loss
SAEHD 主要是 src_loss、dst_loss:DSSIM、MSE、mask、eyes/mouth priority、可选 style/GAN/TrueFace。没有 “predicted landmarks 必须匹配某组 landmarks” 的训练项。
- 姿态覆盖更多靠素材管理
DFL 社区教程常建议训练前 sort by yaw,比较 SRC/DST yaw 范围,缺哪边补哪边或删掉超出范围的素材。这是数据准备策略,不是模型训练里的自动配对。
所以你的判断方向是对的:
DFL 没有高级 yaw-pair / landmark-retarget 机制,它主要靠 faceset 覆盖、uniform yaw 采样、random warp、共享 encoder/decoder 架构自己学。
|
|