来源
:https://sketch-guided-diffusion.github.io/

作者
:ZHITONG HUANG, NANXUAN ZHAO等

内容整理
:王寒

本文提出了一种多模态统一的上色框架,支持笔画、范例和文本提示输入,同时还支持局部编辑。通过将三种不同形式的提示输入转化为提示点的方式进行统一,上色网络包括Chroma-VQGAN 和 Hybrid-Transformer两部分,其中Chroma-VQGAN用于特征提取和重建,通过将灰度通道和颜色通道分开处理的方式保留更多灰度细节,Hybrid-Transformer则专注于上色。最后文章设计了一个应用界面,展示了该统一框架在实际使用中的有效性。
目录
  • 简介
  • 多模态条件统一
  • Chroma-VQGAN
  • Hybrid-Transformer
  • Hint Point
  • 应用界面
  • 结果对比

简介

本文的贡献点:
  • 提出了第一个用于交互式着色的统一框架(UniColor),允许混合模式下的多模式条件。
  • 提出了一种通过将提示点作为中间表示来统一多模态条件(包括笔画、范例和文本)的方法。特别是,我们引入了一种新颖的基于 CLIP 的文本到提示点转换方法。
  • 提出了一种由 Chroma-VQGAN 和 Hybrid-Transformer 组成的着色网络,用于有条件和无条件地生成多样化且高质量的着色结果。
  • 设计了一个界面,展示了该统一框架在实际使用中的有效性。

多模态条件统一

如上图所示,Unicolor的多模态统一是通过将笔画、范例和文本转化为彩色提示点的方式实现的。下面介绍三种不同类型的提示转化方式。
首先是笔画提示,作者将图片分为许多的cells,设置一个阈值(0.75),将被笔画覆盖率超过这一阈值的cell作为提示点。
对于范例图片,通过语义匹配将示例图像变形为灰度图像,只保留匹配置信度高的 单元格作为提示点。将提示点的颜色指定为相应单元格的平均颜色。
对于文字提示,如上图所示,对文字提示按照颜色和物体分离,将的cells作为基本单元,使用一个大小,步长为1的滑动窗口,利用CLIP计算每个窗口与物体描述的cosine相似度,生成热度图,将每个物体对应的热度最高的两个cell作为提示点,其颜色根据颜色输入从颜色空间中选取。

Chroma-VQGAN

Chroma-VQGAN与VQGAN的不同之处在于,对颜色部分和灰度部分分别使用一个编码器编码,只对颜色部分进行VQ离散化,灰度部分的特征被完整保留了下来,这样可以保留灰度部分的细节信息同时让生成网络能更专注于颜色通道。

Hybrid-Transformer

如图所示,上色部分使用了一个BERT-Style的混合Transformer。将问题转化为颜色完成任务:随机屏蔽,并要求模型根据灰度图像、提示点和未屏蔽的颜色标记来恢复这些标记。混合指的是混合输入:提取连续灰色特征𝑓𝑔,屏蔽颜色标记,以及提示点h𝑐。最终通过自回归的形式对屏蔽区域进行生成:
经过训练以学习mask位置处的索引的可能性,以恢复𝑥𝑐 ,最小化输出概率和GT颜色索引之间的 softmax 交叉熵损失。

Hint Point

对于前一阶段的到的颜色提示,学习了一个从提示色到特征空间的mapping:
训练时只在mask区域引入hint potints,引入了提示点条件的概率模型被重写为:
在提示点颜色的合成方面,考虑到所选取的cell中可能包含多物体的边缘,没有使用平均色,而是通过SLIC算法先计算了SuperPixel,然后选择提示点所在的cell的支配色。

应用界面

作者设计了上图所示的应用界面,用户可以自主选择无提示、笔画提示、范例提示和文字提示。此外,模型还支持对不满意的地方进行迭代修改。

结果对比

本文对比了无条件上色、基于笔画的上色、基于范例的上色和基于文字的上色四类上色算法,本文的算法都取得了不错的效果,其结果如下:
  • 无条件上色
    除了上面提到的CNN和Transformer结构的算法,还对比了基于diffusion的上色算法Palette:
  • 基于笔画的上色
  • 基于范例的上色
  • 基于文字的上色
继续阅读
阅读原文