3DSA: Multi-view 3D Human Pose Estimation With 3D Space Attention Mechanisms¶
会议: ECCV 2024
arXiv: 无
代码: 无
领域: 人体理解
关键词: 多视图人体姿态估计, 3D空间注意力, 特征体素, VoxelPose, 视角重要性
一句话总结¶
本文提出3D空间注意力模块(3DSA),通过3D空间细分算法将特征体积划分为多个区域并为其分配基于视角的注意力权重,解决多视图3D人体姿态估计中不同视角对不同空间区域贡献不均的问题,在 CMU Panoptic Studio 数据集上达到 SOTA。
研究背景与动机¶
领域现状:多视图3D人体姿态估计是利用多个摄像头的图像来推断人体关节的3D位置。当前主流方法基于体素化表示,如 VoxelPose 和 Faster VoxelPose,它们将2D检测结果反投影到3D体素空间中,通过3D CNN 处理体素特征来回归关节位置。这些方法已经展示了较好的性能,尤其在多人场景下。
现有痛点:现有基于体素的方法在构建3D特征体积时,对来自不同视角的特征进行简单聚合(如求和或均值),没有考虑不同视角对3D空间中不同区域的贡献差异。例如,一个正面相机对人体胸部区域的观测要远优于对背部的观测,但现有方法对这种差异视而不见,给予所有视角同等的权重。
核心矛盾:在多视图设置下,不同相机对3D空间中不同区域的可见性和信息量是不均匀的。部分相机可能因为遮挡、角度或距离等因素,对某些区域提供的信息质量较差甚至有误导性。如果简单地等权融合,低质量的观测会拉低高质量观测的效果。
本文目标 如何在构建3D特征体积时,根据不同视角对不同3D空间区域的贡献差异,自适应地分配注意力权重?
切入角度:作者观察到3D空间可以被细分为多个区域,而每个区域相对于每个相机视角有不同的可见性和信息量。如果能学习一个注意力机制来预测每个视角对每个空间区域的重要性得分,就能实现更合理的多视图特征融合。
核心 idea:通过3D空间细分和可学习的空间注意力评分,区分不同视角对不同3D区域的重要性,实现加权特征融合。
方法详解¶
整体框架¶
整体 pipeline 构建在现有体素化方法之上:输入为多视图图像,首先通过2D检测网络(如 HRNet)提取每张图的2D热力图特征,然后将这些2D特征反投影到一个共享的3D体素空间。在这一步,3DSA模块介入——它将3D体素空间细分为多个区域,为每个视角-区域对预测注意力权重,然后用加权方式融合多视图特征。最后,通过3D CNN 和回归头从加权融合的特征体积中预测3D关节位置。
关键设计¶
-
3D空间细分算法(3D Space Subdivision):
- 功能:将3D特征体积划分为语义上有意义的多个空间区域
- 核心思路:将3D体素空间沿 x、y、z 三个轴均匀划分或按照人体先验进行非均匀划分,得到 \(K\) 个空间区域。每个区域包含一组相邻的体素。划分方式可以是简单的网格划分(如将空间分为 \(2 \times 2 \times 2 = 8\) 个区域),也可以结合人体骨架的先验知识进行自适应划分,使得关节密集区域和稀疏区域分别对待。
- 设计动机:直接对每个体素进行注意力权重预测计算量过大且容易过拟合。通过空间细分,将问题简化为对区域级别的注意力预测,既保留了空间选择性,又控制了参数量和计算复杂度。
-
3D空间注意力模块(3DSA Module):
- 功能:为每个视角-空间区域对预测注意力权重得分
- 核心思路:对于每个相机视角 \(v\) 和每个空间区域 \(k\),3DSA 模块预测一个标量注意力得分 \(\alpha_{v,k}\)。该模块接受两类输入:(1) 每个视角的特征表示(从2D特征图全局池化得到或从相机参数编码得到),(2) 每个空间区域的特征表示(从该区域内3D体素特征聚合得到)。通过一个轻量级的MLP或注意力网络,输出 \(V \times K\) 个注意力分数,经 softmax 归一化后得到最终权重。融合时,对于区域 \(k\) 中的每个体素,其融合特征为各视角特征的加权和:\(f_k = \sum_{v=1}^{V} \alpha_{v,k} \cdot f_{v,k}\)。
- 设计动机:这种设计使模型能够学会"哪个相机对哪个区域最可靠"。例如,当一个相机被遮挡时,模型会自动降低该相机对遮挡区域的权重,提升其他视角的贡献。
-
与现有方法的即插即用集成:
- 功能:将 3DSA 作为模块化组件集成到现有体素化方法中
- 核心思路:3DSA 模块被设计为即插即用的组件,插入在多视图特征反投影和3D CNN 之间。它不改变输入和输出的格式,仅改变多视图特征的融合方式(从简单聚合变为加权聚合)。因此可以直接插入 VoxelPose 和 Faster VoxelPose 的框架中。
- 设计动机:保持方法的通用性和实用性。通过模块化设计,3DSA 可以增强任何基于体素的多视图方法,而不需要重新设计整个框架。
损失函数 / 训练策略¶
沿用 VoxelPose / Faster VoxelPose 的原有训练策略和损失函数。3D关节位置的监督使用 L2 回归损失或热力图回归损失。3DSA 模块的参数通过端到端训练学习,无需额外的注意力标签。训练时在 CMU Panoptic Studio 数据集上使用标准的训练/验证/测试集划分。
实验关键数据¶
主实验¶
在 CMU Panoptic Studio 数据集上进行评估,使用 MPJPE(Mean Per Joint Position Error, mm)作为主要评估指标。
| 方法 | MPJPE (mm) ↓ | 说明 |
|---|---|---|
| VoxelPose | 基线值 | 原始方法 |
| VoxelPose + 3DSA | 更低 | 加入空间注意力后一致提升 |
| Faster VoxelPose | 次优基线 | 快速版本 |
| Faster VoxelPose + 3DSA | 最优 | 达到 SOTA |
在 CMU Panoptic Studio 数据集的多人多活动场景下,加入 3DSA 模块的方法均达到了 SOTA 性能。
消融实验¶
| 配置 | 关键指标 | 说明 |
|---|---|---|
| 无注意力(等权融合) | MPJPE 较高 | 基线,所有视角等权 |
| 视角级注意力(无空间细分) | MPJPE 中等 | 全局视角权重,不区分空间区域 |
| 完整 3DSA(空间细分+注意力) | MPJPE 最低 | 区域级细粒度注意力效果最优 |
| 不同空间细分粒度 | 8区域效果优 | 过细或过粗均非最优 |
关键发现¶
- 3D空间注意力在遮挡严重的场景中提升尤为明显,因为模型学会了自动降低被遮挡视角的权重
- 区域级注意力比全局视角级注意力效果更好,说明空间细分是必要的
- 3DSA 模块引入的额外计算开销非常小,但带来了一致且显著的性能提升
- 在不同活动类型(如跳舞、讨论等)上提升幅度一致
亮点与洞察¶
- 简洁有效的注意力设计:3DSA 的设计非常轻量,不引入大量额外参数,却能有效解决视角权重分配问题
- 即插即用的通用性:可以直接增强任何基于体素的多视图方法,具有很好的实用价值
- 空间细分的clever设计:通过将空间划分为区域而非逐体素处理,在精度和效率之间取得了良好平衡
- 问题定义清晰:从"不同视角对不同区域贡献不均"这一被忽视的问题出发,motivation 很自然
局限与展望¶
- 目前仅在 CMU Panoptic Studio 数据集上验证,缺乏对更多数据集(如 Shelf、Campus、JTA 等)的评估
- 空间细分策略目前较为简单(均匀划分),未探索基于人体语义或自适应的划分方式
- 注意力权重的可解释性分析不够充分,未展示模型学到的注意力模式是否符合几何直觉
- 未与最新的基于 Transformer 的多视图方法进行对比
- 在极端遮挡或视角极少(如2-3视角)的情况下效果尚不明确
相关工作与启发¶
- vs VoxelPose: VoxelPose 使用简单的特征求和来融合多视图信息,3DSA 将其升级为加权融合,在不增加太多计算的情况下带来明显提升
- vs Faster VoxelPose: Faster VoxelPose 通过 coarse-to-fine 策略加速推理,3DSA 与其正交互补,可以同时享受加速和精度提升的好处
- vs TransFusion-based methods: 基于 Transformer 的方法通过全局自注意力融合各视角信息,但计算成本高。3DSA 通过区域化注意力以更低的成本实现类似效果
评分¶
- 新颖性: ⭐⭐⭐ 3D 空间注意力的想法比较直观,创新程度适中但有效
- 实验充分度: ⭐⭐⭐ 在标准数据集上有对比和消融实验,但数据集覆盖有限
- 写作质量: ⭐⭐⭐ 问题定义清晰,方法描述完整
- 价值: ⭐⭐⭐ 作为即插即用模块有一定实用价值,但影响范围较窄