← 返回 PaperDaily 前沿研究

北京大学3D舞蹈生成:OpenDance用音乐、文本、关键点和轨迹联合控制

论文基本信息 原文标题: OpenDance: Multimodal Controllable 3D Dance Generation with Large-scale Internet Data 首次公开: 2025 年 6 月 9 日 正式发表: CVPR 2026 主要署名单位: 北京大学;华为 具体领域: 多模态可控 3D 舞蹈生成 核心亮点: 音乐

北京大学3D舞蹈生成:OpenDance用音乐、文本、关键点和轨迹联合控制

论文基本信息

原文标题:OpenDance: Multimodal Controllable 3D Dance Generation with Large-scale Internet Data
首次公开:2025 年 6 月 9 日
正式发表:CVPR 2026
主要署名单位:北京大学;华为
具体领域:多模态可控 3D 舞蹈生成
核心亮点:音乐、文本、关键点和轨迹联合控制
项目页与 Demo:OpenDance 官方项目页
原论文:CVPR 2026 官方页面

龙哥导读

让 AI 听着音乐跳舞已经不新鲜,难的是让它按创作者的要求跳:某个时刻抬手、沿指定路线走位、保持一种舞风,还不能脚底打滑。北京大学与华为的 OpenDance 把问题拆成两部分:先建设 100.26 小时、五种同步模态的数据,再用离散动作 token、联合遮蔽预测和逐步物理修正,把“跟音乐”推进到“可组合控制”。它最值得看的不是一段炫目的 Demo,而是如何让风格条件与空间硬约束在同一个生成系统里不互相打架。

如果只给一段音乐,模型可以生成一支“看起来像舞蹈”的动作;但真正进入游戏、数字人、虚拟演出或编舞软件后,创作者会提出更苛刻的问题:角色必须在第八拍走到舞台左侧,副歌时完成指定姿态,整体还要保持爵士或民族舞的风格。这不是把条件多塞几个,而是同时满足软风格与硬几何约束。

OpenDance官方多模态控制舞蹈Demo

舞蹈 Demo|来自 OpenDance 官方项目视频的 10 秒片段,展示模型在音乐基础上接收关键点或轨迹等控制信号,输出三维人体舞蹈动作。画面是模型生成结果的可视化,不是真人实时表演,也不能单独证明长时稳定性、手指表情质量或真实制作环境中的可编辑效率。

OpenDance 的回答可以概括为一句话:先把动作、关键点和轨迹拆成对齐的离散语言,再让 Transformer 学会在任意条件缺失时补全它们。这样,音乐负责节奏,文本负责风格,关键点钉住局部姿态,轨迹约束全局走位,每种输入都有明确职责。

01 真正的瓶颈:不是会不会跳,而是能不能听指挥

早期音乐驱动舞蹈生成通常优化两件事:动作像不像真人,节拍对不对。可创作工具还需要第三件事——控制。用户希望指定空间位置、关键姿态、动作语义和舞种,而不是反复抽样,直到随机碰到想要的结果。

这里有一个容易被忽略的冲突。音乐和文本属于相对宽松的风格条件,同一段音乐可以有很多合理舞法;关键点和轨迹却是帧级约束,某一帧手腕在哪里、人物走到哪里,偏一点都可能算失败。把它们简单拼接后训练,模型往往优先学习更容易的音乐与文本,把难学的空间条件当作噪声。

OpenDance 的核心技术问题,是如何防止“容易条件”淹没“重要条件”。这决定了它究竟是一个会随机跳舞的生成器,还是一个能进入制作流程的可控动作引擎。

02 OpenDanceSet:100小时背后,是五种信号真正对齐

OpenDanceSet 从约 600 小时公开视频中筛选单人舞蹈,最终形成 100.26 小时数据,覆盖 147 名舞者和 14 个细分舞种。每段样本不只有 RGB 与音乐,还配有 2D 关键点、3D SMPL 动作与全局轨迹、细粒度文本描述,所有视频统一到 30 FPS。

规模当然重要。AIST++ 总计 5.2 小时、10 类舞种;FineDance 为 14.6 小时、22 类舞种;OpenDanceSet 平均每类约 7.16 小时。可更关键的是同步标注:同一段舞蹈里,节拍、动作、二维位置、三维移动和语言描述彼此对应,模型才有机会理解“这句描述、这个路径和这一拍动作是同一件事的不同侧面”。

