78
Learning to Generate Images Jun-Yan Zhu Ph.D. at UC Berkeley Postdoc at MIT CSAIL

Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Learning to Generate Images

Jun-Yan ZhuPh.D. at UC BerkeleyPostdoc at MIT CSAIL

Page 2: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Computer Vision before 2012

CatFeatures Clustering Pooling Classification

Page 3: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Cat

[LeCun et al, 1998], [Krizhevsky et al, 2012]

Computer Vision Now

Deep Net

CatFeatures Clustering Pooling Classification

Page 4: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Deep Learning for Computer Vision

[Zhao et al., 2017][Güler et al., 2018][Redmon et al., 2018]

Object detection Human understanding Autonomous driving

Top 5 accuracy on ImageNet benchmark

[Deng et al. 2009] 70

75

80

85

90

95

100

2010 2011 2012 2013 2014 2015 2016 2017

Deep Net

Page 5: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Can Deep Learning Help Graphics?

CatModeling Texturing Lighting Rendering

Page 6: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Good/BadDeep Net

CatModeling Texturing Lighting Rendering

Can Deep Learning Help Graphics?

Page 7: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Selecting the most attractive expressions

Photos

101 Photos[Zhu et al. SIGGRAPH Asia 2014]

Page 8: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Selecting the most realistic composites

Most realistic composites

Least realistic composites [Zhu et al. ICCV 2015]

Page 9: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

CatDeep Net

CatModeling Texturing Lighting Rendering

Can Deep Learning Help Graphics?

Page 10: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Generating images is hard!

8 Deep Net

CatModeling Texturing Lighting Rendering

28x28 pixels

Page 11: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Generative Adversarial Networks(GANs)

[Goodfellow et al. 2014]

Page 12: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

© aleju/cat-generator

G(z)

G

fake image

[Goodfellow et al. 2014]

z

Random code Generator

Page 13: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

A two-player game:• G tries to generate fake images that can fool D.• D tries to detect fake images.

[Goodfellow et al. 2014]

G(z)

G

z

Random code Generator

D

Discriminatorfake image

Real (1) or fake (0)?

Page 14: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

fake (0.1)

Learning objective (GANs)

[Goodfellow et al. 2014]

G(z)

G

z

Random code Generator

D

Discriminatorfake image

Page 15: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

x

D real (0.9)

Learning objective (GANs)

[Goodfellow et al. 2014]

fake (0.1)

G(z)

G

z

Random code Generator

D

Discriminatorfake image

real image

Page 16: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

x

D real (0.9)

fake (0.3)

Learning objective (GANs)

[Goodfellow et al. 2014]

G(z)

G

z

Generator

D

Discriminatorfake imageRandom code

real image

Page 17: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Limitations of GANs

• No user control.

• Low resolution and quality.

Random code

vs

Output User input Output

Page 18: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

ContributionsCo-authors:

Phillip Isola, Taesung Park, Ting-Chun WangRichard Zhang, Tinghui Zhou, Ming-Yu Liu, Andrew Tao

Jan Kautz, Bryan Catanzaro, Alexei A. Efros

Page 19: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

2014 ⋯

Goals: Improve Control, Quality, and Resolution

2016 2017

GANs

pix2pix CycleGAN

2018

pix2pixHD

• Conditional on user inputs.• Learning without pairs.• High quality and resolution.

Page 20: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

2014 ⋯

Goals: Improve Control, Quality, and Resolution

2016 2017

GANs

pix2pix CycleGAN

2018

pix2pixHD

• Conditional on user inputs.• Learning without pairs.• High quality and resolution.

Page 21: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Real or fake?

z G(z)

GRandom code

[Goodfellow et al. 2014]

D

Learning objective (GANs)

DiscriminatorGenerator Output image

Page 22: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Real or fake?

x G(x)

G D

[Isola, Zhu, Zhou, Efros, 2016]

Learning objective (pix2pix)

Input image Output image DiscriminatorGenerator

Page 23: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Real✓

Learning objective (pix2pix)

x G(x)

G D

Input image Output image DiscriminatorGenerator

[Isola, Zhu, Zhou, Efros, 2016]

Page 24: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

x G(x)

Learning objective (pix2pix)

Real too✓D

Discriminator

G

GeneratorInput image Output image

[Isola, Zhu, Zhou, Efros, 2016]

Page 25: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Real or fake pair ?

x G(x)

G

D

Learning objective (pix2pix)

Discriminator

Generator

[Isola, Zhu, Zhou, Efros, 2016]

Page 26: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

#edges2cats [Christopher Hesse]

Ivy Tasi @ivymyt

@gods_tail

