Motion-Streamer

/ 0评 / 0

Introduction

Background

Related Work

Contribution

Motion-Streamer 实现了可在线响应的流式生成,可以像人类听指令做动作一样,一边接收不断输入的文本,一边实时、平滑地生成连贯的动作序列。只要有持续的文本输入,就能一直生成下去。 除此之外,也适用于动态动作组合,即后续动作可以通过改变文本条件来重新生成,同时保留最初生成的前缀动作。

Method

0. Formulation

1. Casual TAE

因果性

通过 1D 因果卷积,确保模型在编码和解码当前帧时,不会“偷看”未来帧,这种严格的时间因果依赖是实现在线实时解码的基础。

$pad = (k_t - 1) * d_t + (1 - s_t)$

通过只在序列左侧填充 padding,切断了信息向后流动,即计算第 $t$帧的特征不会用到第 $t$ 帧后的信息。

连续性

动作本质上是连续的物理量,作者坚持用连续的潜变量而不是离散 Token,这能减少量化带来的信息损失,缓解误差累积。

$X = {x_1, x_2, …, x_N} \qquad x_t \in R^D(D = 272)$

编码器处理$X$后,先输出服从高斯分布的参数集合${ \mu{1:N/l}, \sigma{1:N/l}^2 }$, 再通过重参数化技巧、采样得到连续的动作潜变量$Z = {z_1, z2, … , Z{N/l}}$。 其中$z_i \in R^{d_c}$,潜空间维度被压缩到了$d_c=16$ ,并且在时间维度上进行了下采样$l=4$ 。

训练

$\mathcal{L} = \mathcal{L}{recon} + D{KL}(q(z|x)||p(z)) + \lambda\mathcal{L}_{root}$

image.png

2. Diffusion-based AR Model

训练

$S_i = [T_i, C_i, Z_i]\qquad (T_i \in R^{1d_t}, C_i \in R^{k, d_c}, Z_i \in R^{n d_c})$

序列$S_i$首先由 Transformer 处理,并应用因果掩码确保时间因果性,得到(训练时是并行的)中间潜在变量$c_i^1, …, c_i^n$(数量和$Z_i$相同)。接着将这些中间特征作为条件输入一个非常小的扩散头(MLP),预测出最终的连续动作潜变量$\hat{Z}_i$。

$\mathcal{L} = \mathbb{E}{\epsilon, t} [||\epsilon - \epsilon\theta(Z_t | t, C_i, T_i)||^2]$

PS:预测噪声和直接预测原始数据在数学期望上是等价的,并且预测噪声能让训练过程更稳定,且最终生成的数据更具有多样性,其本质是在学习数据分布的梯度

推理

首先将第一个文本嵌入$T_1$输入 AR 生成器,以生成第一个预测的运动潜在序列$\hat{Z}_1=\hat{z}_1, …, \hat{z}_n$(具体来说,先生成一个完全随机的纯噪声向量$Z_T \sim \mathcal{N}(0, I)$,接着扩散头结合条件$c$逐步预测并去除当前步的噪声$\epsilon$,最终得到$\hat{Z}$),接着立即交给 TAE 在线解码,输出最终的运动帧。如果当前预测的运动潜在变量$zi$与参考结束潜在变量$z{imp}$之间的距离低于阈值,当前运动序列的生成就会停止,此时$n=i$。(先前的方法应用二元分类器来预测是否停止生成,但无法学习到正确的停止条件)

接着将下一个文本嵌入$T_2$替换掉$T_1$,已生成的运动潜在序列$\hat{Z}_1$被附加到$T_2$末尾,作为下一个自回归步骤输入的上下文潜在变量。预测出$\hat{Z}_2$后,用$T_3$替换掉$T_2$,$\hat{Z}_2$替换掉$\hat{Z}_1$,再进行下一个序列的预测,以此重复……

image.png

3. Two-Forward Training

自回归模型在训练时总是看真实的上一帧,但推理时只能看自己生成的上一帧,一旦前期生成错了一点,后面的预测仍会出现累计误差

Experiment

Baseline

数据集

image.png

image.png

Ablation

image.png

Thought

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注