pix2pix(2017):Image-to-Image Translation with Conditional Adversarial Networks

Image-to-Image Translation with Conditional Adversarial Networks

简述:
图像处理、图形学和视觉学中的许多问题涉及到将输入图像转换成相应的输出图像。这些问题通常用特定于应用程序的算法来处理,即使设置总是相同的:将像素映射到像素(pix to pix)。本文利用GAN网络,不仅学习了输入图像到输出图像的映射,而且还学习了训练这种映射的损失函数。
在这里插入图片描述
问题or相关工作:
pix2pix使用的是Conditional GAN(CGAN)。传统的GAN通过随机向量z学习到图像y:G:z→y;CGAN则是通过输入图像x及随机向量z学到图像y:G:{x,z}→y。
众所周知GAN的目标函数为:
在这里插入图片描述
CGAN(条件GAN)的L为:
在这里插入图片描述
UCGAN(无条件GAN)的L为:
在这里插入图片描述
为了减少G输出的图像减少模糊程度,将L1 distance 取代L2:
在这里插入图片描述
本文最终的目标函数为:
在这里插入图片描述
文中对于不同的loss的效果做了一个对比,可以看到L1 + cGAN的效果相对于只用L1或者cGAN都是比较好的。下图为不同LOSS下的效果:
在这里插入图片描述
模型:
本文生成器和鉴别器都使用表单convolu- batchnorm - relu的模块。
1.Generator with skips
在编解码器网络中。在这样的网络中,输入通过一系列的层,这些层逐步向下采样,直到瓶颈层,在瓶颈层,这个过程被逆转。这样的网络要求所有的信息流通过所有的层,包括瓶颈层。对于许多图像翻译问题,在输入和输出之间有大量的低层信息共享,最好是将这些信息直接传送到网络上。
为了给生成器提供一种绕过瓶颈的方法来获取这样的信息,我们添加了跳跃连接,从而降低了“U-Net”的一般形状。具体地说,我们在每层i和层n−i之间添加跳过连接,其中n是层的总数。每一次跳跃连接只是将第i层的所有通道与第n层的通道连接起来。
在这里插入图片描述
2.马尔可夫链的鉴别器(PatchGAN)
目前,由于L2 Loss会使图像模糊,我们引入L1 Loss代替L2,虽然这些损失不能促进高频,但在许多情况下,它们仍然准确地捕获了低频。对于这种情况下的问题,我们不需要一个全新的框架来确保低频的正确性,只需要引入Patch就可以改善这种情况。
我们设计了一个鉴别器架构——我们称之为PatchGAN——它只在Patch的尺度上惩罚结构。判别器D尽可能区分N×N patch的图像是real or fake,我们运行这个鉴别器卷积图像,平均所有的响应,以提供D的最终输出。并证明了N可以比图像的全尺寸小很多,但仍然可以产生高质量的结果。这是有利的,因为较小的PatchGAN参数更少,运行速度更快,可以应用于任意大的图像。
成果:
可以看出LOSS选用L1+CGAN以及选用U-Net图像质量最高:
在这里插入图片描述
对不同LOSS的FCN-scores,评估基于Cityscapes labels↔photos:
在这里插入图片描述
对不同G结构的FCN-scores,评估基于Cityscapes labels↔photos:
在这里插入图片描述
对不同D感受野尺寸的FCN-scores,评估基于Cityscapes labels↔photos:
在这里插入图片描述
可以看出,不同Patch size,1x1 PixelGAN 鼓励更大的颜色多样性,但没有影响空间统计。16 x 16 PatchGAN创造了局部的锐化效果,但也导致了超出它所能观察到的规模的tiling artifacts。70×70 PatchGAN输出在空间和光谱(色彩)维度上都是sharp,即使是不正确的。完整的286×286 PatchGAN产生的结果在视觉上与70×70 PatchGAN相似,但是根据我们的FCN-score度量,质量稍差一些。
测试结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

发布了57 篇原创文章 · 获赞 8 · 访问量 3254

猜你喜欢

转载自blog.csdn.net/qq_41967539/article/details/102933021
今日推荐