跳转至

AnyLift: Scaling Motion Reconstruction from Internet Videos via 2D Diffusion

会议: CVPR 2026
arXiv: 2604.17818
代码: 项目页有视频结果(论文未给出明确仓库链接)
领域: 3D视觉 / 人体动作重建 / 扩散模型
关键词: 动作重建, 人物交互(HOI), 2D扩散先验, 动态相机, 多视角合成

一句话总结

AnyLift 用「先合成多视角 2D 运动数据、再训相机条件多视角 2D 扩散模型」的两阶段框架,把互联网单目动态相机视频里的 2D 关键点抬升成世界坐标系下的 3D 人体动作与人-物交互(HOI),无需任何 3D 监督就能重建体操、武术等 MoCap 里罕见的动作。

研究背景与动机

领域现状:大规模 3D 人体动作与 HOI 数据对动画、仿真、人形机器人策略学习都是刚需,但 MoCap 采集成本高、动作多样性差。从单目视频估计 3D 动作是更可扩展的替代路线,目前分两派——一派(WHAM、GVHMR)用 AMASS 这类 MoCap 做 3D 监督训练,另一派(ElePose、MAS、MVLift)只用领域内 2D 关键点做弱监督。

现有痛点:3D 监督派对分布内动作精度高,但对体操、武术这类 MoCap 罕见的剧烈动作泛化极差,因为这类动作的 3D 数据几乎无法采集;弱监督派里最接近本文的 MVLift 虽然能只靠 2D 恢复全局 3D 运动,却假设训练和推理都是静态固定相机,而真实互联网视频普遍是动态运镜、视角覆盖很窄。此外,把这套框架扩展到真实视频里的世界坐标 HOI 重建一直是开放问题。

核心矛盾:要规模化就得用海量互联网视频,但互联网视频天然带着「动态相机 + 视角覆盖不足」这两个 MVLift 框架处理不了的硬约束——动态相机让 2D 根节点平移的全局信息被相机运动污染,单一前向视角又让模型学不到跨视角一致性。

本文目标:(1) 让动态相机视频可用于训练和重建;(2) 在训练视角覆盖不足时仍能学到可靠的 2D 运动先验;(3) 把人体动作和 HOI 统一进同一个重建框架。

切入角度:沿用 MVLift「学 2D 运动先验来做 3D 重建」的思路(因为它能突破 MoCap 的动作多样性上限、且天然能把 HOI 纳入同一框架),但把条件从「无相机」升级为「相机轨迹 + 极线」,并补一套混合数据源策略来救视角覆盖。

核心 idea:用相机轨迹和极线作为 2D 扩散模型的条件,让模型在动态相机下也能学到全局 2D 平移与跨视角几何一致,再用「视频全局 2D + 现成估计器重投影局部 2D」的混合训练补足视角覆盖。

方法详解

整体框架

AnyLift 的输入是单目动态相机视频抽出的单视角 2D 关键点序列 \(\mathbf{X}\in\mathbb{R}^{T\times K\times 2}\)(用 ViTPose 抽 2D 姿态、MegaSaM 估相机运动),输出是世界坐标系下的 3D 人体动作 \(\mathcal{H}\)(SMPL 参数:根平移 \(\mathbf{r}_t\)、全局朝向 \(\bm{\phi}_t\)、身体姿态 \(\bm{\Theta}_t\))以及(HOI 时)物体运动 \(\mathcal{O}\)。整条管线分两阶段:Stage 1 合成多视角 2D 训练数据——因为没有现成的多视角监督,先训一个条件单视角 2D 扩散模型当先验,用 SDS 把单视角"脑补"成多视角,再拟合成 3D 后重投影出干净的多视角 2D;Stage 2 多视角 2D 扩散重建——在合成数据上训一个带跨视角注意力的多视角扩散模型,推理时直接从真实单视角 2D 输入生成一致的多视角 2D,进而恢复世界坐标 3D 动作与 HOI。人体动作和 HOI 共用这套两阶段结构,区别只在 Stage 1 合成数据的来源:人体动作用互联网视频抽 2D,HOI 则把已有 3D HOI MoCap 序列在多样相机轨迹下重投影。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["单目动态相机视频<br/>ViTPose 2D + MegaSaM 相机"] --> B["相机轨迹+极线<br/>条件单视角 2D 扩散"]
    B --> C["混合数据源训练<br/>+ 解耦运动表示"]
    C --> D["多视角 2D 合成<br/>SDS+极线匹配→3D拟合"]
    D --> E["多视角 2D 扩散重建<br/>+ HOI 扩展"]
    E --> F["世界坐标 3D 动作<br/>+ 人-物交互"]

