前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GAN的发展系列四(Pix2Pix、CycleGAN)

GAN的发展系列四(Pix2Pix、CycleGAN)

作者头像
Minerva
发布2020-06-23 16:06:29
3.5K0
发布2020-06-23 16:06:29
举报

一、 Pix2pix 论文:《Image-to-Image Translation with Conditional Adversarial Networks》 论文地址:https://arxiv.org/abs/1611.07004 代码地址:https://github.com/phillipi/pix2pix.

1、基本思路 Pix2pix用条件cGAN做图像转换image translation的鼻祖,图像转换是从输入图像的像素到输出图像像素的映射,通常用CNN卷积神经网络来缩小欧式距离,但会导致输出图像的模糊问题,pix2pix利用GAN完成成对图像的转换。

2、网络框架和目标函数 Pix2pix的网络框架如下,原理和CGAN类似

生成器采用Unet结构(之前的文章介绍过深度学习系列(四)分割网络模型(FCN、Unet、Unet++、SegNet、RefineNet)),输入目标轮廓,经过编码解码生成着色的目标图像,判别器采用PatchGan对生成假图像和真实图像进行判别,把图像分成切片patch,分别判断每个patch的真假,再平均最后的结果,作者采用的patch大小为70x70。

通常情况下的CGAN目标函数为

文中增加了一个L1 Loss一起优化目标函数

使用传统的L1 loss来让生成的图片跟训练的图片尽量相似,用GAN来构建高频部分的细节。 3、缺点 使用这样的结构其实学到的是x到 y 之间的一对一映射,也就说,pix2pix就是对ground truth的重建:输入轮廓图→经过Unet编码解码成对应的向量→解码成真实图。这种一对一映射的应用范围十分有限,当我们输入的数据与训练集中的数据差距较大时,生成的结果很可能就没有意义。

二、 CycleGAN 论文:《Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks》 论文地址:https://arxiv.org/abs/1703.10593 代码地址:https://github.com/junyanz/CycleGAN

1、基本思路 CycleGan可以实现风格迁移功能,通过两个镜像对称的GAN构成一个环形网络。针对无配对数据,在源域和目标域之间不需要建立一对一的映射就可以实现风格迁移,

2、网络框架 CycleGAN的两个GAN共享两个生成器G和F,但判别器是独立的两个Dx和Dy,一个单向GAN包含两个loss,CycleGAN包含四个loss。X和Y是两个数据分布,生成器G和F分别是X到Y与Y到X的映射,两个判别器Dx和Dy分别对转换后的图片进行判别,生成器采用ResBlock结构,判别器采用pix2pix的PatchGAN结构,大小为70x70, cycle-consistency loss是用数据集中其他的图来检验生成器,这是防止G和F过拟合。

损失函数是三个loss的和:

前面两个是CycleGAN中两个GAN的loss,第三个是重建的L1 loss,

重建的损失也包括两个,相当于目的是让真实的X和生成的假X相似,真实的Y和生成的假Y相似,

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python编程和深度学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档