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)

  1. Image-to-image translation,作者提出了解决风格、内容transfer冲突的方法,同时转换风格和内容,达到了一个较好的平衡。具体包括:一个新的生成网络,在每个residual layer做下采样;将low level features和high level features用跳连和上采样连接起来。
  2. unpaired image-to-image translation的评价暂时都是主观的,作者基于内容和风格分类器,提出一个量化评价框架
  3. 构建illustrations数据集,来自363本书,24个不同艺术家的9448张图

    Problem Statement

    作者想实现Image-to-image translation,将现实图片转换为illustration。然而illustration相比艺术风格化、卡通等会更加抽象,现有的方法无法同时将风格和内容都转换得很好,如下图所示。
    GANILLA: Generative Adversarial Networks for Image to Illustration Translation - 图1
    同时,作者构建的数据集是未对齐的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的结构

    GANILLA: Generative Adversarial Networks for Image to Illustration Translation - 图2
    GANILLA: Generative Adversarial Networks for Image to Illustration Translation - 图3
    图下的说明已经很详细了。
    下采样部分用的是改进的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

  1. 模型训练
    数据256×256, 训练了200个epoch,使用Adam,lr=0.0002,没有使用预训练网络,显卡Nvidia Tesla V100。
    CartoonGAN的batch size是4,其它都为1。
  2. 数据
    cycleGAN的5402张自然图像用来训练,751张用来测试。9500张illustrations,从中选择了10位艺术家的有完整的、复杂场景的图片,剩下14位艺术家的画用来评测效果的好坏。
  3. Ablation experiments
    理清各个模块对结果的影响。重点包括:low-level features对下采样的重要性(concatenative connections和additive connection的区别);low-level features对上采样的重要性(用cycleGAN的上采样和ILLA的特征金字塔网络比较)
  4. 和其它模型的数据量、训练时间比较
    GANILLA: Generative Adversarial Networks for Image to Illustration Translation - 图4
  5. 评价标准

    • 自己的主观评价
    • 用户调研,搭了个网页让观众从content、style和图片吸引力三个方面回答问卷,最终获得了48个不同用户的66个问题的
    • 搭建了两个分类器,分别用来衡量content和style

      Criticism

      感觉没说明白content-CNN。
  6. 为什么要把插画当作负类呢,插画中也有场景怎么办;

  7. 户外场景分成10类这个就很离谱,你不能保证你生成的插画中每个都在这10类场景里;
  8. 关于结果展示的图我也没能理解。比如下图,展示了cycleGAN和ILLA经过content-CNN分类的结果。从左往右说明了分类器四种结果,越往右准确性不高,作者想用这个说明ILLA什么呢?左下角的图男孩子在街上走以很高的置信度被分错了怎么就能证明cnn-Content是适合的

GANILLA: Generative Adversarial Networks for Image to Illustration Translation - 图5

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]