将黑白草图转变为全彩角色是动画和漫画制作中最耗时的步骤之一。几十年来,艺术家们一直手工填充颜色,确保角色的头发、眼睛和服装在数千帧画面中保持一致。虽然自动化工具试图加快这一过程,但它们往往在面对动画的一个简单现实时受阻: 角色是会动的。

当一个角色转头、镜头拉近或改变姿势时,线稿的几何形状与参考表相比会发生巨大变化。传统的上色算法经常在此处失败,涂出界线,或者混淆衬衫与皮肤的颜色。

这就引出了 MangaNinja , 这是一篇新发表的研究论文,提出了一种利用扩散模型的力量来解决这一一致性问题的方法。通过引入一种新颖的“图块混洗 (patch shuffling) ”训练技术和用户引导的点控制系统,MangaNinja 弥合了 AI 的原始生成能力与专业动画的精确要求之间的差距。

线稿上色结果展示了 MangaNinja 将参考颜色应用于 Tom 和 Jerry 以及动漫角色的各种姿势的能力。

核心问题: 对应关系

要理解 MangaNinja 为何重要,我们首先需要看看以前方法的局限性。基于参考的线稿上色旨在获取一张目标草图 (线稿) 和一张彩色参考图像,然后将颜色从参考图转移到目标图上。

现有方法通常分为两类:

  1. 油漆桶式方法 (Paint-Bucket Approaches) : 这些方法依赖于传统的计算机视觉技术来匹配区域。然而,如果线稿的形状与参考图差异很大 (例如,侧视图与正视图) ,这些模型就难以找到正确的对应关系。
  2. 生成式扩散方法 (Generative Diffusion Approaches) : 像 Stable Diffusion 这样的模型非常擅长生成高质量的纹理。然而,它们很难控制。一个标准的扩散模型可能会漂亮地为线稿上色,但它可能会随意改变角色的眼睛颜色或服装图案,因为它“产生幻觉 (hallucinated) ”出了一种新风格,而不是严格遵循参考图。

研究人员发现,主要的瓶颈在于 语义不匹配 (semantic mismatch) 。 当参考图像和线稿在空间上差异太大时,模型就会弄不清参考图的哪个部分对应草图的哪个部分。此外,以前的方法缺乏让用户在不重新绘制图像的情况下手动纠正这些错误的方法。

MangaNinja 架构

MangaNinja 使用基于 U-Net 的双分支架构来解决这些问题,U-Net 是图像分割和扩散模型中的常见结构。

1. 双分支设计

系统同时处理两个输入。如下图所示,该架构由 参考 U-Net (Reference U-Net)去噪 U-Net (Denoising U-Net) 组成。

MangaNinja 的训练过程图解。展示了参考 U-Net 处理混洗后的参考图像,去噪 U-Net 处理目标线稿,两者通过注意力机制连接。

该过程的工作原理如下:

  1. 输入: 模型接收一个彩色参考帧和一个目标线稿帧。
  2. 参考 U-Net: 该网络将参考图像编码为高级特征 (潜在表示) 。
  3. 去噪 U-Net: 这是主要的生成器。它接收线稿和带噪声的画布,试图将其去噪为最终的彩色图像。
  4. 交叉注意力 (Cross-Attention) : 关键在于,来自参考 U-Net 的特征被注入到去噪 U-Net 中。这告诉生成器根据参考图应该绘制 什么

这种注入的数学机制是标准的交叉注意力。“查询 (Query) ”来自目标图像 (我们正在绘制的内容) ,而“键 (Key) ”和“值 (Value) ”来自参考图像 (颜色的来源) 。

显示注意力机制的公式,其中 Q 来自目标,K、V 来自参考。

2. 渐进式图块混洗: 逃离“舒适区”

研究人员在开发过程中有一个有趣的观察: 模型很懒。

当在视频帧上训练时 (参考帧和目标帧通常非常相似) ,模型学会了简单地将参考图像的全局结构复制到目标上。它实际上并没有学会“这种纹理是头发”或“这种纹理是皮肤”;它只是单纯地将参考图像叠加了上去。这意味着当目标姿态与参考图像截然不同时,模型就会失效。

为了解决这个问题,团队引入了 渐进式图块混洗 (Progressive Patch Shuffling)

在训练期间,他们没有直接输入干净的参考图像,而是将参考图像切成小块并随机打乱。这破坏了图像的全局结构。模型不再能依赖像素的位置 (例如,“脸总是在顶部中心”) 。相反,它被迫学习 局部语义匹配 。 它必须学会特定的纹理块对应“头发”,而不管它位于画布的哪个位置。

他们采用了“由粗到细”的策略,从大的 \(2 \times 2\) 图块开始,逐渐混洗到微小的 \(32 \times 32\) 网格。这迫使模型走出其舒适区,从而即使在参考和目标姿势完全不同的情况下也能实现稳健的匹配能力。

3. 点驱动控制

即使有智能模型,歧义仍然存在。例如,参考图像可能只显示角色的脸,但线稿显示的是全身。模型应该如何给裤子上色?或者,如果模型将包带误认为是衬衫的一部分怎么办?

MangaNinja 引入了一种交互式的 点驱动控制 (Point-Driven Control) 方案。用户可以在参考图上点击一个点,并在线稿上点击一个对应的点,明确地告诉模型: “这儿的这个点对应那儿的那个点。”

点引导的可视化,显示线稿上的红点连接到彩色参考图上的匹配点。

