浙大提出MotionStreamer:连续因果潜在空间+自回归模型,流式运动生成误差直降80%!

🌐 社群导航

🔗 点击加入➡️【AIGC/LLM/MLLM/3D/自动驾驶】 技术交流群

🔗 点击加入➡️【2-3月CCF投稿】交流群

最新论文解读系列

论文名:MotionStreamer: Streaming Motion Generation via Diffusion-based Autoregressive Model in Causal Latent Space    

论文链接:https://arxiv.org/pdf/2503.15451 

项目链接:https://zju3dv.github.io/MotionStreamer/

导读

本文旨在解决文本条件下的流式运动生成这一挑战,该任务要求我们基于可变长度的历史运动和输入文本预测下一步的人体姿态。现有方法在实现流式运动生成方面存在困难,例如,扩散模型受限于预定义的运动长度,而基于GPT的方法由于离散化的非因果标记化存在响应延迟和误差累积问题。为解决这些问题,我们提出了运动流生成器(MotionStreamer),这是一个将连续因果潜在空间融入概率自回归模型的新颖框架。连续潜在变量减轻了离散化导致的信息损失,并有效减少了长期自回归生成过程中的误差累积。此外,通过在当前和历史运动潜在变量之间建立时间因果依赖关系,我们的模型充分利用可用信息实现准确的在线运动解码。实验表明,我们的方法优于现有方法,同时具有更多应用,包括多轮生成、长期生成和动态运动组合。

简介

流式运动生成旨在逐步合成人体运动,同时动态适应在线文本输入并保持语义连贯性。以流式方式生成逼真且多样的人体运动对于各种实时应用(如视频游戏、动画和机器人技术)至关重要。流式运动生成由于两个基本要求而面临重大挑战。首先,该框架必须在保持在线响应的同时逐步处理顺序到达的文本输入。其次,模型应能够通过有效地将历史信息与传入的文本条件相结合,连续合成表现出上下文一致性的运动序列,确保渐进式文本语义与跨长时间轴的运动学连续性之间的对齐。

图片

图2. 运动流式生成器(MotionStreamer)概述。在推理过程中,自回归(AR)模型根据当前文本和先前的运动潜变量流式预测下一个运动潜变量。每个潜变量一旦生成,就可以在线解码为运动帧。

方法

我们通过引入一个名为运动流式生成器(MotionStreamer)的新颖框架来解决具有在线响应的流式运动生成任务。所提出框架的概述如图2所示。在3.1节中,我们首先介绍流式运动生成的问题表述以及本文中使用的运动表示。在3.2节中,我们介绍一种用于连续运动压缩和在线解码的因果时间自编码器。在3.3节中,我们介绍一种基于扩散的自回归运动生成器和流式生成过程。

1. 问题表述

任务定义。我们首先介绍流式运动生成的表述。与先前基于预定义固定文本提示的文本到运动生成不同,我们考虑一系列文本提示按顺序给出的情况。给定一个文本提示序列,目标是生成一个运动帧序列,其中是第个文本提示,是第个帧的姿态。

运动表示。先前的工作主要使用263维姿态表示进行运动生成。然而,这种表示需要额外的后处理步骤,这既耗时又会引入旋转误差,才能转换为SMPL人体参数(详见附录E节)。为克服这一问题,我们对其进行了轻微修改,直接使用基于SMPL的6D旋转作为关节旋转。与先前关于角色控制的工作类似,每个姿态  由一个272维向量表示:

其中,我们将根节点投影到XZ平面(地面平面),  是根节点在XZ平面上的线性速度,  表示以  旋转表示的根节点角速度,  和  是相对于根空间的局部关节位置、局部速度和局部旋转,  是关节数量。这种表示方式省去了后处理步骤,我们可以直接用它来为SMPL角色模型进行动画制作。

2. 因果时间自编码器

流式运动生成需要针对动态文本输入进行在线运动解码。然而,大多数现有工作利用时间VQ - VAE一次性解码整个序列,其中每一帧本质上都依赖于过去和未来的帧。此外,对离散标记化的依赖会导致标记间的量化误差累积,在流式生成场景中逐渐降低运动连贯性。为解决这些问题,我们引入了因果时间自编码器(Causal TAE),以实现因果潜在空间中的运动生成。

架构。因果TAE旨在实现连续运动压缩,同时显式建模时间依赖关系,并对顺序运动表示施加因果约束。图3展示了所提出的因果TAE网络。我们采用一维因果卷积来构建时间编码器  和解码器  ,将原始运动序列转换为因果潜在空间。因果关系通过时间填充方案来保证。具体而言,对于一个核大小为  、步长为  、膨胀率为  的卷积层,我们在序列开头填充  帧。这样,每一帧仅依赖于其之前的帧,未来的帧不参与计算。此外,在潜在空间中显式建模时间因果结构使模型能够更有效地学习因果相关运动数据中固有的时间和因果依赖关系。

