摘要

  • 提出一种用于艺术风格迁移的动态 ResBlock 生成对抗网络(DRB-GAN)。风格码被建模为连接风格编码网络和迁移网络的动态 ResBlocks 的共享参数。

  • 在编码网络中,融入了风格的类感知注意机制;在迁移网络中,多个 Dynamic ResBlocks 来整合风格码和提取的 CNN 语义特征,然后输入到空间实例归一化(SWLIN)解码器,实现艺术风格。

  • 源码:GitHub - xuwenju123/DRB-GAN

1. Introduction

艺术风格转换是综合内容图像的共享结构相似性,反映艺术风格的风格。这里的艺术风格指的是画家的绘画体裁,而艺术形象指的是同一画家创作的一组形象,每一幅形象都有其独特的个性。如图1所示,Style Image 1和Style Collection 1中所有的Style Images都是由Pablo Picasso创作的,其风格包括颜色、笔触、形式或对光线的使用。因此,一个理想的艺术风格转换应该能够综合具有风格类型一致的图像,同时考虑到艺术家作品的多样性。

为了更有效地进行艺术风格转换,之前的一些论文已经探索了任意的风格传递[17,20],这些作品大多只依赖于一个任意的风格形象。因此,它们并不能有效地产生一系列反映对艺术作品集的颜色、比例和笔画大小等艺术风格的理解的结果。最近一些关于生成对抗网络(generative adversarial networks, GANs)[55, 41, 55, 41, 5, 36]的研究成功地实现了作品集风格迁移,即将一个集合中的每个风格图像视为一个域。然而,现有的集合风格传递方法仅对领域主导风格线索进行识别和传递,缺乏探索风格多样性的灵活性。

本文提出了一种动态ResBlock生成对抗网络(DRB-GAN),用于艺术风格转换。如图2所示,它由风格编码网络、风格转换网络和风格作品集判别网络组成。特别是在DIN[20]和StyleGAN[23]思想的启发下,我们将“风格编码”建模为动态ResBlocks中动态卷积和AdaINs的共享参数,并在风格转换网络的中处设计了多个动态残留块(Dynamic Residual Blocks, drb)。请注意,每个DRB由一个Convolution Layer、一个Dynamic Convolution[3]层、一个ReLU层、一个AdaIN[17]层和一个实例归一化层(带有残留连接)组成。这种处理方法是认真调整动态卷积的共享参数,自适应调整adain的仿射参数,以保证内容图像与样式图像之间的瓶颈特征空间的统计匹配。

我们将一个固定的预先训练的VGG编码器[43]和一个可学习的编码器作为特征提取器加入到风格编码网络中,以捕获风格类感知的特征表示。输出风格感知类的概率可以用作关注风格特征的权重,用于风格编码的重新校准。由于风格类感知的注意机制是通过风格作品集合中的图像来学习的,因此输出的“风格编码”捕获了风格图像集合中潜在的区别性信息。请注意,我们的注意力机制对“风格编码”进行了更好的聚类,这与之前基于类激活映射的方法不同[25,53],后者旨在突出空间区域。

通过风格编码网络中的“风格编码”,多个DRB可以自适应地进行处理从风格转换网络中CNN编码器提取到的语义特征,然后将其送入空间窗口LayerInstance归一化(SW-LIN)解码器生成合成图像。特别地,我们借鉴了[28]局部特征归一化的思想,设计了一个SW-LIN函数,该函数动态地将局部信道和分层归一化与每个解码器块中的可学习参数结合起来。在空间窗口约束下,我们的SW-LIN能够灵活地移动特征空间中的均值和方差。

由于“风格编码”捕获了风格编码网络中底层的判别信息,所以很容易将学习到的风格网络应用到一个风格集合中的每一幅风格图像上,得到一组风格编码。我们可以对样式码进行加权平均,得到“集合风格码”,然后将其输入到风格转换网络,进行集合风格转换。此外,我们的判别网络从同一艺术家的目标风格集合中采样多个风格图像作为参考,以保证特征空间的一致性。结合感知监督,我们精心设计的判别器为我们的DRB-GAN逐渐具备任意风格迁移和集合风格迁移的能力提供了良好的指导,在训练阶段缩小了二者的差距。通过大量的实验,我们已经证明了我们所提出的DRB-GAN在任意样式转移和收集样式转移上的有效性。

我们的工作与之前的风格转换模型有几个方面的区别[41,28,44]。首先,我们DRB-GAN介绍了一个新的艺术风格转换模型,“风格编码”的建模为共享参数动态ResBlocks,连接风格编码网络和风格转换网络,以缩小任意风格转换和作品集风格转换之间的差距,并集合在一个统一的模型。其次,我们引入了一种风格类感知的注意机制来进行风格代码的重新校准,然后利用精心设计的多个动态ResBlocks将风格编码与提取的语义特征进行集成。最后但并非最不重要的是,判别网络充分利用从目标集合中采样的风格图像作为参考,这加强了我们的DRB-GAN的作品集风格转换能力。

