Style2paints V1论文解读-基于风格迁移的动漫线稿上色

版权声明: 未经同意,禁止转载。(更新时间:2020-07-06)

关键词:动漫线稿自动上色算法,Style2paints算法原理,Style Transfer for Anime Sketches with Enhanced Residual U-net and Auxiliary Classifier GAN论文解读,基于风格迁移的线稿上色算法

 

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


目录

1. 基本信息

2. 主要贡献

3. 数据集

4. 问题定义

5. 相关工作

6. 整体网络结构

7. Generator生成器

7.1 Generator网络结构

7.2 Generator损失函数

8. Discriminator判别器

8.1 Discriminator网络结构

8.2 Discriminator损失函数

9. 上色效果

10. 附:软件使用教程(如何使用Style2paints进行风格迁移?)

10.1 Style2paints V3操作说明

10.2 Style2paints V4.5 操作说明


Style2paints V1 - 动漫线稿迁移式上色Demo:

Style2paints V1论文解读-基于风格迁移的动漫线稿上色_第1张图片 Style2paints V1-迁移式上色Demo(来自作者宣传视频)

1. 基本信息

论文标题:Style Transfer for Anime Sketches with Enhanced Residual U-net and Auxiliary Classifier GAN

                  基于改进的残差型U-net和带辅助分类器的GAN(AC-GAN),实现动漫线稿的迁移式(自动)上色

论文链接:arXiv预印版   IEEE正式版 

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

 

作者:Soochow University: Lvmin Zhang, Yi Ji, Xin Lin, Chunping Liu

发表会议:2017 4th IAPR Asian Conference on Pattern Recognition (ACPR)

被引次数:36次(截止2019.11)

代码与模型:

1)官方代码:

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

免部署一键运行版:如果不想折腾部署环境,请使用Style2paints V4.5(免部署一键运行版),详见这里。

[使用Style2paints软件进行上色风格迁移的教程,请见本文末尾。]

 

(2)非官方复现:(未测试,仅供参考)

SerialLain3170/Colorization – “Experiment with reference”部分。使用了替代的网络结构,包含训练代码。

相关专利:CN201810414328.6 基于参考图像的线稿上色模型的训练方法以及装置

 

研究意义:

1.在动漫线稿迁移式(自动)上色领域,本文是第一篇实现较好上色效果的论文(曾提供了在线上色网站),开源了代码和模型。

2.本文的改进版本"Two-stage Sketch Colorization"(论文解读)发表在ACM Transactions on Graphics (SIGGRAPH Asia 2018 issue),使用了类似于本文的网络结构。

2. 主要贡献

1.设计了一个能够对动漫线稿进行迁移式上色的网络

2.对U-net进行了改进,设计了残差型U-net (Residual U-net)

3.设计了一种带有两个辅助损失函数的U-net训练方式

4.对AC-GAN的判别器进行了修改,使之适合于判别图像的上色风格类别。

 

核心参考文献:两篇黑白照片彩色化论文:

[6] Satoshi Iizuka, Edgar Simo-Serra, and Hiroshi Ishikawa. Let there be color!: Joint end-to-end learning of global and local image priors for automatic image colorization with simultaneous classification. ACM Transactions on Graphics (Proc. of SIGGRAPH 2016), 35(4), 2016.

[20] Richard Zhang, Jun-Yan Zhu, Phillip Isola, Xinyang Geng, Angela S Lin, Tianhe Yu, and Alexei A Efros. Real-time user-guided image colorization with learned deep priors. ACM Transactions on Graphics (TOG), 9(4), 2017.

3. 数据集

作者在Github项目主页上说明,推荐的训练集为nico-opendata,数据集大小为四十万张彩色漫画。

由于缺少原始线稿图像,对应的线稿,使用sketchKeras从彩色漫画中自动提取。

4. 问题定义