关键设计

1. 相机轨迹 + 极线条件的单视角 2D 扩散:让动态相机不再是噪声而是信号

MVLift 的扩散先验默认相机静止,一旦相机在动,2D 根节点平移里就混进了相机运动,模型分不清是人在走还是镜头在推。AnyLift 给单视角 2D 扩散模型加两组条件来拆开这个纠缠:相机轨迹 \(\mathbf{C}=\{\mathbf{C}_t\}_{t=1}^T\)(每帧外参 \(\mathbf{C}_t\in\mathbb{R}^{4\times 3}\),并减去首帧相机变换做归一化),让模型感知全局视角随时间的运动,从而在动态相机下学到正确的 2D 根平移;极线 \(\bm{l}=(a,b,c)^{\mathrm{T}}\)(满足 \(ax+by+c=0\)),对每帧每个关键点配一条过该点与对应极点的极线,构成条件矩阵 \(\mathbf{L}_t\in\mathbb{R}^{K\times 3}\),编码视角间的成对几何约束、鼓励跨视角一致。模型沿用 DDPM,前向加噪 \(q(\mathbf{X}_n|\mathbf{X}_{n-1})=\mathcal{N}(\mathbf{X}_n;\sqrt{1-\beta_n}\mathbf{X}_{n-1},\beta_n\mathbf{I})\),反向用 Transformer 骨干直接预测干净样本 \(\mathbf{X}_0\),条件 \(\mathbf{C},\mathbf{L}\) 沿特征维与噪声序列拼接后经 MLP 编码送入,主损失是 \(L_1\) 重建 \(\mathcal{L}=\mathbb{E}_{\mathbf{X}_0,n}\|\mathbf{X}_0-\mathbf{X}_\theta(\mathbf{X}_n,n,\mathbf{C},\mathbf{L})\|_1\),再加一项极线匹配损失 \(\mathcal{L}_{\text{line}}=\sum_{t=1}^T\langle\mathbf{L}_t,(\hat{\mathbf{X}}_t,\mathbf{1})\rangle\) 把去噪后的 2D 点拉到对应极线上。训练时按采样外参模拟若干固定极点,推理时极点由配对视角间的相对相机变换决定

2. 混合数据源训练 + 解耦运动表示:把"视角太窄"用现成估计器的局部姿态补满

体操这类互联网视频通常只有少数前向视角,不像 AIST++ 那样视角均匀,导致视角覆盖严重不足、先验学不到侧后方姿态。AnyLift 混合两路 2D 数据:(1) 真实视频抽出的全局 2D 关键点;(2) 用现成估计器(GVHMR)重建 3D 后重投影出的局部 2D \(\mathbf{X}^{\text{proj}}\)。由于这类估计器只在局部姿态上可靠,作者只取它们「根节点对齐到图像中心」的局部投影、丢掉全局平移。但直接混入 \(\mathbf{X}^{\text{proj}}\) 会让模型偏向「几乎没有全局平移」的运动模式,于是把每段 2D 运动解耦为根平移 \(\mathbf{X}^{\text{r}}\in\mathbb{R}^{T\times 2\times 2}\)(两个髋关节表示)和局部姿态 \(\mathbf{X}^{\text{l}}\in\mathbb{R}^{T\times(K-2)\times 2}\),全局运动 \(\mathbf{X}^{\text{g}}\) 由「平均根平移 + 局部姿态」重组得到;扩散损失照 Eq.2 算,极线匹配只施加在全局运动 \(\mathbf{X}^{\text{g}}\) 上。对重投影数据只在局部姿态上算扩散损失:\(\mathcal{L}^{\text{proj}}=\mathbb{E}_{\mathbf{X}_0,n}\|\mathbf{M}\odot\mathbf{X}_0-\mathbf{M}\odot\mathbf{X}_\theta(\mathbf{X}_n^{\text{proj}},n,\mathbf{C},\mathbf{L})\|_1\),其中二值掩码 \(\mathbf{M}\) 把两个髋关节排除在损失外,且不对 \(\mathbf{X}^{\text{proj}}\) 施加极线匹配——这样既借了估计器的多视角局部姿态、又不让它污染全局平移先验

