← 返回 2026-03-20

基于扩散的离散运动分词器:桥接语义与运动学条件 Bridging Semantic and Kinematic Conditions with Diffusion-based Discrete Motion Tokenizer

Chenyang Gu, Mingyuan Zhang, Haozhe Xie, Zhongang Cai, Lei Yang, Ziwei Liu 📅 2026-03-19 👍 42 2026-07-13 08:36
动作合成 可控生成 扩散模型 离散分词 运动生成

提出MoTok,将运动生成解耦为离散语义规划与扩散式精细重建,实现高效可控运动生成

前置知识

向量量化 (Vector Quantization)

向量量化是一种将连续向量空间映射到离散码本的技术。在VQ-VAE中,编码器输出的连续潜变量通过最近邻搜索找到码本中最接近的离散码字来替代。设潜变量为 $\mathbf{h} \in \mathbb{R}^d$,码本为 $\mathcal{C} = \{\mathbf{c}_k\}_{k=1}^K$,则量化过程为 $z = \arg\min_{k} \|\mathbf{h} - \mathbf{c}_k\|_2^2$。这种方法使得序列模型能够使用离散token进行生成,如语言模型般的自回归生成。

MoTok的核心创新在于使用VQ将运动序列压缩为离散token,但通过扩散解码器而非传统卷积解码器来恢复运动细节,理解VQ机制是理解本文技术路线的基础。

扩散模型 (Diffusion Models)

扩散模型是一类生成模型,通过前向加噪过程将数据逐步扰动为高斯噪声,然后学习反向去噪过程来生成数据。前向过程定义为 $q(\mathbf{x}_t | \mathbf{x}_0) = \mathcal{N}(\sqrt{\bar{\alpha}_t}\mathbf{x}_0, (1-\bar{\alpha}_t)\mathbf{I})$,反向过程通过神经网络 $f_\phi$ 预测干净数据 $\hat{\mathbf{x}}_0$。条件扩散模型可以引入额外条件信号(如文本、动作标签)来指导生成过程。

本文提出将扩散模型用作运动分词器的解码器,替代传统的卷积解码器,这是方法的核心创新点,实现了语义抽象与精细重建的解耦。

自回归生成 (Autoregressive Generation)

自回归生成是一种逐token生成序列的方法,每个token的生成依赖于之前已生成的所有token。在运动生成中,将运动压缩为离散token序列后,可使用Transformer等架构进行自回归建模,类似于GPT生成文本的方式。生成过程为 $p(\mathbf{z}_{1:N}) = \prod_{n=1}^N p(z_n | z_{1:n-1})$。

本文验证了MoTok框架对自回归规划器的兼容性(MoTok-AR变体),展示了方法的通用性,不限于特定的生成架构。

离散扩散模型 (Discrete Diffusion Models)

离散扩散模型是扩散模型在离散空间上的变体,通过掩码-预测机制进行生成。在运动生成中,MoMask等方法将部分token替换为[MASK],训练模型预测被掩码的token。这种方法支持双向注意力建模,能更好地捕捉全局依赖关系,但需要精心设计掩码策略。

本文采用MoMask风格的离散扩散规划器(MoTok-DDM)作为主要基线,证明MoTok框架在不同规划架构下都能取得优异性能。

Classifier-Free Guidance (CFG)

CFG是一种无需额外分类器的条件生成增强技术。在采样时,模型同时输出条件预测 $\epsilon_\theta(\mathbf{z}; \mathbf{c})$ 和无条件预测 $\epsilon_\theta(\mathbf{z}; \varnothing)$,然后通过加权组合 $\hat{\epsilon} = \epsilon_\theta(\mathbf{z}; \varnothing) + w \cdot (\epsilon_\theta(\mathbf{z}; \mathbf{c}) - \epsilon_\theta(\mathbf{z}; \varnothing))$ 来增强条件控制效果,其中 $w$ 为引导强度。

本文创新性地提出交替CFG策略来处理多条件场景(语义+运动学),避免完全丢弃条件导致的模态偏置问题,是方法的重要技术细节。

AdaIN条件注入 (Adaptive Instance Normalization)

AdaIN是一种特征归一化和条件注入方法,通过调节特征的均值和方差来注入条件信息。给定特征 $\mathbf{h}$ 和条件嵌入 $\mathbf{e}$,AdaIN操作为 $\text{AdaIN}(\mathbf{h}, \mathbf{e}) = \sigma(\mathbf{e}) \cdot \frac{\mathbf{h} - \mu(\mathbf{h})}{\sigma(\mathbf{h})} + \mu(\mathbf{e})$。这种方式能够有效地将时间步和条件信号注入到网络各层中。

