← 返回 PaperDaily 视觉与图像

CVPR 2026开源!MoCoDiff让长程运动告别漂移,风格控制刷新SOTA

运动生成界的“解耦大师”来了!MoCoDiff把文本、风格、历史信息拆成独立控制通道,在冻结扩散骨干上即插即用,长序列不漂移、风格不串味,效率还直接冲到136.89 FPS——动画师看了想点赞,研究者看了想复现。

CVPR 2026开源!MoCoDiff让长程运动告别漂移,风格控制刷新SOTA

paperdaily_reaction_gif


原论文信息如下:
论文标题:
MoCoDiff: A Controllable Autoregressive Diffusion Model for Expressive Motion Generation
发表日期:
2026年(CVPR 2026)
发表单位:
北京信息科技大学、中关村实验室、北京航空航天大学虚拟现实技术与系统国家重点实验室等
原文链接:
https://openaccess.thecvf.com/content/CVPR2026/papers/Song_MoCoDiff_A_Controllable_Autoregressive_Diffusion_Model_for_Expressive_Motion_Generation_CVPR_2026_paper.pdf
开源代码链接:
https://github.com/Xuehan0530/MoCoDiff-code
想象一下,动画师对着时间轴加班加点调动作,好不容易做出一段角色走路,想让它带点“傲慢”的气质,再换个“跛脚”风格,结果模型生成的动作要么风格串味,要么走着走着整个人直接漂移穿模。这种痛苦,做动画、游戏或虚拟人开发的同学应该都懂。今天要聊的这篇CVPR 2026论文,就是来治这个“老大难”的。

运动生成的新挑战:条件纠缠与长序列漂移

图1:MoCoDiff生成具备长期风格控制能力的动作,黑色箭头指向过渡细节。/
MoCoDiff生成具备长期风格控制能力的动作,黑色箭头指向被高亮的过渡细节。
龙哥导读:动画师调动作调到怀疑人生?虚拟角色走到一半开始“飘”?MoCoDiff带着解耦神器来了——文本、风格、历史信息各走各的通道,长序列不漂移,风格不串味,136.89 FPS的生成速度还让其他baseline有点尴尬。
先把任务背景交代清楚。所谓人体运动生成,就是给定文本描述、风格参考、场景上下文等条件,让模型生成一段符合语义的骨骼动画。这几年扩散模型(Diffusion Model)在这个领域可以说是全方位碾压了此前的VAE和GAN方案,生成的动作越来越像真人。但问题也随之而来:真实场景下的动作不是几秒钟的短视频,而是几十秒甚至几分钟的长序列——角色要先走路,再停下来挥挥手,然后转身坐下,中途还得带上点“优雅”或“小心翼翼”的气质。
这活儿难在哪?论文把矛头指向了现有方法的条件融合机制。目前主流方法几乎都把文本语义、风格特征、物理线索、时间信息压缩到同一条特征通路里,通过拼接(concatenation)或者交叉注意力一次性塞给模型。这种方式实现简单,可问题是:语义、风格、时序这些信号的特征尺度、作用频率、信息密度完全不一样,硬塞进同一根管道,结果就是互相干扰、彼此纠缠。用大白话说,就像把咖啡、奶茶、果汁全倒进一个杯子里,你喝到的既不是咖啡也不是果汁,而是一杯说不清道不明的“四不像”。
除了条件纠缠,长序列生成还有另一个大坑——误差累积和时序漂移。一次性(non-autoregressive)生成方法比如比较经典的MDM(Human Motion Diffusion Model),每次只能生成固定长度的短片段,无法扩展到长序列;而自回归(autoregressive)方法虽然能把长序列切成一段段地生成,但每段都要依赖上一段的输出,一旦上一段出现轻微偏差,下一段就会顺着偏差继续跑偏,就像复读机一样把错误一遍遍放大。更麻烦的是,现有自回归扩散模型(如InterGen、MotionGPT)在利用历史信息时也用的是融合条件方式,模型根本不知道历史特征应该以多大的权重影响当前的去噪过程。
图2:受控自回归扩散的效率对比。与先前方法(A、B)相比,本方法(C)利用受控自回归扩散过程更高效地生成长时程、富有表现力的动作。
受控自回归扩散的效率对比。与先前方法(A、B)相比,本方法(C)利用受控自回归扩散过程更高效地生成长时程、富有表现力的动作。
总结下来就一句话:现有方法要么“管得住但做不长”,要么“做得长但管不住”。MoCoDiff想同时解决这两头的问题。