给定一幅黑白线稿A(未上色),和一幅已上色的彩色漫画B(与线稿A无关),能否根据彩图B的上色风格,自动对线稿A进行上色?即:将B的上色风格(语义信息)迁移到A上。该问题称为:动漫线稿的迁移式上色(Style Transfer for Anime Sketches),也称为基于范例的上色(Exemplar-based Colorization)。其优点在于:能够实现全自动上色,无需人工干预(在上色效果较好的情况下)。

Style2paints V1论文解读-基于风格迁移的动漫线稿上色_第2张图片 问题定义:动漫线稿的迁移式(自动)上色

(1)动漫线稿上色与“黑白照片彩色化”(Photograph Colorization)的区别:黑白照片除了提供边缘信息之外,还提供了各像素的灰度值、纹理等信息,而线稿只提供了边缘信息,所以线稿上色的难度要大得多。

Style2paints V1论文解读-基于风格迁移的动漫线稿上色_第3张图片 黑白照片彩色化 [20]

(2)与“语义分割”(Semantic Segmentation)问题的区别:(a)训练数据中不包含每个像素的分类标注信息,(b)智能上色的过程,不是简单地对身体的各部位进行语义分割,还需要添加自然的颜色过渡、纹理等。 

Style2paints V1论文解读-基于风格迁移的动漫线稿上色_第4张图片 语义分割 (图片来自PASCAL VOC数据集)

5. 相关工作

1.PaintsChainer:在本文写作时,PaintsChainer发布了V1版本(GitHub仓库)。Paintschainer V1仅提供了全自动上色和基于颜色提示(Color Hint)的线稿上色,未提供基于风格迁移的线稿上色功能。

2. Neural Style Transfer(神经风格迁移):虽然Neural Style Transfer[3]是最常用的图像风格迁移方法,但本文的实验结果表明,Neural Style Transfer不适合用于“动漫线稿的迁移式上色”问题,实验结果如下图所示。

[3] L. A. Gatys, A. S. Ecker, and M. Bethge. A Neural Algorithm of Artistic Style. ArXiv e-prints, August 2015
 

Style2paints V1论文解读-基于风格迁移的动漫线稿上色_第5张图片 Neural Style Transfer用于照片艺术风格化 [3]

 

Style2paints V1论文解读-基于风格迁移的动漫线稿上色_第6张图片 Neural Style Transfer不适合用于线稿的迁移式上色

6. 整体网络结构

本文网络的整体网络结构设计如下:

Style2paints V1论文解读-基于风格迁移的动漫线稿上色_第7张图片 整体网络结构

 

Style2paints V1论文解读-基于风格迁移的动漫线稿上色_第8张图片 整体网络结构(抽象模块示意图)

 

7. Generator生成器

7.1 Generator网络结构

1.使用VGG16/19从“色彩风格参考图”中提取“色彩风格特征”,然后将其输入到U-net的中层。色彩风格特征包含了上、下身衣服颜色,头发颜色,背景颜色等信息。(色彩风格特征向量也可视为色彩风格类别的分类结果)。

2.使用U-net完成从“黑白线稿”到“已上色漫画”的转换。U-net分为Encoder和Decoder,Encoder提取出的“语义分割特征”与VGG提取出的“色彩风格特征”,一起传入Decoder。

Style2paints V1论文解读-基于风格迁移的动漫线稿上色_第9张图片 Generator网络结构(初始)
Style2paints V1论文解读-基于风格迁移的动漫线稿上色_第10张图片 Generator网络结构(抽象模块示意图)

 

3.为了解决训练时U-net中层梯度消失的问题,训练时在U-net中层的“入口”和“出口”处各加上一个Guide Decoder。其中,入口处Decoder的参考图像为灰度漫画,出口处Decoder的参考图像为彩色漫画。加上Guide Decoder之后的网络结构如下图所示。

Style2paints V1论文解读-基于风格迁移的动漫线稿上色_第11张图片 Generator网络结构(最终版,添加了2个Guide Decoder)

分析:

