Assignment #3 - Zilin Zhang (zilinzha)

Project Overview

This homework aims to get hands-on experience coding and training GANs (Deep Convolutional GAN and CycleGAN).

Result

Experiment with DCGANs

The discriminator and generator training loss are shown below.

The discriminator training loss:

Sample Image

The generator training loss:

Sample Image

The losses decrease for both generator and discriminator with more training interations, while it's more obvious for discriminator. For discriminator, the Vanilla DCGAN has lowest loss, Deluxe or DiffAugment only methods has higher loss, and combined Deluxe + DiffAugment has highest loss. In contrast, for the same order, the generators are high to low in losses.

With "--data_preprocess=deluxe" and differentiable augmentation enabled, two samples are shown below.

Early in training (iteration 200):

Sample Image

Late in training (iteration 6000):

Sample Image

The sample quality is much better at later stage than the early stage. The early stage is quite noisy and can not tell the clear features of cats, while the later stage we can tell the eyes, noses and other features much more clear (but still not quite good). The features should be more clear thourgh more interations of training. The image diversity is not quite much, which can be improved for more training interations.

Experiment with CycleGAN

GrumpifyCat

The CycleGAN without the cycle-consistency loss samples are shown below.

sample-001000-X-Y.png:

Sample Image

sample-001000-Y-X.png:

Sample Image

sample-010000-X-Y.png:

Sample Image

sample-010000-Y-X.png:

Sample Image

The CycleGAN with the cycle-consistency loss samples are shown below.

sample-001000-X-Y.png:

Sample Image

sample-001000-Y-X.png:

Sample Image

sample-010000-X-Y.png:

Sample Image

sample-010000-Y-X.png:

Sample Image

The CycleGAN with the DCDiscriminator loss samples are shown below.

sample-010000-X-Y.png:

Sample Image

sample-010000-Y-X.png:

Sample Image

Apple2orange

The CycleGAN without the cycle-consistency loss samples are shown below.

sample-010000-X-Y.png:

Sample Image

sample-010000-Y-X.png:

Sample Image

The CycleGAN with the cycle-consistency loss samples are shown below.

sample-010000-X-Y.png:

Sample Image

sample-010000-Y-X.png:

Sample Image

The CycleGAN with the DCDiscriminator loss samples are shown below.

sample-010000-X-Y.png:

Sample Image

sample-010000-Y-X.png:

Sample Image

Difference between the results with and without the cycle consistency loss: For the method without cycle-consistency loss, the result has less accurate translations and does not preserve original image content well. The method with cycle-consistency loss has better preservation of original image content in translations. This is because the model without cycle-consistency loss isn't encouraged to ensure a bidirectional translation that maintains original image content. Longer training time also help improve the translation quality. The performance is similar between the two dataset we’re using. The apple2orange data also shows that model with cycle-consistency can help capture more features in color or for colorful images.

Observations between the results using DCDiscriminator and PatchDiscriminator: The PatchDiscriminator looks at patches of the image to determine if they are real or fake, which has finer details being captured in the generated images. The DCDiscriminator assesses the image as a whole, and the images generated have a different balance between global coherence and details captured. For apple2orange, patch method introduces more artifactual microtextures. For cat dataset, the difference is less obvious.