OpenDanceSet与AIST++、FineDance数据规模对比卡

数据对比|卡片依据论文 Table 1 整理。小时数不能直接等于数据质量;它说明 OpenDanceSet 为多模态控制提供了更大的覆盖面,不能证明每个网络视频的三维重建都达到动作捕捉棚精度。

标注链也不是一次自动跑完。2D 姿态估计后要过滤抖动帧;3D 动作用世界坐标下的人体运动估计器恢复;舞种由专业人员标注,起止时间、性别和动作风格由人工描述,身体各部位的细节文本再由视觉语言模型辅助生成。最后还要用卡尔曼滤波抑制抖动,用足部接触约束修正滑步。

论文用 AIST++ 的高质量动作分布作为参照,结合抖动、静止、PFC 和 MotionCritic 分数过滤样本。真实动作用户研究中,OpenDanceSet 相对 AIST++ 的动作真实感偏好率为 62.4%,多样性偏好率为 58.8%。这支持后处理有效,但仍是偏好实验,不等于逐关节误差已被动作捕捉真值验证。

OpenDanceSet舞者与14类舞种分布

项目图|左侧小提琴图表示不同舞者的样本数量分布,右侧旭日图展示 House、Urban、Jazz、Hiphop、Latin 等 14 类舞种的层级与占比。图能说明覆盖结构,但不能说明类别间已完全均衡。来源:OpenDance 官方项目页。

03 第一步:DDT把三种空间信号拆成离散token

OpenDanceNet 的第一块是 Disentangled Dance Tokenizer,简称 DDT。输入包括关节旋转 J、2D 关键点 K 和全局轨迹 X。三个编码分支分别把连续序列映射成潜在特征,再从各自码本中选出离散 token。它没有在编码器入口就把三种信号揉成一团。

为什么要“解耦”?因为稀疏关键点和轨迹需要保留明确位置。如果早期融合,模型可能用动作外观近似掉空间误差;分支量化后,每条轨迹、每组关键点都有对应 token 流,缺失帧可以直接填入掩码,已知帧则作为硬条件保留。

论文把统一离散表示写成三条序列堆叠:动作、关键点、轨迹分别编码后组成共同 token 空间。这里的“共同”不是共享一个码本,而是让后续 Transformer 能在同一时间轴上看到它们。DDT解决的是控制信号如何保真进入模型,而不是直接负责最终创作。

04 第二步:MCT不只预测动作,还要反向补关键点和轨迹

Multimodal-Condition Transformer,简称 MCT,接收音乐 token、文本 token、轨迹 token 和关键点 token。训练时,音乐与文本会按模态随机丢弃,轨迹、关键点和动作 token 则在时间位置上随机遮蔽。模型必须根据剩余信息恢复所有被遮蔽内容。

公式中的 Z 是四类条件拼成的完整序列,Zmask 是随机丢掉部分模态并把部分位置换成 [MASK] 后的输入。交叉熵损失只在被遮蔽位置 M 上计算:模型要提高真实 token 的概率。直觉上,它像让学生做多种完形填空,而不是永远只做“听音乐猜动作”这一种题。

最关键的变化是联合预测。若只让模型输出动作,关键点与轨迹只是辅助提示,网络可以选择少听;现在模型还要重建关键点和轨迹本身,空间关系就进入主任务。消融结果也说明这一点:只用音乐时 FIDk 为 171.69;逐步加入轨迹与关键点后,FIDk 降至 47.18,FIDg 降至 21.34。

OpenDanceNet完整方法总览

方法总览|左:DDT在 OpenDanceSet、AIST++、AMASS 上学习关节、关键点与轨迹的离散码本。中:MCT接收音乐、文本及空间 token,用随机模态组合和联合遮蔽训练恢复动作与控制信号。右:推理时从掩码动作开始,多轮预测并重遮蔽低置信 token,每一步加入足部约束,最终输出 3D 动作。图中雪花表示冻结模块。来源:OpenDance 官方项目页与论文 Figure 4。

05 第三步:空间辅助损失把“看起来差不多”变成“位置真的对”