MoCoDiff核心设计:解耦注入调制控制器

“解耦”“受控”。解耦靠的是本文新提出的Injection Modulation Controllers(简称IMC,中文可译为注入调制控制器)。IMC是一组轻量级插件模块,不改变扩散模型主干结构的前提下,把不同类型的控制信号分别注入到去噪过程的不同环节。
具体怎么做的?先看三种条件的编码方式。文本描述用CLIP文本编码器提取语义特征F_T;风格参考动作用MotionCLIP编码器提取风格特征F_S;历史信息则通过一个可学习的历史编码器,对上一段动作的最后k帧做时序池化,压缩成一个紧致的时序状态F_H。用公式表示就是:
公式1:文本、风格、历史信息的编码过程。
公式1:文本、风格、历史信息的编码过程。F_T由文本编码器E_text得到,F_S由风格编码器E_sty从参考动作S_1:L提取,F_H则经过可学习的线性映射W_h、时序池化P和激活函数φ获得。
拿到三种条件特征之后,IMC怎么把它们注入扩散模型?论文的设计是轻量级线性交叉注意力模块。基本思路是:把去噪过程中的带噪特征X_t作为query,把条件特征作为key和value,通过注意力机制让带噪特征去“查询”条件信息。关键细节是,输入注意力之前,先对X_t和条件特征分别做LayerNorm归一化,让两边特征的尺度对齐,这比常见的后置归一化稳定得多。
公式2:对带噪特征和条件特征进行归一化处理。
公式2:对带噪特征和条件特征进行归一化处理。N表示归一化算子,将两组特征缩放到可比尺度,提升注意力计算的稳定性。
公式3:残差式IMC调制更新公式。
公式3:残差式IMC调制更新。最终调制后的特征等于原带噪特征X_t加上语义调制O_sem、风格调制O_sty,以及被历史掩码M_hist过滤后的时序调制O_hist。这个残差累加的形式,让每种控制信号以“修正项”的方式叠加到扩散轨迹上。
之所以用残差形式而不是直接替换特征,原因在于:残差修正不会破坏扩散模型主干已经学到的去噪能力,每个控制器只负责“小幅拨动”生成轨迹。这种设计也保证了IMC可以即插即用,训练时只需训练控制器模块,扩散主干完全冻结,不仅省显存,还避免了全量微调带来的灾难性遗忘。
图3:方法总览。文本、风格动作、历史上下文通过注入调制控制器编码并注入扩散骨干网络;长序列生成由受控自回归扩散完成,逐段生成动作并使每段与历史对齐以保持时序一致性。
图3:方法总览。文本、风格动作、历史上下文通过注入调制控制器编码并注入扩散骨干网络;长序列生成由受控自回归扩散完成,逐段生成动作并使每段与历史对齐以保持时序一致性。
IMC并不是一个单一的控制器,而是一族控制器。论文具体设计了三个:负责整体动作走向的语义控制器(Semantic IMC, SIMC),注入低频、内容对齐的全局调制;负责肢体细节的风格控制器(Style IMC, STIMC),注入高频、姿态级别的残差信号,捕捉节奏、身体曲线、表现力等风格特征;还有负责历史信息的时序控制器(Temporal IMC, TIMC),引入了历史依赖的修正信号,让去噪过程从“无记忆”的马尔可夫链变成带有限历史的受控马尔可夫过程。三种控制器各管一摊,互不干扰。
图4:注入调制控制器架构。每个控制器分别向扩散骨干注入语义、风格或历史相关调制,实现解耦且时序一致的运动生成。
图4:注入调制控制器架构。每个控制器分别向扩散骨干注入语义、风格或历史相关调制,实现解耦且时序一致的运动生成。
这种“各走各的通道”的设计带来的直接好处是:语义控制不会压过风格控制,风格控制也不会把文本内容带偏。用户可以在推理阶段单独调节某个控制器的强度,而不用重新训练模型。这一点在风格化Motion Generation这个任务里实在太重要了——以前调风格强度只能整个模型重新训练,现在改个权重系数就行。

