> ## Content Index
> Fetch the complete content index at: https://sudormrf.run/llms.txt
> Use this file to discover other available public pages before exploring further.

# CycleGAN : Image Translation with GAN (4)
- URL: https://sudormrf.run/2018/04/02/image-translation-with-gan-4/
- Published: 2018-04-02T02:53:39.000Z
- Updated: 2018-04-04T14:25:11.000Z
- Author: Junho Cho
- Tags: Computer Vision, Deep Learning, #Import 2026-10-24 03:36

### Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks (CycleGAN) from UC Berkeley (pix2pix upgrade)

# &

### Learning to Discover Cross-Domain Relations with Generative Adversarial Networks (DiscoGAN) from SK T-Brain

## DiscoGAN & CycleGAN

- Almost Identical concept.
- DiscoGAN came 15 days earlier. Low resolution ($64 \\times 64$)
- CycleGAN has better qualitative results ($256 \\times 256$) and quantative experiments.

## Difference from DTN

- No $f$-constancy. Do not need pre-trained context encoder
- Only need dataset $S$ and $T$ by proposing **cycle-consistency**

## DiscoGAN

![right fit](https://tmmsexy.s3.amazonaws.com/2017-03-31-014136.jpg)

![inline](https://tmmsexy.s3.amazonaws.com/2017-03-31-013857.jpg)

### without cross domain matching, GAN has mode collapse

![inline](https://tmmsexy.s3.amazonaws.com/2017-03-31-014006.jpg)

### learn projection to mode in domain $B$, while two domains have one-to-one relation

## Typical GAN issue: Mode collapse

![inline](https://tmmsexy.s3.amazonaws.com/imgs/2017-05-10-152828.jpg)![inline](http://3.bp.blogspot.com/--_KSBB_yBJI/WKj7tRhju1I/AAAAAAAABUg/t7VHBDDPSrARfASSNRV1xF0EOP1kRevRACK4B/s1600/unrolled-GAN-mode-collapse-2.PNG)

- top is ideal case, bottom is mode collapse failure case
- Toy problem of 2-dim Gaussian mixture model
- 5 modes of domain A to 10 modes of domain B

![inline](https://tmmsexy.s3.amazonaws.com/imgs/2017-05-10-152956.jpg)

- GAN, GAN + const show injective mapping & mode collapse
- DiscoGAN shows bijective mapping & generate all 10 modes of B.

## proposed DiscoGAN

![inline](https://tmmsexy.s3.amazonaws.com/imgs/2017-05-10-153025.jpg)

### CycleGAN has similar contribution on this point

![inline](https://tmmsexy.s3.amazonaws.com/imgs/2017-05-10-162701.jpg)  
![inline](https://tmmsexy.s3.amazonaws.com/imgs/2017-05-11-074834.jpg)

## Results

![inline](https://tmmsexy.s3.amazonaws.com/imgs/2017-05-10-162138.jpg)  
![inline](https://tmmsexy.s3.amazonaws.com/imgs/2017-05-10-162222.jpg)

codes and more results in

- [https://github.com/SKTBrain/DiscoGAN](https://github.com/SKTBrain/DiscoGAN?ref=sudormrf.run)
- [https://github.com/carpedm20/DiscoGAN-pytorch](https://github.com/carpedm20/DiscoGAN-pytorch?ref=sudormrf.run)

### CycleGAN

![inline](https://tmmsexy.s3.amazonaws.com/imgs/2017-05-10-162623.jpg)

Use more GAN techniques: LSGAN, use image buffer of previous generated samples

![inline](https://junyanz.github.io/CycleGAN/images/painting2photo.jpg)  
![inline](https://junyanz.github.io/CycleGAN/images/objects.jpg)  
![inline](https://junyanz.github.io/CycleGAN/images/photo_enhancement.jpg)  
![inline](https://tmmsexy.s3.amazonaws.com/imgs/2017-05-11-074213.jpg)  
![inline](https://tmmsexy.s3.amazonaws.com/imgs/2017-05-11-074708.jpg)

### failure case

![inline](https://junyanz.github.io/CycleGAN/images/failure_putin.jpg)

CycleGAN demonstrates more experiments!  
project page : [https://junyanz.github.io/CycleGAN/](https://junyanz.github.io/CycleGAN/?ref=sudormrf.run)  
code available with Torch and PyTorch