只在 token 层做分类还不够。两个 token 不同,解码后的位置可能接近;token 猜对,三维骨架也可能出现不自然的脚部关系。因此论文用 Gumbel-Softmax 让离散采样保持可微,再把预测 token 解码回连续轨迹、关键点和关节位置。

四类辅助项各管一件事:Ltraj 约束全局轨迹 X 与预测轨迹 Xpred;Lkpts 约束二维关键点;Lfk 通过前向运动学 F 把关节旋转与根轨迹转换成三维关节,再比较真实与预测骨架;Lcon 只在脚接触地面的帧上强调足部位置,减少脚已经着地却在地面横滑的现象。

这组公式的价值,是把抽象的token正确性重新拉回舞台坐标、人体骨架和足部接触。它也揭示生成动作的工程难点:视觉上像舞蹈,不等于几何上可用;几何上贴轨迹,也不等于物理上自然。

06 第四步:MS-LRM让低置信动作反复重做

推理开始时,大量动作位置是 [MASK]。MCT每轮给出候选 token 与置信度。普通做法常只重做当前一轮最差的位置,MS-LRM 则跨多轮维护置信排序,把始终可疑的 token 重新遮蔽,让模型结合已经确定的上下文再次判断。

根据论文方法整理的伪代码

    输入:音乐,以及文本 / 稀疏关键点 / 轨迹的任意组合
    conditions = 分别编码为音乐、文本、关键点、轨迹 token
    motion = 全掩码动作 token
    
    重复 N 轮:
      probs, confidence = MCT(conditions, motion)
      motion = 从 probs 采样候选动作 token
      motion = MS-LRM 跨轮排序并重新遮蔽低置信位置
      joints = DDT解码 + 前向运动学
      logits = logits - 学习率 × 足滑损失对logits的梯度
    
    motion = 对最终动作嵌入再做一次足部优化与轻量后处理
    输出:满足给定条件的3D舞蹈动作

    伪代码里最重要的是两次纠偏。第一次是离散层面的“哪里不确定就重做”;第二次是连续几何层面的“哪里脚滑就沿梯度修正”。公式 êlogits = elogits − η∇Lfs 表示用足滑损失对预测分布做小步更新,最终又对动作嵌入做同类修正。

    这并不是免费收益。后优化把 PFC 从 0.1829 改善到 0.1371,但 FIDk 从 41.71 变差到 49.29。也就是说,脚更稳了,动作分布却离数据集统计特征更远。论文诚实暴露了物理合理性与分布保真之间的交换,而不是把所有指标包装成同时提升。

    07 实验结果:先分清每个指标到底在测什么

    PFC 衡量脚部接触的物理合理性,论文表格箭头虽然排版异常,但正文与数值关系都表明更低更好;FIDk 和 FIDg 分别比较运动学与几何特征分布,越低通常越接近真实数据;Divk、Divg 看生成多样性是否接近真值;BAS 衡量动作与音乐节拍对齐。

    在 AIST++ 上,OpenDanceNet 的 PFC 为 1.140、FIDk 为 24.82、BAS 为 0.2513。对照表中,它的 PFC 最低、FIDk 最好、BAS 最高;FIDg 为 12.54,不及 Bailando 的 9.62。结论应写成综合权衡强,而不是所有指标第一。

    在 OpenDanceSet 上,基础模型 FIDk 为 23.19、BAS 为 0.2472;加入 refinement 后 FIDg 达到 7.72,PFC 从 0.3462 改善到 0.2733,但 FIDk 变为 37.40、BAS 变为 0.2389。它再次说明,优化器更像制作流程里的物理修片,而不是让每一项统计指标都更漂亮。

    实验设置也值得交代。AIST++ 被切成 5 秒片段,OpenDanceSet 被切成 10 秒片段,均为 30 FPS;人体用 24 关节 SMPL、每关节 6D 旋转、根平移和足部接触标签表示。音乐由 Jukebox 特征编码,文本由 CLIP 编码,训练使用单张 24GB RTX 4090。这个配置说明研究并非依赖多机集群才能训练,但论文没有给出完整耗时、批大小与推理速度,因此不能据此推断普通团队可以低成本复现。

    OpenDance轨迹控制与推理消融关键结果卡

    关键结果|加入轨迹控制后,OpenDanceSet 子集上的轨迹距离从 0.1545 降至 0.0141;完整推理流程在可视化用户研究中的偏好率为 76.7%。这些结果支持控制与推理组件有效,但偏好率来自论文设置下的视频比较,不代表所有舞种、长序列和专业编舞场景。

    空间控制实验更直接。无控制时轨迹距离为 0.1545,加入轨迹条件后降到 0.0141;关键点控制把关键点距离从 0.1400 降到 0.0444;轨迹与关键点同时加入时,两项分别保持 0.0141 和 0.0444。这是全文最接近“用户指哪儿、模型到哪儿”的证据。

    推理消融中,完整模型偏好率 76.7%,去掉 MS-LRM 只有 12.8%,去掉后优化只有 10.5%。但完整模型 FIDk 并不更好,说明用户在视频中更看重脚部稳定、整体自然和连续性,而单个分布指标没有覆盖全部感知质量。

    08 三篇相似论文放在一起,OpenDance补上了哪一环

    AIST++ / AI Choreographer建立了音乐驱动 3D 舞蹈的重要基线:5.2 小时、30 名舞者、10 个舞种,重点是音乐到动作。它解决“能跟音乐生成”,但没有 OpenDance 这种文本、关键点、轨迹共同进入一个框架的帧级控制能力。

    FineDance把数据扩展到 14.6 小时、22 类舞种,并强调细粒度编舞与全身动作,对长舞蹈和舞种覆盖很重要。OpenDance 的推进不是简单把舞种数量做得更多,而是把数据总时长推到 100.26 小时,同时补齐文本和二维空间信号,让控制问题可训练。

    TM2D已经探索音乐与文本双模态融合,让语言参与舞蹈生成。但音乐和文本主要描述风格与语义,难以严格规定第几帧的姿态和舞台位置。OpenDance 用 DDT 的关键点、轨迹 token 与联合遮蔽预测,把“想跳什么风格”推进到“具体怎么走、何时做什么动作”。

    三篇工作使用的数据、模型与评测并不完全相同,横向关系主要用于理解能力演进,不能把不同论文里的单项数字直接排成统一排行榜。尤其 FID、节拍指标和用户研究会受到动作表示、切片长度、训练集与评测协议影响;OpenDance 的优势应落在它自己的对照与消融中,而不是靠跨论文数字拼接。

    把三条路线串起来看,演进逻辑很清楚:AIST++ 解决成对音乐动作数据,FineDance 扩展细粒度舞种与编舞覆盖,TM2D 加入语言语义,OpenDance 再把精确空间约束统一进来。它补上的不是“又一个生成模型”,而是从内容生成走向可导演生成的控制接口。

    09 落地价值:最先受益的不是自动编舞,而是动作草稿

    对游戏和数字人团队,最现实的用法是快速生成动作草稿:音乐确定节奏,文本指定风格,轨迹安排舞台走位,关键点锁住招牌姿势。动画师不必从零搭整段动作,而是在可控初稿上修正手部、表情、碰撞和镜头。

    对虚拟演出和 AR/VR,轨迹控制尤其关键。角色不能只在原地跳得好看,还要避开舞台边界、与灯光和其他角色配合。OpenDance 证明了稀疏轨迹能够强力约束生成结果,但论文没有评估多人碰撞、实时交互、长时累积误差和导演工具链。

    对研究者,DDT 加联合遮蔽预测可以迁移到其他动作任务:一部分条件描述风格,一部分条件约束几何。机器人动作、虚拟试衣、体育动作辅助都存在类似结构。不过舞蹈人体与机器人动力学差异很大,不能因为脚滑优化有效,就直接推断它能满足真实机器人安全约束。

    10 局限:Demo很漂亮,复现与完整表演仍有三道坎

    第一,身体表达还不完整。数据没有手指与面部表情标注。对远景游戏角色影响可能有限,对近景数字人和专业表演却是明显缺口。身体舞姿正确、脸和手僵硬,观众依然会立刻感到不自然。

    第二,文本控制粒度仍受限。整段描述被压成一个 CLIP token,长描述中的局部动作顺序、舞种细节和情绪变化可能丢失。论文已经把它列为未来改进方向,后续需要更细的时序文本对齐或视觉语言架构。

    第三,复现闭环尚未形成。官方项目页可以查看方法和演示,但当前没有可下载的代码与数据入口。论文说明模型在单张 RTX 4090 24GB 上训练,却没有给出完整训练时长、推理延迟、显存曲线和制作软件集成成本,因此外部团队目前无法独立复核端到端结果。

    这也意味着本文没有把项目视频写成“本地实测”。目前能够核验的是官方论文、项目方法图、可解码的演示视频和论文内实验;模型权重、训练数据与运行脚本没有形成可执行链路。后续即使资源开放,也仍需分别复核数据许可、环境依赖、推理速度与控制误差,不能只以成功生成一段短动作代替完整复现。

    此外,数据来自公开视频并经过单目三维估计。即使移除面部和体型等识别信息,遮挡、镜头运动、宽松服装和快速旋转仍会把估计偏差带进训练集。官方 Demo 能证明系统具备所展示的生成与控制形式,不能替代跨舞种、长序列、极端动作和专业舞者评审。

    11 龙哥点评:可控生成的价值,在于减少返工

    龙哥觉得,OpenDance 最值得肯定的不是“100小时”或某个最佳指标,而是把创作需求翻译成模型必须履行的接口契约:音乐管节奏,文本管语义,关键点管姿态,轨迹管走位,物理修正管落地。不同条件各司其职,才有机会进入真实工具。

    生成式产品的成本不只在一次推理,而在返工次数。一个完全随机但偶尔惊艳的模型,做 Demo 很强;一个能稳定遵守约束、允许局部修改的模型,才可能帮团队省时间。从“生成得像”走向“按要求生成”,本质是从展示能力走向交付能力。

    但现在还不能把它称为成熟的 AI 编舞师。没有手脸、没有公开复现、没有长时编辑和多人舞台评测,决定了它更适合作为研究原型与动作草稿引擎。真正进入专业生产,还需要时间轴编辑、局部重生成、动作约束冲突提示、骨骼适配和版权治理。

    12 龙迷三问

    第一问:条件越多,控制就一定越好吗?
    不一定。轨迹、关键点和文本可能互相冲突,例如轨迹要求快速向左,关键姿态却需要原地保持。论文证明任意组合可以输入,但没有系统展示冲突条件下如何拒绝、折中或提示用户。

    第二问:100小时互联网数据能替代动作捕捉吗?
    不能简单替代。它在规模、舞种和场景多样性上有优势,但三维动作来自估计与后优化。更现实的路线可能是互联网数据学覆盖,少量高质量 MoCap 校准细节,再用人工和物理约束筛选。

    第三问:下一步最该补什么?
    不是再做一组更漂亮的短视频,而是开放可复核资源,报告长序列稳定性与推理成本,加入手指和面部,并让用户在时间轴上编辑局部动作。只有这样,OpenDance 才能从论文系统变成创作者真正愿意每天使用的工具。

    总结

    OpenDance 给多模态 3D 舞蹈生成提供了一条完整路线:用 100.26 小时五模态数据扩大覆盖,用 DDT 保留动作、关键点和轨迹的独立结构,用 MCT 联合重建防止空间条件被忽略,再用 MS-LRM 与足部损失改善推理质量。

    它的核心贡献不是把舞跳得更花,而是让模型更愿意服从导演。轨迹误差的大幅下降、联合预测与推理消融,支持这条主线;FID 与物理修正的交换、手脸缺失和复现入口不足,又提醒读者不要把短 Demo 当成生产成熟度。这是一项把可控动作生成向前推了一步的工作,也是一套还需要工程闭环才能真正落地的方案。

    本文基于龙哥读论文PaperDaily数据库及PaperMiner的MCP进行汇总整理。

    本文为论文解读,指标与结论来自 CVPR 2026 论文及官方项目页;官方 Demo 展示的是模型生成动作可视化,不代表真人执行或完整生产系统。项目页当前未提供代码和数据下载入口,本文未进行本地模型复现。

    原论文:
    https://openaccess.thecvf.com/content/CVPR2026/html/Zhang_OpenDance_Multimodal_Controllable_3D_Dance_Generation_with_Large-scale_Internet_Data_CVPR_2026_paper.html
    项目页:
    https://open-dance.github.io

    end

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

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

    LONGGE AI COMMUNITY

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

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

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

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