这是使用 PointNet 模块实现的。用户点击的点被编码为嵌入 (embeddings) ,并与图像特征一起注入到注意力机制中。

注意力公式经过修改,包含了这些点嵌入 (\(E_{tar}\) 和 \(E_{ref}\)) ,将它们添加到查询 (Query) 和键 (Key) 向量中:

显示修改后的注意力机制公式,其中点嵌入被添加到查询和键中。

这使得注意力图产生偏置。当去噪 U-Net 试图决定如何为特定像素上色时,点嵌入会将注意力拉向用户指定的参考图像中的对应像素。

为了确保模型听从这些点的指示,研究人员在训练期间使用了 条件丢弃 (Condition Dropping) 。 他们偶尔向模型隐藏线稿结构,迫使它 依赖稀疏的点提示来重建上色。

4. 控制影响力

在推理阶段 (即用户实际使用该工具时) ,MangaNinja 使用 多重无分类器引导 (Multi-Classifier-Free Guidance) 。 这允许用户调整两个特定参数:

  • \(\omega_{ref}\): 模型总体上应多大程度地遵循参考图像。
  • \(\omega_{points}\): 模型应多大程度地服从特定的点击点。

定义多重无分类器引导的公式,结合了参考权重和点权重的噪声预测。

如果需要复杂的手动修正,用户可以调高 \(\omega_{points}\) 来覆盖模型的自动决策。

实验结果

研究人员在一个名为 Sakuga-42m 的海量数据集上训练了 MangaNinja,该数据集包含 4200 万个动漫关键帧。他们将其过滤为高质量的视频片段,从中可以提取同一场景中自然的“参考帧”和“目标帧”对。

定性比较

实际效果如何?结果显示,与之前的最先进方法 (如 BasicPBC,一种非生成式方法) 和 AnyDoor (一种生成式对象定制方法) 相比,该方法有明显的改进。

定性比较显示 MangaNinja 在保持颜色保真度和细节方面优于 BasicPBC、IP-Adapter 和 AnyDoor。

在上面的比较中,请注意第二行的角色 (类似精灵的人物) 。

  • BasicPBC 产生了伪影,因为它依赖于像素局部性;如果线条不匹配,油漆桶就会溢出。
  • AnyDoorIP-Adapter 捕捉到了大致的感觉,但丢失了具体细节——注意头发阴影或衣服图案的不正确之处。
  • MangaNinja (Ours) 保持了动漫典型的清晰、精确的阴影,同时正确地将颜色映射到了新姿势上。

定量分析

为了在数学上衡量这一点,作者构建了一个包含 200 个不同动漫角色对的基准测试。他们使用了 PSNR (峰值信噪比) 等指标来衡量图像质量,并使用 CLIP/DINO 分数来衡量语义相似度 (AI 对内容的理解程度) 。

显示定量比较指标的表格。MangaNinja 在 DINO、CLIP、PSNR 和 MS-SSIM 方面得分最高,同时 LPIPS 得分最低。

MangaNinja 在各项指标上都取得了最先进的结果。较低的 LPIPS 分数 (越低越好) 表明生成的图像与真实值 (Ground Truth) 之间的感知差异非常小。

消融实验

“图块混洗”真的有必要吗?消融实验证实它是至关重要的。

消融实验表。第三行显示,与第一行的基础模型相比,渐进式图块混洗显著提高了性能。

比较第一行 (基础模型) 和第三行 (基础 + 图块混洗) ,我们看到性能指标有了巨大的飞跃。这验证了在训练过程中打破全局结构会迫使模型成为更好的语义匹配器的假设。

处理挑战性场景

MangaNinja 的真正威力在“边缘情况”中得以显现——这些情况通常会让自动化工具崩溃。

1. 缺失细节和极端姿势

通常,参考图像只是一个头像,但动画师需要为全身动作镜头上色。通过使用点引导,用户可以引导模型参考衬衫的色调来给裤子或鞋子上色,或者干脆让模型利用学到的先验知识合理地填补空白,同时用点锁定面部细节。

2. 多参考图上色

如果你有一张角色面部的参考图,和一张另一张新服装的参考图怎么办?MangaNinja 可以接受多个参考输入。用户只需将面部参考图上的点连接到线稿的面部,将服装参考图上的点连接到线稿的身体。模型会将它们无缝融合。

不同姿势、缺失细节和多参考图上色的可视化。该模型成功处理了下半身细节缺失的问题,并结合了多个参考图。

3. 跨角色上色

更有趣的是,该模型足够稳健,可以将一个角色的配色方案应用到完全不同角色的线稿上。因为模型理解“头发是头发”和“眼睛是眼睛” (归功于图块混洗) ,它可以将角色 A 的纹理转移到角色 B 的几何形状上。

使用差异参考图进行上色的可视化。使用点引导将一个角色的配色方案应用到不同角色的线稿上。

结论

MangaNinja 代表了 AI 辅助动画向前迈出的重要一步。通过超越简单的风格迁移并专注于 精确的对应关系 , 它解决了动画师日常面临的具体痛点。

结合用于特征提取的 双分支 U-Net、用于稳健语义学习的 渐进式图块混洗 以及用于人工修正的 点驱动控制 , 创造了一个既强大又精确的工具。对于动漫和漫画行业来说,这样的工具可以大幅减少重复性上色任务所花费的时间,让艺术家能够更多地专注于分镜绘制、构图和创意指导。