3. 多视角 2D 合成:SDS 脑补 + 极线匹配收紧 + 3D 拟合产出干净监督

有了上面的单视角 2D 先验,就用它把单视角序列"扩"成多视角。具体用 score distillation sampling,沿输入相机周围一圈均匀分布的视角额外优化 \(V-1\) 个 2D 关键点序列 \(\{\mathbf{X}_v\}_{v=1}^V\),SDS 梯度 \(\nabla_{\mathbf{X}_v}\mathcal{L}_{\text{SDS}}=\mathbb{E}_{n,\epsilon}[w(n)(\epsilon_\theta(\mathbf{X}_{v,n},n,\mathbf{C},\mathbf{L})-\epsilon)]\) 让每个视角都服从学到的扩散先验。同时对任意两视角 \(u,v\),用 \(\mathbf{X}_u\) 和相对相机变换算出视角 \(v\) 里的极线 \(\mathbf{L}^{u\to v}\),施加 \(\mathcal{L}^{u\to v}_{\text{line}}=\sum_{t=1}^T\langle\mathbf{L}^{u\to v}_t,(\mathbf{X}^{\text{g}}_{v,t},\mathbf{1})\rangle\) 强制几何一致;与 MVLift 不同,这里只在相邻视角之间、以及每个视角与输入视角之间算极线匹配,省计算。拿到大致一致的多视角 2D 后,先最小化多视角重投影误差恢复 3D 关节,再用 VPoser 拟合 SMPL 得到全身 3D 动作,最后把拟合好的 3D 重投影到四个均匀分布的相机,产出几何一致的多视角 2D 训练数据——这一步把"带噪的脑补结果"洗成"干净的多视角监督",是 Stage 2 训练能成立的关键

4. 多视角 2D 扩散重建 + HOI 扩展:一个模型同时吐人和物

Stage 2 在 Stage 1 合成的多视角数据上训一个多视角 2D 扩散模型,从单视角输入直接生成多视角 2D 序列。它沿用 Stage 1 的相机条件嵌入方式,在 Transformer 骨干上增加跨视角注意力层增强多视角感知(沿 MVLift)。对 HOI,物体用人工设计的 2D 关键点 \(\mathbf{O}\in\mathbb{R}^{T\times M\times 2}\) 表示(对应规范物体网格上的 3D 点 \(\mathbf{P}=\{\mathbf{p}_i\}_{i=1}^M\)),与人体关键点 \(\mathbf{X}\) 拼成统一表示一起扩散;训练时随机 mask 掉部分 \(\mathbf{O}\) 以应对遮挡和跟踪失败。推理真实视频时人体关键点与相机同前,物体关键点用 DELTA 跟踪、物体 3D 网格用手持扫描仪扫得高保真几何。最终人体 SMPL 由 Stage 1 同款优化得到,物体则先最小化多视角重投影误差恢复 3D 关键点 \(\mathbf{Q}\),再结合规范关键点 \(\mathbf{P}\) 估物体位姿 \(\mathcal{O}_t=\{\mathbf{r}_t,\mathbf{t}_t,s\}\)\(\mathbf{r}_t\in\mathbb{R}^6\) 是 6D 旋转、\(\mathbf{t}_t\in\mathbb{R}^3\) 平移、\(s\) 全局尺度)——这样人和物在统一框架里联合预测,避免了分别重建后对不齐

