FLOAT:基于流匹配的音频驱动说话者头像生成模型
引言
在数字人、虚拟主播及影视特效领域,音频驱动的说话者头像生成(Audio-Driven Talking Head Generation)是一项关键技术。传统的基于扩散的生成模型虽然能生成高质量图像,但在视频生成任务中往往面临迭代采样导致的时间一致性问题,且生成速度较慢。为了解决这些核心限制,FLOAT(Flow Matching for Audio-driven Talking Heads)提出了一种基于流匹配的新范式。
FLOAT 利用学习的运动隐空间替代了传统的基于像素的隐空间,显著提高了时间一致性设计的效率。通过引入基于 Transformer 的流向量场预测器,该模型实现了快速采样,并支持语音驱动的情感控制。大量实验表明,FLOAT 在视觉质量、运动保真度和生成效率上均优于现有的扩散和非扩散方法。
方法:音频驱动的说话头像的流程匹配
整体流程
FLOAT 的整体架构包含两个主要阶段。首先,预训练一个运动自动编码器(Motion Autoencoder),为说话头像提供具有表现力和平滑的运动隐空间。其次,采用流匹配方法,使用基于 Transformer 的向量场预测器生成一系列运动隐空间变量,并将其解码为说话头像视频。得益于强大的向量场架构,模型还能将语音驱动的情感作为驱动条件纳入,实现情感感知的生成。
给定源图像 $I_s$ 和一个长度为 $T$ 的驱动音频信号 $A$,方法生成包含 $T$ 帧的视频,该视频具有与音频同步的说话头像动作,包括语言和非语言动作。

运动隐空间自动编码器
近期的说话头像方法常利用 Stable Diffusion (SD) 的 VAE,因其具有丰富的基于像素的语义隐空间。然而,当应用于视频生成时,这些方法难以生成时间一致的帧。因此,FLOAT 的目标是为逼真的说话头像获得良好的运动隐空间,能够捕捉全局(如头部运动)和细粒度局部(如面部表情、嘴部运动、瞳孔运动)动态。
为此,我们采用隐空间图像动画器 (LIA) 作为运动自动编码器,而非 SD 的 VAE。关键区别在于训练目标:LIA 被训练为从同一视频片段中采样的源图像重建驱动图像,这要求隐空间编码包含能够捕捉时间上相邻和远离运动的隐式信息。
运动自动编码器可以将源 $I_s$ 编码为隐空间表示,并进行显式分解:
$$ z = [z_{id}, z_{motion}] $$
其中,$z_{id}$ 是身份隐空间表示,而 $z_{motion}$ 是运动隐空间表示。在这个空间中,运动具有 $K$ 个不同的正交运动基,其强度由系数决定。这种显式分解是通过引入源无关的运动基来实现的。
由于生成运动的表现力和图像保真度主要由运动隐空间决定,我们将原始 LIA 架构扩展以生成更高分辨率的图像。此外,引入了一种简单但有效的面部组件感知损失,显著提高了图像保真度(例如牙齿和眼睛细节)以及细粒度运动(例如眼球和眉毛的运动)。
运动隐空间中的流匹配
在学习到的运动隐空间中,我们需要预测一个向量场 $v_t(x_t)$,其中 $x_t$ 是流动时间 $t$ 的样本,$c$ 表示 $T$ 个连续帧的驱动条件。这个向量场通过求解常微分方程(ODE)生成 $T$ 帧的流动。
我们基于 Transformer 编码器架构构建了向量场预测器,称为流匹配 Transformer(FMT)。具体来说,我们采用 DiT 架构来将逐帧条件与时间轴注意机制解耦,从而建模时间上一致的运动隐空间变量。
在 FMT 中,不同于 DiT 使用单个扩散时间步 embedding 进行调制,FMT 使用其对应的第 $t$ 个条件来调制每个第 $i$ 个输入隐空间变量,然后通过关注 $W$ 个相邻帧的掩码自注意力层来结合它们的时间关系。形式上,对于每个第 $i$ 帧,帧级 AdaLN 和帧级门控的计算方式确保了条件的精确注入。
语音驱动的情感标签
为了使说话动作更具表现力和自然性,FLOAT 结合了语音驱动的情感。人类在说话时通过声音自然地反映情感,这些情感会影响说话的动作(例如,悲伤时可能摇头或避免眼神接触)。现有的工作多使用图像 - 情感配对数据,而我们利用预训练的语音情感预测器输出七种不同情感的 softmax 概率(愤怒、厌恶、恐惧、快乐、中性、悲伤和惊讶),并将其输入到 FMT 中。
针对语音判断情感模糊的问题,我们在训练阶段将情感与其他驱动条件一起注入,并在推理阶段对其进行修改,以实现灵活控制。
驱动条件与训练
我们将预训练的 Wav2Vec2.0 的音频表示、语音情感标签和源运动隐空间变量进行拼接。接下来,将流时间步 embedding 添加到这些条件中,通过线性层生成最终的条件向量。为了处理长度超过窗口长度的序列平滑过渡,我们遵循惯例,通过附加前一个窗口的最后几个音频特征来扩展输入。

