LaMoGen: Language to Motion Generation Through LLM-Guided Symbolic Inference¶
会议: CVPR 2026
arXiv: 2603.11605
代码: 有 (项目页)
领域: 人体理解
关键词: 文本驱动动作生成, Labanotation, 符号推理, LLM Agent, 可解释动作合成
一句话总结¶
提出 LabanLite 符号动作表示和 LaMoGen 框架,首次让 LLM 通过可解释的 Laban 符号推理自主组合动作序列,在时序精度和可控性上超越传统文本-动作联合嵌入方法。
研究背景与动机¶
领域现状:文本驱动人体动作生成(Text-to-Motion)近年取得显著进展,主流方法依赖文本-动作联合嵌入空间(joint embedding),通过扩散模型或自回归 Transformer 生成动作序列。代表工作包括 MDM、ReMoDiff、MoDiff、CoMo、MotionGPT 等。
现有痛点:基于联合嵌入的方法在处理时序精确性和细粒度语义时表现不佳。例如指令 "Walk forward in 5 steps and then walk backward in 3 steps",现有方法往往生成笼统的"步行前进"动作,无法准确反映步数和动作先后顺序。此外,这些方法缺乏可解释性——生成结果是黑盒输出,用户无法理解或编辑中间过程。
核心矛盾:语言描述的高层语义结构性(含明确的身体部位、方向、时序、次数)与动作嵌入空间的连续性、不可解释性之间的鸿沟。已有尝试将文本分解为身体部位级 token(如 CoMo 的 Posescript),但这些表示仅编码静态姿态,缺乏对动作过渡过程和时序的表达能力。
本文目标:如何建立一个可解释、可编辑的中间符号表示,使得 LLM 能通过符号推理自主组合动作序列,同时保证生成动作在时序、身体部位协调性和语言对齐上的精确性。
切入角度:从舞蹈记谱法 Labanotation 体系获得启发——该系统以符号方式编码身体部位、方向、层级、持续时间等运动属性,天然具备可解释性和结构化特征。作者据此设计 LabanLite 作为连接语言与动作的"符号桥梁"。
核心 idea:将复杂动作分解为 Laban 符号序列,让 LLM 在符号空间中推理和组合动作计划,再由解码器将符号还原为连续动作轨迹。
方法详解¶
整体框架¶
LaMoGen 想解决的核心问题是:让 LLM 不靠微调、不碰连续动作嵌入,就能"读懂"并组合人体动作。它的做法是在语言和动作之间插一层可解释的符号——LabanLite,把生成拆成 Text → LabanLite → Motion 两阶段。第一阶段是高层语义规划:LLM 借助检索到的相似动作样例,把用户的文本指令翻译成一串概念性的 Laban 符号("哪个身体部位、朝什么方向、用几秒")。第二阶段是底层运动合成:一个运动学细节增强器(Kinematic Detail Augmentor)把这串只含主干结构的概念符号自回归地补全成完整的 LabanLite 编码(加上朝向、弯曲、力度等细节),最后由 Laban-Motion 解码器(Laban-Motion Decoder)还原成连续动作轨迹。
支撑这条流水线的是两套部件:一套 Laban-Motion 编码-解码器(Laban-Motion Encoder-Decoder) 负责动作↔符号的双向转换(训练时也靠它从真实动作里反推出符号标注),一套 LLM 引导的生成模块 负责符号的检索、组合与细节补全。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["用户文本指令"] --> B["LLM 引导的概念组合<br/>CLIP 检索 Top-3 样例 → LLM 拼接"]
DB[("概念描述数据库")] -->|in-context 样例| B
B -->|概念性 Laban 符号| D["运动学细节增强器<br/>自回归补朝向 / 弯曲 / 力度"]
D --> E["完整 LabanLite 编码<br/>帧级概念符号 + 细节符号"]
E --> F["Laban-Motion 解码器<br/>Laban Codebook 嵌入加性叠加"]
F --> G["连续动作序列"]
M["真实动作(训练)"] --> H["自动 Laban 符号检测<br/>区间分割 → 帧级提取 → 区间聚合"]
H --> DB
H -->|动作-符号配对训练| F
关键设计¶
1. LabanLite:把舞谱符号改造成 LLM 读得懂的帧级表示
痛点在于,原版 Labanotation 是给人看的事件级舞谱,既不规整也不好喂给模型;而 CoMo 那类 pose code 又只编码静态姿态,丢了动作的过渡和时序。LabanLite 对它做了三项改造。其一是把符号分成两层——概念性符号只管主干运动结构(方向、层级变化),细节符号管精细属性(弯曲角度之类),这样 LLM 只需面对与自然语言高度对齐的概念层,繁琐细节交给后面的 Augmentor。其二是把事件级标注改成帧级标注,每帧对应一个 Laban 实例,天然适配自回归的 ML 模型。其三是给每个概念符号配一段固定格式的概念描述,形如 <body-part group> <moving semantic> in <time> seconds,让符号和文本之间能无歧义地互译。
2. Laban Codebook:用加性组合而非单选 token 来逼近连续动作
动作是连续的,符号是离散的,怎么用离散符号拼出连续变化?LaMoGen 把所有出现过的帧级 Laban 实例各分配一个 Laban code,汇成一个 Codebook \(C=\{c_n\}_{n=1}^{N}\)。编码某一帧时,用一个二元指示向量 \(v_t\) 标出这帧激活了哪些条目,再把这些条目的嵌入直接相加得到该帧的 latent:
解码器是一个 Transformer,从 latent 序列重建出动作。关键区别在于这里和 VQ-VAE 的"每帧选一个最近 token"不同——它允许同时激活多个条目再线性叠加,于是能从一小撮简单符号的组合里近似出复杂、连续的运动,而不会被单一码字的离散边界卡住。
3. 自动 Laban 符号检测:按专业舞谱阈值把动作反标成符号
要训练编解码器和搭 benchmark,得先有大量"动作 + 对应符号"的配对,纯靠人标不现实。作者设计了一条三步流水线自动从连续动作里抽符号:先做动态区间分割,把每帧判为运动或静止,按原子动作切段;再做帧级符号提取,用末端执行器相对骨盆的 3D 位移算出方向和层级,用欧拉角算朝向和弯曲,用骨盆速度量化运动力度;最后做区间级聚合,给每段时间分配一组有代表性的符号。之所以可信,是因为每一步的离散化阈值都直接沿用 Labanotation 文献里被专业人士认可的标准,而不是随手拍的分界。
4. LLM 引导的概念组合:靠 RAG 让 LLM 零微调地用 Laban 符号"造句"
LLM 没见过 Laban 符号体系,直接问它必然乱答。LaMoGen 不去微调模型,而是维护一个概念描述数据库,存的是 motion caption → conceptual description 的键值对。推理时先用 CLIP 算用户文本和库里 caption 的语义相似度,检索出 Top-K 条最像的样例当 in-context examples 塞给 LLM;LLM 照着这些范例,推断用户指令对应什么样的符号动作模式,再编辑、拼接出新的概念描述。因为概念描述是固定格式,LLM 的输出能被无歧义地映射回 Laban 符号——这也是为什么不微调也能用的关键。
5. 运动学细节增强器:补回 LLM 缺失的时序细节
LLM 擅长规划主干,但对"每一帧朝向偏多少、弯多少、用多大力"这种时序细节力不从心,而这些恰恰是细节符号的内容。Augmentor 专门补这一层:它以文本 \(m\) 和已掩码的概念向量 \(\hat{v}_{1:t-1}\) 为条件,自回归地预测每帧完整的二元指示向量 \(v_t\),把 codebook 里相应的概念和细节条目都激活。训练时对概念向量做随机掩码(实验中 masking ratio = 0.3 最优),逼模型别过度依赖现成的概念线索、自己学会推断细节。经它补全,符号序列的信息量约增加 60%。
一个完整示例:生成 "Walk forward in 5 steps and then walk backward in 3 steps"¶
⚠️ 流程为结合方法描述的复盘示例,具体中间数值以原文为准。
这条指令正是传统联合嵌入方法会做砸的典型——它们往往只生成笼统的"向前走",丢掉步数和先后顺序。看 LaMoGen 怎么逐级把它做对:
- 检索(RAG):CLIP 把这句话和概念描述数据库里的 caption 比相似度,取回 Top-3 最像的样例(如"向前走若干步""转身往回走"对应的概念描述),作为 in-context examples。
- LLM 概念组合:LLM 照着样例,把指令拆成两段概念性 Laban 符号——前一段是下肢"向前、低层、约 5 步时长"的概念描述,后一段是下肢"向后、约 3 步时长"的概念描述,并把先后顺序在时间轴上排好。
- 细节增强:Augmentor 接过这串只有主干的概念符号,自回归补出每帧的朝向、弯曲、力度等细节符号,得到完整的 LabanLite 编码。
- 解码:Laban-Motion Decoder 把 LabanLite 编码经 codebook 嵌入叠加成 latent 序列,重建出连续动作——前 5 步前进、后 3 步后退,步数和时序都对得上。
整条链路里,符号始终是人类可读、可审查的:如果 LLM 把步数排错,能在第 2 步的概念描述上直接看出来并改掉,而不是面对一团黑盒的连续嵌入。
损失函数 / 训练策略¶
- Codebook 训练:联合优化解码器参数 \(\theta\) 和 codebook \(C\),最小化重建损失 \(\mathcal{L}_{rec} = \|X - \hat{X}\|_1 + \lambda\|\dot{X} - \dot{\hat{X}}\|_1\)(姿态 L1 + 速度 L1)
- Augmentor 训练:二元交叉熵损失 \(\mathcal{L}_{gen} = -\sum_{t,n}[v_t^n \log p_t^n + (1-v_t^n)\log(1-p_t^n)]\),预测每帧每个 codebook 条目的激活概率
- End-of-sequence:追加
<EOS>token,codebook 扩展为 \(N+1\) 条目,标记动作终止
实验关键数据¶
主实验¶
表1:Laban Benchmark 上的定量比较(Labanotation-based 指标 + R@3 / FID)
| 方法 | avg.SMT↑ | avg.TMP↑ | avg.HMN↑ | R@3↑ | FID↓ |
|---|---|---|---|---|---|
| MDM | 0.338 | 0.298 | 0.201 | 0.180 | 22.81 |
| ReMoDiff | 0.441 | 0.365 | 0.265 | 0.192 | 7.121 |
| MoDiff | 0.466 | 0.366 | 0.274 | 0.196 | 5.701 |
| CoMo | 0.393 | 0.239 | 0.251 | 0.176 | 21.94 |
| MotionGPT | 0.461 | 0.347 | 0.307 | 0.195 | 2.072 |
| LaMoGen (GPT4.1) | 0.534 | 0.502 | 0.393 | 0.208 | 1.861 |
| LaMoGen (Human) | 0.626 | 0.628 | 0.462 | 0.211 | 1.769 |
表2:HumanML3D 标准 benchmark 上的比较
| 方法 | R@1↑ | R@3↑ | FID↓ | MM-Dist↓ | Diversity→ |
|---|---|---|---|---|---|
| Real data | 0.511 | 0.797 | 0.002 | 2.974 | 9.503 |
| ReMoDiff | 0.510 | 0.795 | 0.103 | 2.974 | 9.018 |
| CoMo | 0.502 | 0.790 | 0.262 | 3.032 | 9.936 |
| MotionGPT | 0.492 | 0.778 | 0.232 | 3.096 | 9.528 |
| LaMoGen (GPT4.1) | 0.491 | 0.796 | 0.252 | 3.087 | 9.124 |
| LaMoGen (Human) | 0.513 | 0.813 | 0.206 | 2.993 | 9.635 |
消融实验¶
LLM 能力影响:更强的 LLM 带来更好的生成质量。GPT-4.1 > DeepSeek-V3 > Qwen3 > GPT-4.1mini > None(无 LLM),体现在 Laban 指标和 FID 上的一致性提升。
检索示例数量:在 HumanML3D 上用 GPT-4.1 测试 Top-K 检索。K=1→3 性能持续提升(LLM 需要足够示例进行模仿);K=5 或 7 无进一步提升(上下文窗口过长导致 LLM 遗忘关键线索)。默认使用 Top-3。
掩码比例:Augmentor 训练中对概念符号的随机掩码比例实验。0.3 为最优平衡点——过低则过度依赖概念线索(泛化差),过高则概念引导信号不足。
Laban 符号检测精度(Table 3):
| 方法 | avg.SMT↑ | avg.TMP↑ | avg.HMN↑ |
|---|---|---|---|
| Ikeuchi et al. | 0.751 | 0.632 | 0.611 |
| Ours | 0.871 | 0.852 | 0.786 |
关键发现¶
- 符号推理显著优于联合嵌入:在 Laban Benchmark 上,LaMoGen (GPT4.1) 的 SMT/TMP/HMN 指标全面超越所有基于联合嵌入的方法,证明符号推理在时序精度和身体部位协调性上的优势
- MotionGPT 在结构化指令理解上的意外表现:虽然在传统 benchmark 上表现一般,但 MotionGPT 在 Laban Benchmark 上超过 CoMo,说明传统指标无法有效区分动作生成方法的真实能力
- FID 的局限性:LaMoGen 的 FID 略逊于部分方法,原因是 LabanLite 的高层抽象对同一语义下的低层变化(如不同人举手速度差异)使用相同符号,这是符号表示固有的表达力限制
- Human composer 上限:使用真实标注的概念符号(Human)比 LLM composer 效果更好,说明 LLM 符号组合能力仍有提升空间
亮点与洞察¶
- 首个 LLM 自主动作生成框架:LaMoGen 是第一个让 LLM 无需微调、通过符号推理自主组合动作的框架,开辟了 Agent-based 动作生成的新范式
- 符号表示的双重优势:LabanLite 既让 LLM 能"理解"动作(通过概念描述),又让人类专家能直接审查和编辑中间结果
- 评测贡献:提出 SMT/TMP/HMN 三个 Laban 指标,填补了现有评测在时序精度和多部位协调性上的空白
- 层次化设计思想:概念/细节分离 + LLM/Augmentor 分工的两阶段架构,是一种优雅的"各司其职"设计
局限与展望¶
- LabanLite 表达力上限:符号的离散化不可避免地丢失低层运动细节,导致 FID 偏高。未来可考虑引入连续属性字段或残差补偿机制
- LLM 依赖:框架性能受 LLM 能力制约(弱 LLM 符号组合质量明显下降),且推理需调用 API,增加延迟和成本
- 数据集局限:Laban Benchmark 以步行类动作为主,对更复杂的全身动作(如舞蹈、体操)的评估覆盖不足
- Laban 符号集固定:为保持专业性限制在传统 Labanotation 符号集,可能限制了对新兴动作类型的描述能力
- 检索依赖:RAG 策略的效果取决于 Conceptual Description Database 的覆盖度,对于训练集未见过的动作模式可能表现受限
相关工作与启发¶
- CoMo (ECCV 2024):用 Posescript 将动作分解为身体部位级 pose code,但仅编码静态姿态缺乏时序表达。LaMoGen 的 Laban 符号同时编码起始/结束姿态和过渡过程,语义更完整
- MotionGPT (NeurIPS 2024):对 LLM 进行微调使其处理动作 token。LaMoGen 不需微调 LLM,而是通过 RAG 让 LLM 在符号空间工作
- KP (Kinematic Phrase):启发式抽象动作信号,但限于低层信号。LabanLite 提供了专业级别的高层抽象
- 启发:符号中间表示 + LLM 推理的范式可推广到其他跨模态生成任务(如音乐→舞蹈、文本→手语),关键在于找到目标模态的结构化符号体系
评分¶
⭐⭐⭐⭐ — 将 Labanotation 引入 LLM 动作生成是一个巧妙且有说服力的创新,符号推理路线为可解释可控动作生成开辟了新方向;Laban Benchmark 的评测贡献也很扎实。但 FID 偏高和 LLM 依赖是需要后续工作解决的实际瓶颈。