101

主题

38

回帖

1573

贡献

站长

积分
28304
LeoSasion 2025-10-2 01:07:25 | 显示全部楼层 | 阅读模式

前言
insightface、Dlib、2DFAN(选其一)
但对于换脸的成败具有一票否决权。



现象:
1.遮挡物扫过鼻子的时候,换脸闪烁。
2.大角度哪怕你训练的数据和训练预览到位了,但是换脸阶段没有正确切脸与对齐,也是无法贴换上去的。





在能够基本正确识别的情况下,用处:
DeepFaceLab中68个面部关键点的作用及其在训练中的应用
在功能强大的深度伪造(Deepfake)软件DeepFaceLab中,68个面部关键点(landmarks)扮演着至关重要的角色,它们是后续模型能够成功进行换脸训练的基石。这些关键点的核心作用是实现精确的面部对齐(Face Alignment),从而为训练器提供标准化、高质量的输入数据。

关键点的作用:面部对齐
面部对齐是指将检测到的面部区域通过几何变换(如旋转、缩放、平移),调整到一个标准化的姿态和大小。这个过程极大地降低了后续训练模型的学习难度。如果没有精确的对齐,模型将需要花费大量精力去学习和适应各种无关变量(如人脸的角度、远近、位置),而不是专注于学习面部的核心特征,从而导致训练效果不佳,甚至失败。
在DeepFaceLab中,这个过程大致如下:
  • 关键点检测:首先,软件会使用一个预训练好的模型(DeepFaceLab使用的是一种经过改进和优化的2DFAN模型)来检测出输入面部图像上的68个特定点。这些点精确地勾勒出面部的主要轮廓和器官,例如眉毛、眼睛、鼻子、嘴巴和下巴的轮廓。
  • 计算变换矩阵:一旦获取了这68个关键点,系统会将这些点与一个预定义的“标准”或“平均”人脸模型的对应关键点进行比较。通过计算这两组点之间的差异,可以得出一个最佳的仿射变换矩阵(Affine Transformation Matrix)。这个矩阵封装了将当前人脸旋转、缩放和平移到标准姿态所需的操作信息。
  • 应用变换:最后,将这个计算出的变换矩阵应用到原始的面部图像上。经过变换后,所有的面部图像,无论是源面部(src)还是目标面部(dst),都会被对齐到相似的尺度、位置和角度。例如,无论原始视频中的人脸如何倾斜,对齐后的图像中,眼睛和嘴巴都会处于大致相同的高度水平。


对齐后的关键点如何被后续训练器利用?
经过对齐处理后,这68个关键点本身通常不会作为直接的数字输入(例如坐标序列)提供给核心的换脸训练器(如SAEHD等自编码器模型)。相反,它们的作用体现在对训练数据的预处理和塑造上,后续训练器将从以下几个方面受益:
  • 标准化的输入图像:对齐后的面部图像为训练器提供了一个高度一致的视角。这意味着模型在学习从源面部(src)编码特征,并将其在目标面部(dst)上解码重建时,可以更容易地找到面部特征(如眼睛、鼻子)之间的对应关系。模型不必再去学习如何处理人脸姿态的变化,从而可以更专注于学习面部本身的细节、光照和身份特征。
  • 高效的特征提取:由于输入的人脸姿态是标准化的,编码器(Encoder)可以更高效地学习到一个更具代表性的面部特征向量(latent vector)。这个向量能够更纯粹地捕捉到身份信息和表情,而较少地受到姿态、大小等无关因素的干扰。
  • 精确的蒙版(Mask)生成与应用:面部关键点对于生成精确的面部蒙版至关重要。这个蒙版定义了换脸发生的区域,可以精确地分离面部和背景(如头发、脖子、耳朵)。在训练过程中,模型会利用这个蒙版,只在指定的面部区域内进行损失计算和优化。对齐保证了蒙版能够准确地应用在每一帧图像上,避免了边缘不匹配和伪影的问题。
  • 改善训练的稳定性与收敛速度:通过提供标准化的数据,面部对齐大大降低了训练的复杂性。这使得模型的损失(loss)更容易下降,训练过程更加稳定,也更快地收敛到一个理想的结果。最终生成的换脸视频也因此拥有更高的保真度和更少的视觉缺陷。

综上所述,DeepFaceLab中的68个面部关键点是整个工作流程中至关重要的一环。它们通过驱动精确的面部对齐,为后续的自编码器训练提供了一致、干净、标准化的“教材”,让模型可以心无旁骛地专注于学习换脸的核心任务,最终实现高质量的合成效果。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则