Talking Together: Synthesizing Co-Located 3D Conversations from Audio¶
会议: CVPR 2026
arXiv: 2603.08674
代码: 无
领域: 语音/音频
关键词: 双人对话, 3D面部动画, 扩散模型, 共处空间, 眼神交互
一句话总结¶
首次提出从单一混合音频流生成两个共处同一3D空间的对话参与者完整面部动画的方法,通过双流扩散架构(共享 U-Net + 跨注意力)、两阶段混合数据训练策略、LLM 驱动的文本-空间布局控制以及辅助眼神损失,实现自然的互视、转头和空间感知的双人对话3D动画合成。
研究背景与动机¶
- 已有研究局限: 现有音频驱动3D面部动画方法要么只关注单个说话人(CodeTalker、FaceFormer、SelfTalk),要么将对话双方生成为"视频会议"式的独立头像(DualTalk),忽略了真实面对面对话中关键的物理共处空间关系——相对位置、朝向和互相注视。
- 核心挑战: (1) 大规模共处双人3D对话数据极度匮乏;(2) 从单一混合音频中分离双方语音并建模说话-倾听交互动态非常困难;(3) 需要合成包含空间位置关系(平移、旋转)和眼神接触的完整3D动画。
- 本文突破: 提出首个显式建模双人3D空间关系的对话生成系统,构建了覆盖 200 万+ 交互对的大规模数据集,实现了从"视频会议头像"到"同室面对面对话"的范式转换。
- 应用场景: VR/AR 远程共现、沉浸式社交交互、虚拟数字人对话。
方法详解¶
整体框架¶
系统输入为单一混合音频波形 \(\mathbf{A} \in \mathbb{R}^T\)(包含两人语音),输出两个参与者各自的3D面部动画参数序列:表情向量 \(\bm{\psi} \in \mathbb{R}^{L \times 63}\)、骨骼姿态 \(\bm{\theta} \in \mathbb{R}^{L \times 4 \times 3}\)(颈、头、左右眼四个关节)和全局平移 \(\mathbf{t} \in \mathbb{R}^{L \times 3}\)。每个参与者的输出拼接为 \(\mathbf{x} = \text{concat}(\psi, \theta, \mathbf{t}) \in \mathbb{R}^{L \times 78}\),序列长度 \(L=250\)(10秒 @ 25fps)。核心是一个条件扩散模型,采用双流共享 U-Net 架构,配合跨注意力、角色嵌入和 FiLM 调制进行生成。
关键设计¶
1. 音频说话人掩码(Audio Speaker Masking)¶
- 功能: 从混合音频中提取每个参与者的说话概率,为模型提供"谁在说话"的时序引导
- 核心思路: 使用 Looking to Listen 模型进行音源分离,再通过 WebRTC VAD 生成二值说话概率掩码 \(\mathbf{m}_A, \mathbf{m}_B \in [0,1]^{T \times 1}\)
- 设计动机: 掩码不需要完全准确——轻微的不精确反而作为有益噪声,稳定训练并增强对真实对话重叠的鲁棒性。训练时预计算保存,推理时在线估计
2. 共享双流扩散架构(Shared Dual-Stream Architecture)¶
- 功能: 并行处理两个参与者的噪声输入,生成各自的去噪3D动画参数
- 核心思路: 单个 U-Net 骨干以共享权重并行处理 \(\mathbf{x}_{t,A}\) 和 \(\mathbf{x}_{t,B}\),促进统一的说话人无关面部运动表示。解码器中插入双向跨注意力层实现信息交换: $\(\mathbf{h}'_A = \text{Attention}(\mathbf{Q}_A, \mathbf{K}_B, \mathbf{V}_B), \quad \mathbf{h}'_B = \text{Attention}(\mathbf{Q}_B, \mathbf{K}_A, \mathbf{V}_A)\)$
- 设计动机: 共享骨干确保两路输出的一致性,跨注意力使每个流能够建模反应性的对话行为(如点头回应、转头注视),同时保留各自的说话人特征
3. 角色嵌入与动态条件化(Speaker Role Embedding & Dynamic Conditioning)¶
- 功能: 编码逐帧的"说话/倾听"交互状态,提供多模态全局条件
- 核心思路: 引入两个可学习嵌入 \(\mathbf{e}_{\text{speak}}\) 和 \(\mathbf{e}_{\text{listen}}\),根据说话概率 \(\mathbf{m}^{(k)}\) 线性插值生成逐帧角色向量: $\(\mathbf{e}_{\text{role}}^{(k)} = \mathbf{m}^{(k)} \mathbf{e}_{\text{speak}} + (1 - \mathbf{m}^{(k)}) \mathbf{e}_{\text{listen}}\)$ 条件向量 \(\mathbf{c}^{(k)}\) 拼接 Wav2Vec 2.0 音频特征 \(\mathbf{a}^{(k)}\)、双方角色嵌入和说话概率掩码,通过两条路径注入:(1) 与噪声输入拼接;(2) 通过 FiLM 调制中间特征: $\(\text{FiLM}(\mathbf{h}, \mathbf{c}^{(k)}) = (\bm{\gamma}(\mathbf{c}^{(k)}) + 1) \odot \mathbf{h} + \bm{\beta}(\mathbf{c}^{(k)})\)$
- 设计动机: 连续的角色嵌入能平滑地表征说话-倾听过渡和同时说话的状态,FiLM 调制实现逐帧自适应控制
4. 两阶段混合数据训练(Multi-Stage Training)¶
- 功能: 兼顾交互多样性与唇部精度
- 核心思路:
- 阶段1(预训练): 在大规模对话数据(50,000+ 小时,200万+ 交互对)上预训练双流模型,学习自然的交互动态(转头、点头、表情反应),损失覆盖表情、旋转和平移
- 阶段2(微调): 在高质量单人数据和超分辨率增强的对话子集上微调。单人数据仅对说话者的 20 个唇部/下颌表情参数施加 L2 损失,其他损失全部归零
- 设计动机: 在线对话视频因分辨率低和遮挡导致唇部标注不精确,而单人正面视频有准确唇部运动。两阶段策略让模型先学会交互,再精修唇同步
- 损失函数: 总损失 = 表情重建(\(\lambda_{expr}=1\))+ 旋转重建(\(\lambda_{rot}=8\))+ 平移重建(\(\lambda_{trans}=1\))+ 顶点速度正则(\(\lambda_{vel}=1\))+ 辅助眼神损失(\(\lambda_{gaze}=5\))
5. LLM 驱动的可控空间布局(Controllable Spatial Relationship)¶
- 功能: 允许用户通过自然语言描述控制两个参与者的3D空间位置关系
- 核心思路: 训练时以第一帧的真实全局平移 \(\mathbf{t}_A^{(0)}, \mathbf{t}_B^{(0)}\) 作为条件,模型学习预测相对位移 \(\Delta\mathbf{t}^{(k)} = \mathbf{t}^{(k)} - \mathbf{t}^{(0)}\)。推理时使用 Gemini LLM 通过 few-shot prompting 将用户文本描述(如"亲密对话"、"桌对面争吵")映射为3D坐标
- 设计动机: 相对位移归一化简化了学习问题,模型只需学习"给定空间布局下的运动模式"(包括头部转动、眼神方向与绝对位置的关系)
6. 辅助眼神损失(Auxiliary Eye Gaze Loss)¶
- 功能: 促进真实的互视和眼神回避行为
- 核心思路: 将左右眼旋转参数转换为3D注视方向向量,取均值后计算预测与真实注视方向的余弦相似度损失
- 设计动机: 关键创新在于选择性施加策略——仅在头部旋转方差排名前 20% 的对话样本上施加更高权重,因为大幅度头部运动的片段直觉上更可能包含有意义的眼神交互(如转头看对方),从这些样本中学到的眼神模式更有价值
数据集构建¶
构建了两个互补的大规模数据集:
- 双人对话数据集(50,000+ 小时,10k+ 身份): 从在线视频中筛选真实双人同场景对话,通过场景过滤(排除视频会议分屏)、质量过滤(遮挡/模糊/过小人脸)、面部超分辨率增强、3D面部重建(含时序平滑项)获得完整3D参数
- 合成配音数据集(50,000+ 小时,10k+ 身份): 从高质量单人正面视频中随机采样裁切语音片段,交替拼接生成伪对话音频,获得完美的说话人掩码真值和高精度唇部运动
实验关键数据¶
主实验:定量对比(Table 2)¶
| 方法 | FD ↓ | P-FD ↓ | MSE-FULL ↓ | MSE-ROT ↓ | MSE-EYE ↓ | MSE-LIP ↓ | vMSE-FULL ↓ | SID-SPE ↑ | SID-LIS ↑ |
|---|---|---|---|---|---|---|---|---|---|
| CodeTalker | 47.23 | 70.54 | 10.47 | 14.28 | 3.07 | 2.95 | 12.49 | 0 | 0 |
| SelfTalk | 43.58 | 53.98 | 8.21 | 11.59 | 2.47 | 2.41 | 10.98 | 1.68 | 1.27 |
| FaceFormer | 52.66 | 59.84 | 13.89 | 12.34 | 2.96 | 2.84 | 10.47 | 1.59 | 0.43 |
| DualTalk | 28.41 | 38.29 | 9.91 | 8.42 | 2.11 | 2.50 | 8.32 | 1.57 | 1.95 |
| L2L | 38.92 | 66.13 | 11.32 | 10.15 | 2.35 | 2.94 | 11.21 | 1.78 | 1.58 |
| Ours (Single) | 19.58 | 29.03 | 6.32 | 6.74 | 1.23 | 1.14 | 6.86 | 2.23 | 1.40 |
| Ours | 10.43 | 18.24 | 4.03 | 3.50 | 0.98 | 0.35 | 7.99 | 2.28 | 2.48 |
消融实验(Table 3)¶
| 消融配置 | FD ↓ | P-FD ↓ | MSE-EXP ↓ | MSE-TRAN ↓ | MSE-ROT ↓ |
|---|---|---|---|---|---|
| 仅单人数据 | 50.45 | 50.05 | 10.01 | 2.32 | 3.88 |
| 去掉第二阶段(仅对话预训练) | 60.12 | 64.44 | 7.73 | 1.71 | 2.94 |
| 去掉角色嵌入 | 35.92 | 35.93 | 7.18 | 1.80 | 2.87 |
| 去掉跨注意力 | 30.49 | 40.87 | 6.87 | 1.54 | 2.98 |
| 去掉眼神损失 | 37.46 | 42.90 | 7.33 | 2.59 | 2.77 |
| 完整模型 | 21.71 | 22.56 | 5.97 | 1.50 | 2.48 |
人类评估偏好率(Table 4,%)¶
| 方法 | 唇同步 | 说话者运动 | 倾听者运动 | 交互质量 | 眼神质量 |
|---|---|---|---|---|---|
| SelfTalk | 0.9 | 0.9 | 1.6 | 1.6 | 2.4 |
| DualTalk | 3.9 | 6.3 | 7.2 | 5.6 | 7.9 |
| Ours (仅阶段1) | 15.9 | 19.0 | 18.2 | 21.4 | 21.4 |
| Ours | 79.3 | 73.8 | 73.0 | 71.4 | 68.3 |
关键发现¶
- FD 指标碾压式领先: 本方法 FD=10.43 是最强基线 DualTalk (28.41) 的 1/3 不到,MSE-LIP=0.35 相比 DualTalk 的 2.50 降低 86%
- 两阶段缺一不可: 仅用对话数据(去掉第二阶段)FD 暴涨至 60.12,仅用单人数据 FD=50.45——说明交互学习和唇部精修必须结合
- 跨注意力是交互建模的关键: 去掉后 P-FD 从 22.56 上升到 40.87,表明双向信息交换对捕获说话-倾听反应至关重要
- 眼神损失显著改善空间感: 去掉后 MSE-TRAN 从 1.50 上升到 2.59,说明眼神约束间接改善了整体空间位置预测
- 人类评估压倒性优势: 在所有五个维度上偏好率均超过 68%,唇同步偏好率高达 79.3%
亮点与洞察¶
- 从"视频会议"到"同室对话"的范式转换:首次显式建模共处3D空间关系(相对位置、朝向、互视),这是此前所有对话生成方法忽略的核心要素
- 数据集工程极具价值:两个互补数据集的设计思路巧妙——对话数据提供交互多样性,合成配音数据提供唇部精度和完美掩码真值,两阶段训练策略将两者优势完美结合
- 眼神损失的选择性施加:只在头部运动大的前 20% 样本上加权的策略非常聪明,避免了在静态/低质量片段上强行学习无意义的眼神模式
- LLM 驱动的空间控制:将文本描述映射为3D坐标的 few-shot 方案简洁高效,为生成式模型的可控性提供了优雅的接口
局限性¶
- 依赖音源分离和 VAD 的质量,在高噪声或强重叠语音场景下掩码可能不可靠
- 3DMM 参数化模型限制了表情的细腻度(如微表情、非对称表情),63 维表情编码可能不够
- 当前仅建模面部和头部动画,全身姿态(手势、身体倾斜等)的共处交互未涵盖
- LLM 文本到空间坐标的映射基于 few-shot,对复杂或罕见场景描述的泛化能力有限
- 训练资源需求大(16×A100,200K steps),复现成本高
相关工作与启发¶
- 音频驱动单人3D头像: FaceFormer、CodeTalker、SelfTalk 聚焦单人生成,缺乏交互建模;本文通过双流架构+跨注意力自然地扩展到双人场景
- 对话生成: DualTalk 建模双人但限于"视频会议"风格无空间关系,L2L 为特定身份训练独立模型且不能同时生成——本方法统一了说话/倾听角色在同一个共享模型中
- 空间感知群体交互: 现有多人身体运动生成关注碰撞避免和步态协调,但缺乏高保真面部表情——本方法填补了面部级空间交互生成的空白
- 启发: 角色嵌入的连续插值策略(而非离散角色标签)值得借鉴;"从噪声数据学交互+从干净数据学细节"的两阶段策略具有通用性
评分¶
| 维度 | 分数 (1-10) | 说明 |
|---|---|---|
| 新颖性 | 9 | 首次显式建模共处3D空间的双人对话生成,问题定义本身即为贡献 |
| 技术深度 | 8 | 双流扩散+跨注意力+FiLM+两阶段训练+眼神损失,模块设计完整且相互配合 |
| 实验充分性 | 9 | 定量对比全面(11个基线)、消融彻底(5个变体)、人类评估有力(19人×14组×5维度) |
| 工程贡献 | 9 | 两个大规模数据集(各50,000+小时)的构建流水线工程价值极高 |
| 应用前景 | 8 | VR/AR远程共现直接适用,但计算成本和模型复杂度可能限制实际部署 |
| 总分 | 8.6 | 问题定义新颖、系统设计完整、实验说服力强,是共处对话生成方向的开创性工作 |
相关论文¶
- [ICCV 2025] MemoryTalker: Personalized Speech-Driven 3D Facial Animation via Audio-Guided Stylization
- [ICLR 2026] Stitch: Simultaneous Thinking and Talking with Chunked Reasoning for Spoken Language Models
- [ECCV 2024] EDTalk: Efficient Disentanglement for Emotional Talking Head Synthesis
- [CVPR 2025] Wav2Sem: Plug-and-Play Audio Semantic Decoupling for 3D Speech-Driven Facial Animation
- [ECCV 2024] Beat-It: Beat-Synchronized Multi-Condition 3D Dance Generation