@matthematician

https://affinelayer.com/pixsrv/

Vitaly Vidmirov @vvid

Page 27: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

x G(x)

G

D

Input: Sketch → Output: PhotoInput: Grayscale → Output: Color

Discriminator

Generator Real or fake pair ?

[Isola, Zhu, Zhou, Efros, 2016]

Page 28: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Automatic Colorization with pix2pixInput Output Input Output Input Output

Data from [Russakovsky et al. 2015]

Page 29: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Interactive Colorization

[Zhang*, Zhu*, Isola, Geng, Lin, Yu, Efros, 2017]

Page 30: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Edges → Images

Input Output Input Output Input Output

Edges from [Xie & Tu, 2015]

Page 31: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Sketches → Images

Input Output Input Output Input Output

Trained on Edges → Images

Data from [Eitz, Hays, Alexa, 2012]

Page 32: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Input Output Groundtruth

Data from[maps.google.com]

Page 33: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Input Output Groundtruth

Data from [maps.google.com]

Page 34: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Paired

Page 35: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

……

Paired Unpaired

Page 36: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

2014

Goals: Improve Control, Quality, and Resolution

2016 2017

GANs

pix2pix CycleGAN

2018

pix2pixHD

• Conditional on user inputs.• Learning without pairs.• High quality and resolution.

Page 37: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Cycle-Consistent Adversarial Networks

[Zhu*, Park*, Isola, and Efros, 2017]

Page 38: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

[Mark Twain, 1903]

⋯ ⋯

Cycle-Consistent Adversarial Networks

[Zhu*, Park*, Isola, and Efros, 2017]

Page 39: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

G(x) F(G x )x

F G x − x1

DY(G x )

Reconstructionerror

Cycle Consistency Loss

[Zhu*, Park*, Isola, and Efros, 2017]See also [Yi et al., 2017], [Kim et al, 2017]

Page 40: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

G(x) F(G x )x F(y) G(F x )𝑦

F G x − x1

G F y − 𝑦1

DY(G x )

Reconstructionerror

Reconstructionerror

DG(F x )

Cycle Consistency Loss

[Zhu*, Park*, Isola, and Efros, 2017]See also [Yi et al., 2017], [Kim et al, 2017]

Page 41: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Horse → Zebra

Page 42: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Orange → Apple

Page 43: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Collection Style Transfer

Monet Van Gogh

Cezanne Ukiyo-e

Photograph © Alexei Efros

Page 44: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Monet’s paintings → photographic style

Page 45: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Why CycleGAN works

Page 46: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Style and Content Separation

Separating Style and Content with Bilinear Models

[Tenenbaum and Freeman 2000’]

Content

Style

Adversarial Loss: change the style

Cycle Consistency Loss: preserve the content

Two empirical assumptions:- content is easy to keep.- style is easy to change.

Paired Separation Unpaired Separation

Page 47: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Neural Style Transfer [Gatys et al. 2015]

Style and Content:- Content: feature difference- Style: Gram Matrix difference- Both losses are hard-coded.

Page 48: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Input Style Image I CycleGANStyle image II Entire collection

Photo → Van Gogh

horse → zebra

Input Style image I CycleGANStyle image II Entire collection

Page 49: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Cycle Loss upper bounds Conditional Entropy

Conditional Entropy

“ALICE: Towards Understanding Adversarial Learning for Joint Distribution Matching” [Li etal. NIPS 2017]. Also see [Tiao et al. 2018] “CycleGAN as Approximate Bayesian Inference”

HighConditional

Entropy

LowConditional

Entropy

Page 50: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Cycle Loss upper bounds Conditional Entropy

Conditional Entropy

“ALICE: Towards Understanding Adversarial Learning for Joint Distribution Matching” [Li etal. NIPS 2017]. Also see [Tiao et al. 2018] “CycleGAN as Approximate Bayesian Inference”

Page 51: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Customizing Gaming Experience

Street view images in German citiesGrand Theft Auto v (GTA5)

Data from [Richter et al., 2016], [Cordts et al, 2016]

Page 52: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Customizing Gaming Experience

Input GTA5 CGOutput image with German street view style

Page 53: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Domain Adaptation with CycleGAN

See Judy Hoffman’s talk at 14:30 “Adversarial Domain Adaptation”

meanIOU Per-pixel accuracy

Oracle (Train and test on Real) 60.3 93.1

Train on CG, test on Real 17.9 54.0

Train on GTA5 data Test on real images

Page 54: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Domain Adaptation with CycleGAN

See Judy Hoffman’s talk at 14:30 “Adversarial Domain Adaptation”

