HMR 2.0 / 4DHumans:把人体姿态估计「全 Transformer 化」
🎯 为什么重要:「Transformer 化」最后一块拼图
自从 ViT 证明「纯 Transformer 也能做好视觉」,计算机视觉各个子任务都在经历「transformerization」——把 CNN/LSTM 主干换成 Transformer。2D 姿态(ViTPose)、检测(DETR)、分割都已完成,但 3D 人体网格恢复(HMR)还停留在「ResNet 主干 + 各种人体特化 trick」。
更关键的是,HMR 2.0 还被组装进 4DHumans 系统:把视频里每一帧的人都重建出 3D 网格,再在 3D 空间里做跟踪(PHALP')。结果是第一个能在任意野外视频里同时「重建 + 跟踪」多人、穿越遮挡保持身份的公开系统——机器人、动作识别、生物力学都能直接用。
💡 核心思想:用「Transformer 风格」重新写 HMR
原版 HMR(Kanazawa 2018)的配方是:ResNet 提特征 → MLP 迭代回归 SMPL 参数(θ 姿态, β 形状, π 相机)。HMR 2.0 把两处都换成 Transformer:
关键的一招:用一个可学习的 SMPL Query token 作为解码器的「问询者」,让它通过 cross-attention 主动从 ViT patch tokens 里「拉」信息——这替代了原 HMR 的 IEF 迭代回归。整个流程变成纯注意力、端到端、可扩展。
🛠️ 系统怎么搭出来:HMR 2.0 + PHALP' = 4DHumans
| 组件 | 心智 | 为什么这么做 |
|---|---|---|
| ① ViT-H 主干 + 2 阶段预训练 | 先 MAE 自监督,再在 ViTPose(2D 关键点)上微调 | 给 ViT 注入「看人」的先验;随机初始化(P1)收敛慢、精度差(PA-MPJPE 61.7mm vs 44.5mm) |
| ② Transformer 解码器 | SMPL Query 通过 cross-attn 读 patch tokens,一步出参数(无 IEF 迭代) | 2D 对齐更好(LSP-Extended [email protected]: 0.53 vs 0.35);训练更稳 |
| ③ 大规模伪真值 | 用 ProHMR 把 2D 关键点拟合成 SMPL,作为弱监督 | Expand 到 AVA / AI Challenger / InstaVariety 等无标签数据集;HMR 2.0b 在异常姿态上显著更强 |
| ④ PHALP'(3D 跟踪器) | 每帧检测人 → HMR 2.0 升 3D → 用 pose/location/appearance 三种代价关联跨帧身份 | 把 PHALP 原版的「模型专属特征空间」改成 SMPL 空间,让任意 HMR 模型都能插 |
| ⑤ Pose Predictor(动作补全) | 一个小 Transformer 在 SMPL token 序列上做 mask 预测 | 遮挡/漏检时,用过去和未来的 pose token 补出当前帧(amodal completion) |
原 PHALP 用 HMR 倒数第二层 2048 维特征做「身份指纹」——这把跟踪器焊死在某个 HMR 模型上。PHALP' 改成在SMPL 参数空间算距离,任何能输出 SMPL 的模型都能即插即用。这样作者才能在 Table 3 里把 PARE / PyMAF / HMAR / HMR 2.0 全放进同一个跟踪框架里公平对比。
📊 结果:3D / 2D / 跟踪 / 动作识别,全面提升
| 任务 | 数据集 | 关键数字(vs 第二名) |
|---|---|---|
| 3D 姿态(标准指标) | 3DPW | HMR 2.0a PA-MPJPE 44.5 mm(PyMAF-X 47.1) |
| 3D 姿态(异常姿态) | LSP-Extended | [email protected] 0.53,是 CLIFF (0.32) 的 1.6× |
| 2D 对齐 | COCO / PoseTrack | [email protected] 分别 +9% / +6% |
| 多目标跟踪 | PoseTrack | 4DHumans HOTA 54.3 / IDF1 77.9;ID Switches 比次优降 22% |
| 跟踪 + 更强检测器 | PoseTrack (ViTDet) | HOTA 进一步升到 57.8,IDF1 79.1 |
| 动作识别(pose-only) | AVA v2.2 | HMR 2.0 作 pose engine:22.3 mAP(比次优 +14%) |
| 动作识别(加外观特征) | AVA v2.2 | 42.3 mAP(比次优 39.5 +7%,SOTA) |
🌐 在领域中的位置
HMR 2.0 是人体网格恢复「去特化」的分水岭。它证明:在 ViT + 大数据面前,过去十年精心设计的「人体特化模块」收益其实有限——这和 NLP 里 BERT 出来后各种「任务专属结构」被逐步淘汰的过程如出一辙。同时,4DHumans 系统把「单帧重建」升级成「视频 4D 重建 + 跟踪」,为机器人模仿学习(从互联网视频学动作)提供了关键感知工具。
❓ 常见误区
HMR 2.0 是不是只是把 backbone 换成 ViT?
核心是。但有几个细节决定了能不能跑通:(a) 用「SMPL Query token + cross-attention」替代 MLP 的 IEF 迭代;(b) ViT 主干要做 MAE → ViTPose 两阶段预训练,否则精度大幅退化(消融 P1 → P2 → HMR 2.0b)。消融实验做了 100+ 配置、每次跑 100 个 checkpoint。
4DHumans 能在任意视频上跑吗?
能,但有要求:图像分辨率要够高——人体要能被 ViTDet 检出、且 ViT 能「看清」关键 limb;以及人在画面里不能太小。低分辨率是论文明确列出的局限。
它和 2D 姿态(ViTPose)什么关系?
ViTPose 是 2D 关键点估计;HMR 2.0 是 3D 网格恢复。两者都用 ViT,但输出不同。论文里 ViTPose 还身兼两职:(a) 在大规模无标签图上提供 2D 关键点,用来拟合 SMPL 伪真值;(b) 作为 HMR 2.0 ViT 主干的预训练任务。
SMPL 的局限是什么?
SMPL 只覆盖身体(无手、无脸),所以 HMR 2.0 输出的是「无指头、无表情」的人。论文把这列为未来工作——需要 SMPL-X 或更细粒度的网格。此外,每个人独立重建,不建模人与人接触(握手、拥抱等),这也是明确局限。