Journal

Object Motion Guided Human Motion Synthesis

Jiaman Li, Jiajun Wu, C. Karen Liu

Stanford University

一句话总结

提出 OMOMO:一个两阶段条件扩散框架,仅凭大件物体的运动轨迹就能合成与之交互的全身人体动作,并借此实现”给物体贴一部 iPhone 就能捕捉全身操作动作”的低成本应用。

研究背景

  • 领域现状:情境化人体动作合成已在导航、坐下等与静态场景/静态物体的交互上取得不少进展,但面向”移动的大件物体”的全身操作动作数据稀缺,已有工作多靠强化学习,且学到的策略往往局限于训练时用过的特定几何(如只会搬箱子)。
  • 核心痛点:从物体运动反推全身动作有两大难点。其一是多义性——同一段物体运动可以由多种人体动作产生;其二是接触约束——生成的手必须在操作时与物体保持正确接触,而直接套用扩散模型无法精确保证这一点。
  • 本文 idea:观察到”手的位置是操作时决定全身姿态的关键因素”,于是把问题拆成两段扩散——先从物体几何预测双手位置,对手位施加接触约束后,再由手位合成全身姿态。用手位作为两段之间的中间表示,使接触约束可以被显式强制。

方法

整体上,OMOMO 把”物体运动 → 全身动作”的一步映射拆成两个串联的去噪扩散过程,中间以双手关节位置为桥梁:先由物体几何生成手位并做接触矫正,再由矫正后的手位生成全身姿态。

flowchart LR
  A["物体运动 V"] --> B["BPS 编码 + MLP 投影 O"]
  B --> C["阶段一:条件扩散生成手位 H"]
  C --> D["接触约束后处理 得到 H_hat"]
  D --> E["阶段二:条件扩散生成全身姿态 X"]

关键设计分为三部分:

  1. 物体几何的紧凑表示。 用 Basis Point Set(BPS)编码物体网格:以物体质心为中心取半径为 1 的球,采样 1024 个点,计算每个采样点到物体网格最近顶点的差向量得到 \(d(\boldsymbol{B}_t, \boldsymbol{V}_t) \in \mathbb{R}^{1024\times 3}\),再拼上物体的全局位置,最后用 MLP 投影到 256 维的几何特征 \(\boldsymbol{O}_t\)。BPS 的好处是定长、轻量,且无需 PointNet 之类专门架构,MLP 就能有效编码。

  2. 阶段一:从物体几何生成手位。 以几何特征序列为条件 \(\boldsymbol{c}\),用一个含四个自注意力块的 Transformer 作为去噪网络生成左右手关节位置 \(\boldsymbol{H} \in \mathbb{R}^{T\times 6}\)。扩散采用预测原始数据 \(\boldsymbol{x}_0\) 的参数化,训练用重建损失 \(\mathcal{L} = \mathbb{E}_{\boldsymbol{x}_0, n}\lVert \hat{\boldsymbol{x}}_\theta(\boldsymbol{x}_n, n, \boldsymbol{c}) - \boldsymbol{x}_0 \rVert_1\)。

  3. 接触约束后处理。 生成的手位可能偶尔脱离物体造成”假脱手”。基于”接触期间手相对物体的位置大体保持不变”这一观察,沿时间遍历手到物体网格的最小距离 \(d_t\),找到首个 \(d_k <\) th(经验阈值 0.03)的接触时刻 \(k\),记录差向量 \(\boldsymbol{p} = \boldsymbol{H}_k - \boldsymbol{V}^i_k\);对之后的帧用物体旋转把该相对关系刚性搬运过去 \(\hat{\boldsymbol{H}}_t = \boldsymbol{V}^i_t + \boldsymbol{R}_t \boldsymbol{R}^{-1}_k \boldsymbol{p}\),从而保持一致接触。两只手是否都接近物体(距离小于阈值)还用来自动区分单手/双手操作。

  4. 阶段二:从手位生成全身姿态。 复用同一 Transformer 去噪架构,以矫正后的手位 \(\hat{\boldsymbol{H}}\) 为条件生成全身姿态 \(\boldsymbol{X}\)(全局关节位置加 6D 连续旋转,配 SMPL-X 重建人体网格)。该阶段只用人体动作数据训练。

此外作者还搭了一套应用:把 iPhone 贴到未见过的物体上,用 ARKit 得到相机位姿从而推出物体运动,配合 Luma 重建的 3D 几何,喂进 OMOMO 就能生成对应的全身交互动作。

实验结果

作者自采了一个大规模数据集(15 个日常物体、约 10 小时、17 名受试者、Vicon 120 FPS 动捕,物体几何用 Luma 单目视频重建)。主实验在全部 15 个物体上比较各方法(下表↓表示越低越好、↑越高越好,Hand JPE/MPJPE 单位 cm,F1 为接触正确性):

方法 Hand JPE ↓ MPJPE ↓ 脚滑 FS ↓ 接触 F1 ↑
GOAL 49.90 15.64 0.18 0.32
OMOMO 单阶段 26.60 12.07 0.38 0.51
OMOMO 无接触约束 24.79 12.55 0.36 0.64
OMOMO(完整) 24.01 12.42 0.38 0.72

可见两阶段设计相比基线 GOAL 在手位与全身误差上大幅降低;接触约束的加入把接触 F1 从 0.64 提到 0.72,说明中间手位表示配合接触后处理确实提升了接触真实性。在划分出的 5 个未见物体上,OMOMO 同样保持领先(接触 F1 约 0.61,远高于 GOAL 的 0.29),显示出对新物体的泛化能力。

亮点与局限

  • 亮点:
    • 把”物体运动→全身动作”这一高度多义、强约束的问题,用”以手位为中间表示”的两阶段扩散巧妙拆解,让接触约束得以显式、可解释地强制执行。
    • 接触约束是无需重训的轻量后处理(基于刚性相对关系搬运),实现简单却明显改善接触真实感。
    • 贡献了一个稀缺的高质量配对数据集(3D 物体几何 + 物体运动 + 全身动作),并给出了只需一部 iPhone 的低成本动捕应用。
  • 局限:
    • 只合成全身粗粒度姿态,不生成精细手指动作,抓握细节欠缺。
    • 接触约束依赖经验阈值(0.03)与”接触期间相对位置不变”的刚性假设,对滑动接触、频繁换手等复杂情形可能不适用。
    • 输入需要相对干净的物体几何与运动,iPhone 应用链路还依赖 ARKit 位姿与 Luma 重建质量。

延伸思考

  • 两阶段”中间显式表示 + 分段扩散”的思路可迁移到其他强约束生成任务,比如脚-地接触、多人交互中的接触点,或手-物精细抓握(把中间表示换成指尖/接触点)。
  • 接触后处理目前是启发式规则,能否改为可学习的接触预测或在扩散采样中以引导(guidance)方式软约束,兼顾灵活接触与物理合理性,值得探索。
  • 该数据集与”贴一部手机即可捕捉全身操作动作”的范式,对具身智能与机器人模仿学习的低成本数据采集颇具吸引力;后续与物理仿真结合(把运动学结果投影到可执行策略)是自然的方向。