跳转至

UMO: Unified In-Context Learning Unlocks Motion Foundation Model Priors

会议: ECCV2026
论文: ECCV 论文页 · 论文 PDF
项目: UMO
作者: Xiaoyan Cong, Zekun Li, Zhiyang Dou, Hongyu Li, Omid Taheri, Chuan Guo, Abhay Mittal, Sizhe An, Taku Komura, Wojciech Matusik, Michael J. Black, Srinath Sridhar
领域: 人体理解
关键词: 人体动作生成、上下文学习、动作编辑、时间补全、几何控制

论文标题与 ECCV 3418 记录一致。Xiaoyan Cong 与 Zekun Li 为共同第一作者,Srinath Sridhar 为通讯作者;署名机构包括 Brown University、MIT、Meta Reality Lab、Max-Planck Institute for Intelligent Systems 和 University of Hong Kong。 本文处理的是三维人体骨架动作,不是图像生成。缓存包含正文与参考文献,未包含正文多次引用的补充材料;下文不补造其中的细节。

一句话总结

UMO 用三种逐帧操作嵌入和输入级时间融合微调 HY-Motion,将单一文本到动作模型扩展为统一的补全、编辑、几何控制及反应生成模型,在 HumanML3D 文本到动作评测中达到 FID 9.460,同时仅增加 0.207M 条件注入参数。

研究背景与动机

人体动作生成已不只是“给一句文字,生成一段动作”。动画制作还需要锁定关键帧、补齐缺失片段、修改既有动作的语义或风格,让人物沿指定路线移动,或根据另一个人的动作作出反应。传统方法通常为这些任务分别设计条件分支和训练流程,已有动作在不同模型里也被编码成不同形式,难以共享训练数据和运动先验。

HY-Motion 这类基础模型从大规模动作与文本中学到了姿态、关节协调和时间连续性,但预训练接口主要接收完整动作描述。它既不知道输入动作哪些帧必须保留,也不知道“根据这段动作修改”与“从零生成”的区别。单纯把坐标写进提示词或者把已知帧交给免训练反演,并不能保证这些信号会被动作生成主干正确使用。

UMO 的切入点不是重新训练一个多任务模型,而是先把任务要求写成与动作时间轴对齐的意图,再让预训练主干学习读取这些意图。核心 idea:用保留、生成、编辑三种逐帧操作描述动作上下文与目标的关系,用统一文字条件说明具体要求,再通过逐帧时间融合激活已有动作先验。

方法详解

整体框架

输入包含逐帧源动作、逐帧操作标签,以及描述动作或约束的文字;没有源动作时用零向量占位。输出是一段三维人体动作,而不是文本或视频。 整体接口由“逐帧元操作”“统一语言条件”“时间融合”组成:前两者分别说明哪些内容可变以及如何变化,时间融合把动作上下文送进 HY-Motion 的流匹配生成过程。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["源动作与任务要求"] --> B["逐帧元操作"]
    B --> D["时间融合"]
    A --> C["统一语言条件"]
    C --> E["HY-Motion 主干<br/>流匹配采样"]
    N["当前噪声动作"] --> D
    D --> E
    E --> O["目标人体动作"]

动作表示沿用 HY-Motion:每帧 201 维,由根节点平移的 3 维、根朝向的 6 维、21 个局部关节旋转各 6 维,以及 22 个局部关节位置各 3 维构成。 所有动作重采样到 30 fps,特征归一化为零均值和单位方差;长度为 \(T\) 的动作因此有 \(T\times201\) 个数值。 这些表示细节很重要,因为操作嵌入与原始动作特征逐帧相加,而不是在动作外再追加一个自然语言任务标签。

关键设计

1. 逐帧元操作:把任务变成源动作与目标帧的关系

每帧只能选择一种操作:[preserve] 表示保持给定内容,[generate] 表示没有参考动作、从零生成,[edit] 表示基于参考动作生成修改结果。 三个标签分别对应可学习的 201 维嵌入。保留与编辑帧使用真实源动作;生成帧使用零向量,因此“源动作是什么”和“如何对待它”是两个独立输入。 模型看到同一个姿态时,可以通过不同操作嵌入区分“必须维持”与“允许改写”,不需要为每种任务更换主干。