图2  本文提出的DRB-GAN,它由风格编码网络、风格转换网络和判别网络组成

3. Proposed Approach

如图2所示,DRB-GAN由三个网络组成,即风格编码网络和风格转换网络来生成图像,即生成器G,判别网络作为判别器D,以确保生成的所需风格图像与风格图像集合中的风格图像保持一致。用下标c来表示第c个风格。给定一个内容图像和一个从N个不同艺术图像集上随机采样艺术风格图像(属于第c种风格)。我们的目标是用生成器G转换内容图像,以生成所需的合成风格图像,通过鉴别器D确保风格与风格图像一致。

3.1. Style Encoding Network with Style Class-Aware Attention

如图2所示,我们将风格编码建模为Dynamic ResBlocks的共享超参数,Dynamic ResBlocks的设计目的是在残差结构[13]中集成Dynamic convolution (DConv)和Adaptive Instance Normalization (AdaIN)[17]。风格编码网络是从风格图像中生成风格编码,用于内容图像上的风格转换网络。

        Attention guided feature extractor。我们引入一种风格编码体系结构,结构上通过连接来自一个预先训练的VGG编码器和一个可学习的编码器。可学习编码器的参数会更新,而VGG编码器的参数是固定的。由于固定的VGG网络是在COCO数据集[34]上进行预训练的,它已经见过很多不同纹理的图像,因此具有全局属性,对in-the-wild的纹理具有较强的泛化能力。考虑到COCO数据集与其他数据集的差距,采用固定编码器的网络很难适应这样复杂的模型。因此,我们引入了一个可学习的编码器作为对固定的VGG编码器的补充,以提取风格的微妙变化。

受到class activation mapping(CAM)[53]的启发,我们采用了一个分类权重来重新校准我们的风格编码,标记为。该注意力机制基于训练的辅助分类器来预测样式分类概率,分类概率用于表征输入风格图像属于第c类别风格的似然性。风格编码将重新校准为:

重新校准的风格编码特征被送入权重生成模块H,该模块被设计为多层感知(MLPs),以确定动态ResBlocks的参数值。

        Style code generation for arbitrary style transfer。给定重新校准的风格编码,这个模块将为“风格编码”在动态ResBlocks中生成参数,可以写成:

其中为风格特征,为一个MLP,用于生成Dynamic Convolution [3] Layers的滤波权值。另一个MLP在AdaIN[17]层中创建了仿射参数

        Weighted averaging strategy for collection style transfer。我们引入了一种加权平均策略来扩展集合风格转换的任意风格编码。具体来说,我们将“集合风格编码”作为基于同一艺术家的几幅代表性作品的“风格编码”的加权平均值和相应的权重π来计算。对于集合中的第k个风格图像,其权重πk由风格图像与内容图像的相似度决定。因此,我们可以将“集合风格编码”表述为

式中,K为测试阶段用于计算生成权重均值的风格图像数,c为目标风格域。实验结果表明,我们的加权平均策略在作品集风格迁移任务上取得了显著的效果。

3.2. Style Transfer Network with Dynamic ResBlocks

我们的风格转换网络包含一个对输入进行下采样的CNN编码器,多个动态残差块,以及一个空间窗口Layer-Instance Normalization (SWLIN)解码器对输出进行上采样。通过不同的“风格编码”参数,风格转换网络将内容图像转换成不同的风格。

        Dynamic ResBlock.每个动态ResBlock作为转换网络的核心,由一个Convolution Layer、一个Dynamic Convolution[3]层、一个ReLU层、一个AdaIN[17]层和一个带有残差结构的实例归一层组成。该算法综合了残差块中动态卷积和自适应实例归一化层的优点。注意,层中的所有参数都是从风格编码网络动态生成的。

        SW-LIN Decoder.GAN模型倾向于在生成的示例[24]中生成artifacts,这将显著降低其应用程序的性能。许多研究人员试图用解码器模块中的层归一化函数替换实例归一化函数,以去除artifacts。在研究这些归一化操作之后,我们观察到实例归一化分别归一化每个特征图,因此可能破坏在特征相对于彼此的大小中发现的任何信息。而层归一化操作将特征图归一化,从而可能破坏作为样式表示的每个特征图。因此,我们在解码器块上配置空间窗口LayerInstance归一化(SW-LIN)函数,该函数动态地将这些归一化函数与可学习的参数ρ相结合:

3.3. Discriminative Network for Arbitrary and Collection Style Transfer

简单地回答一个真实或虚假的问题不足以为生成器提供正确的监督,生成器的目标是单风格和集合风格。为了解决这个问题,我们引入了一种带有风格图像集合的条件鉴别器,它鼓励生成的图像在任何样式类型中保持纹理。

如图2所示,我们的作品集鉴别器将生成的图像和从目标风格集合中采样的几个风格图像作为输入。特征提取部分为每幅图像生成一个特征图,并将它们通过通道连接起来。然后利用一个带有三个卷积层的小型网络,基于拼接后的特征图对图像质量进行评估。与条件GAN的鉴别器不同,我们的鉴别器采用一组样式图像作为参考,以确保在特征空间上的样式一致性。

