ColorFlow:基于检索增强的黑白漫画上色模型(包含论文代码详解)

1.简介

这篇文章介绍了一个名为ColorFlow的先进模型,它专门设计用于给黑白图像序列上色,同时精确保持人物和对象的身份特征。ColorFlow模型的意义在于它能够利用参考图像中的颜色信息,为漫画、动画制作和黑白电影着色等任务提供强大的技术支持。

这项技术的应用不仅能够提高内容创作的效率,还能够增强最终作品的艺术表现力和观众的沉浸感,为艺术产业带来创新和活力。通过这项工作,ColorFlow框架不仅提升了艺术作品的创作效率和质量,而且扩展了艺术创作的边界,为艺术产业的数字化转型和创新发展注入了新的活力。

-

目录

1.简介

2.效果展示

3.论文解析

4.代码解析

环境安装

使用教程

推理代码解析

训练代码解析

5.总结


项目主页:ColorFlow

在线演示:https://huggingface.co/spaces/TencentARC/ColorFlow

代码地址:https://github.com/TencentARC/ColorFlow

权重地址:https://huggingface.co/TencentARC/ColorFlow/tree/main

论文地址:https://arxiv.org/abs/2412.11815

-

-

2.效果展示

从左到右依次为:原图、和彩色参考图拼接的图、彩色输出图

-

-

3.论文解析

简介

最近,随着扩散模型带来前所未有的图像生成能力,人们对使用扩散模型进行上色的兴趣越来越大。然而,之前的大多数工作只考虑基本的文本到图像的范式,而没有参考颜色信息,这与实际应用相去甚远。虽然最近对AnimeDiffusion的研究已经探索了基于参考图像的动漫角色着色,但它仅支持对具有单一ID图像进行着色。

在这项工作中,作者引入了一个新的任务,基于参考的图像进行着色,其目的是将一系列的黑白图像转换为彩色图像。这一任务有很大的市场需求,但尚未解决。

针对基于参考序列图像着色方法的不足,作者提出了一种适合工业应用的三阶段着色方法ColorFlow。分别是:

  • 检索增强管道(RAP):从参考图像池中提取相关的彩色图像块。
    • 受检索增强生成(RAG)的启发,RAP在输入图像和参考池之间匹配ID相关的图像块,而无需对每个ID进行微调或进行显式ID embedding提取,使其更加方便。
  • 上下文着色管道(ICP):利用强大的上下文学习来准确检索颜色标识,并使用双分支设计执行着色。
    • 着色模块核心部分采用两分支设计,分别实现图像颜色标识对应和着色。这种结构允许基础扩散模型的更深层更好地处理身份信息,同时保持其图像生成和着色能力。
    • 利用扩散模型中的自注意机制,作者将参考图像和灰度图像放在同一画布上,使用一个复制权重的副本模型来提取它们的特征,并将这些特征逐层馈送到扩散模型中进行着色。
    • 对于着色,我们使用低秩自适应(LoRA)来微调预训练的基础扩散模型,保留其着色功能。
  • 引导超分辨率管道(GSRP):上采样以生成高分辨率彩色图像。
    • 作者还引入了引导超分辨率流水线,以减少彩色化过程中的结构细节失真。通过将高分辨率黑白白色漫画与低分辨率彩色输出集成,GSRP增强了细节恢复并提高了输出质量。

我们将在下文进行更详细的介绍。 

-

作者构建了一个由30个漫画章节组成的数据集ColorFlow-Bench,每个章节包含50个白色漫画和40个参考图像。结果表明,ColorFlow在像素级和图像级评估中的五个指标上均实现了最先进的性能。

-

相关工作

图像着色旨在将灰度图像(例如漫画,线条艺术,草图和灰度图像)转换为彩色对应物。为了增强可控性,我们往往使用各种条件来控制颜色信息,包括涂鸦,参考图像、调色板和文本。

  1. 具体地,涂鸦提供简单、手画的颜色笔划作为颜色图案提示。Two-stage Sketch Colorization 采用了一个基于CNN的两阶段框架,首先在画布上应用颜色笔划,然后纠正不准确的颜色并细化细节。
  2. 基于参考图像的着色从包含类似对象、场景或纹理的参考图像传输颜色。ScreenVAE和Comicolorization将参考图像中的颜色信息压缩到潜在空间中,然后将潜在表示注入到基础着色网络中。
  3. 基于调色板的模型使用调色板作为风格指南来激发图像的整体颜色主题。
  4. 随着扩散模型的出现,文本已成为图像生成的最重要的指导形式之一,因此广泛用于图像着色。ControlNet为已经预训练扩散模型添加了额外的可训练模块。

然而这些方法只能提供一个粗略的颜色风格,并不能保证准确的颜色保持效果。相比之下,ColorFlow通过引入检索增强流水线和上下文特征匹配机制,实现了图像序列中跨帧的颜色保持。

-

图像到图像的转换(Image-to-image translation)旨在建立从源域到目标域的映射(例如,sketch-to-image、pose-to-image、image inpainting和image editing)。扩散模型的最新进展使其在这项任务中占主导地位。方法主要分为基于推理(inference-based)的和基于训练(training-based)的范式。

  • 基于推理的方法通常使用双分支结构,其中源分支保留基本内容,目标分支使用指导信息映射到图像。这些分支使用注意力或潜在特征整合来相互作用,但往往受到控制信息不足的影响。
  • 基于训练的方法因其高质量和精确控制而受欢迎。Stable Diffusion通过直接将控制条件与噪声输入连接并端到端微调模型来增加深度控制。ControlNet使用双分支设计将控制条件添加到冻结的预训练扩散模型中,实现即插即用的控制同时保持高图像生成质量。

