CycleGAN --- Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks
文章地址:http://openaccess.thecvf.com/content_ICCV_2017/papers/Zhu_Unpaired_Image-To-Image_Translation_ICCV_2017_paper.pdf
代码地址:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix
原理:
CycleGAN这篇文章的亮点是提出了无需使用成对样本来训练模型的新思路。像pix2pix这类方法则需要成对的数据来训练。

由于在实际应用中,我们很难获取到成对的样本集,这篇文章的思想就是将一类样本转换为另一类样本。给定两个样本空间X,Y,我们希望把X空间中的
样本转换为Y空间中的样本,即寻找从源域(X)到目标域(Y)的映射关系G:X->Y,并且要使得数据G(X)的分布与Y的分布不可区分。同时反向映射关系也需要满足,
即F:Y->X,通过引入一个循环一致性损失来使得F(G(X))≈X。
其中,G对应了GAN网络的生成器部分,用于将X中的图像转换为Y中的图像,我们可得到生成的图像为G(X)。此时还需要判别器网络来对生成的图像和真实
的图像进行判别。这个判别器用DY表示。对于这部分网络,存在一个对抗损失。

其中生成器G试着生成接近目标分布Y的图像G(X),判别器旨在区分转换样本和真实样本,由此构成了一个博弈过程。对于反向映射F:Y->X,同样存在这样的
GAN损失。
理论上说,对抗训练可以学习和产生与目标域Y相似分布的输出,但如果仅使用对抗损失来训练无法得到比较好的结果。原因在于,在足够大的样本容量下,
网络可以将相同的输入图像集合映射到目标域中图像的任意排列组合。也就是说学习到的可以只是输出的一个子分布,这样就可能会导致输入X通过映射函数得
到Y空间中的特定图像的分布。
意思就是单独的对抗损失无法保证学习函数可以将单个输入Xi映射到期望的输出Yi。由此,作者便提出了“循环一致性损失(Cycle consistency loss)”

即前向循环一致性和反向循环一致性。


简单来说,思想就是把一个东西经过变换后,通过一个反变换还能回到原来的样子(突然想到了傅里叶变换和反傅里叶变换)。

总的目标函数为:

实现
- 网络结构:
生成器部分使用的是李飞飞团队提出的感知损失用来做风格转换的网络结构。
判别器采用的70x70的Patch-GANs
- 训练细节:
运用了两个技巧来稳定网络模型的训练过程
1. 使用最小二乘损失来代替对数损失

2. 更新判别其DX和DY,使用之前生成的图像而不是最新生成的图像。保存了50个的缓存数据。
- 参数设置:
λ的值设置为10.使用Adam优化求解,batch size为1.前100个epoch学习率设置为0.0002,后100个epoch学习率线性递减直至0.
实验结果:


CycleGAN --- Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks的更多相关文章
- 《Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks》论文笔记
Code Address:https://github.com/junyanz/CycleGAN. Abstract 引出Image Translating的概念(greyscale to color ...
- Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks 阅读笔记
Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks (使用循环一致的对抗网络的非配对图像-图 ...
- StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation - 1 - 多个域间的图像翻译论文学习
Abstract 最近在两个领域上的图像翻译研究取得了显著的成果.但是在处理多于两个领域的问题上,现存的方法在尺度和鲁棒性上还是有所欠缺,因为需要为每个图像域对单独训练不同的模型.为了解决该问题,我们 ...
- image-to-image translation with conditional adversarial networks文献笔记
Image-to-Image Translation with Conditional Adversarial Networks (基于条件gan的图像转图像) 作者:Phillip Isola, J ...
- Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks(使用循环一致的敌对网络进行不成对的图像到图像转换)
作者:朱俊彦,朱俊彦博士是计算机图形学领域现代机器学习应用的开拓者.他的论文可以说是第一篇用深度神经网络系统地解决自然图像合成问题的论文.因此,他的研究对这个领域产生了重大影响.他的一些科研成果,尤其 ...
- 《StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation》论文笔记
---恢复内容开始--- Motivation 使用单组的生成器G和判别训练图片在多个不同的图片域中进行转换 效果确实很逆天,难怪连Good Fellow都亲手给本文点赞 Introduction 论 ...
- 《Image-to-Image Translation with Conditional Adversarial Networks》论文笔记
出处 CVPR2017 Motivation 尝试用条件GAN网络来做image translation,让网络自己学习图片到图片的映射函数,而不需要人工定制特征. Introduction 作者从不 ...
- (Pixel2PixelGANs)Image-to-Image translation with conditional adversarial networks
Introduction 1. develop a common framework for all problems that are the task of predicting pixels f ...
- (转)Awesome GAN for Medical Imaging
Awesome GAN for Medical Imaging 2018-08-10 09:32:43 This blog is copied from: https://github.com/xin ...
随机推荐
- python基础-4.1 open 打开文件练习:修改haproxy配置文件
1.如何在线上环境优雅的修改配置文件? 配置文件名称ini global log 127.0.0.1 local2 daemon maxconn 256 log 127.0.0.1 local2 in ...
- Reverse Linked List(反转单向链表)
来源:https://leetcode.com/problems/reverse-linked-list Reverse a singly linked list. 递归方法:递归调用直到最后一个节点 ...
- SpringBoot jar程序配置成服务运行
windows 版本 http://www.cppblog.com/aurain/archive/2014/01/23/205534.aspx linux 版本 https://blog.csdn.n ...
- Java-集合第六篇操作集合的工具类Collections
1.Java提供了一个操作Set.List.Map等集合的工具类:Collections. 工具类中提供的方法主要针对Set.List.Map的排序.查询.修改等操作,以及将集合对象设置为不可变.对集 ...
- Mybatis-基本步骤
1.1Mybatis框架概述 Mybatis是基于Java的持久层框架,内部封装了jdbc,使开发者只需关注sql语句本身,而不需要花费精力去处理加载驱动.创建连接.创建Statement等繁杂的过程 ...
- HDU 6070题解(二分+线段树)
题面 传送门 此题的题意不是很清晰,要注意的一点是在区间[L,R]中,默认题目编号最后一次出现的时候是AC的 比如1 2 1 2 3 ,在区间[1,4]中,第3次提交时AC第1题,第4次提交时AC第2 ...
- 二分查找---有序数组的 Single Element
有序数组的 Single Element 540. Single Element in a Sorted Array (Medium) Input: [1, 1, 2, 3, 3, 4, 4, 8, ...
- 【汇总目录】eShopOnContainers
随笔分类 - eShopOnContainers eShopOnContainers 知多少[10]:部署到 K8S | AKS 摘要:1. 引言 断断续续,感觉这个系列又要半途而废了.趁着假期,赶紧 ...
- vue-cli-webpake搭建和配置
确认创建项目后,后续还需输入一下项目名称.项目描述.作者.打包方式.是否使用ESLint规范代码等等,详见上图.安装顺利执行后会,生成如下文件目录:1.全局化安装cnpm npm install cn ...
- 如何在虚拟机VM安装windows 2008R2
1.首先确保已经安装好VM软件后进行以下操作.首先点击"文件"->再点击新建虚拟机.如图 2.点击新建虚拟机后会弹出如图所示,可以点击"典型",这里建议选 ...