MoMask

MoMask 用于 根据文本生成3D人体动作

核心思想

"mask建模(类似BERT填空)"来生成动作

👉 用"填空"的方式生成动作,而不是一步一步写(GPT)

用了一种分层的离散表示方法:把动作表示成 多层 token

第1层:粗动作、第2层:细节、第3层:更细节

如何分层

1️⃣ 先做基础层:用 VQ(向量量化)

得到 t0(基础token)

2️⃣ 然后做残差层:

每一层都做:误差 = 原始 - 已有表示,然后把误差再编码成 token:

t1(补误差)
t2(再补误差)
...

👉 后面的层是在"修正前面的误差"


两个Transformer

接下来用两个ransformer,而且是 双向的(像BERT)

分别是:

  • Masked Transformer(生成基础层)
  • Residual Transformer(补细节)

Masked Transformer训练

训练时:

  • 随机mask一些动作token
  • 输入文本(比如"向前走")
  • 让模型去预测被mask的token

如:walk [MASK] turn

👉 模型学会填空


生成阶段

1️⃣ 一开始:

MASK, MASK, MASK, ...

2️⃣ 然后:

一轮一轮"填空" ,预测 → 保留高信心 → 其余的mask → 再预测

从全空白 → 反复填 → 得到完整动作

Residual Transformer

在基础动作生成后,用另一个模型来:

t0 → 预测 t1 → 预测 t2 → ...

每一层在上一层基础上补细节

Masked Transformer反复填,Residual Transformer逐层补细节

阶段1:生成"骨架"(t0) → 用 Masked Transformer(反复填)
阶段2:加"细节"(t1, t2...) → 用 Residual Transformer(逐层补)

1️⃣ MoMask 用"mask填空"的方式生成动作(不是GPT那种顺序生成)

2️⃣ 它把动作表示成"多层token"(粗 → 细)

3️⃣ 先生成基础动作,再逐层补细节

4️⃣ 又快又精细,比之前方法效果更好

相关推荐
-cywen-4 天前
T2M-GPT
动作生成
-cywen-4 天前
TEMOS
动作生成