损失函数 / 训练策略

  • 单视角扩散主损失:\(L_1\) 重建 \(\mathcal{L}\)(Eq.2,直接预测 \(\mathbf{X}_0\))。
  • 极线匹配损失:\(\mathcal{L}_{\text{line}}\)(Eq.3,施加在全局 2D 运动 \(\mathbf{X}^{\text{g}}\) 上)。
  • 重投影局部损失:\(\mathcal{L}^{\text{proj}}\)(Eq.4,掩码 \(\mathbf{M}\) 排除髋关节,不加极线匹配)。
  • 多视角合成阶段:SDS 损失(Eq.5)+ 跨视角极线匹配 \(\mathcal{L}^{u\to v}_{\text{line}}\)(Eq.6,仅相邻视角与输入视角)。

实验关键数据

主实验

AIST++(J 类为像素误差、越低越好;FID/Troot/MPJPE/PA-MPJPE/FS 均越低越好),上半为静态相机、下半为合成动态相机:

设置 方法 J2D J2D^C FID Troot MPJPE PA-MPJPE FS
静态 WHAM (用AMASS) 75.5 22.1 3.1 164.3 104.8 75.1 0.579
静态 GVHMR (用AMASS) 106.4 20.3 2.9 143.0 97.6 64.4 0.547
静态 MVLift 17.5 14.3 2.2 67.6 110.7 79.2 0.471
静态 AnyLift 16.6 13.3 2.1 64.9 108.0 82.3 0.475
动态 MVLift 18.0 14.9 2.1 64.9 122.1 94.3 0.487
动态 AnyLift 16.7 13.7 2.0 64.2 109.3 83.0 0.446

要点:静态下 AnyLift 在 2D 误差与根平移上全面超 MVLift,3D 关节误差与靠 AMASS 训练的 WHAM/GVHMR 相当但根平移大幅更优;动态相机下 AnyLift 几乎不掉点(MPJPE 108.0→109.3),而 MVLift 的 MPJPE 从 110.7 恶化到 122.1,体现对动态相机的鲁棒性。

自采互联网视频(体操 / 武术,越低越好):

方法 体操 J2D 体操 J2D^C 体操 FID 武术 J2D 武术 J2D^C 武术 FID
GVHMR 71.5 18.8 13.0 66.3 15.9 6.0
MVLift 33.1 17.0 11.2 24.6 12.0 4.6
AnyLift 21.6 11.4 10.9 15.1 9.8 3.6

在 MoCap 罕见的剧烈动作上,AnyLift 把体操 J2D 从 MVLift 的 33.1 降到 21.6、武术从 24.6 降到 15.1,优势最明显。

HOI(BEHAVE,节选 box / table,越低越好;Troot^O、O-MPJPE 是物体指标):

设置 方法 box Troot box MPJPE box O-MPJPE table Troot table MPJPE table O-MPJPE
静态 VisTracker 51.72 54.40 359.50 65.18 85.51 540.96
静态 AnyLift 24.61 42.68 32.98 26.05 48.34 51.28
动态 SMPLify 82.21 126.12 185.48 77.19 119.42 149.91
动态 AnyLift 29.99 43.60 33.96 28.09 54.60 56.97

物体指标差距尤其悬殊:table 的 O-MPJPE 从 VisTracker 的 540.96 降到 51.28(约 1/10),且静态→动态几乎不退化,说明统一框架对动态相机 HOI 的泛化很强。300 人感知研究(2AFC)中,参与者在「地面接触」和「动作质量」上一致偏好 AnyLift(vs MVLift 61.3% / 65.4%,vs SMPLify 84.2% / 85.0%)。

消融实验

配置 体操 J2D 体操 J2D^C 体操 FID 武术 J2D 武术 J2D^C 武术 FID
w/o Hybrid(仅视频2D) 36.1 18.7 11.2 25.2 12.7 4.3
Full(含混合训练) 21.6 11.4 10.9 15.1 9.8 3.6

关键发现

  • 混合数据源训练是窄视角场景的命门:去掉它体操 J2D 从 21.6 暴涨到 36.1、武术从 15.1 涨到 25.2,证明「现成估计器的多视角局部 2D」对补足视角覆盖至关重要。
  • 动态相机鲁棒性是核心卖点:无论 AIST++ 还是 BEHAVE,AnyLift 静态→合成动态的退化都很小,而把 MVLift 适配到动态相机后明显掉点。
  • HOI 物体指标的提升量级远大于人体指标,说明 VisTracker/SMPLify 主要败在物体位姿(对称物体抖动、深度歧义),而统一扩散框架联合预测人和物更稳。