给定一个运动序列  ,其中  ,  是帧数,  是运动维度,我们可以得到一组时间高斯分布参数  ,并执行重参数化以获得连续运动潜在表示  ,其中  表示编码器  的时间下采样率。这种架构在严格保留序列中时间因果关系的同时重建运动帧。

训练目标。我们使用与 - VAE相同的损失函数来训练因果时间自编码器(Causal TAE)。为了进一步增强根关节的重建稳定性,我们添加了一个根关节损失。完整的损失函数定义如下:

其中

和分别表示运动序列及其潜在表示的维度。和分别是第帧的真实运动潜在表示和重建的潜在表示,是标准差的解析解。表示KL散度,是给定运动时潜在表示的分布,是先验分布。是平衡超参数。

图3. 因果时间自编码器(Causal TAE)的架构。编码器和解码器均采用一维时间因果卷积。变量被采样为连续的运动潜在表示。

因果时间自编码器(Causal TAE)在运动压缩方面具有显著的技术优势。其因果特性本质上支持在线解码,无需访问未来帧,这对于流式生成至关重要。通过采用连续的令牌表示,它绕过了现有基于矢量量化(VQ)方法的离散化瓶颈。

3. 运动流式生成器(MotionStreamer)

在本节中,我们介绍运动流式生成器(MotionStreamer),这是一种基于因果结构潜在空间的流式生成管道。为了处理传入的文本输入和历史生成的运动之间的连贯性,我们假设当前运动仅应基于先前的运动和当前的文本。如图2所示,运动流式生成器(MotionStreamer)包括一个预训练的文本编码器、一个基于扩散的自回归模型和在线运动解码器(即学习到的因果时间自编码器解码器)。

训练。每个训练样本可以表示为:,其中是通过预训练语言模型(例如T5 - XXL)获得的文本嵌入,和是由学习到的因果时间自编码器编码的历史运动潜在表示和当前运动潜在表示,其中和分别表示先前运动潜在表示、当前运动潜在表示、历史运动潜在表示、文本嵌入维度和潜在维度的长度。我们沿时间轴将它们连接起来形成一个序列。我们采用基于扩散的自回归Transformer来预测运动潜在表示。潜在序列首先由Transformer处理,并应用因果掩码以确保时间因果性。经过Transformer处理后,我们得到中间潜在表示,其作为扩散头(一个小型多层感知器)预测运动潜在表示的条件。是作为连续停止条件插入序列末尾的参考结束潜在表示,我们将在后面详细阐述。损失函数定义如下:

其中表示噪声调度的时间步。我们在自注意力层之前采用查询 - 键归一化(即对查询和键都进行归一化)以增强训练稳定性。

双前向策略。我们观察到,在训练期间直接使用教师强制法通常会导致自回归生成过程中出现误差累积。为此,我们提出了一种双前向策略,该策略在训练过程中逐步引入测试时分布。具体而言,在第一次前向传播之后,我们用生成的对应运动潜变量替换一部分真实运动潜变量,从而创建出真实和生成的运动潜变量的混合。然后,将这种混合输入用于第二次前向传播,在该过程中反向传播梯度以优化模型。我们采用余弦调度器来控制被替换的运动潜变量的比例。

混合训练。数据集包含两种类型的训练样本,因此如果数据集中没有历史运动,我们将设为空。我们发现,这种简单的策略能够实现两个连续运动之间的无缝过渡。

连续停止条件。流式生成需要为每个文本提示自动确定生成长度。先前的方法使用二元分类器来确定是否停止生成,这存在严重的类别不平衡问题。相比之下,我们引入了一个“不可能姿势”先验(即全零向量)作为停止条件,并使用因果时间自编码器(Causal TAE)将其转换到潜空间。编码后的潜变量作为参考结束潜变量。当当前生成的潜变量与参考结束潜变量之间的距离小于某个阈值时,生成过程应停止。因此,MotionStreamer能够自动停止生成,并支持在线和多轮生成。

推理。在推理过程中,给定一系列文本提示,首先将第一个文本嵌入输入到自回归运动生成器中,以生成第一个预测的运动潜变量序列。一旦预测出一个运动潜变量,由于其因果特性,它可以立即由在线运动解码器(即学习到的因果时间自编码器解码器)进行处理,以获得输出运动帧。如果当前预测的运动潜变量与参考结束潜变量之间的距离低于某个阈值,则该提示的生成过程停止。然后,我们用替换作为当前文本嵌入。将已经生成的运动潜变量序列附加到第二个文本嵌入的末尾,形成上下文潜变量,作为下一个自回归步骤的输入。然后,我们生成第二个预测的运动潜变量序列。接下来,我们用未来的文本嵌入替换,从条件潜变量中移除,并将用作历史运动潜变量。因此,可以预测出第三个序列。这个流式生成过程会重复进行,直到生成整个运动序列,从而确保在流式生成过程中实现在线响应。