例如,文本到动作把所有帧标成 [generate];指令编辑把所有帧标成 [edit];预测只把已观测前缀标成 [preserve]。 反向补全锁定后缀,帧间补全锁定两端,关键帧填充锁定稀疏时间位置,剩余位置按照是否有参考内容选择生成或编辑。 这不是给整个序列一个“补全任务”类别,而是直接暴露保留区域的时间位置,因此可以在同一接口内描述不同形状的时间掩码。

双人反应生成也使用编辑配置:把另一个人的动作作为源上下文,根据互动描述生成目标人物的反应。 这里的“编辑”含义是有参考内容的条件生成,并不要求输入与输出属于同一个人物;这种解释把跨身份协调接入了原本面向单人动作的接口。 不过,统一表示能描述新任务,不等于模型未经训练就能完成任意新任务。论文展示的是针对下游数据进行微调后的适配能力。

[preserve] 也不是执行硬复制的程序指令。UMO 通过学习理解保留意图,采样后不硬替换条件帧,所以保留帧仍可能存在非零关节误差。 因此,必须结合专门测量保留帧的指标判断模型是否真正读取了条件,而不能只看生成动作是否自然。

2. 统一语言条件:让语义与几何约束共用文字入口

逐帧标签只回答“保留还是生成”,具体生成什么由文字给出。原文表 1 设置四种提示模板:动作描述、编辑指令、参数化轨迹以及空间约束。 前三者分别可以表达完整动作、如何修改动作,以及直线、圆弧、正弦曲线或 Bézier 曲线的类型和参数。 轨迹以 type 与 params 字段序列化;障碍规避则写出起点、终点,以及每个障碍物的中心坐标和以米为单位的安全半径。

这样处理几何信息不是把每个坐标离散成一个新动作 token,也不是另外训练一个专用空间编码器,而是把结构化数值送进已有语言编码路径。 HY-Motion 原有文字条件由 Qwen3-8B 与 CLIP 编码器提供;UMO 不为编辑或几何任务另设专属条件模块。 微调需要让动作主干学会把这些原本陌生的语言特征映射为可执行的轨迹约束,因此它仍然依赖下游监督。

这个选择降低了接口扩展的成本:新的曲线类型可以通过新提示模板描述,而不必先修改主干架构。 但“模板可以扩展”只说明输入形式兼容,不证明未训练过的几何关系已经获得数值精确性;原文实验也显示优化式控制仍有更低轨迹误差。

3. 时间融合:在不增加序列长度的情况下保持逐帧对应

模型先把操作嵌入加到源动作上,再经过上下文 MLP 编码器。该编码器从 HY-Motion 的预训练输入编码器复制初始化,随后适配干净、带任务标记的动作上下文。 噪声动作则继续走原输入编码器,两路特征按时间位置逐元素相加,再进入 DiT 主干。用与正文文字描述等价的记号,这一步为:

\[ x'_t = E_{\mathrm{in}}(x_t) + E_{\mathrm{ctx}}\!\left(s + \operatorname{Emb}(\tau)\right). \]

这里 \(s\) 是源动作序列,\(\tau\) 是逐帧操作序列,\(x_t\) 是流匹配时间 \(t\) 对应的噪声动作。 这个融合没有把时间轴压缩成一个全局向量,也不把序列长度翻倍,因此既保留关键帧位置,又避免额外的大规模注意力计算。 后续生成仍使用 HY-Motion 的多模态 DiT;“不改主干架构”不应被误读成“主干权重始终冻结”。

论文用三个替代方案验证选择。序列拼接将上下文与噪声动作拼成 \(2T\) 个 token,并用非对称注意力掩码把上下文设为只读,但计算成本明显上升。 AdaLN 先把整段上下文池化成全局向量再调制网络,代价小,却丢失逐帧约束位置。 ControlNet 冻结主干并复制其双流块作为可训练分支,通过零初始化残差连接注入条件,额外参数量显著更大。 时间融合的优势不是结构更深,而是在最便宜的输入位置保留了任务所需的时间分辨率。

一个完整示例

考虑一段需要保留开头与结尾的行走动作,中间片段缺失;以下是接口示例,不是论文新增实验设置。 先把两端真实动作填入源序列并标为 [preserve],把缺失区域填零并标为 [generate],再提供目标行走描述。 上下文编码器读取“已知姿态加保留嵌入”和“零向量加生成嵌入”,与当前噪声特征逐帧融合;主干据此生成连接两端的连续动作。 随着流匹配采样推进,更新的是待生成动作状态,已给定的源动作和操作标签继续作为条件输入。 如果后来希望修改中间已有动作的风格,就把对应区域改为真实源动作加 [edit],并换成风格提示;不需要换另一个编辑网络。

损失函数 / 训练策略

UMO 沿用 rectified flow。高斯噪声为 \(x_0\),真实动作为 \(x_1\),中间状态与速度回归目标为:

\[ x_t=(1-t)x_0+t x_1,\qquad \mathcal{L}_{\mathrm{FM}}=\mathbb{E}_{t,x_0,x_1}\left\|v_\theta(x_t,c,t)-(x_1-x_0)\right\|_2^2. \]

其中 \(c\) 表示条件,\(t\in[0,1]\)。推理从 \(t=0\) 到 \(t=1\) 解速度场对应的常微分方程,条件接口让同一生成过程服务不同任务。 主干选用 460M 参数的 HY-Motion-Lite。训练使用 4 张 NVIDIA B200,batch size 为 256,学习率为 \(5\times10^{-5}\)。 UMO-Unified 在所有任务与数据集上联合训练 100k 步,UMO-Expert 在单个任务上训练 6k 步。 推理使用 50 步 Euler ODE 求解器和 2.0 的无分类器引导系数;所有评测在 NVIDIA A6000 上进行。 0.207M 指新增条件注入参数,而不是全部可训练参数。正文没有给出完整冻结清单、任务采样比例或额外损失权重,不能把它扩写为仅训练小适配器的方案。

实验关键数据

主实验

HumanML3D 用于文本到动作与时间补全,MotionFix 用于指令编辑,Inter-X 和 InterHuman 用于反应生成。轨迹控制与障碍规避各构建 2,000 条序列;缓存未提供补充材料中的具体构造与划分细节。

下表选自原文表 4,使用 MotionStreamer 官方评测器。FID 是分布距离,越低越好;R@3 是文本与动作检索的 top-3 命中比例,取值不是百分数形式;MM-D 衡量文本与动作特征距离,无物理单位。

方法 FID,越低越好 R@3,越高越好 MM-D,越低越好
MotionStreamer 11.790 0.859 16.08
HY-Motion 61.035 0.876 17.53
UMO-Expert 17.04 0.931 15.49
UMO-Unified 9.460 0.933 15.22

原文表 5 的时间补全改用 MotionLab 评测器,将生成结果从 30 fps 降到 20 fps 并转为 263 维表示,不能与表 4 的 FID 直接比较。统一模型在预测、反向补全、帧间补全、关键帧填充上的 FID 分别为 0.056、0.057、0.050、0.040。 MPJPE 是全序列平均每关节位置误差,[P]-MPJPE 只在标为 [preserve] 的帧上统计,两者单位均为 cm。关键帧填充中统一模型的两项误差分别为 2.67 cm 与 0.95 cm,并非零误差复制。

下表选自原文表 6 的 MotionFix generated-to-target 检索。Batch 在批内候选中检索,Full 在完整候选集中检索;R@3 明确以百分比报告,AvgR 是平均排名、越低越好。

方法 Batch R@3 (%) Full R@3 (%) Full AvgR
PartMotionEdit 90.21 53.36 16.24
UMO-Expert 100.0 91.31 1.76
UMO-Unified 100.0 91.51 1.75

消融实验

下表来自原文表 3 的关键帧填充架构消融。开销以 HY-Motion 为基准,在生成 360 帧、使用 50 步 Euler 求解器时测得;参数、FLOPs、时延单位分别为 M、G、s。 FID 使用转成 272 维表示后的 MotionStreamer 评测器;[P]-MPJPE 则将 30 fps 结果降到 20 fps 以对应表 5。因此,同为关键帧填充,表 3 与表 5 的 FID 也不能直接对照。

条件注入架构 [P]-MPJPE (cm) FID 新增参数 (M) 新增 FLOPs (G) 新增时延 (s)
ControlNet 5.19 6.520 234.2 85.12 0.49
AdaLN 11.1 8.860 4.400 1.660 0.02
Sequential Concat 2.04 11.77 0.207 198.6 0.89
Temporal Fusion 0.95 0.476 0.207 0.140 0.01

关键发现

  • 时间融合在架构消融中同时获得最低保留帧误差与最低 FID。AdaLN 的 R@3 反而最高,为 0.922,但其保留帧误差达 11.1 cm,说明语义命中不能代替条件忠实度。
  • 原文表 7 中,统一模型轨迹误差为 18.78 cm、平均推理时延为 0.759 s/样本;OmniControl 对应 17.89 cm 与 68.10 s。UMO 接近其精度且更快,但不应说精度更高。
  • 优化式 TLControl 的轨迹误差为 2.930 cm、时延为 3.243 s,表明速度与精度存在取舍。表 7 的成功率表头写 (%),UMO-Unified 单元格却为 0.95;这里保留原始值并提示单位歧义,不擅自认定为 0.95% 或 95%。
  • 原文表 8 的 InterHuman 反应生成中,统一模型 FID 为 2.055,优于 InterMask 的 2.990;但 R@1 为 0.431,低于 InterMask 的 0.462,因此并非所有指标都领先。

亮点与洞察

  • 最有复用价值的是把动作上下文拆成“内容”和“操作意图”。相同的输入姿态因此可以服务保留、修改或跨人物反应,不必把任务差异全部隐藏在网络结构里。
  • 条件注入的位置比参数规模更关键。需要逐帧约束时,全局池化会丢信息,长序列拼接又增加成本,输入级对齐相加提供了很直接的替代方案。
  • 结构化文字让几何控制接入现成语言编码器。实验支持这种接口可以经过微调学会使用,却不足以单独证明语言编码器预训练中已完整具备几何推理能力。

局限与展望

  • 作者指出三种元操作都是整身、逐帧粒度,尚不支持身体部位级控制;当前方法也不处理音乐或语音等音频条件。
  • 笔记观察:统一模型训练 100k 步、专家模型训练 6k 步,数据覆盖也不同,联合训练优势不能完全归因于任务协同,仍需匹配训练预算的对照。
  • 笔记观察:学习式保留不保证精确满足关键帧,几何控制也不是高精度优化的替代品。可进一步研究部位级操作、硬约束校正与组合任务评测,但这些不是本文已实现的组件。
  • 补充材料未在缓存中,无法从现有正文核实任务掩码比例、几何数据划分及更多消融;“任意新任务”应理解为接口可表达,而非已验证的无限泛化。

相关工作与启发

  • vs HY-Motion:继承其文本到动作生成先验,再通过操作嵌入和时间融合学习上下文条件;基础模型不是直接零样本完成所有下游任务。
  • vs MotionLab / CondMDI:这些是统一动作任务或时间补全的重要参照。UMO 强调复用更大规模预训练先验,并以学习式保留而非硬替换处理条件帧。
  • vs ControlNet / AdaLN:条件控制不能只比参数量或检索指标,还应检查信息是否保留在任务真正需要的时间分辨率上。
  • vs InterMask:单人动作先验能迁移到反应生成,但更好的动作分布距离并不自动意味着更好的文本对齐,应并列报告两类指标。

评分

  • 新颖性: 4/5。逐帧操作与统一条件接口简洁,主要贡献是对强动作先验的系统性适配。
  • 实验充分度: 4/5。覆盖多类任务与架构消融,但训练预算不一致且部分复现细节在未提供的补充材料中。
  • 写作质量: 4/5。任务实例化和架构对照清晰,成功率单位及部分泛化表述需要谨慎阅读。
  • 价值: 4/5。为已有动作基础模型增加统一可控接口提供了可复用设计。