MoTok的扩散解码器使用AdaIN将分词器输出的帧级条件信号注入到去噪网络中,是实现条件化运动重建的关键技术。

研究动机

当前运动生成方法存在一个核心矛盾:连续扩散模型擅长细粒度运动学控制(如关节轨迹跟踪),但难以处理高级语义条件;而离散token生成器能有效处理语义条件(如文本描述),但在细粒度控制上表现不佳。具体而言,现有运动分词器(如MoMask使用残差VQ)往往将高级语义与低级运动细节纠缠在一起,需要高token率或层次化码本来保证重建质量。例如,MoMask需要6倍于本文方法的token数量才能达到相当的重建质量。这种纠缠导致两个问题:一是增加了下游生成器的序列建模负担,二是当运动学条件(如轨迹约束)与语义条件共同作用时,两者会相互干扰,导致可控性与保真度之间的权衡——更强的运动学约束反而降低运动质量(如MaskControl在轨迹控制下FID从0.045恶化到0.083)。

本文的目标是本文旨在设计一种统一框架,能够同时有效处理语义条件和运动学约束,实现既要又要的目标:既要保持token的紧凑性(高效压缩),又要保证运动重建的精细度;既要准确响应语义指令,又要精确遵循运动学控制信号(如关节轨迹)。具体目标包括:在HumanML3D基准上将轨迹误差从现有方法的0.72cm降至亚厘米级,同时使用更少的token实现更低的FID,并且确保在增加控制关节数量时运动质量不会下降反而提升。

与已有工作不同的是,本文的独特切入点是解耦思想——将运动生成拆解为三个明确分工的阶段:感知(Perception)负责编码异构条件,规划(Planning)在离散token空间进行语义级规划,控制(Control)在连续运动空间通过扩散解码实现精细约束。核心洞察是:离散token不应该被迫编码高频运动学细节,而应该专注于语义抽象;精细重建应该交给扩散解码器来完成,因为扩散模型天然适合处理连续信号并支持推理时优化。这种设计使得运动学条件可以在两个层次上发挥作用:在规划阶段作为粗粒度引导,在控制阶段作为精细约束,避免了低级细节干扰token空间规划的问题。

核心方法

MoTok框架采用感知-规划-控制三阶段流水线。在感知阶段,异构条件被编码为两种类型:全局条件(如文本描述,通过CLIP编码器提取序列级特征 $\mathbf{M}^g \in \mathbb{R}^d$)和局部条件(如目标轨迹,通过卷积编码器提取token对齐的特征序列 $\mathbf{M}_{1:N}^s \in \mathbb{R}^{N \times d}$)。在规划阶段,token生成器(支持离散扩散或自回归架构)在统一条件下预测离散运动token序列 $\mathbf{z}_{1:N}$。在控制阶段,MoTok解码器将token映射为帧级条件信号,然后通过条件扩散模型重建连续运动,并在去噪过程中通过梯度优化施加精细运动学约束。这种分工使得token专注于语义结构,扩散解码器负责细节恢复。

MoTok的核心创新在于用扩散解码器替代传统卷积解码器,实现语义token+扩散重建的解耦表示。与VQ-VAE直接从量化潜变量回归连续运动不同,MoTok先将量化潜变量 $\mathbf{q}_{1:N}$ 通过卷积解码器 $\mathcal{D}(\cdot)$ 上采样为帧级条件信号 $\mathbf{s}_{1:T} \in \mathbb{R}^{T \times d}$,然后使用条件扩散模型 $P_\phi(\cdot)$ 进行运动重建:$\hat{\mathbf{x}}_0 = f_\phi(\mathbf{x}_t, t, \mathbf{s}_{1:T})$。这种设计的本质区别是:传统方法迫使离散token编码所有细节(语义+运动学),导致token负担过重;而MoTok让token只编码语义信息,运动细节由扩散解码器在推理时生成。这带来三大优势:1)token序列大幅压缩(仅需1/6的token);2)支持推理时精细约束优化;3)更强的可控性与保真度协同提升。

方法步骤详情

