Title
GANILLA: Generative Adversarial Networks for Image to Illustration Translation
Information
论文地址:https://arxiv.org/abs/2002.05638
github地址:https://github.com/giddyyupp/ganilla
Summary
这个文章的结构真清爽啊
作者主要基于cycleGAN提出一种unpair的风格转换方法,对生成器进行了改进,可以更好的同时平衡风格和内容。同时针对unpair提出一种客观评价标准,即采用content分类器和style分类器计算分类结果以评价生成效果。
Contribution(s)
- Image-to-image translation,作者提出了解决风格、内容transfer冲突的方法,同时转换风格和内容,达到了一个较好的平衡。具体包括:一个新的生成网络,在每个residual layer做下采样;将low level features和high level features用跳连和上采样连接起来。
- unpaired image-to-image translation的评价暂时都是主观的,作者基于内容和风格分类器,提出一个量化评价框架
- 构建illustrations数据集,来自363本书,24个不同艺术家的9448张图
Problem Statement
作者想实现Image-to-image translation,将现实图片转换为illustration。然而illustration相比艺术风格化、卡通等会更加抽象,现有的方法无法同时将风格和内容都转换得很好,如下图所示。
同时,作者构建的数据集是未对齐的natural image和illustrations。目前针对unpaired的图像转换任务,均是在有限图像和实验基础上主观判断,没有定量的评价标准。Method(s)
目前的用于风格迁移的方案有两种:使用CNN的Neural Style Transfer(NST)系列,使用GAN的图像生成系列。其中GAN又可以分为paired和unpaired两类。paired类采用传统的监督学习方法,有明确的输入和输出,比较出名的方法是pix2pix; upaired类可以节省数据集收集的压力,cycleGAN和dualGAN是其中的先驱,都采用了包含生成器和判别器的循环结构(不介绍了,基本功了)。cartoonGAN展示了一个新的训练框架替代了cycleGAN的循环结构并引入了新的损失函数。在前面提到的三个网络中,concent information均来自VGG网络的高层特征图。GANILLA的结构
图下的说明已经很详细了。
下采样部分用的是改进的ResNet-18。改进部分包括:每个下采样层都会concat之前层的特征(resnet用的是sum)。除了Layer-I,其它Res块都会将尺寸减半。除了第一个conv的kernal size是7×7外,其它均为3×3
上采样部分,会通过大跳连(图中的蓝色箭头)获取low level特征,执行sum操作。这种跳连有助于保护content。上采样层所有conv的kernal size是1×1,输出层用的是7×7。
Discriminator用的是70×70 PatchGAN,由3个block组成,每个block里有两个conv。
用cycle-consistency的方法训练模型。
Loss:GANILLA 的损失函数包括两个生成器和判别器对的 Minimax 损失和一个循环一致性损失。循环一致性损失试图确保生成的样本可以映射回源域,作者使用 L1 距离用于衡量该损失。当将源域图像提供给生成器$F$时,由于其已经与源域相对应,因此期望他们没有变化。同样当向生成器$G$提供目标域图像时,也会出现类似情况。这一技术首先在 CycleGAN 中被提出,作者也采用了这一方案,使用基于 L1 距离的身份损失 (identity loss)。GANILLA 的最终目标函数便是极小化这四个损失函数之和。这儿的identity loss没能理解,看代码的时候需要重点关注一下。
客观评价的机制
客观评价有两个标准:1)是否有目标风格;2)是否保留原图内容。
作者引入两个CNN网络,分别对应style和content。
Style-CNN有11类,10类对应10位不同的艺术家的画,1类对应自然图像。训练数据是被裁成small patches的illustration images。作者认为这个分类器的逻辑是:如果一张图不属于任何一位艺术家的风格,那它大概率会被认为是自然图像。作者仅使用生成图像来测试这一分类器。
Content-CNN,从SUN dataset中选择了10个户外场景,4150用来训练,500用来测试,副样本是排除10位艺术家的剩下14位艺术家的全幅illustration(这些画没有用来训练ILLA)。思路是:自然图像里的山,风格转换后仍是山。
Evaluation
- 模型训练
数据256×256, 训练了200个epoch,使用Adam,lr=0.0002,没有使用预训练网络,显卡Nvidia Tesla V100。
CartoonGAN的batch size是4,其它都为1。 - 数据
cycleGAN的5402张自然图像用来训练,751张用来测试。9500张illustrations,从中选择了10位艺术家的有完整的、复杂场景的图片,剩下14位艺术家的画用来评测效果的好坏。 - Ablation experiments
理清各个模块对结果的影响。重点包括:low-level features对下采样的重要性(concatenative connections和additive connection的区别);low-level features对上采样的重要性(用cycleGAN的上采样和ILLA的特征金字塔网络比较) - 和其它模型的数据量、训练时间比较
评价标准
为什么要把插画当作负类呢,插画中也有场景怎么办;
- 户外场景分成10类这个就很离谱,你不能保证你生成的插画中每个都在这10类场景里;
- 关于结果展示的图我也没能理解。比如下图,展示了cycleGAN和ILLA经过content-CNN分类的结果。从左往右说明了分类器四种结果,越往右准确性不高,作者想用这个说明ILLA什么呢?左下角的图男孩子在街上走以很高的置信度被分错了怎么就能证明cnn-Content是适合的
Reference
Image-to-image style transfer
- 鼻祖工作
- [1]
- [3]CycleGAN
- [27]
- [4]GualGAN
- Online methods (全局信息不确定)
- [1]
- [6]
- [7]
- [8]
- Offline methods use CNN (了解全局信息,通常是大的复杂模型)
- [9]
- [10]
- [11]
- [12]
- Offline methods use GAN
- [3]cycleGAN
- [4]DualGAN
- [5]unpaired
- [13]unpaired
- [14]
- [15]pix2pix
- [35]
- Discriminator
- 70×70 PatchGAN,被多个模型证明很成功了
- Loss:
- [40]Minimax losses
- Transfer to art paintings
- [16]
- [3]
- [17]
- [18]
- 从art paintings中获取真实图片
- [19]
- [18]
- 从某种动物transfer到另一种动物
- [3]
- [20]
- [21]
- 转换某种特定特征(天气,季节,年份)
- [14]
- [16]
- [21]
- [22]
- 将航空图片转换成地图
- [15]
- 完成草图
- [23]
- [24]
- [25]
- [26]
- 从人脸图像获得草图并卡通化
- [4]
- [5]