Advertisement

PatchGAN:Image-to-Image Translation with Conditional Adversarial Networks

阅读量:

写过很多次博客,但是有关GAN的很少,都快忘记了还要分享对于GAN的心得了,恰巧最近正在重新看之前看过的文章,借此机会也把更多GAN的内容总结成文,帮助自己做好笔记。

文章下载地址:http://openaccess.thecvf.com/content_cvpr_2017/papers/Isola_Image-To-Image_Translation_With_CVPR_2017_paper.pdf

代码下载:https://github.com/phillipi/pix2pix

一、这篇文章解决了什么问题?

图像处理、图形学和视觉学中的许多问题涉及到将输入图像转换成相应的输出图像。这些问题通常用特定于应用程序的算法来处理,即使设置总是相同的:将像素映射到像素。条件对抗网是一种通用的解决方案,它似乎可以很好地解决各种各样的问题。一句话来讲,PatchGAN解决的是图像到图像(Pixel-to-Pixel)的对应转换问题,就是说如上图里面的这些任务都是将一张输入图片翻译成另一张与之对应的图片,而且是一个通用网络来做到的,训练数据肯定不一样的。

这里有一个示例,可以参考着看一下。https://affinelayer.com/pixsrv/

PatchGAN(又被称为Pix2pix)主要解决的问题就在于:使用通用框架解决像素到像素的预测。

二、这篇文章的优势在哪里?

为什么它可以提供通用性的解决方案的原因?

它研究条件对抗性网络作为图像到图像翻译问题的通用解决方案。这些网络不仅学习了输入图像到输出图像的映射,而且还学习了训练这种映射的损失函数。这使得对传统上需要非常不同的损失公式的问题应用相同的通用方法成为可能。

(1)这篇论文框架可以通用的原因是Gan可以学习到loss,普通网络loss函数的本质也是要求最终得到的图片尽最大可能的得到符合要求 的图片。实际上本质上判别网络做的事情就是loss做的事情。

(2)图像到图像转换问题的一个特征定义是将高分辨率输入网格映射到高分辨率输出网格。输入和输出的表面外观虽不同,但两者都是相同底层结构的渲染。 因此,使用Gan的生成器中输入的结构大致与输出的结构对齐。判别器如果只使用Gan同样也是判别图片的结构,L1范数计算的是两个像素值的距离,判别的是图片的大致颜色。所以gan+L1是一个较好的结合。

参考链接: https://www.jianshu.com/p/57ff6f96ce4c

三、关于这篇文章中的Patch判别器

参考链接:https://zhuanlan.zhihu.com/p/26663577

参考链接:https://www.pianshen.com/article/8657173502/

参考链接:https://zhuanlan.zhihu.com/p/26663577(感受野)

判别器使用提出的patchGan,用来判别感受野是N×N的局部patch是真是假 。这个感受野举个例子,网络11大小的输出,他的感受野表示的是原图,含义是原图是真是假,这就是常规的判别器所用的。本文用的3030大小的输出,他的每个元素感受野是7070的patch,含义是原图中30个7070的patch是真是假。用判别器对整个N*N大小图像进行卷积,也就是同一层的feature map 们,如下图,并平均所有的响应来得到最终的输出D。其中,N可以比图像的全尺寸小得多,比如N=1,就有点像L2范数了,毕竟是要产生高层的特征,也仍能产生高质量的结果。这是因为更小的PatchGAN有着更少的参数,跑得更快

四、具体说说这篇文章的方法和实验

1. 网络结构( Network architectures)

生成器的体系结构有两种选择。 “ U-Net” [49]是一种编码器-解码器,在编码器和解码器堆栈的镜像层之间具有跳过连接。

生成器: convolution-BatchNorm-ReLu

图像到图像转换问题的一个定义特征是,它们将高分辨率的输入网格映射到高分辨率的输出网格。此外,对于考虑的问题,输入和输出在表面外观上是不同的,但它们都是相同底层结构的渲染图。因此,输入中的结构与输出中的结构大致一致。根据这些考虑来设计生成器架构。

添加跳跃连接:具体地说,在每层i和层n−i之间添加跳过连接,其中n是层的总数。每一次跳跃连接只是将第i层的所有通道与第n层的通道连接起来。

判别器:Markovian discriminator (PatchGAN)

设计了一个鉴别器架构(我们称之为PatchGAN),该架构只会对补丁规模的结构造成不利影响。该鉴别器尝试对图像中的每个N×N色块是真实的还是假的进行分类。对该图像进行卷积运算,对所有响应求平均值以提供D的最终输出。

文章证明N可以比图像的整个尺寸小得多,并且仍然可以产生高质量的结果。这是有利的,因为较小的PatchGAN具有较少的参数,运行速度更快,并且可以应用于任意大的图像。这样的鉴别器有效地将图像建模为马尔可夫随机场 ,假设相隔大于补丁直径的像素之间具有独立性。这种联系先前进行过探讨过,也是纹理和样式模型中的常见假设。因此,PatchGAN可以理解为一种纹理/样式损失的形式。

2. 实验结果

这部分实验结果可以详见文章。

3. 生成器网络结构分析

U-Net体系结构允许低级信息在网络上实现快捷方式。 这会带来更好的结果吗?

图和表比较了城市景观生成中U-Net与编码器/解码器的比较。 只需通过切断U-Net中的跳过连接即可创建编码器/解码器。 在实验中,编解码器无法学习生成逼真的图像。 U-Net的优势似乎并不是特定于条件GAN的:当两个U-Net和编码器/解码器都以L1损失训练时,U-Net再次获得了优异的结果。

4. 网络结构具体参数设置

Generator architectures:
The encoder-decoder architecture consists of:
encoder:
C64-C128-C256-C512-C512-C512-C512-C512
decoder:
CD512-CD512-CD512-C512-C256-C128-C64

The U-Net architecture is identical except with skip connections between each layer i in the encoder and layer n−i in the decoder, where n is the total number of layers. The skip connections concatenate activations from layer i to layer n − i. This changes the number of channels in the decoder:
U-Net decoder
CD512-CD1024-CD1024-C1024-C1024-C512-C256-C128

Discriminator architectures:

The 70 × 70 discriminator architecture is:
C64-C128-C256-C512

全部评论 (0)

还没有任何评论哟~