Style2paints V3论文解读:两阶段动漫线稿上色方法(上)

(更新时间:2020-03-08)

本文属于:动漫线稿自动上色-系列论文解读

关键词:线稿上色AI原理分析,动漫线稿自动上色算法,Style2paints算法原理

目录

1. 基本信息

2. 主要贡献

3. 基于颜色提示(Color hint)的线稿上色

4. 现有上色工具存在的问题

5. 解决方案概述:两阶段上色模型

6. 模型整体框架


图 1 本文模型对真实手绘线稿的上色效果
上色效果对比:PaintsChainer V3 与 本文方法
(来自论文演示视频)

 

【视频】

1. 论文Demo视频:项目主页  B站

2. 上色全过程演示(计时,3个例子):B站

 

1. 基本信息

论文标题:Two-stage Sketch Colorization (基于“草图-成稿”的两阶段的动漫线稿上色方法)

论文链接:(1) CUHK   (2) GitHub    (3) ACM Digital Library(Supplemental Material)

研究领域:计算机图形学,线稿自动上色(Sketch Colorization),深度学习(Deep Learning),生成式对抗网络(GAN)

作者:

LVMIN ZHANG∗, Soochow University
CHENGZE LI∗, The Chinese University of Hong Kong
TIEN-TSIN WONG, The Chinese University of Hong Kong
YI JI, Soochow University
CHUNPING LIU, Soochow University

发表期刊:ACM Transactions on Graphics (SIGGRAPH Asia 2018 issue)

被引次数:15次(截止2020.2)

代码与模型:

1)官方代码:

Style2paints(PaintsTransfer)的官方GitHub仓库(仓库Star数量已超过一万)。提供了完整的上色程序与训练好的模型,暂未提供训练代码。论文对应Style2paints V3,GitHub代码版本持续更新。

部署教程:Style2paints V3 本地配置教程

(2)非官方复现:

(a)Pengxiao-Wang/Style2Paints_V3,PyTorch非官方复现,包含训练代码。

(b)rapidrabbit76/PaintsTensorFlow,也使用了“两阶段上色方案”,包含训练代码。

研究意义:

1.在动漫线稿上色领域,目前上色效果最好开源论文。(与之相比,PaintsChainer的当前版本为闭源项目,且没有发表论文描述其实现方法。)

2.发表在CCF A类顶级期刊上。

2. 主要贡献

(1)本文提出了一个基于“草图-成稿”的两阶段的线稿上色模型,能够对真实的手绘线稿进行高质量的上色。

(2)本文提出的模型,不仅可以修正本文网络生成草图中的上色缺陷,还可用于修正其他深度上色网络(如:PaintsChainer)生成画作中的上色缺陷,如:色彩溢出、上色模糊等。

(3)本文还开发了一个交互式上色软件,供最终用户使用。软件提供了简洁且功能强大的用户操作界面。

3. 基于颜色提示(Color hint)的线稿上色

创作动漫插画是非常辛苦的过程,一幅插画需要数天乃至数周的时间。其中最重要,但也是最耗时的步骤,是对线稿进行上色。而(半)自动上色工具能为画家节省大量时间。

对于一件衣服,有许多种不同的着色方案,可以着色为深红、浅红、深蓝、浅蓝等等。因此,线稿全自动上色方法(外部输入信息只有线稿本身,无附加信息)选择的颜色往往不符合用户的需求。由于不同线稿差异较大,“基于风格迁移的线稿上色方法”难以将旧漫画与新线稿的区域精确地一一对应起来,往往对局部区域的上色精确性较差。因此,“基于颜色提示的半自动线稿上色”是最接近实际应用需求的上色方法。

“基于颜色提示的半自动线稿上色”的问题定义为:给定“线稿”和少量的(稀疏的)用户“颜色提示点”,算法需要依据颜色提示自动对线稿进行“智能上色”,如图 2所示。智能上色”不是像Windows自带画图软件一样简单地使用“漫水填充算法(flood fill)”,而是需要完成以下高难度的任务:(1)手绘线稿的轮廓往往不构成封闭区域,需要自动判断未封闭区域的轮廓。(2)因为用户标记的颜色提示点是稀疏的,所以线稿中有大量不包含任何颜色提示点的区域,因此算法需要结合“绘画惯例”、“附近的颜色提示点”以及“线条构成的形状”,智能推断出各区域的颜色。手绘线稿没有固定的绘制标准,线条往往较为随意,且画家的绘画风格各不相同,这给算法判断各区域的类别带来了巨大的挑战。(3)为了符合绘画美学要求,对于一个区域,算法不能简单地使用同一颜色进行平涂,而要自动添加微量且自然的“色彩变化”和“纹理”。(4)基于颜色提示的线稿上色过程是“交互式”的:用户在添加一些颜色提示并预览上色效果之后,对于其中的局部上色错误,或不满意的上色细节,可在对应区域再添加少量颜色提示进行修正。因此要求算法能根据少量的颜色提示理解用户的修正意图,并正确修改对应区域的颜色。(同时不干扰其他非相关区域的颜色。)

图 2 基于颜色提示的半自动线稿上色

4. 现有上色工具存在的问题

基于深度学习的线稿自动上色模型已取得较好的上色效果,但仍常常出现以下3个问题