实验

1. 实验设置

数据集。我们在HumanML3D和BABEL数据集上评估了所提出的MotionStreamer,使用原始的训练集和测试集划分。HumanML3D数据集将运动序列与三种不同的文本描述相结合。BABEL数据集提供了具有明确片段间过渡标签的帧级文本描述。与最近使用不同运动表示法处理HumanML3D和BABEL数据集的方法不同,我们对这两个数据集都采用了第3.1节中提到的272维运动表示法。所有运动序列都以进行均匀重采样。

评估指标。我们采用文献中的指标进行评估,包括:(1)弗雷歇 inception 距离(Frechet Inception Distance,FID),用于表示生成运动与真实运动之间的分布距离;(2)平均每关节位置误差(Mean Per Joint Position Error,MPJPE),即预测关节位置与真实关节位置之间的平均距离,用于衡量重建质量;(3)R-精度(Top-1、Top-2 和 Top-3 准确率),即前 k 个检索到的运动的准确率;(4)多模态距离(Multimodal Distance,MM-Dist),即生成运动特征与其文本特征之间的平均欧氏距离。(5)多样性,即随机采样的 300 对运动之间的平均欧氏距离,用于衡量运动的多样性。(6)峰值加加速度(Peak Jerk,PJ),即所有关节在过渡运动过程中的最大值。(7)加加速度曲线下面积(Area Under the Jerk,AUJ),即加加速度曲线下的面积。PJ 和 AUJ 均用于衡量运动的平滑度。

表1. 在HumanML3D测试集上与基线文本到动作生成方法的比较。MM-D和Div分别表示MM距离(MM-Dist)和多样性(Diversity)。

2. 定量结果

文本到动作生成的比较。我们基于TMR训练了一个评估器来评估生成动作的质量。我们使用来自HumanML3D训练集的经过处理的272维动作数据进行文本到动作模型的训练。所有基线方法均按照其原始实现从头开始训练。在HumanML3D测试集上的比较结果如表1所示。我们的方法在多个指标上优于基线方法。

长期动作生成的比较。我们采用混合训练策略进行流式长期生成训练。具体来说,我们通过将BABEL中长动作序列的相邻子序列配对来创建训练样本。此外,我们还纳入了HumanML3D数据集中的文本 - 动作对进行混合训练。在BABEL数据集上的比较结果如表2所示。我们修改了T2M - GPT以支持流式生成(标记为T2M - GPT*),并调整了我们的模型以使用矢量量化(VQ)进行离散化(标记为VQ - LLaMA)。实验结果表明,现有的长期生成基线方法和离散自回归模型在连续潜在空间中的表现均不如我们的流式生成方法。

首帧延迟的比较。由于流式生成要求模型逐步生成动作并在线响应,因此我们采用首帧延迟来评估不同方法的效率。首帧延迟是指模型生成其第一个预测帧所花费的时间,是评估在线响应能力的关键指标。图4中的实验结果表明,我们提出的因果时间自编码器(Causal TAE)实现了最低的首帧延迟,这得益于动作潜在变量的因果属性,生成后即可立即解码。相比之下,非因果变分自编码器(VAE)必须等到整个序列生成后才能解码,导致首帧延迟随着生成帧数的增加而增加。另一些固定长度生成方法,如,由于它们一次性处理整个序列而不是以流式方式逐步生成帧,因此表现出更高的首帧延迟。

图片

图4. 不同方法首帧延迟的比较。横轴表示生成的帧数,纵轴表示生成第一个输出帧所需的时间。

3. 定性结果

图5展示了我们的方法与T2M - GPT、MoMask、AttT2M和FlowMDM的定性比较结果。在文本到动作生成方面,我们发现基于矢量量化(VQ)的方法难以生成与文本描述准确对齐的动作。以“一个男人单腿跳跃”为例,T2M - GPT和AttT2M生成的动作是人物双腿跳跃。MoMask采用残差矢量量化(RVQ)来减少量化误差,但仍然存在细粒度动作细节丢失的问题。具体来说,生成的动作开始是单腿跳跃,但后来变成双腿跳跃或交替双腿跳跃,同时伴有明显的滑动伪影。然而,由于我们使用连续潜在空间且没有离散化过程,我们的方法可以生成更准确且保留更多细节的动作。

在长期动作生成方面,我们使用一系列提示语:["一个男人摆动手臂向前走。", "然后他跳起来。", "他转身。", "他面向另一侧。"]与FlowMDM [4]进行比较。可视化结果显示,FlowMDM未能生成初始的“行走”动作,而是产生原地踏步。然而,由于我们的模型能够从可变长度的动作历史中动态提取相关信息,我们可以流式生成更连贯、自然的长期动作。有关更多动态可视化效果,请参考我们项目页面上的补充视频。

