Action2Sound: Ambient-Aware Generation of Action Sounds from Egocentric Videos¶
会议: ECCV 2024
arXiv: 2406.09272
代码: https://github.com/ChanganVR/action2sound
领域: 视频理解 / 音频生成
关键词: 视频到音频生成, 环境音解耦, 第一人称视频, 潜在扩散模型, 检索增强生成
一句话总结¶
提出 AV-LDM,通过在训练时引入同一视频不同时间段的音频作为环境音条件,隐式解耦前景动作声和背景环境音,结合检索增强生成(RAG)在推理时选择合适的环境音条件,在 Ego4D 和 EPIC-KITCHENS 上大幅超越已有方法。
背景与动机¶
视频到音频生成(Video-to-Audio Generation)是一个重要任务,应用场景包括电影拟音(Foley)、VR 游戏音效、文本生成视频后配音等。现有方法(如 Spec-VQGAN、Diff-Foley、REGNET)隐式假设视频和音频之间存在完全对应关系,但在真实的 in-the-wild 视频中,大量声音来自画面之外(如空调嗡嗡声、远处人说话、交通噪声),与画面内容无关或弱相关。这些背景环境音在频谱上往往能量远大于短暂的动作声,导致模型学习时被环境音主导,推理时要么生成不受控的环境音,要么直接忽略真正的动作声。之前的 REGNET 虽然试图通过瓶颈设计只生成与视觉相关的声音,但依赖预定义的分类体系,无法推广到 in-the-wild 数据。
核心问题¶
如何在只有自然混合音频(没有前景/背景分离标注)的 in-the-wild 训练数据上,让模型学会区分并分别生成前景动作声和背景环境音? 这个问题的核心难点在于:(1) 动作声通常短暂且能量弱,而环境音持续时间长、能量高,训练损失被环境音主导;(2) 很多环境音与画面无关(录音设备噪声、画外说话等),强行从视觉推断会导致幻觉;(3) in-the-wild 的盲源分离仍是未解决的开放问题,直接用降噪算法效果很差。
方法详解¶
整体框架¶
AV-LDM 是一个音频-视觉潜在扩散模型。输入为一段无声视频,输出为对应的音频波形。整体 pipeline 分三个阶段: 1. 音视频表示学习(预训练):用 Timesformer 和 AST 分别作为视频和音频编码器,通过 InfoNCE 对比学习对齐音视频嵌入空间,同时训练出用于检索的 AV-Sim 评分模型。 2. AV-LDM 训练:将目标音频转为 mel 频谱图,经预训练 VAE 编码到潜在空间;将视频特征和邻居音频条件通过交叉注意力注入 UNet 扩散模型中,用标准去噪目标训练。 3. 推理:给定无声视频,用 AV-Sim 模型从训练集中检索最相似的音频作为环境音条件(或使用低环境音条件实现 action-focused 生成),经 LDM 采样、VAE 解码、HiFi-GAN 声码器生成最终波形。
关键设计¶
-
邻居音频条件实现环境音解耦:这是全文最核心的 insight。观察到环境音在时间上具有平稳性(同一长视频中不同时间段的环境音高度相似),训练时从同一长视频中随机采样一个时间上临近但不重叠的音频片段 \(A_n\) 作为额外条件。由于 \(A_n\) 和目标音频 \(A\) 共享环境音特征但动作声不同,模型只需从 \(A_n\) 中"借用"环境音信息,而从视频中学习动作声线索。这巧妙地避免了显式的音源分离,让模型隐式学会了解耦。关于 \(A_n\) 可能包含重复动作声的担忧:基于 (verb,noun) 分类统计,语义重复的概率仅 9%,且时间对齐几乎不可能,因此模型无法"作弊"。
-
检索增强生成 (RAG):训练时可以从同一视频取邻居音频,但推理时没有这个条件。论文设计了两种推理模式:
- 动作+环境联合生成:用预训练的 AV-Sim 模型从训练集检索与输入视频视觉最相似的音频作为 \(A_n\),捕捉场景相关的环境音(如室外鸟叫)。
-
纯动作声生成:用一个低环境音水平的音频作为 \(A_n\),引导模型只生成动作声而最小化环境音。直接用全零向量效果差(偏离训练分布太远),使用低环境音效果好。
-
音视频条件注入机制:视频特征 \(c_v \in \mathbb{R}^{16 \times 768}\)(Timesformer 提取)和音频条件特征 \(c_a \in \mathbb{R}^{24 \times 768}\)(VAE 编码后经 MLP 投影)通过拼接后加可学习位置编码,作为 UNet 交叉注意力层的 key/value。训练时以 0.2 概率将 \(c_v\) 替换为零(支持 classifier-free guidance),但 \(c_a\) 始终保留,因为即使少量 dropout 也会损害性能。
损失函数 / 训练策略¶
- 扩散去噪目标:\(\mathcal{L} = \mathbb{E}_{t, z_0, \epsilon_t} \| \epsilon_t - \epsilon_\theta(x_t, t, c_v, c_a) \|^2\)
- Classifier-free guidance:推理时 \(\tilde{\epsilon}_t = \omega \cdot \epsilon_\theta(z_t, t, c_v, c_a) + (1-\omega) \cdot \epsilon_\theta(z_t, t, \varnothing, \varnothing)\),引导尺度 \(\omega = 6.5\)
- 对比学习预训练:InfoNCE 损失对齐音视频嵌入,视频编码器用 EgoVLP 预训练权重初始化
- VAE 和 LDM 权重从 Stable Diffusion 加载初始化,VAE 冻结,LDM 训练 8 epochs,batch size 720
- HiFi-GAN 声码器在 Ego4D + EPIC-KITCHENS + AudioSet 混合数据上从零训练
- Ego4D-Sounds 数据集构建:从 Ego4D 的 2113 小时有音频视频中,经 4 阶段过滤(去除无声、社交场景、纯语音/音乐、低能量片段),得到 120 万个 3 秒音视频动作片段
实验关键数据¶
Ego4D-Sounds 测试集¶
| 方法 | FAD ↓ | AV-Sync (%) ↑ | CLAP ↑ |
|---|---|---|---|
| Ground Truth | 0.0000 | 77.69 | 0.2698 |
| Retrieval | 1.8353 | 11.84 | 0.0335 |
| REGNET | 8.3800 | 3.90 | 0.0099 |
| Spec-VQGAN | 3.9017 | 7.12 | 0.0140 |
| Diff-Foley | 3.5608 | 5.98 | 0.0346 |
| AV-LDM (本文) | 0.9999 | 45.74 | 0.1435 |
EPIC-KITCHENS¶
| 方法 | FAD ↓ | AV-Sync (%) ↑ |
|---|---|---|
| Retrieval | 1.9618 | 13.84 |
| Diff-Foley | 3.4649 | 14.19 |
| Ours w/o cond | 1.4731 | 50.42 |
| AV-LDM (本文) | 1.3200 | 59.26 |
人类评估¶
| 方法 | 动作声质量 ↑ | 最少环境音 ↑ |
|---|---|---|
| Retrieval | 12.5% | 12.5% |
| Diff-Foley | 47.5% | 12.5% |
| AV-LDM w/o cond | 55.0% | 17.5% |
| AV-LDM (action-focused) | 60.0% | 97.5% |
| AV-LDM (action-ambient) | 72.5% | 22.5% |
消融实验要点¶
- 去掉邻居音频条件(w/o cond):FAD 从 0.9999 升至 1.4681,证明环境音条件训练的核心作用
- 加降噪预处理(w/o cond + denoiser):AV-Sync 暴跌至 1.09%,CLAP 近乎为零,说明现有降噪算法对 in-the-wild 数据完全不适用
- 随机检索条件(w/ random test cond):FAD 1.0635 vs 检索条件 0.9999,AV-Sync 28.74% vs 45.74%,验证 RAG 检索的有效性
- 去掉训练的声码器(w/o vocoder):FAD 升至 4.9282,Griffin-Lim 频谱反转质量远不如 HiFi-GAN
- 检索池大小鲁棒性:从完整池到仅 100 个样本,FAD 从 1.01 微升至 1.12,模型对检索池大小不敏感
- 帧率消融:5 FPS 足够,更高帧率(8/10 FPS)无显著提升
亮点¶
- 极其简洁的解耦思路:不做显式音源分离,只通过"同一视频不同时间段的邻居音频"作为条件,就实现了前景/背景声音解耦。这个 insight 模型无关,可以迁移到任何条件生成架构。
- 可控生成的 emergent ability:模型训练时从未见过纯动作声的标注,但通过改变音频条件的环境音水平,可以平滑控制生成音频的环境音量级——这是一个涌现能力。
- 大规模数据集贡献:构建了 Ego4D-Sounds(120 万片段),比已有数据集大一个数量级,且自带动作叙述文本标注。
- 从 Stable Diffusion 迁移:巧妙地复用了 SD 的 VAE 和 UNet 权重来处理音频频谱图(将 mel 频谱图复制到 3 通道),大幅加速训练。
- 跨域泛化:在 VR 烹饪游戏视频上的零样本测试表明模型有跨域潜力。
局限性 / 可改进方向¶
- 单声道 16kHz:音频质量受限,高保真声音生成(如 44.1kHz 立体声)有待探索
- 3 秒固定长度:无法处理更长的动作序列或连续动作流
- 环境音平稳性假设:当场景快速切换(如走过不同房间),邻居音频的环境音可能变化较大,假设不成立
- VR 游戏场景有域差距:初步实验有前景,但合成场景的视觉特征与真实第一人称视频差异大,需要域适应
- 评估指标局限:AV-Sync 准确率上界仅 77.69%(ground truth),说明指标本身有噪声;action-focused 模式缺少客观评估(没有分离后的 ground truth)
- 未探索文本条件:虽然 Ego4D 有动作叙述,但模型未利用文本作为生成条件,可能进一步提升语义对齐
与相关工作的对比¶
- vs Diff-Foley:同为 LDM 框架,但 Diff-Foley 不处理环境音问题,对 in-the-wild 数据生成质量差。Diff-Foley 的视频特征也不适合第一人称视频。AV-LDM 在 Ego4D-Sounds 上 FAD 低 72%,AV-Sync 高 7 倍。
- vs REGNET:REGNET 也试图只生成视觉相关的声音,但依赖预定义声音分类和瓶颈设计,在 in-the-wild 数据上完全失败(FAD 8.38,AV-Sync 仅 3.9%)。AV-LDM 的隐式解耦方式更通用。
- vs CondFoleyGen:CondFoleyGen 也使用额外视频条件来控制生成声音特征,但目的不同(修改声音特性 vs 解耦前背景),且不处理 in-the-wild 环境音问题。
启发与关联¶
- "邻居条件"的通用解耦范式:这种用时间上临近的样本作为条件来解耦持续性信号和瞬态信号的思路,可以推广到视频去雾(持续雾霾 vs 瞬态物体)、医学信号去噪(基线漂移 vs 瞬态事件)等场景。
- RAG 在多模态生成中的应用:检索增强不仅可用于文本生成,在音频/视频等模态的条件生成中也很有效。
- Ego4D 生态:Ego4D-Sounds 扩展了 Ego4D 的应用范围,生成式任务(不仅是理解)正成为第一人称视频研究的新方向。
评分¶
- 新颖性: ⭐⭐⭐⭐ 邻居音频条件解耦思路简洁而有效,但基础架构(LDM + cross attention)为标准设计
- 实验充分度: ⭐⭐⭐⭐⭐ 多数据集评估、全面消融、人类评估、可控性验证、跨域 demo,非常完整
- 写作质量: ⭐⭐⭐⭐⭐ 问题定义清晰,motivation 自然流畅,图示直观易懂
- 价值: ⭐⭐⭐⭐ 开辟了 ambient-aware 音频生成方向,数据集贡献大,但应用场景偏窄