MoTok方法包含以下关键步骤:(1)卷积编码器 $\mathcal{E}(\cdot)$ 对输入运动序列 $\boldsymbol{\theta}_{1:T}$ 进行时间下采样,得到压缩潜变量 $\mathbf{h}_{1:N} \in \mathbb{R}^{N \times d}$,下采样因子 $r$ 决定压缩比 $\rho = T/N$。(2)向量量化模块 $Q(\cdot)$ 将潜变量映射到码本 $\mathcal{C} = \{\mathbf{c}_k\}_{k=1}^{1024}$,通过最近邻搜索获得离散token序列 $\mathbf{z}_{1:N}$ 和量化潜变量 $\mathbf{q}_{1:N}$。(3)卷积解码器 $\mathcal{D}(\cdot)$ 将 $\mathbf{q}_{1:N}$ 上采样为帧级条件序列 $\mathbf{s}_{1:T}$,作为扩散模型的条件输入。(4)条件扩散模型 $P_\phi(\cdot)$ 通过去噪从噪声 $\mathbf{x}_T \sim \mathcal{N}(0, \mathbf{I})$ 重建运动,每步预测 $\hat{\mathbf{x}}_0 = f_\phi(\mathbf{x}_t, t, \mathbf{s}_{1:T})$,其中条件通过AdaIN风格注入。(5)在可控生成中,去噪过程额外施加优化:$\hat{\mathbf{x}}_k \leftarrow \hat{\mathbf{x}}_k - \eta \nabla_{\hat{\mathbf{x}}_k} \mathcal{L}_{\text{ctrl}}(\hat{\mathbf{x}}_k, \mathbf{c}^s_{1:T})$,确保精细运动学约束。(6)训练时采用端到端优化,损失函数为 $\mathcal{L} = \mathcal{L}_{\text{diff}} + \lambda_{\text{commit}} \mathcal{L}_{\text{commit}}$,其中 $\mathcal{L}_{\text{diff}}$ 使用Smooth-$\ell_1$损失,$\lambda_{\text{commit}} = 0.02$。

技术新颖性

MoTok的技术新颖性体现在多个层面。首先,首次提出将扩散模型用作运动分词器的解码器,打破了传统VQ-VAE编码-量化-直接解码的范式,实现了表示学习与重建的解耦。其次,提出的粗细粒度双阶段条件注入机制是独特的:运动学条件在规划阶段作为粗约束引导token生成(通过与位置编码的加性融合),在控制阶段作为精细约束在扩散去噪中优化(通过梯度优化)。这种设计有效避免了运动学细节干扰语义规划的问题,实验表明单独在任何一个阶段注入条件都会显著降低性能。第三,创新的交替CFG策略解决了多条件生成中的模态偏置问题:当同时存在语义和轨迹条件时,传统完全丢弃条件的CFG会偏向某一模态,而本文交替使用两种条件对($\{\mathbf{g}, \mathbf{s}\}$ vs $\{\varnothing, \mathbf{s}\}$ 和 $\{\mathbf{g}, \mathbf{s}\}$ vs $\{\mathbf{g}, \varnothing\}$)平衡了两种条件的影响。最后,框架的通用性设计——统一条件接口同时支持离散扩散和自回归规划器——使得MoTok成为一种可插拔的分词器模块。

MoTok框架总览与性能对比
Fig. 1: MoTok框架总览与性能对比
MoTok与统一运动生成框架架构
Fig. 2: MoTok与统一运动生成框架架构

实验结果

MoTok在多项任务上取得了显著突破。在文本+轨迹可控生成任务中(HumanML3D测试集),MoTok-DDM-4在Pelvis设置下将FID从MaskControl的0.061降至0.027,轨迹误差从0.098降至0.049;在Random One设置下,MoTok-DDM-2将FID从0.083降至0.025,平均误差从0.0072降至0.0008,同时仅使用1/6的token预算。值得注意的是,与先前方法在增加控制关节数量时性能退化不同,MoTok的运动保真度反而随控制增强而提升——在Random Three设置下FID进一步降至0.014(MoTok-DDM-2),这证明了粗细粒度分离控制的有效性。在标准文本到运动生成任务中,MoTok-DDM-2在HumanML3D上达到FID 0.033,优于MoMask的0.045,但仅使用1/6的token;MoTok-DDM-4在更激进压缩下仍保持FID 0.039,超越MoMask。在KIT-ML基准上,MoTok-DDM-2达到最低FID 0.144,优于ReMoDiffuse的0.155。自回归变体同样表现出色:MoTok-AR-4将T2M-GPT的FID从0.141降至0.053,提升近3倍,证明了框架的通用性。消融实验表明,扩散解码器(特别是带时序卷积的DiffusionConv变体)显著优于卷积解码器,kernel size为5时效果最佳,潜变量维度768提供足够表达能力。

