Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final...

39
Evaluation of GANs on Texture Generation for Computer Graphics CS 482 Project Final Presentation MinKu Kang

Transcript of Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final...

Page 1: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

Evaluation of GANs on Texture Generation for

Computer Graphics

CS 482 Project Final Presentation

MinKu Kang

Page 2: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

Material Training Data

from Users

Page 3: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

Purchased Material Pack from Unity Asset Store

Page 4: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

Purchased Material Pack from Unity Asset Store

Page 5: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

Various texture maps to give fine surface details on low-poly meshes

Purchased Material Pack from Unity Asset Store

Page 6: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

Modified Goal of the project

Use it as training data

for material texture generation

Page 7: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

Brief Introduction on GAN

Page 8: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

http://slazebni.cs.illinois.edu/spring17/lec11_gan.pdf

Page 9: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data
Page 10: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data
Page 11: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

http://slazebni.cs.illinois.edu/spring17/lec11_gan.pdf

Page 12: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

http://slazebni.cs.illinois.edu/spring17/lec11_gan.pdf

Page 13: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

Sample Collection

Page 14: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

2048 x 2048 px

A single large texture

5,000 patches,

28 x 28 px each

gray-scaled

Sample Patches from a texture image

A half for training,

the other half for

testing

Page 15: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

Sample Patches from a texture image

2048 x 2048 px

A single large texture

5,000 patches,

28 x 28 px each

gray-scaled

Page 16: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

2048 x 2048 px

A single large texture

5,000 patches,

28 x 28 px each

gray-scaled

Sample Patches from a texture image

Page 17: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

Texture Generation

Random Noise

Generated Image

GAN Diagram from

https://github.com/hwalsuklee/tensorflow-generative-model-collections

Page 18: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

Iter.: 12,000Iter.: 8,000Iter.: 4,000Iter.: 0

ReferenceTraining

Vanilla GAN for texture generation

wood

Page 19: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

http://slazebni.cs.illinois.edu/spring17/lec11_gan.pdf

Page 20: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

Iter.: 12,000Iter.: 8,000Iter.: 4,000Iter.: 0

ReferenceTraining

Deep Convolutional GAN (DCGAN) for texture generation

Page 21: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

Iter.: 12,000Iter.: 4,000Iter.: 0Iter.: 12,000Iter.: 4,000Iter.: 0

Vanilla GAN vs. DCGAN

Page 22: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

Iter.: 4,000Iter.: 2,000Iter.: 400Iter.: 0

ReferenceTraining

Deep Convolutional GAN for texture generation

ground_dirt

Page 23: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

Iter.: 8,000Iter.: 4,000Iter.: 2,000Iter.: 0

Reference Training

Deep Convolutional GAN for texture generation

ground_rock

Page 24: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

Texture Generation withBoundary Condition

Page 25: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

How to make a Boundary-Respecting Generator ?

Boundary condition

Boundary condition vector:

2*w + 2*(h-2) pixels

Region of

Interest

H:28

W:28

Page 26: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

How to make a Boundary-Respecting Generator ?

Image from

https://github.com/hwalsuklee/tensorflow-generative-model-collections

Page 27: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

How to make a Boundary-Respecting Generator ?: Utilize Conditional GAN (CGAN)

Additional Context

Image from

https://github.com/hwalsuklee/tensorflow-generative-model-collections

Boundary condition vector:

2*W + 2*(H-2) pixels

Page 28: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

How to make a Boundary-Respecting Generator ?: Utilize Conditional GAN (CGAN)

Boundary condition

Boundary condition vector:

2*W + 2*(H-2) pixels

Region of

Interest

H:28

W:28

Boundary

condition

Boundary

condition

CGAN:

Mirza, Mehdi, and Simon Osindero.

"Conditional generative

adversarial nets." arXiv preprint

arXiv:1411.1784 (2014).

Page 29: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

G | CG | C

Boundary condition

Boundary

condition

Enforcement

Boundary condition

D | C D | C

CGAN vs. Boundary Enforced CGAN (BECGAN, proposed)

vs.

Page 30: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

G | C

Boundary

condition

Enforcement

Boundary condition

D | C

Boundary Enforced CGAN (BECGAN, proposed)

A generated image with

boundary pixels enforced is

passed to the discriminator

Discriminator would focus

on the boundary region

since it looks quite artificial

Generator would also focus

on the boundary region to

fool the discriminator.

Page 31: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

Iter. 3,000

CGAN

Boundary

Enforced

CGAN

(proposed)

CGAN vs. Boundary Enforced CGAN

Page 32: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

Iter. 0 Iter. 400 Iter. 2600

boundary

BECGAN improves over learning iterations

Cloth texture

Region of

Interest

Page 33: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

Iter. 3000 Iter. 4600Iter. 0

BECGAN improves over learning iterations

wood texture

Page 34: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

Some failure cases … (possibly due to GAN instability in learning)

Iter. 3000Iter. 0

ground_dirt texture

Page 35: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

Diversitygiven a same

Boundary Condition

: Does the generator memorize the data or not ?

Page 36: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

Diversity given a same boundary condition

• generated highlight effect

• generated different crack patternsRegion of

Interest

Page 37: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

Diversity given a same boundary condition

Region of

Interest

Page 38: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

Diversity given a same boundary condition

Region of

Interest

Page 39: Evaluation of GANs on Texture Generation for Computer Graphicssungeui/ICG/Students/CS 482 final mkkang.pdf · CS 482 Project Final Presentation MinKu Kang. Material Training Data

Summary

Conditional GAN

for Boundary Conditioned Texture Generation

Deep Convolutional GAN

for Unconstrained Texture Generation

Generated Boundary Enforced CGAN

(BECGAN, proposed)