亮点与洞察

  • 把相机轨迹和极线当"条件"而非"待消除的干扰":MVLift 视动态相机为不可用,AnyLift 反过来把相机外参序列和极线喂进扩散模型当条件,直接解锁了海量互联网动态相机视频——这是从"回避问题"到"利用问题"的视角转换。
  • 解耦根平移与局部姿态来安全地混入弱数据:现成估计器局部准、全局烂,作者用掩码只取局部、丢全局,既蹭到估计器的多视角局部姿态、又不污染全局平移先验,是一个可迁移到任何"强弱数据混训"场景的干净 trick。
  • 用 SDS + 3D 拟合自举出干净的多视角监督:没有多视角真值就用单视角先验脑补、再经 3D 拟合洗成干净监督来训下一阶段,这种"先验自举数据"的两阶段范式可迁到其他缺多视角监督的 4D 重建任务。
  • 人和物统一进同一扩散序列:把物体 2D 关键点和人体关键点拼成统一表示一起扩散,并用随机 mask 模拟遮挡,避免分别重建后人物对不齐。

局限与展望

  • 物体表示依赖人工设计的 2D 关键点和预扫描的规范 3D 网格,对未见过的、无法预扫的物体类别难以即插即用,HOI 仍按类别(box/chair/table)分别训模型。
  • 整条管线重度依赖现成组件——ViTPose 抽 2D、MegaSaM 估相机、GVHMR 出局部姿态、DELTA 跟物体,任一环节失败都会向下游传播误差,论文未系统分析这种级联误差。
  • 互联网视频部分仍是分类别训练(体操、武术各一个模型),尚未做到「一个模型吃所有动作类别」,真正的开放域规模化还有距离。
  • Stage 1 的 SDS 优化逐序列进行,合成多视角训练数据的开销与可扩展性论文未给出量化分析。

相关工作与启发

  • vs MVLift:本文直接构建在 MVLift 之上但补了三处关键缺口——MVLift 假设静态相机、无法用动态相机视频训练,AnyLift 用相机轨迹+极线条件解锁动态相机;MVLift 视角覆盖不足时会崩,AnyLift 用混合数据源+解耦表示救场;MVLift 的 HOI 依赖预先从 MoCap 重投影的 2D、不处理真实视频,AnyLift 扩展到真实视频里用 DELTA 跟踪的物体关键点。
  • vs WHAM / GVHMR(3D 监督派):它们靠 AMASS 等 MoCap 做 3D 监督,分布内精度高但对体操/武术泛化差;AnyLift 只学 2D 先验、不需 3D 监督,在 MoCap 罕见动作上反超,且根平移精度明显更好。
  • vs VisTracker(HOI):VisTracker 用可见性感知网络从单 RGB 联合跟踪人/物/接触,但假设静态相机、关注相对运动且对对称物体抖动;AnyLift 在世界坐标下联合重建人与物、支持动态相机,物体指标大幅领先。
  • vs SMPLify:纯 2D 重投影优化、无训练,易陷局部最优、深度歧义大;AnyLift 用学到的扩散先验消歧,重建更稳更真。

评分

  • 新颖性: ⭐⭐⭐⭐ 把相机轨迹/极线作为 2D 扩散条件、并用解耦混合训练救视角覆盖,是对 MVLift 的实质性升级,但整体仍是该路线的延伸。
  • 实验充分度: ⭐⭐⭐⭐ 覆盖 AIST++/自采互联网视频/BEHAVE,含静态与动态相机、300 人感知研究,唯消融较单薄(主要消融混合训练一项)。
  • 写作质量: ⭐⭐⭐⭐ 两阶段结构清晰、公式完整,人体与 HOI 分支讲得分明。
  • 价值: ⭐⭐⭐⭐ 直指「用互联网视频规模化 3D 动作/HOI 数据」这一刚需,动态相机鲁棒性与 HOI 物体重建提升显著。