Modeling and Driving Human Body Soundfields through Acoustic Primitives¶
会议: ECCV 2024
arXiv: 2407.13083
代码: 有 (https://wikichao.github.io/Acoustic-Primitives/)
领域: 人体理解
关键词: 声场建模, 声学基元, 空间音频, 人体姿态, AR/VR
一句话总结¶
提出基于声学基元(Acoustic Primitives)的人体3D声场建模与渲染框架,将多个低阶球谐声场挂载到人体骨骼关节上,在保持与SOTA可比的音质的同时,实现了15倍加速和近场声音渲染能力。
研究背景与动机¶
3D人体视觉建模(如MetaHumans、Codec Avatars)已达到高度逼真的水平,但声学建模严重滞后。对于沉浸式AR/VR体验,精确的音视觉同步至关重要,然而几乎没有研究能为虚拟人渲染空间音频。
先驱工作SoundingBodies [Xu et al.]开发了基于体姿和头戴麦克风的全身声场渲染系统,但存在重大局限:
无法近场渲染:使用单一高阶球谐(17阶)表示,声音只能在包围人体的约2m直径球面外渲染,球面内产生混乱结果
计算效率低:需预测345个麦克风的原始音频信号,再通过传统DSP处理转换为球谐系数,无法实时
参数量大且不稳定:17阶球谐需要大量系数,估计过程不稳定
本文的核心思路来源于视觉神经渲染中的体积基元(如3D Gaussians),将其类比地迁移到声学领域,用多个附着于人体关节的小型低阶声场基元替代单一高阶声场。
方法详解¶
整体框架¶
系统由两个主要阶段组成:
- 声学基元学习:给定头戴麦克风音频和3D体姿序列,通过神经网络预测一组声学基元的球谐系数、权重和位置偏移
- 声场渲染:利用球面波函数进行可微渲染,将所有基元在目标3D位置的贡献叠加得到最终音频
| 组件 | 功能 | 输出 |
|---|---|---|
| 姿态编码器 | 时序卷积提取体姿时空特征 | 姿态特征 \(f_p\) |
| 音频编码器 | ResNet+LSTM提取音频特征(含时延补偿) | 音频特征 \(f_a\) |
| 音视融合模块 | ResNet+Attention融合两种特征 | 融合特征 \(f_{ap}\) |
| 声场解码器 | U-Net式解码,输出所有基元的球谐系数 | \(K\) 组球谐系数 \(\{\mathcal{S}_i\}\) |
| 偏移MLP | 预测基元相对关节的位置偏移 | 偏移量 \(\Delta(x,y,z)\) |
| 权重MLP | 预测基元的时变权重 | 权重 \(W\) |
关键设计¶
1. 声学基元定义
每个声学基元是一个挂载于人体关节的小型球面声场,用低阶(2阶)球谐系数描述。其音压可通过球面波函数精确计算:
整个人体声场是所有 \(K\) 个基元在监听位置产生声音的线性叠加。
2. 时延补偿
身体不同部位(如脚、手)产生的声音需经过不同时间到达头戴麦克风。方法利用姿态特征通过MLP估计每个基元的时延,并对音频信号进行时间扭曲(time-warp)以补偿。
3. 基元位置偏移
关节位置并不精确对应声源位置(如手腕关节 vs 手指打响声的位置),因此学习一个有界偏移量(tanh约束在20cm范围内),使基元位置更准确地反映真实声源。
4. 基元权重
不同时刻各基元的重要性不同(如打响指时手部基元活跃、其他基元静默),通过softmax激活的权重显式建模这种时变性。
损失函数 / 训练策略¶
总损失函数由四项组成:
| 损失项 | 功能 | 权重 |
|---|---|---|
| \(\mathcal{L}_{amp}\) | 多尺度STFT幅度谱损失(窗口2048/1024/512/256) | 7 |
| \(\mathcal{L}_{ri}\) | STFT实部和虚部损失 | 3 |
| \(\mathcal{L}_{s\ell1}\) | Shift-L1损失,减小空间对齐误差 | 0.5 |
| \(\mathcal{L}_{cts}\) | 交叉熵损失,用片段级标签监督基元权重 | 1 |
训练细节:每GPU batch size=1,每次前向传播随机选20个目标麦克风,AdamW优化器(lr=0.0002),训练100 epochs,4×A100 GPU约55小时。
实验关键数据¶
主实验(表格)¶
在SoundingBodies公开数据集上评估(消声室录制,345麦克风球形阵列,6.5个人体)。
| 方法 | 推理速度 | 非语音SDR↑ | 非语音幅度误差↓ | 非语音相位误差↓ | 语音SDR↑ | 语音幅度误差↓ | 语音相位误差↓ |
|---|---|---|---|---|---|---|---|
| SoundingBodies | 3.56s | 3.052 | 0.832 | 0.314 | 9.635 | 0.701 | 0.464 |
| Ours (12基元, 2阶) | 0.24s | 3.597 | 0.883 | 0.323 | 8.448 | 0.943 | 0.417 |
核心结论:15×加速,非语音SDR更好,语音质量接近但有小幅下降。
消融实验(表格)¶
不同基元数量和球谐阶数的影响:
| 基元数K | 阶数N | 非语音SDR↑ | 语音SDR↑ |
|---|---|---|---|
| 5 | 0阶 | 2.009 | 4.775 |
| 5 | 2阶 | 3.552 | 7.981 |
| 9 | 2阶 | 3.569 | 8.200 |
| 12 | 2阶 | 3.597 | 8.448 |
| 12 (无偏移) | 2阶 | 3.528 | 7.730 |
关键发现¶
- 基元数量和阶数均正相关于性能:12个2阶基元效果最优。语音尤其受益于更多基元和更高阶数
- 位置偏移机制有效:去掉偏移约等于将12基元退化为9基元(重复基元坍缩到同一位置)
- 0阶到1阶提升最大:0阶只能建模无方向性声场,1阶及以上才能捕捉声音方向性
- 声源分配正确:可视化显示语音能量主要分配给头部基元,手拍声分配给手部基元,方向性模式与头部朝向一致
亮点与洞察¶
- 视觉-声学的优雅类比:将3D Gaussian Splatting思想迁移到声学领域,用声学基元类比体积基元,是跨模态方法论迁移的精彩案例
- 可微声学渲染器:球面波函数的可微实现使端到端训练成为可能,渲染方程提供了强物理先验
- 倒逼声源分离:系统隐式学会了将混合音频信号分解到不同身体部位的声源,无需显式声源分离标注
- 实时渲染能力:0.24s处理1秒48kHz音频,已接近实时,为AR/VR应用奠定基础
局限与展望¶
- 球谐阶数受限:PyTorch仅支持2阶球面波函数实现,更高阶可能进一步提升精度
- 需要大规模麦克风阵列训练数据:345个麦克风的消声室录制设备昂贵,难以规模化
- 未建模室内混响:在消声室中训练和测试,无法处理真实室内环境的混响效应
- 仅支持单人场景:多人交互场景的声场建模未被探索
- 身体拍击声幅度匹配较差:高变化性的辐射模式对低阶基元构成挑战
相关工作与启发¶
- 与NeRF/3DGS的关系:方法论上高度类似——用基元分布代替全局表示,用可微渲染代替显式求解
- 与SoundingBodies的互补性:SoundingBodies追求高保真但牺牲效率,本文追求效率同时保持质量
- 潜在扩展:可结合文本/音频驱动的体动生成模型,实现完整的声-视-动一体化虚拟人
评分¶
| 维度 | 分数 (1-5) | 评价 |
|---|---|---|
| 新颖性 | 4.5 | 声学基元概念新颖,跨模态类比精彩 |
| 技术深度 | 4 | 物理声学与深度学习的有机结合,可微渲染设计精巧 |
| 实验充分性 | 3.5 | 消融充分,但仅一个数据集,缺少真实环境测试 |
| 写作质量 | 4 | 动机清晰,与视觉渲染的类比有助于理解 |
| 实用价值 | 4 | 对AR/VR中的空间音频渲染有直接应用价值 |
相关论文¶
- [ECCV 2024] Upper-Body Hierarchical Graph for Skeleton Based Emotion Recognition in Assistive Driving
- [ECCV 2024] HUMOS: Human Motion Model Conditioned on Body Shape
- [ECCV 2024] EgoExo-Fitness: Towards Egocentric and Exocentric Full-Body Action Understanding
- [ECCV 2024] PoseSOR: Human Pose Can Guide Our Attention
- [ECCV 2024] LaPose: Laplacian Mixture Shape Modeling for RGB-Based Category-Level Object Pose Estimation