可控自回归扩散:历史感知的时序调制

如果说IMC解决了“条件纠缠”的问题,那“长序列漂移”就得靠可控自回归扩散来解决。这里要重点讲讲TIMC(Temporal IMC)的特殊之处——它不太一样,不只是把历史特征当输入拼进去,而是直接修改了扩散模型的逐步转移过程。
传统扩散模型的去噪过程是一个无记忆的马尔可夫链:每一步的去噪只取决于当前时刻的带噪样本,跟之前生成过什么没有任何关系。这就有个隐患——生成短片段还好,一旦生成长序列,每段之间的衔接就只能靠“硬拼接”或者“简单重叠”,缺乏真正的动力学反馈。MoCoDiff的做法是给去噪过程加上一个历史依赖的控制项,公式化的表述是:
公式4:受控扩散转移方程。
公式4:受控扩散转移方程。x_(t-1)由标准去噪算子f_θ(x_t, t)和历史相关控制项C_t(h_(t-1))共同决定。C_t是由上一段动作末状态h_(t-1)导出的时变调制,在实现中对应TIMC的输出。
这个公式的含义是:去噪的每一步都会参考历史状态,相当于每一步都在问“我上一步生成了什么、这一步要怎么接才顺”。这样,整个自回归过程就变成了一个受控的动态系统,而不是无头苍蝇式的盲猜。生成整段长序列时,动作被划分成有重叠的多个块(chunk),每个块用条件扩散算子生成:
公式5:自回归分段生成公式。
公式5:自回归分段生成。首段C_1仅用文本T_1和风格S_1生成,后续段C_i额外注入历史特征F_H,历史h_i取前一段C_(i-1)最后k帧。
但自回归训练有个经典陷阱:如果训练时全部使用真实历史作为条件,推理时却用模型自己生成的历史,两者分布不一致,误差会越滚越大。为此,论文引入了一个渐进式课程训练(Progressvie Rollout Curriculum)策略,灵感来自DART(Diffusion Autoregressive Transformer)的调度式rollout方案。具体来说:训练初期(前30%步数)使用真实历史,让模型先学会单块预测;中间阶段(30%到80%步数)按概率逐步把真实历史替换成模型生成的历史,替换概率随训练进度从0线性增长到1;最后20%步数完全使用模型生成的历史,让训练完全模拟推理的分布。
公式6:rollout概率随训练进度线性增长的调度函数。
公式6:rollout概率随训练进度τ从0到1线性增长。τ=0.3T之前为0,0.3T到0.8T之间线性增长,0.8T之后固定为1。
另外还有一个容易被忽略但很关键的细节:当使用模型生成历史时,历史缓存不是直接使用当前模型的输出,而是用指数滑动平均(Exponential Moving Average,EMA)模型的输出来更新。这个设计是为了避免训练过程中参数快速更新导致的历史特征不稳定。
公式7:EMA历史缓存更新方式。
公式7:EMA历史缓存更新方式。新历史h^(i+1)由旧历史h^(i)拼接EMA模型生成的块m_EMA^(i)后取最后k帧得到。
最后,整个模型的训练目标是重建损失、平滑损失和运动动态损失的加权组合:
公式8:复合训练损失函数。
公式8:复合训练损失。L_rec监督扩散重建,L_smooth惩罚时序抖动,L_Δ鼓励运动动态自然,α和β为加权系数。
图7:误差累积诊断分析。随着运动长度增加,本文方法的漂移极小。
图7:误差累积诊断分析。随着运动长度增加,MoCoDiff的漂移幅度极小(波动小于5%),而对比方法SMooDi+AutoMLD波动超过20%。
这一套组合拳下来,MoCoDiff把自回归扩散从“被动拼接”变成了“主动受控”,历史信息不再只是输入特征,而是真正参与调控去噪动态的反馈信号。

实验验证:风格保真与效率的全面领先