(1)填色错误Color mistakes):填充了错误的颜色。例如下面的例子中,将一侧的领子识别为眼睛,导致领子的颜色填充错误(与眼睛颜色相同)。

图 3 Color mistakes示例

(2)色彩溢出Color bleeding):填充的颜色像水彩一样弥散式地溢出到周围的区域(背景)中。

图 4 Color bleeding示例

(3)边界线识别错误Color distortion):在线条较密集的情况下,错误地把其他线条当作边界线,导致邻近的非相关区域被填充了错误的颜色。例如,在下图的例子中,由于边界线识别错误,头发的红色蔓延到了手指和猫耳朵上。

图 5 Color distortion示例

另外,虽然多数工具提供了“用户颜色提示”(Color hint)功能供用户手动纠正上色错误,但该类功能的问题在于:无法精确地纠正上色错误,常常会出现以下尴尬情形:(1)用户输入了颜色提示,但上色错误未得到纠正;(2)在用户输入颜色提示后,该区域的上色错误被纠正,但邻近区域又出现新的上色错误。

由于存在以上问题,线稿自动上色工具的上色效率反而低于人工上色,导致画师依然不喜欢使用自动上色工具。本文致力于解决上述提到上色问题。

5. 解决方案概述:两阶段上色模型

职业画师在给线稿上色时,喜欢先进行整体性概要上色,形成一个初步的“草图”(Draft);然后再对草图中的局部细节和不满意之处进行精细修正,逐渐形成最终的画作。草图决定了整幅画作的基本配色,是线稿与最终画作之间的“桥梁”。

目前大多数上色网络为:输入一张线稿,经过网络处理后,直接输出彩色漫画。为了提升深度网络的上色质量,本文从画师上色过程获得启发,提出一种分为两个阶段(Two stage)的上色模型,如图 6所示。第一个阶段称为“草图阶段”(Drafting Stage),该阶段的上色不完全遵照线稿的分界线,是以相对随性的方式将色彩泼洒到画布上。该阶段的目的在于增加配色的丰富性。生成的草图可能包含较多的上色错误和模糊的纹理,但充满了丰富、鲜艳的配色。第二个阶段称为“精修阶段”(Refinement Stage),该阶段专注于修正细节问题,并将模糊的纹理清晰化,以得到最终的画作。本文提出的两阶段上色模型采用了“分治法”(分而治之)的算法思想,将复杂的上色问题分解为两个更简单的子问题,并且每个子问题拥有更清晰的任务目标。

 

图 6 本文提出的两阶段上色模型,包括Drafting Stage和Refinement Stage

 

该设计方案的优势在于:(1)网络能学到更优的上色能力。(2)模型具有更好的鲁棒性:对真实的手绘线稿(区别于从漫画中自动抽取的线稿)具有较好的鲁棒性,且支持不同的绘画内容(人物、动物、风景)和不同的绘画风格。(3)实验结果表明,“精修阶段”不仅可以修正本文网络生成的草图,还可用于修正其他深度上色网络(如:PaintsChainer)生成画作中的上色缺陷。

GUI界面介绍。基于提出的深度上色模型,本文还开发了一个具有图形用户界面(GUI)的软件供最终用户使用。其界面如图 7所示。首先,用户在线稿上添加少量“粗略颜色提示点”(draft hints,即图 7-A中的方块),以生成初始的草图(图 7-B);同时,软件会输出经过修正后的最终画作(图 7-C)。若用户对最终画作的一些上色细节不够满意,可在草图中逐步地添加“精确颜色提示点”(accurate hints,即图 7-B中的圆点),并实时预览最终画作的效果,直到获得满意的上色效果为止。

图 7 本文设计上色软件的GUI界面
GIF:两阶段上色方法Demo(来自论文演示视频)

6. 模型整体框架

图 8 模型的整体框架,包括:数据准备,训练阶段,测试阶段

 1.数据集与数据合成

彩色漫画:来自Danbooru 2018数据集。

合成数据:

(1)对应的线稿:使用PaintsChainer从彩色漫画中自动提取。

(2)模拟用户颜色提示:使用一种改进算法模拟生成。

(3)模拟的草图:使用本文提出的算法合成。

2.训练阶段

Drafting模型与Refinement模型分别独立进行训练,Drafting模型的输出结果与Refinement模型的训练无关。

(1)Drafting模型:

输入:抽取的线稿,模拟的颜色提示点

输出:初步上色草图(与“原版彩色漫画”一起进行GAN训练)

 

(2)Refinement模型:

输入:抽取的线稿,模拟的颜色提示点,模拟草图

输出:最终上色结果(与“原版彩色漫画”一起进行GAN训练)

 

3.测试阶段

在测试阶段,两个模型是关联在一起的。Drafting模型输出的草图,作为Refinement模型的输入。

(1)Drafting模型:

输入:真实的手绘线稿,用户的粗略颜色提示点

输出:初步上色草图

 

(2)Refinement模型:

输入:真实的手绘线稿,用户的精确颜色提示点,Drafting模型输出的草图

输出:最终上色结果

4.模型核心思想:

(1)使用“分治法”思想,把复杂的上色问题分解为两个阶段。

(2)草图模拟合成算法。


Style2paints V3论文解读-(下)篇:  链接

 

发布了4 篇原创文章 · 获赞 2 · 访问量 1545

猜你喜欢

转载自blog.csdn.net/cs_soft_dev/article/details/104395957