3.4. Objective Functions

目标损失函数L由对抗性损失、感知损失和风格分类损失构成,如下:

4. Experiment

DRB-GAN: A Dynamic ResBlock Generative Adversarial Network for Artistic Style Transfer相关推荐

  1. GAN(Generative Adversarial Network,GAN)模型应用

    GAN(Generative Adversarial Network,GAN)模型人脸应用 目录 GAN(Generative Adversarial Network,GAN)模型人脸应用 人脸重构: ...

  2. GAN(Generative Adversarial Network,GAN)模型之:SeqGAN、IRGAN、StackGAN、BigBiGAN、GAIN模型

    GAN(Generative Adversarial Network,GAN)模型之:SeqGAN.IRGAN.StackGAN.BigBiGAN.GAIN模型 目录 GAN(Generative A ...

  3. GAN(Generative Adversarial Network,GAN)模型之:EBGAN、PGGAN、CGAN、ACGAN模型

    GAN(Generative Adversarial Network,GAN)模型之:EBGAN.PGGAN.CGAN.ACGAN模型 EBGAN EBGAN的思想是,将D网络看做一个能量方程.当G网 ...

  4. GAN(Generative Adversarial Network,GAN)模型之:InfoGAN、WGAN、DCGAN模型

    GAN(Generative Adversarial Network,GAN)模型之:InfoGAN.WGAN.DCGAN模型 InfoGAN 为了解决定制化生成的问题,提出了InfoGAN模型.In ...

  5. 生成对抗网络(Generative Adversarial Network,GAN)

    生成对抗网络(Generative Adversarial Network,GAN) Generative:生成式模型 Adversarial:采取对抗的策略 Networks:网络(不一定是深度学习 ...

  6. 【深度学习】Generative Adversarial Network 生成式对抗网络(GAN)

    文章目录 一.神经网络作为生成器 1.1 什么是生成器? 1.2 为什么需要输出一个分布? 1.3 什么时候需要生成器? 二.Generative Adversarial Network 生成式对抗网 ...

  7. Face-Morphing using Generative Adversarial Network(GAN)论文阅读笔记

    题目:Face-Morphing using Generative Adversarial Network(GAN) 参考文章:原文地址 摘要: 讲解了GAN的基本原理以及利用GAN换脸的原理. 在像 ...

  8. 生成对抗网络(GAN,Generative Adversarial Network)介绍

    生成对抗网络(GAN,Generative Adversarial Network)介绍 flyfish 在无监督学习中,最近的突破有哪些? 看一个GAN的应用 第一张图是用GAN将一副古代女子的画像 ...

  9. GAN —— Generative Adversarial Network

    文章目录 生成对抗网络 GAN -- Generative Adversarial Network 一, Why GAN 二,GAN的思想 Thought of GAN 三,GAN网络架构 1,生成器 ...

最新文章

  1. php mssql_result 255 string,PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法
  2. 专题3 标准IO编程
  3. Java高并发编程(六):重入锁
  4. java程序员的NodeJS初识篇
  5. catch句子_「实用英文」知道 catch on 是什么意思吗?catch 精选短语合集
  6. C/C++函数调用约定
  7. jquery 实现 点击把数据移动右侧 点击再次移回到左侧
  8. ubuntu19 安装git_在Ubuntu 18.04上安装Git
  9. 二十一、osi七层模型
  10. oracle listener启动问题
  11. MySQL(18)--- UNION 操作符
  12. 一对一家教如何辅导_小学六年级数学一对一家教怎么教/小学六年级数学怎样辅导...
  13. 计算机组成原理----Cache主存地址映射(计算题)
  14. 宾得k5ii_K5--K5II---K5IIs,该选哪个?(喜欢宾得机的摄友)各抒己见。
  15. NSSM 制作 window 服务
  16. ApacheCN 翻译/校对/笔记整理活动进度公告 2019.9.13
  17. aspjpeg组件在2008R2下“ActiveX 部件不能创建对象”
  18. wma转mp3怎么弄_wma格式怎么转换mp3
  19. GIS地图描边特效的实现
  20. 自强不息,厚德载物——2021年年度总结

热门文章

  1. php用户权限分配方法,php – 在Laravel 5中使用Entrust为用户分配权限,而不是角色...
  2. Day 2 WebAPIs 实例
  3. Perl面向对象编程入门
  4. 毕业生做了这个考研论坛系统,使用的是SSM框架和JSP技术
  5. A COMBINED CORNER AND EDGE DETECTOR
  6. oracle数据库怎么分组查询,oracle数据库之分组查询
  7. 计算机网络安全技术学习总结
  8. java web简单项目实例_简单粗暴,详细得不要不要的 JavaWeb快速入门实例(1)
  9. Win7交互式服务编程,不弹出交互式服务检测
  10. 思科网络设备常用命令