吹得再好不如实验跑一跑。MoCoDiff在三个大规模人体运动数据集上做了验证:HumanML3D、BABEL和100Style。其中HumanML3D提供文本-动作对,BABEL提供丰富的时序标注和动作类别,100Style则作为风格参考动作库,提供风格嵌入的样本,不用于监督训练。训练配置相当亲民:单张RTX 3090显卡、batch size 64、训练8000步、大约2小时就能跑完。
表:实现细节。训练使用batch size 64,在单张RTX 3090上训练8k轮迭代,大约需要2小时。
表:实现细节。训练使用batch size 64、单张RTX 3090、8000次迭代,耗时约2小时。
评估指标方面,论文用了内容保持、风格对齐和过渡平滑性三组指标。内容保持用R-Precision(运动检索精度)、Diversity(多样性)和FID(Frechet Inception Distance,弗雷歇初始距离)来衡量;风格对齐用SRA(Style Recognition Accuracy,风格识别准确率)衡量;过渡平滑性用PJ(Peak Jerk,峰值加加速度)和AUJ(Area Under the Jerk,加加速度曲线面积)来量化。需要说明的是,FID是度量生成动作分布和真实动作分布的距离,越低越好;SRA是判断动作是否具有目标风格的准确率,越高越好。
表1:定量评估。↑表示越大越好,↓表示越小越好,→表示越接近真实动作越好。加粗为最优,下划线为次优。
表1:定量评估。↑表示越大越好,↓表示越小越好,→表示越接近真实动作越好。加粗为最优,下划线为次优。
从表1可以看到,MoCoDiff在SRA上拿到26.37,明显高于第二名AutoMLD+SMooDi的19.28,这说明风格注入的准确度确实有质的提升。R-Top-3达到0.564,略低于AutoMLD+SMooDi的0.537但有来有回。不过FID上MoCoDiff是5.95,AutoMLD+SMooDi是2.24,确实不如人家。这里要客观看待:FID反映的是整体分布相似度,MoCoDiff在SRA和过渡平滑上的领先换来的是FID上的一定妥协,这可能与风格化参考动作的分布偏移有关。时序平滑度方面,MoCoDiff在PJ(0.27)和AUJ(1.58)都是全场最佳,说明受控自回归设计确实能有效抑制帧间抖动。
表2和表3:单动作生成评估与时间效率评估。
表2和表3:单动作生成评估与时间效率评估。Ours在SRA上达到27.21,显著领先SMooDi的20.65;效率方面达到136.89 FPS,比最强baseline AutoMLD+MCM_LDM快4.8倍。
表2展示了去掉自回归模块、直接用单动作生成任务的对比。MoCoDiff的SRA达到27.21,明显高于SMooDi的20.65和PersonaBooth的16.75,说明Style IMC在单动作上提取风格的能力也足够强。表3则是最能体现工程价值的一张表:MoCoDiff在生成效率上达到136.89 FPS,每帧只需要7.31毫秒,生成一段完整动作只要0.72秒。对比最强的自回归基线AutoMLD+MCM_LDM,速度是它的4.8倍;对比ControlNet+FlowMDM每帧352毫秒的延迟,MoCoDiff快了将近50倍。这种效率对于需要实时预览的动画制作流程来说,意味着可以真正进入交互式创作环节。
定性结果方面,图5展示了几个典型对比场景。在单动作风格化任务中,给定“踢腿”的文本和“优雅”的风格,SMooDi只做出了踢腿的雏形,动作没有完全伸展开;FlowMDM+ControlNet则太执着于风格导致动作变形,连向前走的基本方向都错了。MoCoDiff则兼顾了语义准确和风格鲜明,踢腿干脆利落,整体姿态又透着一股优雅劲儿。在长序列风格化任务中,MoCoDiff在跨段过渡处依然保持平滑,而AutoMLD+SMooDi在过渡区出现了明显的卡顿和跳变,红框标注的细节对比非常直观。
图5:定性对比评估。MoCoDiff在多个动作上实现平滑过渡和忠实风格迁移,而先前方法出现动作伪影和风格不一致(红框区域)。
图5:定性对比评估。MoCoDiff在多个动作上实现平滑过渡和忠实风格迁移,而先前方法出现动作伪影和风格不一致(红框区域)。
消融实验也做得很扎实。图6展示了去掉自回归扩散模块(w/o ARDiffusion)和去掉IMC(w/o IMC)之后的对比效果。去掉自回归扩散后,长序列生成后段出现了明显的漂移,动作逐渐偏离文本描述;去掉IMC后,风格一致性明显变差,过渡处有可见的抖动。而完整版MoCoDiff在整个长序列中保持了平滑和风格一致,这直接印证了可控自回归扩散和IMC各自的贡献。
图6:消融研究定性对比。上方完整方法,中间为去掉自回归扩散,下方为去掉IMC。
图6:消融研究定性对比。完整方法保持平滑且风格一致,去掉自回归扩散出现漂移,去掉IMC风格保真度下降。
图8:历史帧长度权衡。随着历史帧长度增加,风格迁移能力和过渡平滑度呈现不同的变化趋势。
图8:历史帧长度权衡。历史帧长度在风格化效果与过渡平滑性之间存在明显折中,需要选择合适长度。
图8进一步分析了历史信息长度k对生成效果的影响。历史帧太短,上一段的运动学信息不足,过渡处容易“断片”;历史帧太长,模型反而会把过多的旧信息当作当前风格的一部分,导致风格漂移。论文实验显示中间长度(约60帧)能取得最佳平衡,这也解释了为什么实验设置中选用60帧过渡窗口。
Table 1. Quantitative Evaluation. Symbols ↑, ↓, and → indicate that higher, lower, or closer-to-ground-truth (GT) values are better, respectively; The Bold text indicates the best performer, underlined text indicates the second best performer.
Table 1. Quantitative Evaluation. Symbols ↑, ↓, and → indicate that higher, lower, or closer-to-ground-truth (GT) values are better, respectively; The Bold text indicates the best performer, underlined text indicates the second best performer.
表4:风格强度控制评估。λ=1.0时风格准确率与内容保持达到最佳平衡。
表4:风格强度控制评估。λ增大时SRA持续升高但FID恶化严重,λ=1.0时风格准确率与内容保持达到最佳平衡。
风格强度控制实验揭示了一个重要的权衡关系:随着风格强度系数λ从0.5增加到1.5,SRA从7.82一路升到32.15,但FID也从1.99恶化到12.84,内容保持能力显著下降。这说明风格和内容之间存在天然矛盾,过强的风格注入会挤压内容信息的表达空间。论文最终选择λ=1.0作为平衡点,既保证了风格识别度(27.21),又让内容损失控制在可接受范围(FID 5.56)。这个实验的价值在于告诉使用者:风格强度不是越大越好,需要根据具体场景做权衡。
综合来看,MoCoDiff在风格保真、时序平滑性和推理效率三个维度都取得了明显优势,虽然在FID这类整体分布距离指标上不是最优,但考虑到它在可控制性和长序列稳定性上的收益,这种取舍是值得的。

