跳转至

MotionMap: Representing Multimodality in Human Pose Forecasting

会议: CVPR 2025
arXiv: 2412.18883
代码: https://github.com/vita-epfl/MotionMap
领域: human_understanding
关键词: human pose forecasting, multimodality, heatmap, codebook, t-SNE, uncertainty estimation, mode coverage

一句话总结

提出MotionMap——用热力图表示运动空间分布的新范式,通过t-SNE降维+codebook实现可变数量模式预测和置信度量化,以最少采样实现最佳模式覆盖。

研究背景与动机

领域现状: 人体姿态预测本质上是多模态问题——同一观测序列存在无穷多可能的未来运动。现有方法通过有限数量的预测来覆盖这些未来,但永远无法覆盖所有模式,使问题本质上是ill-posed的。

现有方案的不足: 1. 多样性≠逼真性: DLow、DivSamp等diversity方法虽然采样多样,但预测常与观测序列不连贯 2. 隐式分布+大量采样: GAN/VAE/Diffusion等生成模型学习隐式分布,需要大量随机采样才能覆盖更多模式,效率低 3. 无法知道采样数量: 不同观测序列需要的预测数量不同,但现有方法使用固定数量 4. 所有样本等权: 无法区分哪些预测更可能,哪些是罕见模式 5. 罕见模式被平均掉: 隐式建模中罕见但合理的未来运动容易被抑制

核心洞察: 不应尝试学习无界的未来运动集合,而应显式学习训练集中存在的不同转换,将问题转为well-posed——对每个输入序列,可能的未来数量有上界(受训练集大小约束)。

方法详解

整体框架

两阶段训练两模块系统: 1. 阶段1 - Autoencoder: GRU编码器分别编码输入序列X和未来序列Y,拼接latent后解码预测完整序列 2. 阶段2 - MotionMap模块: 学习从观测X预测热力图(运动空间分布),推理时用热力图局部最大值+codebook替代缺失的未来latent

关键设计

模块一:MotionMap热力图表示

MotionMap将所有可能的未来运动映射到2D空间中的分布: - 降维: 用t-SNE将所有训练集未来序列的编码 \(z_y\) 投影到2D,量化为整数坐标 \(h_y\) - 热力图构建: 对每个样本的M个多模态GT,在其对应2D位置放置Gaussian peak - Codebook: 建立 \(h_y \to \overline{z_y}\) 的映射(多个 \(z_y\) 映射到同一 \(h_y\) 时取均值) - 核心特性: 可变模式数量(不同样本热力图有不同数量的峰值),罕见模式不会被均值压制

模块二:多模态GT定义改进

改进了现有文献中多模态GT的查找方式: - 问题: 原方法仅用最后一帧距离度量相似性,丢失运动信息;不同体型的人即使运动相同也匹配不上 - 解决: (1) 使用最后三帧而非仅最后一帧计算相似度;(2) 通过笛卡尔→球坐标转换进行骨骼缩放(Motion Transfer),消除体型差异

模块三:双重不确定性估计

分解不确定性为两个来源: - 模式不确定性: MotionMap中各峰值的高度表示对应模式的置信度(高峰=高置信) - 预测不确定性: Autoencoder的不确定性模块 \(\mathcal{U}\) 预测每个关节的条件方差(异方差回归) - 如预测4(急转弯)的鼻子关节不确定性高于预测6(平稳运动),因方向变化更具挑战

损失函数

Autoencoder训练: 负对数似然损失 $\(\mathcal{L} = \frac{\text{error}}{\sigma^2} + \log\sigma^2\)$ 联合优化mean和variance,实现异方差不确定性估计。

MotionMap训练: 像素级加权二元交叉熵损失(惩罚false negative > false positive),防止罕见模式被忽略。

Fine-tuning: 用codebook的平均latent \(\overline{z_y}\) 替代真实 \(z_y\) 重新微调decoder,弥合训练-推理差距。

实验关键数据

主实验表

Human3.6M & AMASS数据集(所有方法限制7个预测):

方法 Diversity↑ ADE↓ FDE↓ MMADE↓ MMFDE↓
DLow 11.77 0.445 0.730 0.576 0.715
DivSamp 15.73 0.480 0.685 0.542 0.671
BeLFusion 7.11 0.441 0.597 0.491 0.586
CoMusion 7.32 0.426 0.613 0.531 0.623
MotionMap 7.84 0.474 0.598 0.466 0.532

AMASS数据集:

方法 MMADE↓ MMFDE↓
BeLFusion 0.488 0.564
CoMusion 0.526 0.602
MotionMap 0.450 0.514

MotionMap在多模态度量MMADE/MMFDE上全面最优。

消融表

论文通过可视化分析展示各组件贡献: - 采样效率对比: 在相同预测数量下,MotionMap的覆盖度远优于DLow(基于anchor但预测不太可能的转换)和BeLFusion(diversity不足,漏掉罕见模式) - Motion Transfer消融: 使用骨骼缩放后,跨不同体型的动作可以被正确识别为同一模式 - 异方差 vs 同方差: 条件不确定性在语义上更丰富(急转弯区域不确定性高,平稳运动低)

关键发现

  1. 采样效率最高: 仅7个预测即可实现最佳的模式覆盖,而DivSamp/DLow需要更多采样但覆盖"不太可能"的区域
  2. MotionMap vs BeLFusion: 共用相同encoder/decoder,差异仅在latent获取方式——热力图+codebook显著优于diffusion重复采样
  3. 可变模式数: 不同测试样本预测的模式数量自然不同(取决于热力图峰值数),而非固定
  4. 排序能力: 高置信峰对应的预测通常更接近真实GT,低置信峰对应罕见但合理的转换
  5. 可控性: MotionMap空间分布与动作标签空间对应,可通过动作标签选择性预测特定类型运动

亮点与洞察

  1. Problem Re-formulation: 将ill-posed的姿态预测问题转化为well-posed——显式学习训练集中的转换模式,是有价值的范式转变
  2. 热力图作为运动分布表示: 直观、可解释、支持可变模式数——比隐式latent分布更透明
  3. 采样效率: 确定性地提取峰值,不依赖随机采样,是实际应用中的重要优势(如机器人需要快速决策)
  4. 双重不确定性: 将"做什么"的不确定性(模式)和"怎么做"的不确定性(执行)分离,在安全关键应用中有价值

局限性

  1. 模式内细粒度不足: 同一模式内的微小变化(如不同步频的走路)被聚合为单一预测,丢失intra-mode多样性
  2. t-SNE降维不可逆: 降维-量化-codebook的方式引入信息损失,codebook用均值代替可能模糊细节
  3. codebook存储: 128×128热力图 + 128维embedding = 64MB,规模不算小
  4. 多模态GT定义: 仍依赖距离阈值(Human3.6M用0.5,AMASS用0.4),阈值敏感

相关工作与启发

  • BeLFusion: 条件latent diffusion用于姿态预测,MotionMap共用architecture但改进了latent获取
  • DLow: 多分布采样策略的先驱,但latent anchor未考虑输入相关的似然
  • STARS: anchor-based采样方法,MotionMap的"峰值"某种意义上是数据驱动的自适应anchor
  • 启发: MotionMap的热力图+codebook范式可推广到其他时序预测问题(如轨迹预测、手势生成),将隐式分布显式化

评分

⭐⭐⭐⭐ — 问题重新定义有深度(well-posed reformulation),热力图表示直观优雅,采样效率使其有实际应用价值;但t-SNE+codebook的方式相比end-to-end方法显得工程化,模式内细粒度不足是明显短板。

相关论文