OnlineHMR: Video-based Online World-Grounded Human Mesh Recovery¶
会议: CVPR 2026
arXiv: 2603.17355
代码: GitHub
机构: Carnegie Mellon University, University of Pennsylvania
领域: 3D视觉
关键词: 人体网格恢复, 在线推理, SLAM, 世界坐标, 因果推理, KV缓存
一句话总结¶
提出 OnlineHMR,首个同时满足系统因果性、忠实性、时序一致性和高效性四项准则的在线世界坐标人体网格恢复框架,通过滑动窗口因果学习 + KV 缓存推理实现流式相机坐标 HMR,结合以人为中心的增量 SLAM 和 EMA 轨迹校正实现在线全局定位。
研究背景与动机¶
领域现状:人体网格恢复(HMR)从单目视频重建 3D 人体姿态和形状,近年从相机坐标扩展到世界坐标的全局人体轨迹和运动恢复。WHAM、TRAM、GVHMR 等方法取得了显著进展。
现有痛点:(a) 大多数方法是离线的——TCMR/GLoT 取 16 帧序列估计中间帧、TRAM 依赖全局优化 SLAM;(b) WHAM 声称在线但其全局轨迹模块实际依赖离线 DPVO/DROID-SLAM(用后续帧修正先前相机位姿);(c) Human3R 支持在线但局部运动质量差、抖动严重(因 4D 场景重建中人体数据远少于场景数据,精度受限);(d) AR/VR、远程呈现、感知-动作循环等实时交互场景被排除在外。
核心矛盾:在严格因果约束下(不看未来帧、不做全局优化),如何同时保证全局轨迹精度和局部运动质量?
本文方案:将问题解耦为两个专家分支——相机坐标 HMR(精确局部运动)和增量 SLAM(全局定位),各自因果化后通过物理约束桥接。提出四项在线处理准则:(1) 系统级因果性;(2) 忠实的几何/姿态重建;(3) 时序一致性;(4) 常数时间复杂度推理效率。
方法详解¶
整体框架¶
输入:流式单目 RGB 视频逐帧输入。输出:每帧世界坐标系下的 SMPL 人体网格 \(\mathbf{M}_i^w \in \mathbb{R}^{6890 \times 3}\)。
框架包含两个并行分支:
- 分支一:相机坐标在线 HMR——基于 HMR2.0(ViT backbone)初始化,滑动窗口因果注意力融合时序信息,KV 缓存实现流式推理,输出相机坐标下的 SMPL 参数(姿态 \(\boldsymbol{\theta}_i \in \mathbb{R}^{23 \times 3}\)、形状 \(\boldsymbol{\beta}_i \in \mathbb{R}^{10}\)、根旋转 \(\mathbf{R}_i^{\text{root}}\)、根平移 \(\mathbf{t}_i^{\text{root}}\)),生成相机坐标网格 \(\mathbf{M}_i^c\)。
- 分支二:以人为中心增量 SLAM——SAM2 分割人体 → 膨胀+高斯模糊生成软掩码 → 屏蔽人体动态区域 → MASt3R-SLAM 增量估计相机位姿 \(\{\mathbf{q}_i^c, \mathbf{t}_i^c\}\) → EMA 平滑校正 → MoGe-V2 度量深度恢复尺度因子 \(s\)。
坐标变换:世界坐标网格通过刚体变换得到:
其中 \(\mathbf{R}(\mathbf{q}_i^c)\) 是四元数 \(\mathbf{q}_i^c \in \mathbb{R}^4\) 对应的旋转矩阵,\(s\) 是度量尺度因子。
关键设计一:滑动窗口因果学习¶
目标:在因果约束下利用短期时序信息实现平滑逐帧 HMR。
窗口划分:将输入序列切分为大小 \(N\) 的重叠窗口,步长为 1。每个窗口包含帧 \(i-N+1\) 到帧 \(i\)。
窗口内信息融合(Intra-window):
- 所有帧经 ViT backbone 提取 patch 级空间特征
- 窗口内最后一帧(当前帧 \(i\))对自身做 self-attention
- 当前帧同时作为 query 对前 \(N-1\) 帧做 cross-attention,聚合时序上下文
- 融合后的特征送入 SMPL head 回归单帧人体参数
- 各窗口的单帧输出拼接形成完整序列
设计动机:TCMR/MPS-Net/GLoT 等取 16 帧序列输出中间帧,需要未来 \(N/2\) 帧,违反因果约束。本设计只用当前帧和过去帧,自然满足因果性。训练时窗口可并行计算(非在线),推理时通过 KV 缓存转为在线模式。
关键设计二:KV 缓存流式推理¶
目标:实现恒定时间复杂度的逐帧推理。
机制:缓存前 \(N-1\) 帧的 key 和 value 特征(\(\mathbf{k}_{i-1}...\mathbf{k}_{i-N+1}\), \(\mathbf{v}_{i-1}...\mathbf{v}_{i-N+1}\)),当前帧只需计算:
其中 \(d\) 为特征维度,\(\mathbf{k}_{\text{prev}}\) 和 \(\mathbf{v}_{\text{prev}}\) 从缓存中拼接。新帧处理后其 key/value 入缓存,最旧帧被移出。
关键洞察:训练时非在线(窗口并行化,充分利用 GPU),推理时在线(KV 缓存保证因果性 + 常数算力)。解决了训练-推理一致性问题。
关键设计三:速度/加速度正则化¶
目标:跨窗口抑制关节运动抖动,保持时序连贯。
速度正则化(惩罚相邻帧关节位移):
加速度正则化(惩罚加速度变化):
其中 \(\mathbf{p}\) 是相对于骨盆的关节位置,\(j\) 为关节索引,\(c\) 是 GT 提供的每关节置信度(加权避免不可见关节的影响)。滑动窗口的步长为 1 设计使连续帧输出可拼接成完整序列,从而可以在跨窗口的序列上计算速度/加速度损失。
关键设计四:以人为中心增量 SLAM + EMA 校正¶
难点:以人为中心的视频中人体占比大,动态纹理和形变违反 SLAM 静态场景假设。
(a) 人体软掩码¶
用 SAM2 分割人体区域 \(C_i^h\),膨胀 + 高斯模糊得到软置信掩码:
其中 \(S_k^{(n)}\) 为膨胀核。软掩码相比硬掩码可避免人体边界的锐利边缘被 SLAM 错误编码为特征。SLAM 仅在静态背景区域提取特征并匹配。
(b) EMA 轨迹平滑¶
维护大小为 \(B\) 的历史缓冲区,定义指数衰减权重 \(w_m = (1-\alpha)^{B-1-m}\)(归一化 \(\sum w_m = 1\)):
速度自适应截断:阈值 \(\tau = \lambda_{\text{clamp}} \bar{v}\),若 \(\|\Delta\mathbf{t}_i\| > \tau\) 则缩放更新量。最终平滑平移:
旋转平滑用四元数 LERP 近似 SLERP(先翻转半球确保内积 > 0):
核心洞察:不直接平滑人体运动(会限制极端动作如体操翻滚),而是平滑 SLAM 相机轨迹间接正则化人体运动——更通用,不受运动先验限制。
(c) 度量尺度恢复¶
用 MoGe-V2 估计每帧度量深度,与 SLAM 深度图对比计算尺度因子 \(s\)。计算时忽略人体区域像素(因人体在 SLAM 深度图中模糊,且存在 dolly zoom 效应——摄影师走近人体同时变焦,人体在图像中大小不变但实际深度增加)。
损失函数¶
帧级 HMR 损失:
总损失:
其中 \(\mathcal{L}_{2D}\)(2D 关键点重投影)、\(\mathcal{L}_{3D}\)(3D 关键点)、\(\mathcal{L}_{\text{SMPL}}\)(SMPL 参数)、\(\mathcal{L}_V\)(3D 顶点)为标准帧级监督;\(\mathcal{L}_v\)、\(\mathcal{L}_a\) 为跨窗口的速度/加速度正则化。训练数据为 BEDLAM + 3DPW + H3.6M,单卡 H100 约 52K iterations 收敛。
频域抖动评价指标¶
提出基于 STFT 频谱的运动自然度指标。对运动序列 \(\mathbf{y}(i) \in \mathbb{R}^{F \times 3J}\) 计算:
其中 \(w(\cdot)\) 为 Hann 窗函数。自然人体运动主要在 10Hz 以下,高频分量反映抖动程度。相比传统 Accel/Jitter 指标,频域指标更贴近人眼对运动抖动的感知。
实验关键数据¶
主实验:相机坐标 HMR(EMDB-1 数据集,单位 mm)¶
| 方法 | 类型 | PA-MPJPE \(\downarrow\) | MPJPE \(\downarrow\) | PVE \(\downarrow\) | Accel \(\downarrow\) |
|---|---|---|---|---|---|
| HMR2.0 | 逐帧 | 60.7 | 98.3 | 120.8 | 19.9 |
| ReFit | 逐帧 | 58.6 | 88.0 | 104.5 | 20.7 |
| TRAM | 离线 | 45.7 | 74.4 | 86.6 | 4.9 |
| GVHMR | 离线 | 44.5 | 74.2 | 85.9 | — |
| PHMR | 离线 | 40.1 | 68.1 | 79.2 | — |
| TRACE | 在线 | 71.5 | 110.0 | 129.6 | 25.5 |
| Human3R | 在线 | 48.5 | 73.9 | 86.0 | — |
| OnlineHMR | 在线 | 46.0 | 74.0 | 86.1 | 9.0 |
主实验:世界坐标全局轨迹(EMDB-2 数据集)¶
| 方法 | 类型 | PA-MPJPE \(\downarrow\) | WA-MPJPE \(\downarrow\) | W-MPJPE \(\downarrow\) | RTE(%) \(\downarrow\) | ERVE \(\downarrow\) |
|---|---|---|---|---|---|---|
| WHAM+DPVO | 离线 | 38.2 | 135.6 | 354.8 | 6.0 | 14.7 |
| TRAM | 离线 | 38.1 | 76.4 | 222.4 | 1.4 | 10.3 |
| PHMR | 离线 | — | 71.0 | 216.5 | 1.3 | — |
| TRACE | 在线 | 58.0 | 529.0 | 1702.3 | 17.7 | 370.7 |
| Human3R | 在线 | — | 112.2 | 267.9 | 2.2 | — |
| OnlineHMR | 在线 | 40.1 | 93.5 | 310.4 | 2.2 | 12.4 |
效率对比¶
| 方法 | 在线 | FPS \(\uparrow\) | 平均延迟(s) \(\downarrow\) | WA-MPJPE \(\downarrow\) |
|---|---|---|---|---|
| SLAHMR | ✗ | 0.1 | 2435 | 326.9 |
| TRAM | ✗ | 2.1 | 115.95 | 76.4 |
| WHAM+DPVO | ✗ | 9.3 | 26.18 | 135.6 |
| Human3R | ✓ | 4.8 | 0.21 | 112.2 |
| OnlineHMR | ✓ | 3.3 | 0.30 | 93.5 |
消融实验¶
速度正则化消融(Accel / Jitter 指标):
| 设置 | 3DPW Accel \(\downarrow\) | 3DPW Jitter \(\downarrow\) | EMDB-1 Accel \(\downarrow\) | EMDB-1 Jitter \(\downarrow\) |
|---|---|---|---|---|
| 无速度正则化 | 8.9 | 32.3 | 15.7 | 70.1 |
| 有速度正则化 | 6.4 | 19.5 | 9.0 | 33.7 |
SLAM 掩码策略消融(ATE 指标,越低越好):
| SLAM 方法 | 无掩码 | 硬掩码 | 软掩码 |
|---|---|---|---|
| DROID-SLAM | 2.52 | 1.55 | 1.07 |
| MASt3R-SLAM | 1.22 | 0.96 | 0.83 |
关键发现¶
- 因果推理代价极小:EMDB-1 上 PA-MPJPE 仅比离线 TRAM(45.7)高 0.3mm,同时 Accel 控制在合理范围
- 在在线方法中全面领先:相机坐标精度显著优于 TRACE(PA-MPJPE 46.0 vs 71.5),世界坐标 WA-MPJPE 比 Human3R 低 18.7(93.5 vs 112.2)
- 速度正则化有效:Jitter 从 32.3/70.1 降至 19.5/33.7(3DPW/EMDB-1),约减半
- 软掩码优于硬掩码和无掩码:MASt3R-SLAM 的 ATE 从 1.22(无掩码)→ 0.96(硬掩码)→ 0.83(软掩码)
- 在线方法延迟极低:平均延迟 0.30s vs 离线 TRAM 的 115.95s(~400× 加速)
- W-MPJPE 偏高的原因:度量尺度恢复不够精确——WA-MPJPE 好但 W-MPJPE 偏高说明全局轨迹形状正确但增量估计的后续帧尺度有漂移
亮点与洞察¶
- 训练非在线、推理在线的 KV 缓存设计:训练时窗口并行化享受 GPU 效率,推理时 KV 缓存保证因果性和常数时间。这个训练-推理解耦模式可迁移到任何需要在线化的视频理解任务。
- 通过平滑相机来平滑人体的间接正则化策略——不对人体运动施加运动先验(会限制极端动作),而是平滑 SLAM 相机轨迹让全局变换天然平滑。优雅地绕开了运动先验泛化性差的问题。
- 解耦局部运动和全局定位到两个专家分支:避免了 Human3R 等端到端方法因训练数据不平衡(4D 场景数据 >> 人体数据)导致的局部运动精度不足。
- 四准则形式化定义:将在线 HMR 的需求系统化为因果性/忠实性/一致性/效率四个维度,为后续工作提供了清晰的评价框架。
- 频域抖动指标:基于 STFT 的频谱分析比传统 Accel/Jitter 指标更贴近人眼感知。
局限与展望¶
- 世界坐标精度仍低于离线方法:WA-MPJPE 93.5 vs TRAM 76.4 / PHMR 71.0,度量尺度恢复是瓶颈
- 尺度漂移问题:W-MPJPE 偏高说明增量估计的后续帧尺度不够稳定,长序列可能累积误差
- EMA 参数需手动调优:\(\alpha\)、\(B\)、\(\lambda_{\text{clamp}}\) 等超参对不同运动类型敏感,极端运动可能被过度平滑
- 假设连续视角:无法处理突然的镜头切换或多相机输入
- 依赖外部模型:SAM2(分割)+ MoGe-V2(深度)+ MASt3R-SLAM(轨迹),增加了系统复杂度
- 多人场景未系统化:虽然展示了多人可视化但未做定量评估
- 频域指标社区接受度待验证
相关工作对比¶
- vs TRAM:同为两分支架构但 TRAM 用全局优化 SLAM,离线。OnlineHMR 改为增量 SLAM + EMA,牺牲少量精度(WA-MPJPE +17.1)换取 ~400× 延迟降低。
- vs Human3R:端到端在线重建,基于 CUT3R 的隐式约束。局部运动抖动且不准确。OnlineHMR 解耦后局部精度更高(PA-MPJPE 46.0 vs 48.5),全局也更好(WA-MPJPE 93.5 vs 112.2)。
- vs WHAM:相机坐标在线但全局离线(DPVO 用未来帧修正过去帧)。OnlineHMR 首次实现全系统在线。
评分¶
- 新颖性: ⭐⭐⭐⭐ 首个严格满足四项在线准则的全局 HMR 系统,KV 缓存在线化设计和间接平滑策略新颖
- 实验充分度: ⭐⭐⭐⭐ 标准 benchmark + 野外视频 + 效率分析 + 消融充分
- 写作质量: ⭐⭐⭐⭐ 问题定义清晰(四准则),系统设计条理分明,动机-方案映射明确
- 价值: ⭐⭐⭐⭐ 对 AR/VR、机器人感知-动作回路等实时应用有直接工程价值
相关论文¶
- [CVPR 2026] Fall Risk and Gait Analysis using World-Spaced 3D Human Mesh Recovery
- [CVPR 2025] PromptHMR: Promptable Human Mesh Recovery
- [CVPR 2026] VLM-Guided Group Preference Alignment for Diffusion-based Human Mesh Recovery
- [ECCV 2024] Global-to-Pixel Regression for Human Mesh Recovery
- [CVPR 2025] MEGA: Masked Generative Autoencoder for Human Mesh Recovery