局限与展望:从长序列到全局规划

虽然MoCoDiff在同类型方法里已经相当能打,但它仍然有自身的边界。首先,历史帧长度k的选择需要手动调整,而且不同动作类型对k的敏感度不同:快节奏动作需要较短的历史窗口,慢节奏动作则相反。其次,风格强度λ也需要人工设定,虽然推理时可以通过调节λ实现不同风格强度,但如何自动根据文本语义推断合适的λ还是一个开放问题。更长远地看,MoCoDiff的自回归策略本质上是“逐段最优、全局不一定最优”,每一段都平滑过渡不代表整段动作在语义上做到了全局一致。比如一段文本描述“先走路再跑步最后急停”,模型可能把“急停”的过渡处理得很好,但前面走路和跑步之间的节奏变化是否真正符合文本意图,当前方法还没有全局层面的机械规划。
另外,本文的风格迁移依赖MotionCLIP提取风格特征,这意味着风格表达的上限受限于预训练编码器的表征能力,遇到训练集中没出现过的“奇葩”风格时,风格特征可能不够准确。再一个,当前训练数据(HumanML3D+BABEL+100Style)虽然覆盖了常见动作和风格,但舞蹈、武术、体育等高动态动作的覆盖仍然不足。这些方向都是未来可以继续深挖的点。
但从工程角度讲,MoCoDiff已经展示了一条清晰的路径:轻量插件式控制器+冻结骨干这套组合拳,既保证了模型的可扩展性,又把训练成本压到了单卡2小时,这对工业界来说是非常有吸引力的特性。