1. U-net是全卷积神经网络(Fully Convolutional Network, FCN)的一种变体,最初用于生物医学图像的语义分割。U-net专为小规模数据集而特别优化设计。使用U-net来完成线稿上色任务,是将“线稿上色问题”建模为近似于“语义分割问题(虽然二者不等价),为图中的每个像素分配一种颜色(类别)。

2. VGG的网络权重:在GAN训练过程中,为避免受到干扰,VGG网络的权重的是固定的(VGG网络使用在ImageNet数据集上预训练好的权重)。

7.2 Generator损失函数

(1)初始的损失函数:

其中,x为线稿,y为对应的已上色漫画。V(x)为VGG19的输出, 为U-net生成的已上色漫画。 分别是两个Guide Decoder。推荐的参数设置为alpha=0.3,beta=0.9。

 

注意:在训练阶段,输入的“色彩风格参考图”使用的是输入线稿对应的“已上色漫画”。

由此引发一个关键问题:训练期间,网络的输入和输出均为同样的“已上色漫画”。那么训练完成后,网络是否会退化为直接从输入向输出拷贝图像?

若VGG的权重在训练期间非固定,则网络很可能会退化为从输入向输出拷贝图像。而论文指出,VGG的权重在训练期间是固定的,所以训练期间VGG提取出的色彩风格特征也是固定的(在训练期间保持不变),所以网络不会被训练成从“色彩风格参考图” 直接拷贝图像到网络的输出。网络根据“线稿”和VGG提取出的固定“色彩风格特征”,重构出线稿对应的“彩色漫画”。当训练数据集足够大时,这种训练方式能让网络学到风格迁移的能力。

 

(2)最终的损失函数:

由于本文发现将Guide Decoder 1对应的训练图像转为灰度,能够改善上色效果。因此,最终的损失函数如下:

Style2paints V1论文解读-基于风格迁移的动漫线稿上色_第12张图片

其中T(y)函数用于将彩色图像y转换为灰度图像。

论文没有说明将Guide Decoder 1的参考图设为灰度的原因。猜测可能是因为Decoder 1位于输入色彩风格特征之前,将参考图设为灰度,以避免VGG传入的颜色特征失效。

8. Discriminator判别器

8.1 Discriminator网络结构

判别器的网络结构,是在AC-GAN (Auxiliary Classifier GAN) 判别器的基础上进行修改。与AC-GAN判别器的区别之处在于:本文的判别器输出不含real/fake二分类,只包含生成图像的类标签。具体而言,判别器的输出为一个4096维的特征向量,与VGG输出特征向量的意义基本相同,可视为色彩风格类别的分类结果。当判别器的输入图像为fake时,输出向量接近于全为0;当判别器的输入图像为real时,输出向量接近于VGG19的fc1层输出的特征向量。

Style2paints V1论文解读-基于风格迁移的动漫线稿上色_第13张图片 AC-GAN网络结构
Style2paints V1论文解读-基于风格迁移的动漫线稿上色_第14张图片 本文判别器的网络结构简图

8.2 Discriminator损失函数

基于对数释然距离(log-likehood distance)的损失函数:

公式解释:

1. 第一项 为对真实样本的判别,第二项 为对生成样本的判别。希望D(y)越接近norm(V(y))的值越好, 越接近0越好。

2. 式(3)中的norm(x)是一个归一化函数,用于对VGG的输出进行归一化,使之更适合于公式中的对数释然距离。推荐的归一化函数如式(4) (5) (6)所示:

Style2paints V1论文解读-基于风格迁移的动漫线稿上色_第15张图片

另外,作者还介绍了基于least-squared distance的损失函数,和DCGAN判别器的损失函数(详见论文)。为了取得最佳的上色效果,作者建议结合使用多种判别器和损失函数。 

3. 作者指出,使用GAN的对抗式训练方法,会造成损失函数值不稳定。因此,训练生成器时,主要使用式(2)的损失进行训练(注意该损失函数中没有出现判别器),而判别器提供的梯度仅作为辅助。

 