值得注意的是,这些方法中没有一种专门解决顺序图像转换任务中跨帧信息保留,这限制了它们在涉及顺序图像的实际工业场景中的适用性。相比之下,ColorFlow旨在解决这一限制,在跨帧的图像序列着色任务中提供强大的信息保留能力。

-

ID信息保留是图像生成领域的一个热门话题。以前的方法可以分为两个主要类别:

  • 第一个涉及微调生成模型,使他们能够记住一个或多个预定义的概念
  • 第二种采用已在大规模数据集上训练过的即插即用模块,允许模型在推理阶段使用给定图像内容控制所需概念的生成。通常,现有方法集中于有限的一组预定义概念。

相比之下,我们提出了ColorFlow,它提供了一个强大的和自动化的三阶段框架顺序图像着色。ColorFlow有效地解决了处理漫画序列中存在的动态和多样化角色和背景的挑战,使其非常适合工业应用。

-

方法

本工作的目标是使用彩色图像作为参考对黑白白色图像进行着色,确保整个图像序列中人物、对象和背景的一致性。如图所示,作者的框架由三个主要组件组成:检索增强管道,上下文着色管道和引导超分辨率管道。

-

检索增强管道

检索增强管道(RAP)旨在识别和提取相关的彩色参考图,以指导着色过程。

  1. 为了实现这一点,首先将输入的黑白图像分成四个重叠的块:左上、右上、左下和右下。每个块覆盖原始图像尺寸的四分之三,以确保保留重要细节。对于每个彩色参考图像,分别创建五个patch:相同的四个重叠patch和一张完整的图像,以提供一组全面的参考数据。
  2. 接下来,作者采用预训练的CLIP图像编码器来为输入图像的补丁生成图像嵌入Ebw,并为参考补丁生成Eref。这些嵌入定义如下:E_{bw}=f_{CLIP}(P_{bw}) \: and \:E_{ref}=f_{CLIP}(P_{ref}),其中Pbw表示黑白patch,Pref表示彩色参考patch。
  3. 对于每一个来自输入图像的四个patch,我们计算其嵌入与参考patch的嵌入之间的余弦相似度S:S(a,b)=\frac{a\cdot b}{\left \| a \right \|\cdot \left \| b \right \|}
  4. 我们为每个query patch定义前三个相似的patch如下:Top_3(E^{(i)}_{bw})=\left \{ E^{(j_1)}_{ref},E^{(j_2)}_{ref},E^{(j_1)}_{ref}|j_k\in argmax_k S(E^{(i)}_{bw},E^{(k)}_{ref}),k=1,2,3\right \},对于i ∈ {0,1,2,3},其中E^{(i)}_{bw}表示第i个query patch的嵌入,E^{(k)}_{ref}表示对应的参考patch的嵌入。
  5. 在识别每个query区域的前三个相似patch后,我们将这些选定的patch拼接到黑白图像的左上角、右上角、左下角和右下角,以创建合成图像C_{bw}如图所示。这种空间布置确保了检索到的颜色信息的准确放置,增强了着色过程的上下文相关性。此外,我们通过类似地将对应于黑白图像块的原始彩色版本拼接在一起来构造(C_{color})。这与(C_{bw})形成数据对,用于随后的着色训练。 C_{bw}是输入,C_{color}是标签)

通过有效地收集最相关的上下文颜色信息,检索增强管道为该框架的下一阶段奠定了基础,确保生成的颜色与参考图像和谐一致。

-

上下文着色管道

我们引入了一个称为着色引导器(Colorization Guider)的辅助分支,它有助于将条件信息纳入模型。该分支通过复制UNet中所有卷积层的权重来初始化。

着色引导器的输入包括噪声潜变量Zt、合成图像C_{bw}经变分自动编码器处理后的输出VAE(C_{bw})以及下采样后的掩码M。这些组成部分被连接起来,形成模型的综合输入。

来自着色引导器的特征将逐步集成到扩散模型的U-Net中,从而实现密集的逐像素条件嵌入。此外,我们利用轻量级LoRA(低秩自适应)方法来微调着色任务的扩散模型。

损失函数可以形式化如下:L_{Color}=E_{t,C_bw,\epsilon _t}\left \| \epsilon _t-\epsilon _{\theta }(\left \{ VAE(C_{bw}),M,Z_t \right \} ,t)\right \|^2_2,在训练期间,Zt通过前向扩散过程从VAE(C_{color})导出。该训练目标使模型能够有效地对输入潜在空间进行去噪,并在参考图像的指导下逐渐从黑白白色输入重建所需的彩色输出。

虽然我们没有显式地将彩色参考图像中的实例映射到黑白图像中的实例,但检索机制确保参考图像包含相似的内容。因此,模型自然地学习利用来自检索到的引用的上下文信息来准确地对黑白白色图像进行着色。

-

时间步移位采样。我们通过调整时间步长t′来修改采样策略:t'=\frac{e^\mu }{e^\mu +(\frac{T}{t}-1)}T,\; \; \; t\sim \textup{u}(0,T]这个公式的目的是在生成过程中给予高时间步更高的权重,从而增强彩色化过程的效果。通过调整 µ 的值,可以控制高时间步在采样中的重要性。

在本工作中,作者将µ设置为1.5。这种调整使模型能够强调这些更高的时间步长,从而增强着色过程的有效性。

-

ScreenStyle样式增强:ScreenVAE可以将彩色漫画自动转换为日本黑白动漫风格。在这项工作中,作者通过在灰度图像和由ScreenVAE生成的输出之间执行随机线性插值来增强输入图像。

从左至右:彩色漫画,灰度漫画,灰度漫画和ScreenVAE输出之间的线性插值,比例为
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值