表2. 在BABEL数据集上与长期运动生成方法的比较。符号和分别表示越高、越低和越接近真实值越好。加粗和下划线分别表示最佳和次佳结果。

图片

图5. 我们的方法与一些基线方法的可视化结果。第一行展示了文本到运动的生成结果,第二行展示了长期生成结果,第三行展示了动态运动合成的应用。

4. 消融实验

因果TAE(Temporal Autoencoder,时间自编码器)的架构。我们在HumanML3D测试集上全面评估了不同因果TAE架构的重建性能和相应的生成质量,如表3所示。我们用VQ - VAE(矢量量化变分自编码器)替换运动压缩阶段以离散化运动,同时保持第二阶段的模型架构与我们的相同。我们还尝试用非因果时间VAE(变分自编码器)和无矢量量化的标准时间AE(自编码器)替换因果TAE。结果表明,我们的连续表示避免了VQ(矢量量化)过程,有效减少了信息损失并最小化了量化误差,因此比VQ - VAE基线表现更好。非因果VAE在重建和生成方面的表现都比因果TAE差,因为因果TAE在压缩过程中固有地对运动数据的因果结构进行建模。这种因果潜在空间更适合自回归生成,自然地与因果掩码过程相匹配。虽然AE通过学习近似恒等映射实现了最佳的重建质量,但其生成性能明显较差。这凸显了潜在空间表示在决定后续运动生成有效性方面的关键作用。

我们在附录的B节中对因果TAE的潜在维度和隐藏层大小进行了更详细的消融实验。值得注意的是,我们观察到更大的潜在维度会导致更低的压缩率,从而提高重建质量。然而,这是以较差的生成性能为代价的,因为压缩不足和无效的潜在空间表示使模型更难学习有意义的运动生成。同时,隐藏层大小决定了模型的容量,需要在压缩率和隐藏层大小之间进行谨慎平衡,以确保高重建质量的同时提高生成性能。附录的A节提供了关于超参数的消融实验。

自回归(AR,Autoregressive)模型的设计选择。我们分析了自回归模型不同设计选择的影响,如表4所示。结果表明,QK归一化和双前向策略是有效的。我们还移除了扩散头并使用均方误差(MSE,Mean Squared Error)损失进行自回归训练,这导致生成质量显著下降。此外,我们发现与CLIP分词器相比,使用T5 - XXL可以提高生成性能。我们发现,如文献中那样应用二元分类器来预测是否停止生成,无法学习到正确的停止条件。因此,我们没有评估未采用所提出的连续停止条件的模型。

图片

图6. 动态运动合成。我们的模型支持在保持先前运动不变的情况下,合成具有不同文本描述的多个运动。

表3. 不同运动压缩器在HumanML3D测试集上的消融实验。平均关节位置误差(MPJPE)以毫米为单位进行测量。

5. 应用

MotionStreamer具有多种应用,包括多轮生成、长期生成和动态运动合成。(1)多轮生成需要根据顺序或交互式文本输入迭代生成运动。我们的模型可以处理增量文本输入,在线响应,并自主确定何时停止生成。(2)长期生成需要根据顺序文本输入平滑地生成较长的运动序列。(3)动态运动合成是指在保留先前生成内容一致性的同时无缝集成不同运动序列的能力,如图6所示。我们的因果时间自编码器(Causal TAE)支持这一应用,并且在生成后续运动潜变量时,无需对全序列进行重新解码,仅需对新生成的潜变量进行解码。有关更多应用演示,请查看我们项目页面上的补充视频。

表4. 增强现实(AR)模型在HumanML3D测试集上的设计选择分析。CLIP表示使用CLIP模型作为文本编码器来提取文本特征。

总结

我们提出了MotionStreamer,这是一种用于流式运动生成的新型框架,它集成了基于扩散的自回归模型,以直接预测因果运动潜变量。通过引入因果时间自编码器(Causal TAE),MotionStreamer支持渐进式文本输入并实现在线响应。为了减轻流式生成过程中的累积误差,我们提出了一种双前向训练策略。我们的方法优于基线方法,证明了其在运动生成方面的竞争力,同时提供了更大的灵活性。它可应用于多轮生成、长期生成和动态运动合成。未来的工作可以探索混合策略,在不影响流式生成的情况下实现双向细化。一种潜在的方法是在每一步预测一组未来潜变量,这可以在保持流式生成方式的同时实现中间运动和局部编辑。

局限性。尽管流式生成范式很有效,但它限制了中间运动插值和中间标记局部编辑的应用,因为它本质上依赖于单向建模。这一局限性限制了在需要细粒度调整的场景中的灵活性,例如在现有帧之间无缝插入新运动或在保持全局一致性的同时交互式细化运动细节。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值