meanIOU Per-pixel accuracy

Oracle (Train and test on Real) 60.3 93.1

Train on CG, test on Real 17.9 54.0

FCN in the wild [Previous STOA] 27.1 -

GTA5 data + Domain adaptation Test on real images

Page 55: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Domain Adaptation with CycleGAN

See Judy Hoffman’s talk at 14:30 “Adversarial Domain Adaptation”

meanIOU Per-pixel accuracy

Oracle (Train and test on Real) 60.3 93.1

Train on CG, test on Real 17.9 54.0

FCN in the wild [Previous STOA] 27.1 -

Train on CycleGAN, test on Real 34.8 82.8

Train on CycleGAN data Test on real images

Page 56: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Failure case

Page 57: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Failure case

Page 58: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Open Source CycleGAN and pix2pix

• Among the mostpopular GitHubresearch projectssince 2017.

• Among the mostcited papers inGraphics/CV/MLsince 2017.

Page 59: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

CycleGAN results by students

CycleGAN in Classes

© Alena Harley, FastAI

Input photo

© Roger Grosse, UoT

MS emoji Apple emoji MS emoji Stained glass art

Page 60: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Applications and ExtentionsAttribute Editing [Lu et al.]

Low-res Bald Bangs

Object Editing [Liang et al.]

Mask Input OutputarXiv:1705.09966 arXiv:1708.00315

Front/Character Transfer [Ignatov et al.]

Input outputarXiv: 1801.08624

Data generation [Wang et al.]

arXiv:1707.03124

samples by CycleWGAN

Page 61: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Photo Enhancement

WESPE: Weakly Supervised Photo Enhancer for Digital Cameras. arxiv 1709.01118Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool

Page 62: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Image Dehazing

Cycle-Dehaze: Enhanced CycleGAN for Single Image Dehazing. CVPRW 2018Deniz Engin∗ Anıl Genc∗, Hazım Kemal Ekenel

Page 63: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Unsupervised Motion Retargeting

Neural Kinematic Networks for Unsupervised Motion Retargetting. CVPR 2018 (oral)Ruben Villegas, Jimei Yang, Duygu Ceylan, Honglak Lee

Page 64: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Neural Kinematic Networks for Unsupervised Motion Retargetting. CVPR 2018 (oral)Ruben Villegas, Jimei Yang, Duygu Ceylan, Honglak Lee

Page 65: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Applications Beyond Computer Vision

• Medical Imaging and Biology [Wolterink et al., 2017]

• Voice conversion [Fang et al., 2018, Kaneko et al., 2017]

• Cryptography [CipherGAN: Gomez et al., ICLR 2018]

• Robotics• NLP: Unsupervised machine translation.• NLP: Text style transfer.

Page 66: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Input MR Generated CT Ground truth CT

Page 67: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

© itok_msi

Latest from #CycleGANInput dog Output cat Input cat Output dog

Page 68: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Fortnite Input PUBG Style Final result

CycleGAN for Customized Gaming

Low-res256p/512p

© Cahintan Trivedi

Battle royale games

Page 69: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

2014 ⋯

Goals: Improve Control, Quality, and Resolution

2016 2017

GANs

pix2pix CycleGAN

2018

pix2pixHD

• Conditional on user inputs.• Learning without pairs.• High quality and resolution.

Page 70: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Car

Road

Tree

Sidewalk

Building

The Curse of Dimensionality

Pix2pix output

Page 71: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

[Wang, Liu, Zhu, Tao, Kautz. Catanzaro, 2018]

Low-resGenerator

G1

Real/fake?

Low-resDiscriminator

D1

Real/fake?D2

High-resDiscriminator

Image Pyramid [Burt and Adelson, 1987]Also see [Zhang et al., 2017]

[Karras et al., 2018]

High-resGenerator

G2

Co

arse-to-fin

e

pix2pixHD

Page 72: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Car

Road

Tree

Sidewalk

Building

pix2pixHD: 2048×1024

Page 73: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single
Page 74: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single
Page 75: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

pix2pixHD for sketch→ face

Page 76: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

2014 ⋯ 2016 2017

GANs

pix2pix CycleGAN

2018

pix2pixHD

• Learning to generate images from trillions of photos.• Help more people tell their own visual stories.

Improve Control, Quality, and ResolutionStill a long way to go

Page 77: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single
Page 78: Learning to Generate Imagesœ±俊彦.pdf · Andrey Ignatov, Nikolay Kobyshev, Kenneth Vanhoey, Radu Timofte, Luc Van Gool. Image Dehazing Cycle-Dehaze: Enhanced CycleGAN for Single

Thank You!

© LynnHo