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 ...
随机推荐
- 21次C++作业
//第一题目 class A //A为基类 {public: void f1( ); int i; protected: void f2(); int j; private: int k; }; /* ...
- IE浏览器下用JS创建文件
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- String的相关操作总结
Java中的String与常量池 string是java中的字符串.String类是不可变的,对String类的任何改变,都是返回一个新的String类对象. string是java中的字符串.Str ...
- Python的__pycache__的文件夹
· 前言 用python编写好一个工程,在第一次运行后,总会发现工程根目录下生成了一个__pycache__文件夹,里面是和py文件同名的各种 *.pyc 或者 *.pyo 文件. 先大概了解一下py ...
- HCL AppScan Standard 9.0.3.13
https://pan.baidu.com/s/1mh97vyJdWy1CmF589jZJhQ 网盘密码: q31g / 压缩密码:shungg.cn http://www.shungg.cn/pos ...
- [ASP.NET Core 3框架揭秘] 依赖注入:IoC模式
原文:[ASP.NET Core 3框架揭秘] 依赖注入:IoC模式 正如我们在<依赖注入:控制反转>提到过的,很多人将IoC理解为一种“面向对象的设计模式”,实际上IoC不仅与面向对象没 ...
- 高端编程之DOM
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- python 中PIL.Image和OpenCV图像格式相互转换
PIL.Image转换成OpenCV格式: import cv2 from PIL import Image import numpy image = Image.open("plane ...
- weakHashMap 用法
WeakHashMap,此种Map的特点是: 当除了自身有对key的引用外,此key没有其他引用,那么GC之后此map会自动丢弃此值 当使用 WeakHashMap 时,即使没有显示的添加或删除任何元 ...
- manjaro软件源报错 不停看到错误 "PackageName: signature from "User <email@archlinux.org>" is invalid" 的几种解决方法
对于报错情况, 格式大致如下: error: PackageName: signature from "User <email@archlinux.org>" is i ...