HumanML3D测试集可控运动生成定量结果
Table 1: HumanML3D测试集可控运动生成定量结果
HumanML3D和KIT-ML测试集文本到运动生成定量结果
Table 2: HumanML3D和KIT-ML测试集文本到运动生成定量结果
分词器配置消融实验
Table 3: 分词器配置消融实验
低级控制信号注入位置的影响
Table 4: 低级控制信号注入位置的影响
任意关节任意帧控制的可视化对比
Fig. 3: 任意关节任意帧控制的可视化对比
查看结构化数据
任务指标本文基线提升
文本+轨迹可控生成(Pelvis) FID 0.027(MoTok-DDM-4) 0.061(MaskControl) 降低56%,使用1/6 token
文本+轨迹可控生成(Random One) 平均误差 0.0008 m(MoTok-DDM-2) 0.0072 m(MaskControl) 降低89%,轨迹误差从0.72cm降至0.08cm
文本到运动生成(HumanML3D) FID 0.033(MoTok-DDM-2) 0.045(MoMask) 降低27%,使用1/6 token
文本到运动生成(KIT-ML) FID 0.144(MoTok-DDM-2) 0.155(ReMoDiffuse) 降低7%,保持竞争性其他指标
自回归文本到运动生成 FID 0.053(MoTok-AR-4) 0.141(T2M-GPT) 降低62%,证明框架通用性

局限与改进

尽管MoTok取得了显著进展,但仍存在一些局限性。首先,扩散解码器的引入增加了推理时间成本——每帧运动需要多步去噪迭代(论文未明确报告具体推理时间,但扩散模型通常需要20-100步采样),这可能限制其在实时应用中的部署。其次,当前评估仅限于文本和轨迹两种条件类型,对于更复杂的控制信号(如接触约束、物理合理性约束、多智能体交互)的表现尚未验证。第三,HumanML3D和KIT-ML数据集规模相对有限(分别约3万和4千序列),在更大规模、更多样化的运动数据上(如AMASS包含数百小时捕捉数据)的泛化能力需要进一步验证。此外,论文主要关注骨骼关节运动,对于衣物、头发等软体动力学的处理能力未被探索。最后,虽然消融实验系统分析了超参数选择,但最优配置(如kernel size、下采样率)可能因数据集特性而异,泛化到新领域时可能需要重新调优。

独立分析的弱点

MoTok存在几个值得深入分析的弱点。首先,扩散解码器的推理效率是主要瓶颈——标准扩散采样需要数十步迭代,而每步都需要完整的网络前向传播,这使得MoTok的推理速度可能比直接卷积解码慢一个数量级。改进方向包括:引入一致性模型或蒸馏技术加速采样(如1-5步采样),或设计混合解码策略(粗粒度用快速解码,精细阶段用扩散)。其次,当前框架假设所有条件在训练时都可用,但实际场景中条件可能是部分缺失的(如有轨迹无文本),虽然CFG提供了一定的鲁棒性,但专门针对不完整条件的训练策略可能进一步提升性能。第三,粗粒度控制信号仅通过加性融合注入规划阶段,这种简单的融合方式可能限制了条件间的交互建模——使用注意力机制或交叉注意力可能更好地捕捉语义与运动学的关联。最后,论文未讨论失败案例分析,某些极端场景(如复杂多人交互、快速方向变化)下轨迹跟踪的稳定性需要更细致的评估。

未来方向

基于MoTok框架,多个有前景的研究方向值得探索。首先,将MoTok扩展到物理仿真环境——当前方法生成的是运动学轨迹,未来可引入物理约束(如碰撞避免、接触力学)确保生成运动的物理可行性。其次,探索多模态条件融合——除文本和轨迹外,集成音频(音乐驱动舞蹈)、视频(模仿学习)或触觉信号,利用MoTok的统一条件接口实现更丰富的交互式运动生成。第三,研究token空间的编辑操作——由于MoTok的token专注于语义抽象,可能支持更直观的语义级编辑(如将走路改为跑步),而无需修改底层运动细节。第四,扩展到全身手部和面部表情生成——当前工作主要关注身体运动,MoTok的解耦思想可推广到更精细的人体运动表示。最后,结合大语言模型进行交互式运动规划——利用LLM理解复杂指令并生成token序列,MoTok负责精细重建,实现自然语言驱动的复杂动作序列生成。

复现评估

论文的复现可行性需要从多个维度评估。代码和数据方面:论文提供了项目主页(https://rheallyc.github.io/projects/motok),但未明确说明代码是否开源;HumanML3D和KIT-ML是公开基准数据集,下载和预处理相对标准化。算力要求方面:MoTok包含卷积编码器/解码器、VQ码本(1024码字)、条件扩散模型,以及token规划器(384维6层DDM或768维9层AR Transformer),整体模型规模中等,但扩散模型的训练和推理需要GPU资源——论文使用4个变体进行评估,训练成本可能在单GPU数天到多GPU数小时量级。技术细节方面:论文提供了较详细的架构描述(编码器下采样因子、码本维度、扩散模型结构、损失权重 $\lambda_{\text{commit}} = 0.02$),但部分实现细节(如扩散步数、学习率调度、条件dropout策略的具体超参数)可能需要查阅代码或补充材料。总体而言,具有扩散模型和运动生成经验的研究者应该能够在合理时间内复现核心结果。