最终,GAN的整体损失函数(生成器+判别器)如下:

其中:lamda的推荐取值为0.01

9. 上色效果

如下图所示,网络能自动区分出线稿和色彩参考图中的头发、眼睛、皮肤、衣服区域,并能将色彩参考图的颜色迁移到线稿上的对应区域。 

Style2paints V1论文解读-基于风格迁移的动漫线稿上色_第16张图片 上色效果图 (左上为线稿,左下为色彩风格参考图,右边为上色结果)

Style2paints V1论文解读-基于风格迁移的动漫线稿上色_第17张图片 色彩风格迁移效果-1

 


Style2paints V1论文解读-基于风格迁移的动漫线稿上色_第18张图片 色彩风格迁移效果-2

 


Style2paints V1论文解读-基于风格迁移的动漫线稿上色_第19张图片 色彩风格迁移效果-3(来自宣传稿)

10. 附:软件使用教程(如何使用Style2paints进行风格迁移?)

10.1 Style2paints V3操作说明

目前GitHub仓库内公开的代码和模型为Style2paints V3。虽然V3主要专注于基于颜色提示的线稿上色,但基于风格迁移的线稿上色功能仍然可用。具体操作方法如下:

1.点击“上传线稿”,之后稍等片刻。

2.点击“上传参考”,上传色彩参考图,之后稍等约5秒。

3.把“风格化程度”滑动条调至最右边,即100%。(默认为0%,可根据需要调整比例。建议设为100%)

4.点击“>”按钮进行上色,稍等一段时间。最终的上色结果显示在最右边。

5.如果对部分上色细节不太满意,可使用“颜色定位器”和“颜色提示点(accurate point)”进行修正。(提示点的颜色可直接从色彩参考图中选取。)

 

关于风格参考图:作者提供了推荐的色彩参考图。

关于“模式”的说明:“线稿上色”模式用于对只勾勒了轮廓的线稿进行上色;“颜色渲染”模式用于对具有灰度纹理的黑白漫画(类似于黑白照片)进行上色。

Style2paints V1论文解读-基于风格迁移的动漫线稿上色_第20张图片 Style2paints V3-风格迁移操作
Style2paints V1论文解读-基于风格迁移的动漫线稿上色_第21张图片 Style2paints V3-风格迁移效果(来自项目主页,添加了辅助的颜色提示点)

10.2 Style2paints V4.5 操作说明

在Style2paints V4.5中,上色风格迁移的具体操作方法如下:

1. 点击主界面右下角的“上传”按钮,上传线稿。

2. 等待初始上色完成。

3. 点击主界面左下角配色区的“上传”按钮,上传“色彩参考图”。之后软件会进行上色风格迁移。

Style2paints V4.5-风格迁移操作说明

迁移效果示例1: 

Style2paints V1论文解读-基于风格迁移的动漫线稿上色_第22张图片 V4.5风格迁移效果-1(未添加颜色提示点)

迁移效果示例2: 

Style2paints V1论文解读-基于风格迁移的动漫线稿上色_第23张图片 V4.5风格迁移效果-2(未添加颜色提示点)
Style2paints V1论文解读-基于风格迁移的动漫线稿上色_第24张图片 V4.5风格迁移效果-2(左下角背景区域添加了7个颜色提示点)

最后,感谢作者开源了相关代码与模型! (注意:作者禁止将代码用于商业和盈利目的,请尊重版权!)

 

相关报道与介绍:

Style2paints V1介绍:

[雷锋网] 继AI生成二次元头像之后,新一代线稿上色AI来袭

Style2paints V2介绍:

[机器之心]  Style2paints:专业的AI漫画线稿自动上色工具

[量子位] 超火的漫画线稿上色AI出新版了!无监督训练,效果更美好

相关资料:

图像风格迁移综述-知乎专栏 (Neural Style Transfer: A Review)


进阶:

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

你可能感兴趣的:(线稿自动上色)