Image-to-Image Translation with Conditional Adversarial Networks

介绍pix2pix条件对抗网络,该网络不仅学习图像映射,还学习损失函数。通过使用cGAN结合L1损失,避免了传统GAN可能导致的图像模糊问题,并通过PatchGAN实现了局部图像块的精确匹配。

论文:https://arxiv.org/abs/1611.07004
代码:https://github.com/phillipi/pix2pix

摘要

条件对抗网络:不仅学习从输入图像到输出图像的映射,而且学习一个损失函数来训练这个映射。
使用条件对抗网络,不需要针对不同图像翻译问题设计不同的损失函数,从而使得本文提出的pix2pix网络成为一个图像翻译的通用网络。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 引言

我们仍然必须告诉CNN我们希望最小化的东西,如果让CNN将预测像素与真实像素之间的欧几里得距离最小化,往往会产生模糊的结果。

GAN学会了分类输出图像是真实的或假的的损失,同时训练生成模型以最小化这种损失。模糊的图像将不被容忍,因为他们看起来显然是假的。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2 近期工作

用于图像建模的结构化损失:按像素分类或者回归是非结构化的,因为每个输出像素被认为是独立于其他像素点的。条件GAN的损失是学习的,理论上可以惩罚输出和目标之间不同的任何可能的结构。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

3 方法

cGAN:这里写图片描述 x是观测图像,z是随机噪声,y是目标图像

训练过程如下:

这里写图片描述

目标函数:
这里写图片描述

加入L1距离是因为发生器的任务不仅在于欺骗鉴别器,还要接近真实输出。且L1与L2相比鼓励更少的模糊。
(无条件GAN与有条件GAN的区别在于:鉴别器是否观察x,观察了x,可以使观测图像与目标图像更加匹配,不然可能会出现,生成器生成的图像是逼真的,但是与观察图像所对应的目标图像不一致。)

网络架构:
生成器:U-Net
鉴别器:Markovian discriminator

(尽管L2或L1损失不能鼓励高频率的清晰度,但是在很多情况下,它们却准确地捕捉到低频率。为了对高频进行建模,将注意力限制在局部图像块中的结构就足够了)

(论文中设计一个鉴别器体系结构 - 称之为PatchGAN–只在patch的尺度上惩罚结构。这个鉴别器试图分类图像中的每个N*N的块是真实的还是假的。在图像上卷积运行这个鉴别器,对所有响应进行平均,以提供D的最终输出。PatchGAN可以被理解为纹理/样式损失的一种形式)
(PatchGAN的鉴别器不仅仅输出一个值,而是把图像划分成许多patch,判断每个patch与label是否相符。pixelGAN就是输出一个值,ImageGAN输出一张图的大小。)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

4 试验
1、 cGAN+L1(L1是产生更接近真实的输出,但是模糊。cGAN是对结构把握的很好,但是不接近真实)
这里写图片描述

2 、 U-net(与encoder-decoder相比,验证其独有的跨层连接是否起到作用)
这里写图片描述

3 、 patchGAN中patch的大小(patch越小结构越模糊,不过颜色也越鲜艳。70和256能达到类似的结构精度,不过文中说最终效果256的会差一点)
这里写图片描述

4 、 L1导致比groundtruth更窄的分布,证实了L1鼓励平均灰色的假设。另一方面,使用cGAN将输出分布推向更接近实际情况。
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值