ReMoGen: Real-time Human Interaction-to-Reaction Generation via Modular Learning from Diverse Data¶
会议: CVPR 2026
arXiv: 2604.01082
代码: 无
领域: 人体运动生成 / 人体理解 / 交互动作生成
关键词: 交互反应生成, 模块化学习, 运动先验, 实时生成, 人人/人场景交互
一句话总结¶
提出 ReMoGen,一个模块化框架用于实时人体交互-到-反应的动作生成:利用大规模单人运动数据学习通用运动先验(冻结),通过独立训练的 Meta-Interaction 模块适配不同交互域(人-人/人-场景),并引入 Frame-wise Segment Refinement 实现逐帧低延迟在线更新(0.047s/帧),在 Inter-X 和 LINGO 数据集上全面超越 SOTA。
研究背景与动机¶
- 领域现状:人体动作生成已从文本驱动单人动作发展到多智能体交互场景。现有方法包括:文本到动作(T2M、MotionDiffuse)只生成孤立动作;人-场景交互(TRUMANS、LINGO)引入空间感知但限于单人;人-人交互(ReGenNet、FreeMotion)尝试联合生成但多为离线模式。
- 现有痛点:
- 数据稀缺且异构:单人运动数据丰富(HumanML3D),但人-人交互(Inter-X)和人-场景交互(LINGO)数据稀少且分布差异大,端到端训练在单一域上过拟合
- 实时响应性:扩散模型质量高但延迟大无法实时;自回归模型速度快但误差累积导致漂移
- 现有方法大多假设完全观测到对方的完整轨迹,在实际在线交互中不可行
- 核心矛盾:如何在数据稀缺条件下同时实现高保真度和低延迟的交互反应生成
- 本文目标:(1) 跨异构交互域的高效知识迁移;(2) 在不牺牲动作质量的前提下实现实时响应
- 切入角度:将通用运动先验学习与交互特定适配解耦——冻结在大量单人数据上预训练的 backbone,通过轻量模块注入交互感知
- 核心 idea:先验引导的模块化学习 + 帧级段内细化,前者解决数据异构性,后者解决实时性
方法详解¶
整体框架¶
输入为文本意图、其他智能体的观测动作和场景上下文。ReMoGen 包含三个组件:(1) 冻结的文本条件单人运动先验(在 HumanML3D 上预训练的 VAE + 潜在扩散模型);(2) Meta-Interaction 模块(分别为 HHI 和 HSI 独立训练的适配器);(3) 帧级段内细化(Frame-wise Segment Refinement,FWSR,轻量逐帧修正模块)。生成方式为段级自回归:在历史窗口 \(M_h^i \in \mathbb{R}^{H \times D}\) 和文本 \(W\) 条件下预测未来段 \(\hat{M}_f^i \in \mathbb{R}^{F \times D}\)(H=2帧历史,F=8帧未来)。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["输入:文本意图 + 对方观测动作 + 场景上下文"] --> B["通用运动先验(冻结)<br/>HumanML3D 预训练 VAE + 潜在扩散,10 步去噪"]
A --> C["Meta-Interaction 模块<br/>Others Encoder(TCN) + Scene Encoder(ViT)"]
C -->|"FiLM 仿射调制 (γ, β)"| B
B --> D["段级自回归生成<br/>一次预测未来 8 帧段"]
D --> E["帧级段内细化 FWSR<br/>轻量 Block 用最新观测对每帧潜在 z0 微调"]
E -->|"取该帧结果,更新历史缓冲滑到下一帧"| E
E --> F["输出:实时反应动作(0.047s/帧)"]
关键设计¶
1. 通用运动先验:冻结大规模单人数据学到的运动底座,别让交互训练把它毁了
交互数据(Inter-X 的人-人、LINGO 的人-场景)又少又分布各异,如果端到端在单一域上训练,模型很快就在那个小域上过拟合、丢掉通用的运动学常识。ReMoGen 的对策是先在海量单人数据 HumanML3D 上把一个强先验训出来再冻住:沿用 DART 架构,用 Transformer VAE 把一个动作段压成潜在表示 \(z\),再让条件扩散去噪器 \(G_\psi\) 在文本嵌入 \(w\) 和历史窗口条件下迭代去噪、解码回动作(10 步扩散,10 FPS):
冻结这一点是整篇方法的支点——消融里把先验一起联合微调(Joint-Finetune)反而把 FID 从 0.181 拖到 0.298,说明交互训练会侵蚀预训练学到的运动学知识,宁可不动它、只在外面加东西。
2. Meta-Interaction 模块:把"对方在做什么、场景长什么样"注入冻结的先验
先验本身只会生成单人动作,对交互一无所知,所以需要一条旁路把交互线索喂进去而不改先验参数。模块用两个独立编码器分头读交互上下文:Others Encoder(TCN)从对方轨迹里提相对速度、接近方向和空间关系,Scene Encoder(ViT)总结周围几何与可用的功能空间。注入发生在 Meta-Interaction Block 里——先对 ego 特征做 self-attention 得到 \(h'\),再让它对交互线索做 cross-attention 抽出交互信号,最后把信号转成 FiLM 式的仿射参数 \((\gamma, \beta)\) 去调制特征:
这种"只做特征级仿射、不碰原模型权重"的注入方式,让每个域的模块可以各自独立训练(HHI 在 Inter-X、HSI 在 LINGO,各 65k 迭代),绕开了异构数据放一起联合训练的难题;推理时再用 \(\Delta_{total} = \sum_i \alpha_i \Delta_i\)(带 L2-norm clamp)把多个模块的效果加权混合,于是同一框架天然能处理混合交互场景。
3. 帧级段内细化(FWSR):在段级生成之上再叠一层逐帧微调,把延迟压到实时
段级自回归有个固有的延迟-质量取舍:一次预测的段越长动力学越稳但响应越慢,段越短反应越快却容易抖动。FWSR 的做法是保留段级生成的长段质量,但在段内的每一帧再用一个轻量版 Meta-Interaction Block 对该段的初始潜在 \(z_0\) 做一次微调,把刚观测到的最新交互线索结合进来:
每帧只取对应位置的预测结果、更新历史缓冲后再处理下一帧。这样大 backbone 负责稳定的长期动力学,轻量适配器负责快速的细粒度反应,分工明确;FWSR 训练时把先验和 Meta-Interaction 都冻住,保证它只做局部修正、不会反过来扰动已经学好的全局运动结构。
一个完整示例:在线生成第 f 帧反应¶
设两人正在交互,ego 角色要根据对方的实时动作做出反应。系统先按段级自回归走主干:在 H=2 帧历史 \(M_h^i\) 和文本意图 \(W\) 条件下,冻结的运动先验经 10 步扩散预测出未来 F=8 帧的段 \(\hat{M}_f^i\),Meta-Interaction 模块在这一步通过 FiLM 调制把"对方靠近的方向/速度"注入进来——于是先验生成的不再是凭空的单人动作,而是带着交互倾向的反应段。
接着到了实时细化:当真正播放到段内第 f 帧时,对方又往前走了一点,新的观测 \(X_{dyn}^{(f)}\) 到手。FWSR 不重跑整段扩散,只用轻量 Block 对初始潜在 \(z_0\) 做一次 \(\hat{z}^f = \text{Modulate}(z_0, \text{concat}(M_h^{(f-1)}, X_{dyn}^{(f)}))\),取出第 f 帧的细化结果、写回历史缓冲,再滑到第 f+1 帧。整条链路单帧只花 0.047s(远低于 0.1s 实时阈值),却把 FID 从纯段级的 0.181 降到 0.166——既享受了大 backbone 的长期稳定,又拿到了逐帧观测带来的响应性。
损失函数 / 训练策略¶
- 分阶段训练:先验在 HumanML3D 上预训练 → Meta-Interaction 模块各自独立训练 65k 迭代(冻结先验) → FWSR 再训练 65k 步(冻结先验和 Meta-Interaction)
- 训练目标:重建损失 \(L_{rec}\)、潜在空间损失 \(L_{latent}\)、辅助时间增量损失 \(L_{aux}\)
- 优化器:AdamW (lr=1e-4),batch size 1024,梯度裁剪 1.0,EMA 0.999
- 单卡 NVIDIA RTX 3090 即可训练
实验关键数据¶
主实验¶
人-人交互 (Inter-X)
| 方法 | FID ↓ | R-Prec.(Top3) ↑ | MM Dist. ↓ | Latency (s/frame) ↓ |
|---|---|---|---|---|
| ReGenNet | 11.622 | 0.269 | 6.092 | 0.210 |
| FreeMotion | 3.383 | 0.284 | 5.438 | 0.221 |
| SymBridge | 2.569 | 0.355 | 4.955 | 0.040 |
| Ours | 0.181 | 0.464 | 4.076 | 0.042 |
| Ours+FWSR | 0.166 | 0.462 | 4.076 | 0.047 |
人-场景交互 (LINGO)
| 方法 | FID ↓ | R-Prec.(Top3) ↑ | MM Dist. ↓ | Latency ↓ |
|---|---|---|---|---|
| TRUMANS | 4.731 | 0.178 | 10.822 | 0.074 |
| LINGO | 3.633 | 0.218 | 9.597 | 0.189 |
| Ours | 1.201 | 0.530 | 3.408 | 0.042 |
消融实验¶
运动先验使用方式消融 (Inter-X)
| 配置 | FID ↓ | R-Prec. ↑ | MM Dist. ↓ |
|---|---|---|---|
| 仅先验 (Prior Only) | 3.735 | 0.231 | 5.736 |
| 从零训练 (No Prior) | 0.270 | 0.412 | 4.385 |
| 联合微调 (Joint-Finetune) | 0.298 | 0.439 | 4.188 |
| 本方法 (冻结先验+模块) | 0.181 | 0.464 | 4.076 |
FWSR 消融
| 配置 | FID ↓ | Latency ↓ |
|---|---|---|
| 段级自回归 (Seg.) | 0.181 | 0.042 |
| 逐帧滑动 (Slide) | 4.136 | 0.305 |
| 段级 + FWSR | 0.166 | 0.047 |
关键发现¶
- 冻结先验 + 模块化适配远优于联合微调:FID 0.181 vs 0.298,联合微调会侵蚀预训练的运动学知识
- FWSR 以极低的额外延迟(0.042→0.047)换取了显著的质量提升(FID 0.181→0.166)
- 零样本组合泛化:在 EgoBody 上直接组合 HHI 和 HSI 模块(\(\alpha_{HHI}=\alpha_{HSI}=0.5\)),虽然不如微调但已优于零样本单模块
- 用先验初始化后仅 2k-10k 步微调就超过从零训练 500k 步(EgoBody),证明先验迁移的强大效率
- 实时阈值 0.1s/帧轻松满足(0.042-0.047s/帧),ReGenNet 和 FreeMotion 均不达标
亮点与洞察¶
- 模块化解耦的设计哲学非常优雅:先验提供基础运动能力,Meta-Interaction 提供交互感知,FWSR 提供实时响应性,三者正交可分别优化。这种设计可以迁移到任何需要在数据稀缺条件下适配的生成任务。
- FiLM 调制的 Meta-Interaction Block 为运动生成领域的 adapter 设计提供了良好范式——不修改原模型参数,仅通过特征级仿射变换注入条件信号。
- 组合推理(多模块加权混合)的设计让框架天然支持混合交互场景,无需重新训练。
局限与展望¶
- 目前仅支持两人交互和简单场景交互,未涉及多人群体交互
- Meta-Interaction 模块的组合权重 \(\alpha_i\) 需要手动设定,可以探索自适应学习
- 场景编码用体素化 3D 占据表示,对精细物体交互(如操作桌上物品)可能不够精确
- 未处理手部精细交互(如握手、递物品)
- FWSR 的逐帧修正可能在剧烈动作变化时反应不足
相关工作与启发¶
- vs SymBridge: 同为实时交互方法,SymBridge 专注人-机器人交互但 FID 较高(2.569 vs 0.181),ReMoGen 通过更强的运动先验大幅提升质量
- vs FreeMotion: FreeMotion 的非实时版本(offline)FID 仅 0.492,但延迟不可接受;ReMoGen 在实时条件下达到更优 FID(0.166)
- vs ControlNet/LoRA 范式: ReMoGen 将图像生成中的 adapter 设计模式成功迁移到运动生成,FiLM 调制替代了 ControlNet 的加法注入
评分¶
- 新颖性: ⭐⭐⭐⭐ 先验冻结+模块适配+帧级细化的三层设计清晰创新,但单个组件(FiLM、段级自回归)是已有技术
- 实验充分度: ⭐⭐⭐⭐⭐ HHI/HSI/混合三场景、详细消融(先验使用方式、FWSR效果)、EgoBody 迁移实验全面
- 写作质量: ⭐⭐⭐⭐ 问题定义清晰,四个研究问题的设置很好地组织了实验
- 价值: ⭐⭐⭐⭐ 实时交互反应生成是一个重要但被忽视的问题,本框架提供了可扩展的解决方案