龙迷三问

下面是龙哥对于大家可能的一些问题的解答:
这篇论文到底在解决什么问题?MoCoDiff提出注入调制控制器,将语义、风格与历史信息解耦注入扩散模型,在冻结骨干网络上实现可控自回归长序列运动生成,风格保真与过渡平滑双双登顶,且推理效率达136.89 FPS。
这篇工作最值得看的点是什么?在风格保真度(SRA 26.37)和过渡平滑性(PJ 0.27, AUJ 1.58)上达到最优,推理速度比最强基线快4.8倍,在长序列生成中误差累积最小。
这篇工作的边界或风险在哪里?优点:1) IMC模块实现条件解耦,避免多条件纠缠;2) TIMC将历史信息作为时间依赖的校正信号,有效抑制漂移;3) 冻结骨干网络,训练高效且支持即插即用;4) 支持推理时灵活调整条件权重。缺点:1) 固定大小历史窗口限制全局依赖建模;2) 极长序列仍可能累积误差;3) 冻结骨干在罕见或噪声条件下表达能力受限。
如果你还有哪些想要了解的,欢迎在评论区留言或者讨论~

龙哥点评

论文创新性分数:★★★★☆

提出一种可控自回归扩散框架MoCoDiff,通过注入调制控制器(IMC)将语义、风格和历史信息解耦为独立调制路径,并利用时间IMC(TIMC)实现历史感知的逐步去噪调制,以解决长序列运动生成中的条件纠缠和时序漂移问题。

实验合理度:★★★★☆

Style Recognition Accuracy (SRA), FID, R-Precision (R-Top-3), Diversity, Peak Jerk (PJ), Area Under the Jerk (AUJ), FPS

学术研究价值:★★★★☆

提出一种可控自回归扩散框架MoCoDiff,通过注入调制控制器(IMC)将语义、风格和历史信息解耦为独立调制路径,并利用时间IMC(TIMC)实现历史感知的逐步去噪调制,以解决长序列运动生成中的条件纠。

稳定性:★★★☆☆

现有材料未提供充分的极端条件、重复运行或扰动测试,稳定性暂按中性评价。

适应性以及泛化能力:★★★☆☆

现有材料未完整展示跨数据集、跨场景或分布外实验,泛化能力仍需进一步验证。

硬件需求及成本:★★★☆☆

在单张RTX 3090上训练约2小时,推理速度达136.89 FPS,每帧延迟7.31ms,每个运动序列生成时间0.72秒。

复现难度:★★★☆☆

https://github.com/Xuehan0530/MoCoDiff-code

产品化成熟度:★★★☆☆

论文验证以研究实验为主,真实部署中的时延、成本、维护和异常场景仍需补充验证。

可能的问题:1) 固定大小历史窗口限制全局依赖建模;2) 极长序列仍可能累积误差;3) 冻结骨干在罕见或噪声条件下表达能力受限。

主要参考文献

[1] Song W, Wang X, Li S, et al. MoCoDiff: A Controllable Autoregressive Diffusion Model for Expressive Motion Generation. CVPR 2026.
[2] MoCoDiff官方代码仓库: https://github.com/Xuehan0530/MoCoDiff-code
[3] Raab S, et al. FlowMDM: Flow Matching for Human Motion

*本文仅代表个人理解及观点,不构成任何论文审核或者项目落地推荐意见,具体以相关组织评审结果为准。欢迎就论文内容交流探讨,理性发言哦~ 想了解更多原文细节的小伙伴,可以点击"阅读原文",查看更多原论文细节哦!       

转发文章 微博 X LinkedIn Facebook
龙哥读论文 · PaperDaily

本文基于龙哥读论文 PaperDaily 数据库整理,结合论文原文与工程视角进行解读。

LONGGE AI COMMUNITY

把每天读到的论文,变成长期积累

加入「龙哥读论文」知识星球,持续获取 AI 论文、资讯、开源项目、招聘与研究思路。

加入龙哥读论文微信群:添加微信 kangjinlonghelper,备注“研究方向 + 地点 + 学校/公司 + 昵称”。

龙哥读论文知识星球二维码 微信扫码加入知识星球