版权声明: 未经同意,禁止转载。(更新时间:2020-10-15)
接上一篇,继续研究Style2paints V1论文 。(返回该论文笔记首页)
目录
9. Style2paints V3/V4.5风格迁移上色效果
6. Generator生成器
6.1 Generator网络结构
1.使用VGG16/19从“色彩风格参考图”中提取“色彩风格特征”,然后将其输入到U-net的中层。色彩风格特征包含了上、下身衣服颜色,头发颜色,背景颜色等信息。(色彩风格特征向量也可视为色彩风格类别的分类结果)。
2.使用U-net完成从“黑白线稿”到“已上色漫画”的转换。U-net分为Encoder和Decoder,Encoder提取出的“语义分割特征”与VGG提取出的“色彩风格特征”,一起传入Decoder。
3.为了解决训练时U-net中层梯度消失的问题,训练时在U-net中层的“入口”和“出口”处各加上一个Guide Decoder。其中,入口处Decoder的参考图像为灰度漫画,出口处Decoder的参考图像为彩色漫画。加上Guide Decoder之后的网络结构如下图所示。
分析:
1. U-net是全卷积神经网络(Fully Convolutional Network, FCN)的一种变体,最初用于生物医学图像的语义分割。U-net专为小规模数据集而特别优化设计。使用U-net来完成线稿上色任务,是将“线稿上色问题”建模为近似于“语义分割问题”(虽然二者不等价),为图中的每个像素分配一种颜色(类别)。
2. VGG的网络权重:在GAN训练过程中,为避免受到干扰,VGG网络的权重的是固定的(VGG网络使用在ImageNet数据集上预训练好的权重)。
6.2 Generator损失函数
(1)初始的损失函数:
其中,x为线稿,y为对应的已上色漫画。V(x)为VGG19的输出, 为U-net生成的已上色漫画。
和
分别是两个Guide Decoder。推荐的参数设置为alpha=0.3,beta=0.9。
注意:在训练阶段,输入的“色彩风格参考图”使用的是输入线稿对应的“已上色漫画”。
由此引发一个关键问题:训练期间,网络的输入和输出均为同样的“已上色漫画”。那么训练完成后,网络是否会退化为直接从输入向输出拷贝图像?
若VGG的权重在训练期间非固定,则网络很可能会退化为从输入向输出拷贝图像。而论文指出,VGG的权重在训练期间是固定的,所以训练期间VGG提取出的色彩风格特征也是固定的(在训练期间保持不变),所以网络不会被训练成从“色彩风格参考图” 直接拷贝图像到网络的输出。网络根据“线稿”和VGG提取出的固定“色彩风格特征”,重构出线稿对应的“彩色漫画”。当训练数据集足够大时,这种训练方式能让网络学到风格迁移的能力。
另外,发表于CVPR 2020的基于风格迁移的线稿上色论文 [ref-1],提出了“Augmented-Self Reference”(一种自监督训练方法),其思路也与本文方法类似。
(2)最终的损失函数:
由于本文发现将Guide Decoder 1对应的训练图像转为灰度,能够改善上色效果。因此,最终的损失函数如下:
其中T(y)函数用于将彩色图像y转换为灰度图像。
论文没有说明将Guide Decoder 1的参考图设为灰度的原因。猜测可能是因为Decoder 1位于输入色彩风格特征之前,将参考图设为灰度,以避免VGG传入的颜色特征失效。
7. Discriminator判别器
7.1 Discriminator网络结构
判别器的网络结构,是在AC-GAN (Auxiliary Classifier GAN) 判别器的基础上进行修改。与AC-GAN判别器的区别之处在于:本文的判别器输出不含real/fake二分类,只包含生成图像的类标签。具体而言,判别器的输出为一个4096维的特征向量,与VGG输出特征向量的意义基本相同,可视为色彩风格类别的分类结果。当判别器的输入图像为fake时,输出向量接近于全为0;当判别器的输入图像为real时,输出向量接近于VGG19的fc1层输出的特征向量。
7.2 Discriminator损失函数
基于对数释然距离(log-likehood distance)的损失函数:
公式解释:
1. 第一项 为对真实样本的判别,第二项
为对生成样本的判别。希望D(y)越接近norm(V(y))的值越好,
越接近0越好。
2. 式(3)中的norm(x)是一个归一化函数,用于对VGG的输出进行归一化,使之更适合于公式中的对数释然距离。推荐的归一化函数如式(4) (5) (6)所示:
另外,作者还介绍了基于least-squared distance的损失函数,和DCGAN判别器的损失函数(详见论文)。为了取得最佳的上色效果,作者建议结合使用多种判别器和损失函数。
3. 作者指出,使用GAN的对抗式训练方法,会造成损失函数值不稳定。因此,训练生成器时,主要使用式(2)的损失进行训练(注意该损失函数中没有出现判别器),而判别器提供的梯度仅作为辅助。
最终,GAN的整体损失函数(生成器+判别器)如下:
其中:lamda的推荐取值为0.01
8. 上色效果
如下图所示,在色彩风格迁移成功的情况下,网络能自动区分出线稿和色彩参考图中的头发、眼睛、皮肤、衣服区域,并能将色彩参考图的颜色迁移到线稿上的对应区域。
更多上色效果图,请见论文原文。
说明:由于基于风格迁移的自动上色难度很大,所以使用不同的风格参考图、不同线稿,其上色成功率、上色质量可能存在较大的差异。
9. Style2paints V3/V4.5风格迁移上色效果
9.1 Style2paints V3迁移效果
9.2 Style2paints V4.5 迁移效果
(点击图片放大)
迁移效果示例1:
迁移效果示例2:
最后,感谢作者开源了相关代码与模型! (注意:作者已申请相关专利,禁止将代码用于商业和盈利目的,请尊重版权!)
相关报道与介绍:
Style2paints V1介绍:
[雷锋网] 继AI生成二次元头像之后,新一代线稿上色AI来袭
Style2paints V2介绍:
[机器之心] Style2paints:专业的AI漫画线稿自动上色工具
[量子位] 超火的漫画线稿上色AI出新版了!无监督训练,效果更美好
相关资料:
图像风格迁移综述-知乎专栏 (Neural Style Transfer: A Review)
相关论文:
[ref-1] J. Lee, E. Kim, Y. Lee, D. Kim, J. Chang, and J. Choo, "Reference-Based Sketch Image Colorization Using Augmented-Self Reference and Dense Semantic Correspondence," in IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2020. (非官方复现代码:SerialLain3170/Colorization)
引用与参考资料:
[3] L. A. Gatys, A. S. Ecker, and M. Bethge. A Neural Algorithm of Artistic Style. ArXiv e-prints, August 2015
[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.
进阶:Style2paints V3论文笔记:两阶段动漫线稿上色方法
相关领域论文:MakeGirlsMoe论文简介:可配置属性的动漫头像自动生成模型