Applications of GANs

Posted by JY on May 12, 2020

ref: https://medium.com/@jonathan_hui/gan-some-cool-applications-of-gans-4c9ecca35900

1. Create Anime characters

Game development and animation production are expensive and hire many production artists for relatively routine tasks. GAN can auto-generate and colorize Anime characters.

Towards the automatic Anime characters creation with Generative Adversarial Networks

2. Pose Guided Person Image Generation

https://arxiv.org/pdf/1705.09368.pdf

With an additional input of the pose, we can transform an image into different poses. For example, the top right image is the ground truth while the bottom right is the generated image.

Pose Guided Person Image Generation

img

3. Cross-domain transfer

Cross-domain transfer GANs will be likely the first batch of commercial applications. These GANs transform images from one domain (say real scenery) to another domain (Monet paintings or Van Gogh).

CycleGAN

CycleGAN builds 2 networks G and F to construct images from one domain to another and in the reverse direction. It uses discriminators D to critic how well the generated images are. For example, G converts real images to Van Gogh style painting and Dy is used to distinguish whether the image is real or generated.

Domain A ➝ Domain B:

img

We repeat the process in the reverse direction Domain B➝ Domain A

img

StarGAN

StarGAN is an image-to-image translation for one domain to another.

In (b), the generator generates a fake image based on an input image and a target domain label (say angry). In (c), given this fake image and the original domain of the image (say happy), it reconstructs the image using the generator. In (d), we feed real and fake images to the discriminator to label it as real or not as well as its domain classification. The cost function will involve reconstruction errors as well as the discriminator cost in identifying the images and their labels.

img

4. PixelDTGAN

Suggesting merchandise based on celebrity pictures has been popular for fashion blogger and e-commerce. PixelDTGAN creates clothing images and styles from an image.

PixelDTGAN

code

5. Super resolution

Create super-resolution images from the lower resolution. This is one area where GAN shows very impressive result with immediate commercial possibility.

SRGAN

Similar to many GAN designs, it composes of many layers of convolutional layer, batch normalization, advanced ReLU and skip connections.

6. Progressive growing of GANs

Progressive GAN is probably one of the first GAN showing commercial-like image quality.

Progressive growing of GANs

It applies the strategy of divide-and-conquer to make training much feasible. Layers of convolution layers are trained once at a time to build images of 2× resolution.

img

In 9 phases, a 1024 × 1024 image is generated.

img

7. High-resolution image synthesis

Generating images from a semantic map.

Collecting samples are very expensive. We have trying to supplement training dataset with generated data to lower development cost. It will be handy to generate videos in training autonomous cars rather than see them cruising in your neighborhood.

pix2pixHD

GauGAN synthesizes photorealistic images given an input semantic layout.

8. Text to image

Text to image is one of the earlier application of domain-transfer GAN. We input a sentence and generate multiple images fitting the description.

StackGAN

Code

9. Text to Image Synthesis

Another popular implementation:

Generative Adversarial Text to Image Synthesis

10. Face synthesis

Synthesis faces in different poses: With a single input image, we create faces in different viewing angles. For example, we can use this to transform images that will be easier for face recognition.

TP-GAN

11. Image inpainting

Repair images have been an important subject decades ago. GAN is used to repair images and fill the missing part with created “content”.

Context encoder

12. Learn Joint Distribution

It is expensive to create GANs with different combinations of facial characters P(blond, female, smiling, with glasses), P(brown, male, smiling, no glasses) etc…The curse of dimensionality makes the number of GANs to grow exponentially. Instead, we can learn individual data distribution and combine them to form different distributions. i.e. different attribute combinations.

CoGAN

DiscoGAN

DiscoGAN provides matching style: many potential applications. DiscoGAN learns cross domain relationship without labels or pairing. For example, it successfully transfers style (or patterns) from one domain (handbag) to another (shoe).

13. Pix2Pix

Pix2Pix

code

Pix2Pix is an image-to-image translation that get quoted in cross-domain GAN’s paper frequently.

DTN

Creating Emoji from pictures.

14. Texture synthesis

MGAN

img

15. Image editing

Reconstruct or edit images with specific attributes.

IcGAN

img

**16. Face aging **

Age-cGAN

17. Neural Photo Editor

Neural Photo Editor: Content based image editing.

DeblurGAN performs motion deblurring.

18. Refine image

img

19.Object detection

This is one application in enhancing an existing solution with GAN.

Perceptual GAN

img

20. Image blending

Blending images together.

GP-GAN

21. Video generation

https://arxiv.org/pdf/1609.02612.pdf

Create new video sequence. It recognizes what is background and create new time sequence for the foreground action.

22. Generate 3D objects

This is one often quoted paper in creating 3D objects with GAN.

3DGAN

img

23. Music generation

GAN can be applied to non-image domain, like composing music.

MidiNet

img

24. Medical (Anomaly Detection)

GAN can also extend to other industry, for example medical in tumor detection.

AnoGAN

img