Spectral Normalized Markovian Discriminator(SNPatchGAN)[光谱归一化马尔科夫判别器]

Posted wenshinlee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spectral Normalized Markovian Discriminator(SNPatchGAN)[光谱归一化马尔科夫判别器]相关的知识,希望对你有一定的参考价值。

马尔可夫判别器(PatchGAN)

概念

  • 马尔可夫判别器是判别模型的一种。
  • 基于CNN的分类模型有很多种,很多网络都是在最后引入了一个全连接层,然后将判别的结果输出(输出结点)。
  • 马尔可夫判别器则是不一样,直观来看,它完全由卷积层构成,最后输出的是一个n*n的矩阵,最后取输出矩阵的均值作为True/False的输出。
  • 事实上,输出矩阵中的每一个输出,代表着原图中一个感受野,对应了原图的一片(patch),而具有这样结构的GAN被称为PatchGAN

优点应用

  • 目前来看,在图像风格迁移领域中,我们这里沿用Gatys论文中关于风格迁移的想法,即风格迁移分为两部分:内容部分和纹理部分。

  • 内容部分是指生成图像和原图像在内容(语义)上的相似性;

    • 纹理部分是指生成图像和目标图像在纹理上的相似性。
    • 马尔可夫判别器对于风格迁移中的超高分辨率、图片清晰化有一定的高分辨率、高细节的保持。
  • 目前,马尔可夫判别器用于Pix2PixCycleGAN等GAN网络中。


感受域计算

  • 每一层感受域的计算公式为:
    • input_size = (output_size-1)*k_stride+k_size
      • 感受域:输出结点(输出网络中的每个结点)对输入网络的感受野的范围(可以从输出网络大小反推感受野的大小);
      • input_size:为输出结点感受域的大小;
      • k_stride:卷积核的移动步长;
      • k_size:输入输出之间卷积核的大小;
  • 以之前分析的CycleGAN代码中的马尔可夫判别器为例:
    • 技术图片
    • last_conv输出(k_stride=1)
      • 假设其中一个节点,即output_size=1,计算得到CK4的大小(input_size)4
      • 同理,假设CK4_size = 4,则CK3_size = (4-1)*2+4=10
      • 同理,CK2_size = (10-1)*2+4=22
      • 同理,CK1_size = (22-1)*2+4=46
      • 同理,input = (46-1)*2+4=46,即 input的感受域大小为94
  • 参考博客:博客1博客2博客3包括实现代码、更具体

光谱归一化马尔科夫判别器

待整理

以上是关于Spectral Normalized Markovian Discriminator(SNPatchGAN)[光谱归一化马尔科夫判别器]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 expressjs 4.0 中设置 marko 模板引擎

我们如何从 DeNormalized 文本文件 1 构建 Normalized 表?

Unity如何理解Vector3.normalized 归一化向量 以及 向量方向计算

AttributeError:“numpy.ndarray”对象没有属性“nipy_spectral”

scikit-learn 中的 SpectralClustering 与 Spectral_clustering

spectral sequence