文章链接:https://arxiv.org/pdf/2503.16948
项目链接:https://yinhan-zhang.github.io/color/
亮点直击
提出了 MagicColor,首个支持在单次前向传播中实现多实例集成线稿上色的方法。
在技术上,为了解决多实例数据不足的问题,设计了一种两阶段的自对弈训练策略。同时提出了实例引导器和基于边缘损失的像素级颜色匹配,以增强颜色对应关系。
总结速览
解决的问题
-
多实例线稿上色的效率与准确性:传统的手工上色方法需要艺术家逐个实例上色,效率低下且容易出错。
-
训练数据不足:现有的生成方法由于缺乏多实例配对数据,难以有效解决多实例上色任务。
-
实例级控制与颜色一致性:现有方法在实例级控制上表现不佳,容易导致颜色失真和细节丢失,且难以保持颜色一致性。
提出的方案
-
自对弈训练策略:通过自对弈训练策略解决训练数据不足的问题。
-
实例引导机制:引入实例引导器,将实例的颜色信息输入模型,实现多实例上色。
-
细粒度颜色匹配与边缘损失:通过细粒度颜色匹配和边缘损失提升视觉质量和颜色准确性。
应用的技术
-
扩散模型:基于预训练的扩散模型,利用其学习到的视觉一致性生成输出。
-
显式参考机制:通过显式参考机制将参考图像的颜色语义和艺术风格无缝注入线稿。
-
隐式空间控制:使用隐式控制确保每个实例的精确参考,显著提高颜色准确性和一致性。
-
两阶段自对弈训练策略:采用两阶段自对弈训练策略,解决多实例训练数据不足的问题,并通过额外参考图像细化上色能力。
达到的效果
-
自动化上色:模型能够自动将线稿转化为色彩鲜艳的图像,无需手动调整。
-
高颜色一致性:在多实例上色中实现了高颜色一致性,减少了颜色失真和细节丢失。
-
提升视觉质量:通过边缘损失和颜色匹配,显著提升了输出图像的视觉质量和颜色准确性。
-
广泛应用:该方法不仅适用于动漫行业,还可扩展到更广泛的数字艺术和媒体领域。
工作流
概览
推理pipeline
方法
问题定义。本文首先定义了具有实例级颜色控制的多实例线稿上色任务,通过语义对应实现从多个参考对象到相应线稿实例的精确映射。我们可以用以下公式更简洁地表示该问题:
其中, 是待生成的输出图像。条件 由线稿图像 、一组参考实例 和一组实例掩码 组成。 中的每个 对应一个实例,而 中的每个 是一个二值掩码,表示实例的参考空间位置。
架构设计。由于动漫线稿上色对高保真细节的要求,核心挑战在于设计能够进行空间精确参考图像解析的编码器,以提取亚像素级别的视觉线索。最近研究展示了利用额外的 UNet 架构实现这一目标的有效性,本文引入了一个参考网络,采用类似的设计。此外,线稿和实例引导器基于 ControlNet 设计,为生成过程中注入线稿和实例级信息提供了高效的条件。本文采用 DINOv2 对图像进行编码,并训练一个前馈网络层以从图像嵌入中提取特征。这些提取的特征随后被集成到潜在控制信号中。
自对弈训练策略
本文引入了一种两阶段的自对弈训练方法,以解决多实例训练数据不足的问题,并逐步提升模型的性能,从而构建一个能够生成高质量上色结果的先进模型。
单参考上色训练。在第一阶段,训练开始时激活参考网络(Reference Net)、UNet 和线稿引导器(Sketch Guider)。在这两个阶段中,我们使用带有边缘损失的颜色匹配进行训练。对于每个动漫序列,进行无替换的随机帧采样:一帧被指定为风格参考样本,另一帧作为原始输入线稿进行上色。我们将整个参考图像作为条件输入,并从原始图像中提取线稿。给定参考图像和线稿图像对,模型通过最小化精心设计的边缘损失函数,将参考图像中的颜色语义映射到线稿中,旨在使模型学习基本的颜色语义关系,为后续的多实例细化奠定基础。
多实例细化。在第二阶段,我们训练参考网络、UNet、线稿引导器和实例引导器,以提高模型处理多个实例的能力,并使局部上色更加准确。为了精确控制参考中的每个实例,本文使用 Segment Anything Model (SAM) 分别提取实例,并对实例进行随机融合、缩放、打乱和添加噪声等操作,作为参考网络的输入,以增强模型对每个实例的语义感知能力,从而实现准确的上色。接着,模型对所有实例进行编码,在隐空间中对齐它们,并从线稿开始为每个实例上色,同时考虑它们的特征和整体关系。这一过程使得上色结果更加准确,尤其是在颜色和语义要求较高的区域。
实例控制模块
以往的方法通常直接在参考注意力机制中施加约束以实现控制。然而,当面对处理多个实例作为条件输入的任务时,这种传统方法显得极为困难。为了保持语义对应并保护细节,我们在隐空间中对齐图像嵌入,从而能够更精确和有效地处理多个实例带来的复杂输入场景。给定目标区域(实例掩码),我们使用框坐标将掩码的边界矩形与输入 DINO 特征图对齐。随后,我们使用该矩形内的掩码密集网格从输入 DINO 特征中插值特征。这一过程类似于 ROI 对齐,但 ROI 的分辨率是灵活的,并遵循掩码的大小。最后,为了进一步整合全局信息,我们随机丢弃 10% 的空间嵌入 ,并用 DINO 全局嵌入 替换。由于目标掩码的形状可能与输入图像的形状不同,注入全局嵌入增强了模型在不同图像条件下的泛化能力和适应性。最终的 ROI 特征随后被变形为潜在控制信号的原始区域:
其中, 是目标掩码 的边界框。为了建立一个实例感知的上色框架,我们使用一个潜在控制信号,记为 ,它是一个大小为 的潜在特征。如下图 4 所示,本文的模型通过实例控制模块实现了精确的实例级控制,从而生成多样化的上色结果。尽管训练数据来源于动漫数据集,但参考图像可以包含现实生活中的图像,这突出了模型在不同领域中的适应性以及对多样化参考源的灵活利用。
结构与内容监督增强
本文提出了一种全面的方法,以增强扩散模型在线稿上色中的性能。通过引入边缘损失和颜色匹配,解决了图像质量的关键问题,从而生成更具视觉吸引力和感知准确性的图像。
边缘损失。在扩散模型的训练过程中,图像中的每个像素对监督过程的贡献是均等的。扩散模型的原始训练目标是像素级的均方误差(MSE)损失。然而,与此同时,我们希望图像内容更符合人类对图像质量的感知。为了增强对高频区域的监督并提高生成质量,本文提出了边缘损失,它由感知损失和重新加权的边缘损失组成。感知损失的公式如下:
其中, 是通过解码 得到的预测潜在嵌入, 表示用于计算的特征层数, 是预训练神经网络第 层的特征提取函数。 是一个超参数,用于平衡 LLDM 和感知损失 。此外,在具有复杂层次结构和重叠对象的场景中,对象边缘的重要性可能与普通背景像素的重要性显著不同。本文计算整体实例边缘图,这有效地减轻了背景的干扰,因为我们仅关注单个对象的边缘。然后将 SyntheOcc 中的结构前景增强应用于边缘像素。由于我们在隐空间中对输入图像进行边缘检测,因此将边缘图视为损失权重图 ,以增强结构监督。最终,我们的总损失可以表示为:
颜色匹配
本文利用预训练的扩散模型来识别现实世界图像中的对应点。本文的模型以 UNet 为核心,通过去噪处理图像并提取对建立对应关系至关重要的特征。随后,我们利用扩散特征图来匹配两幅图像之间的像素。这是通过确定最近邻并使用余弦距离计算相似性来实现的。为了获得像素对应关系,我们首先从两幅图像中提取密集特征并进行匹配。设 为图像 的特征图。对于位置 处的像素,我们通过双线性插值获得特征向量 。在颜色匹配方面, 表示参考图像的颜色特征, 表示源图像的颜色特征。我们通过从归一化的源特征和目标特征中采样来获得 和 。为了量化它们的相似性,我们计算 和展平的 之间的欧几里得距离 。给定两个特征向量 和 ,欧几里得距离计算如下:
其中, 表示特征维度。接着找到最近邻的索引。最后,给定 中的一个像素 ,在 中找到对应的像素 ,公式如下:
其中, 是余弦距离。这种方法在两幅图像之间传递颜色相关信息。
实验
实现细节
数据集。本研究中使用的数据集由两个关键部分组成:动漫视频数据集和图像数据集。数据从 Sakuga、ATD-12K预处理并从互联网手动收集。总共随机选择了 1,000 对图像形成测试集,其余数据构成训练集。然后提取它们的实例作为参考。
基线设计。UNet 和参考网络的主干架构源自 Stable Diffusion 1.5。线稿引导器和实例引导器使用预训练的 ControlNet 权重初始化。实例编码器使用 DINOv2 初始化。
超参数。在训练过程中,将输入图像的高度和宽度调整为 512,并保持原始宽高比。本文的模型经过 100,000 次优化迭代,批量大小为 1。学习率设置为 。训练阶段使用 2 块 NVIDIA A800 80G GPU,耗时约 7 天。对每个参考图像进行随机水平翻转和随机亮度调整作为数据增强,以模拟多视角条件。
对比
定性结果
将本文的方法与之前的线稿上色方法进行比较。对于基于 GAN 的方法,考虑了 RSIC 和 SGA。RSIC 和 SGA 利用 GAN 进行上色,每种方法都有独特的架构和训练策略。我们观察到,基于 GAN 的方法往往会产生颜色不协调的问题。此外,当图像中存在大量色块区域时,可能会出现颜色渗色问题,即一个色块的颜色污染相邻色块。对于基于扩散模型的方法,AnimeDiffusion、ColorizeDiffusion 和 MangaNinja(无点引导)在颜色控制方面表现更好。然而,如图 8 所示,它们仍然难以有效地将参考实例的颜色转移到线稿中,尤其是图像中较小细节的颜色。根本原因是这些模型未能完全学习原始图像与参考实例之间的颜色对应关系。
定量结果
为了全面评估本文模型的上色能力,在测试集上定量比较了本文的方法与最先进的上色方法。结果如下表 1 所示。在评估实验结果时,我们没有考虑背景噪声。由于大多数先前工作的分辨率有限,所有测量均在 分辨率下进行。我们报告了不同方法的四个指标。FID 衡量视觉相似性,值越低表示质量越好。PSNR 测量失真,值越高表示失真越小。SSIM 评估亮度、对比度和结构相似性,值越接近 1 表示结构保存越好。LPIPS 衡量感知相似性,值越低表示与参考图像的相似度越高。通过使用这些指标将本文的模型与基于 GAN 和扩散模型的方法进行比较,本文的方法显示出相较于先前方法的显著优势。
消融实验
边缘损失的有效性。为了评估边缘损失,将其替换为原始的扩散损失。本文的方法未能保留结构边缘信息,导致苹果边缘的颜色不匹配,如下图 6 的第一行所示。当我们去除整体结构边缘损失时,模型难以保持细微的边缘特征。下表 2 中的数值评估证实了结构边缘损失对保持图像完整性的重要性。
颜色匹配的有效性。为了评估我们的颜色匹配方法,去除了颜色匹配组件。这种去除削弱了我们模型从输入参考中保留颜色信息和细节的能力。例如,在上图 6 的第二行中,包和角色面部细节的颜色不一致。
实例引导器的有效性。为了说明实例引导器的有效性,在实验中将其移除。图 6 中的视觉结果显示,没有该模块,本文的模型难以有效地从参考中传递实例级颜色信息。如第三行所示,缺乏实例引导器会阻碍实例级信息的学习,导致在仅依赖参考网络时最终结果中出现显著的颜色丢失和噪声。
用户研究
本文开发了一个用户界面,通过用户实验评估本文提出的方法。邀请了 16 名志愿者体验我们的演示。参与者需要为所有提出的模型执行基于参考的上色操作。每组实验的平均测试时间超过 20 分钟。测试完成后,收集了参与者在以下四个维度上的主观评分:图像质量、可用性、参考相似性以及操作结果之间的相关性。根据下图 7,本文的方法在所有四个方面均表现最佳,尤其是在图像质量和控制方面的用户满意度更高。同时,我们可以进一步优化所提出的操作方法,以提升其简洁性。
局限性与讨论
本文的方法具有许多优势和潜在应用,但也面临一些局限性。总结如下:
-
灵活使用:当使用不同的参考图像对同一线稿进行风格化时,本文的方法保留了角色的身份,并根据参考风格调整光照和背景等细节。
-
语义感知:对于包含多个角色或对象的卡通壁纸或海报,本文的方法使用多个参考图像执行基于语义的上色,确保每个线稿元素都能按语义上色。
-
多对象与遮挡:单一线稿可以高效地将草图转换为生动的全彩插图,加快制作速度,并使动画师能够快速测试不同的颜色概念。然而,在包含许多主要对象或对象之间存在显著遮挡的线稿图像中,对象之间的详细颜色可能无法很好地保持。
-
更多探索:该模型可以准确地对多主体场景(如动漫战斗场景或森林场景)中的每个元素进行上色,同时保持整体色彩方案的和谐。
结论
MagicColor,一种基于扩散模型的线稿上色框架。本文引入了一种多实例方法、两阶段自对弈训练策略以及带有边缘损失的像素级颜色匹配。实验表明,MagicColor 在视觉质量和风格一致性方面优于现有方法,推动了数字卡通上色领域的发展。在未来的工作中,计划大幅增加参考实例的数量,并增强模型在语义和颜色一致性方面的能力。源代码即将开源,以促进创意从业者与 AI 研究人员之间的更好协作。
参考文献
[1] MagicColor: Multi-Instance Sketch Colorization