CoDance:一种用于鲁棒多主体动画的解绑-重绑范式 CoDance: An Unbind-Rebind Paradigm for Robust Multi-Subject Animation
提出解绑-重绑机制实现任意数量、类型、空间布局的角色动画
前置知识
Character Image Animation(角色图像动画)
角色图像动画是一种计算机视觉任务,目标是从一张参考图像和一个目标姿态序列出发,生成保持参考角色身份一致性的动画视频。具体来说,给定参考图像 $I_r$ 和驱动姿态序列 $I_{p1:F}$,模型需要生成一段视频 $I_{g1:F}$,使得每个角色在运动过程中保持外观和身份不变。该任务在广告、教育内容创作、虚拟人物表演等场景中有广泛应用。
这是本文要解决的核心任务,理解其定义和挑战有助于理解为什么现有方法在多主体场景下会失败,以及 CoDance 的设计动机。
Diffusion Transformer (DiT)
DiT 是一种将标准 Transformer 架构用作扩散模型骨干网络的生成模型。与早期使用 U-Net 的扩散模型不同,DiT 将输入图像分割为不重叠的 patch(类似 Vision Transformer),加上时间步 $t$ 和条件 $c$(如姿态骨架)的嵌入,形成 token 序列后送入 Transformer 块处理以预测噪声。DiT 具有良好的可扩展性和长序列处理能力,是当前视频生成的主流架构之一。
CoDance 基于预训练的 Wan 2.1 14B DiT 模型进行微调,理解 DiT 的工作原理是理解整个框架的基础。
LoRA(Low-Rank Adaptation)
LoRA 是一种参数高效的微调方法,通过在预训练模型的注意力层(如自注意力和交叉注意力块)中注入低秩适配矩阵,仅训练这些新增参数即可实现模型适配,而保持原始权重冻结。这大大降低了微调所需的计算资源和存储开销,同时保留了预训练模型的强大生成能力。
CoDance 在冻结 Wan 2.1 基础权重的同时,仅通过 LoRA 层进行微调,理解 LoRA 机制有助于理解模型的训练策略和参数效率。
Classifier-Free Guidance (CFG)
Classifier-Free Guidance 是扩散模型中用于增强条件控制影响力的技术。在训练时,模型同时学习有条件和无条件生成(通过随机丢弃条件);推理时,将有条件预测和无条件预测进行线性组合:$$\hat{\epsilon} = \epsilon_\theta(x_t, t, \emptyset) + s \cdot (\epsilon_\theta(x_t, t, c) - \epsilon_\theta(x_t, t, \emptyset))$$,其中 $s$ 是引导强度。这增强了条件 $c$ 对生成结果的控制力。
CoDance 在推理时使用 CFG 来强化姿态和文本条件的引导效果,是实现精确控制的关键机制。
SAM(Segment Anything Model)
SAM 是一种通用的图像分割模型,能够根据输入的图像自动分割出所有物体实例,生成高质量的实例级分割掩码(mask)。在 CoDance 中,SAM 用于从参考图像 $I_r$ 中提取各主体的分割掩码 $M$,作为 Rebind 模块的空间引导条件,帮助模型精确地将运动绑定到正确的角色区域。
SAM 提供的分割掩码是 CoDance 实现空间重绑的关键输入,没有它就无法实现精确的主体定位。
umT5 文本编码器
umT5 是 T5 模型的改进版本,是一种统一的多语言文本到文本 Transformer 编码器。在 CoDance 中,umT5 用于编码文本提示 $T$(如描述多个角色动作的句子),提取语义特征,然后通过交叉注意力注入 DiT 中,为模型提供关于动画角色身份和数量的语义指导。
文本编码是 CoDance 语义重绑的核心,umT5 提供的语义特征帮助模型理解要动画哪些角色以及有多少个角色。
研究动机
角色图像动画领域在单人动画上已取得显著进展,但在多主体(≥2)场景下仍然面临严重挑战。现有方法存在三个关键限制:第一,主体数量扩展性不足。以 Follow-Your-Pose-V2 和 Follow-Your-MultiPose 为代表的方法,其刚性的姿态条件绑定机制约束了控制和融合流程,无法扩展到超过两个主体。第二,位置敏感性问题。这些方法对初始主体位置施加了严格约束,要求参考图像和目标姿态之间必须完美空间对齐。轻微的错位就会导致由过度强制对齐引起的失败,模型在空间错位时无法正确推断目标姿态对应的主体。第三,主体类型受限。当前方法通常针对真人优化,对于偏离人类形态的主体(如拟人化卡通角色)泛化能力很差。作者将这些问题归因于两个核心因素:姿态骨架与参考主体之间过度严格的空间绑定迫使像素级对齐,以及缺乏明确的聚焦机制来可靠地隔离和动画化目标主体。
本文的目标是本文的具体目标是实现一种能够同时处理任意主体数量、任意主体类型、任意空间位置和任意姿态的角色图像动画框架。具体而言,给定一张包含多个主体的参考图像 $I_r$、一个驱动姿态序列 $I_{p1:F}$(不要求与参考图像空间对齐)以及一个文本提示 $T$,模型需要生成一段协调一致的动画视频,其中每个主体保持身份一致性并获得正确的运动分配。作者希望通过这一框架突破现有方法在多主体场景下的根本性限制,使角色动画技术能够真正应用于舞蹈表演、广告制作、教育内容等实际场景。
与已有工作不同的是,本文的独特切入角度在于提出了“解绑-重绑”(Unbind-Rebind)范式,从根本上改变了处理姿态-参考关系的方式。与现有方法试图加强姿态和参考图像之间的空间对应关系不同,CoDance 的核心洞察是首先主动打破这种刚性空间耦合,让模型学习与位置无关的运动语义表示,然后再通过语义和空间两个维度的引导将运动重新绑定到正确的主体上。这种先松后紧的策略与现有方法的一直紧策略形成了本质区别。具体来说,Unbind 阶段通过随机扰动姿态位置和特征来抑制像素对齐捷径,迫使模型学习运动的本质语义;Rebind 阶段则利用文本提示提供语义指导(指定身份和数量),利用分割掩码提供空间指导(指定动画区域),从而实现精确的主体定位和运动分配。这种设计使得模型能够自然地扩展到任意数量的主体,而不受架构限制。
核心方法
CoDance 的整体思路可以直观地理解为:在训练阶段,模型先学会“忘记”姿态的空间位置信息(解绑),再学会通过额外线索“重新找到”正确的动画目标(重绑)。这种两阶段策略使得模型在推理时能够处理空间未对齐的输入。技术路线上,CoDance 基于 Wan 2.1 14B 预训练 DiT 模型,通过 LoRA 微调适配多主体动画任务。给定参考图像 $I_r$,首先通过 VAE 编码器提取其潜在表示 $f_e^r$,同时使用 SAM 分割模型提取主体掩码 $M$。驱动姿态 $I_{p1:F}$ 经过 Pose Shift Encoder(由 Pose Unbind 和 Feature Unbind 组成)处理后,输出的特征与 patch 化的噪声 token 拼接。文本提示 $T$ 通过 umT5 编码后注入交叉注意力层,掩码特征通过 Mask Encoder 处理后与噪声潜在逐元素相加。整个推理过程中 Unbind 模块和混合数据训练策略被完全绕过,不增加额外计算开销。
CoDance 的核心创新在于 Unbind-Rebind 范式,这与已有方法有本质区别。现有方法(如 AnimateAnyone、UniAnimate、Animate-X 等)都假设姿态和参考图像之间存在刚性空间对应关系,即姿态骨架的每个像素位置必须与参考图像中的对应部分精确对齐。这种设计在单人、对齐良好的场景下有效,但在多主体或空间错位场景下会失败,模型会忽略参考身份,在对应空间区域幻觉出一个新的、姿态对齐的人物。CoDance 通过两个互补模块解决这一问题:Unbind 模块在训练时对姿态施加随机平移 $T \sim [x, y]$ 和缩放变换,并在特征级别进行进一步的随机扰动(包括特征区域的随机复制叠加),彻底打破空间对应关系,迫使模型学习与位置无关的运动语义。Rebind 模块则通过语义分支(umT5 文本编码加混合数据训练)和空间分支(SAM 掩码加 Mask Encoder)两条路径重新建立正确的运动-主体关联。这种解耦再绑定的策略是首次在角色动画中实现四个“任意”(任意数量、类型、位置、姿态)的统一。
方法步骤详情
CoDance 的方法步骤如下:第一步,输入准备。给定参考图像 $I_r$、驱动姿态序列 $I_{p1:F}$、文本提示 $T$ 和主体掩码 $M$(由 SAM 在参考图像上离线提取)。第二步,参考图像编码。使用 VAE 编码器将 $I_r$ 压缩为潜在表示 $f_e^r$,直接作为去噪网络 $\epsilon_\theta$ 的输入。第三步,姿态解绑(训练阶段)。Pose Unbind 模块对驱动姿态施加随机平移 $T \sim [x, y]$ 和随机缩放,打破参考图像与姿态之间的空间绑定。第四步,特征解绑(训练阶段)。经过姿态编码器后,Feature Unbind 模块对输出的姿态特征施加进一步的随机平移,并提取姿态对应的特征区域进行随机复制后叠加到原始特征图上,迫使扩散模型适应各种姿态配置。第五步,姿态特征提取。Pose Shift Encoder 由多层 3D 卷积层堆叠组成,同时捕获驱动姿态的时间和空间特征,输出特征与 patch 化的图像 token 拼接。第六步,语义重绑。文本提示 $T$ 通过 umT5 编码器提取语义特征,通过交叉注意力层注入 DiT 块中,明确指定要动画的主体身份和数量。第七步,空间重绑。主体掩码 $M$ 通过 Mask Encoder(多层 2D 卷积层)处理后,与噪声潜在向量进行逐元素求和,明确界定动画区域。第八步,混合数据训练(训练阶段)。以概率 $p_{ani}$ 使用动画数据训练,以概率 $1 - p_{ani}$ 使用文本到视频数据训练,增强模型的文本理解能力。第九步,去噪生成。DiT 骨干网络处理所有条件 token,预测噪声,最终通过 VAE 解码器将去噪后的潜在表示重建为像素级视频 $I_{g1:F}$。
技术新颖性
CoDance 的技术新颖性体现在多个层面。首先,Unbind-Rebind 范式本身是一个全新的思路,不同于以往所有方法追求更紧密的姿态-参考对齐,CoDance 主动打破对齐再通过额外引导重建关联,这种反直觉的设计首次从根本上解决了多主体动画的核心瓶颈。其次,Pose Shift Encoder 中的 Feature Unbind 模块具有独特设计:不仅对特征施加随机平移,还提取姿态对应的特征区域进行随机复制并叠加到特征图上,这种操作迫使模型在特征空间中发展出更鲁棒的姿态语义理解能力。第三,混合数据训练策略解决了动画数据集中文本标注稀缺和多样性不足的问题,通过以概率交替训练动画任务和文本到视频任务,模型能够发展出更强的文本条件理解能力,从而在推理时准确响应文本提示指定的主体信息。第四,整个框架的设计使得 Unbind 和混合数据训练仅在训练阶段生效,推理时完全跳过,不增加任何计算开销,这在实际部署中非常有价值。第五,作者构建了 CoDanceBench 多主体评估基准,包含 20 个多主体舞蹈视频,为该领域提供了标准化的评估工具。
实验结果
CoDance 在多个基准测试和评估指标上均达到了 SOTA 性能,验证了 Unbind-Rebind 范式的有效性。在 Follow-Your-Pose-V2 基准的单人设置下(Table 1),CoDance 在感知质量指标 LPIPS 上取得 0.153(最优,次优 UniAnimateDiT 为 0.159),PSNR 达到 25.76 dB(显著超越次优的 24.00 dB),SSIM 为 0.896(与 UniAnimateDiT 并列最优),L1 为 $2.52 \times 10^{-5}$(最优)。在视频级指标上,FID-VID 为 11.56(大幅领先次优的 14.81),FVD 为 312.13(超越次优的 366.19)。在 CoDanceBench 多主体基准(Table 2)上,CoDance 同样表现突出:LPIPS 0.580(与 Animate-X 持平),PSNR 12.21(最优),SSIM 0.592(最优),L1 为 $1.24 \times 10^{-4}$(与 StableAnimator 并列最优),FID-VID 180.50(大幅领先),FVD 2494.76(显著超越次优的 2795.78)。用户研究(Table 3)涉及 10 名参与者对 20 个身份和 20 个驱动视频生成的动画进行成对 A/B 偏好测试,CoDance 在视频质量(0.90)、身份保持(0.88)和时间一致性(0.83)三个维度均获得最高偏好率。消融实验表明,Baseline(刚性对齐)会合成新角色而丢弃参考身份;加入 Unbind 后能够保留参考身份但无法生成连贯运动;进一步加入空间重绑能正确定位动画区域但将多个主体视为单一整体;完整模型同时集成 Unbind 和完整 Rebind 机制后达到最优效果,验证了各模块的互补必要性。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 单人角色动画(Follow-Your-Pose-V2) | LPIPS ↓ | 0.153 | 0.159 (UniAnimateDiT) | 3.8% 相对降低 |
| 单人角色动画(Follow-Your-Pose-V2) | PSNR ↑ | 25.76 | 24.00 (Animate-X) | +1.76 dB |
| 单人角色动画(Follow-Your-Pose-V2) | FID-VID ↓ | 11.56 | 14.81 (Animate-X) | 22.0% 相对降低 |
| 单人角色动画(Follow-Your-Pose-V2) | FVD ↓ | 312.13 | 366.19 (UniAnimateDiT) | 14.8% 相对降低 |
| 多主体动画(CoDanceBench) | PSNR ↑ | 12.21 | 12.18 (StableAnimator) | +0.03 dB |
| 多主体动画(CoDanceBench) | SSIM ↑ | 0.592 | 0.588 (UniAnimateDiT) | 0.7% 相对提升 |
| 多主体动画(CoDanceBench) | FID-VID ↓ | 180.50 | 190.79 (UniAnimateDiT) | 5.4% 相对降低 |
| 多主体动画(CoDanceBench) | FVD ↓ | 2494.76 | 2795.78 (Animate-X) | 10.8% 相对降低 |
局限与改进
论文在局限性方面提到了若干点,但主要在附录中讨论。从论文正文和实验设置中可以观察到以下局限:第一,CoDance 的训练数据仅包含约 1,200 个自收集的 TikTok 风格视频加上公开的 TikTok 和 Fashion 数据集,数据规模相对有限,且以舞蹈视频为主,可能限制了模型在非舞蹈场景(如日常行走、体育运动等)中的泛化能力。第二,Rebind 模块的语义引导依赖于文本提示的准确性,用户需要提供描述主体数量和身份的文本,这在某些场景下可能不够方便或直观。第三,空间重绑依赖于离线的 SAM 分割,分割质量直接影响动画效果,对于复杂场景或遮挡情况,SAM 可能产生不准确的分割结果。第四,模型基于 Wan 2.1 14B 参数量的 DiT,计算资源需求较大,对实际部署可能构成挑战。第五,尽管 CoDanceBench 提供了多主体评估基准,但仅包含 20 个视频,规模较小,评估的统计显著性可能有限。第六,论文未充分讨论在极端空间错位(如参考图像中角色完全不同于驱动姿态中的布局)情况下的表现。
独立分析的弱点
CoDance 存在若干值得深入分析的弱点。首先,文本引导的鲁棒性问题:Rebind 模块依赖文本提示来指定主体身份和数量,但论文中使用的文本提示格式较为固定(如描述角色数量和动作的句子),对于更复杂或更模糊的文本描述,模型的响应能力尚不明确。改进方向可以是引入更强的文本理解能力或多模态引导(如结合参考图像中的视觉线索自动生成描述)。其次,混合数据训练中的分布漂移风险:以概率 $p_{ani}$ 和 $1 - p_{ani}$ 交替训练动画数据和文本到视频数据,两种数据分布差异较大,可能导致模型在某些情况下出现训练不稳定或生成质量波动。可以探索更精细的课程学习策略或渐进式数据混合方法。第三,掩码编码器的设计较为简单(仅由堆叠的 2D 卷积层组成),可能无法充分捕获复杂主体的边界信息。可以考虑引入更先进的掩码特征提取方法,如可变形卷积或注意力机制。第四,推理时的单一骨架驱动多主体场景:当只有一个驱动姿态而参考图像包含多个主体时,模型需要将同一运动分配给所有主体,这限制了各角色独立运动的可能性。改进方向可以是支持多个独立的驱动序列输入,或学习自动分配差异化运动的能力。
未来方向
基于 CoDance 的成果,未来研究可以从多个方向延伸。第一,动态背景支持:当前方法主要关注前景角色的动画,未来可以扩展到背景与前景的联合动画,实现更自然的场景运动。论文引用的 Animate-X++ 已在此方向进行了探索。第二,音频驱动的多主体动画:将音频信号(如音乐节拍)作为额外条件,实现音乐同步的群体舞蹈生成,这在娱乐和表演场景中有巨大应用价值。第三,实时或近实时推理:通过模型蒸馏、量化或更高效的架构设计,将 CoDance 的推理速度提升到实时水平,使其能够应用于直播和互动场景。第四,更大规模的多主体基准:扩展 CoDanceBench 的规模和多样性,涵盖不同场景(室内和室外)、不同主体类型(真人、卡通和动物)、不同运动类型(舞蹈、运动和日常活动),建立更全面的评估体系。第五,零样本或少样本多主体动画:探索在无需特定文本提示的情况下,模型自动识别参考图像中的主体并分配运动的能力。第六,与 3D 感知方法的结合:引入 3D 人体模型或场景理解,实现更准确的空间推理和遮挡处理。
复现评估
论文承诺代码和权重将开源(The code and weights will be open-sourced),项目页面地址为 https://lucaria-academy.github.io/CoDance/,这为复现提供了重要基础。从技术角度看,复现的难度较高:首先,基础模型 Wan 2.1 是一个 14B 参数的 DiT 模型,需要大量 GPU 显存(可能需要多张 A100 或 H100 级别的 GPU)才能进行训练和推理。其次,训练数据包含约 1,200 个自收集视频,这些数据的具体获取方式和标注方法需要额外说明。第三,混合数据训练中的文本到视频辅助数据集(10,000 个样本)的具体来源未详细说明,需要确认是否使用公开数据集。第四,论文中的超参数(如 LoRA 秩、学习率、混合训练概率 $p_{ani}$、扰动范围等)在正文中有部分提及但不够完整,需要参考补充材料或开源代码。总体而言,如果代码和模型权重按承诺开源,结合 Wan 2.1 的公开可用性,复现的可行性较高,但计算资源门槛较高。
论文图表
通过四象限对比展示了刚性对齐(Rigid Alignment)和灵活对齐(Flexible Alignment)在单主体和多主体场景下的差异。上方两行展示了现有方法在刚性对齐下的表现:单人匹配成功但多人匹配失败;下方两行展示了 CoDance 的 Unbind-Rebind 策略:先解耦运动与外观,再重新绑定,从而在多主体场景下也产生匹配的输出。
这张图是理解论文核心创新动机的关键,清晰地展示了为什么刚性空间绑定在多主体场景下会失败,以及 Unbind-Rebind 范式如何解决这一问题。