16726-Learning Based Image Synthesis-Spring 24

Assignment #3 - Cats Generator Playground

Student Name: Peipei Zhong, Andrew ID: peipeiz

 

 

Part 1: Deep Convolutional GAN

1,calculate the padding size

, [] means take the integer part of it.

output_size = (2 * output_size - 4 + 2 * padding_size) / 2 +1,

so padding should be 1 in this case.

 

2, Generator and discriminator training loss

1) --data_preprocess=basic, without differentiable augmentation

 

2) --data_preprocess=basic, with differentiable augmentation

 

3) --data_preprocess=deluxe, without differentiable augmentation

 

4) --data_preprocess=deluxe, with differentiable augmentation

 

Briefly explain what the curves should look like if GAN manages to train.

 

Samples

 basicbasic+diff_augdeluxedeluxe+diff_aug
iter = 400
iter = 5800
Discussion

 

 

Part 2: CycleGAN

1, without the cycle-consistency loss, train_iters = 1000

X-YY-X

 

with the cycle-consistency loss, train_iters = 1000

X-YY-X

 

 

2, without the cycle-consistency loss, train_iters = 10000

X-YY-X
wo10000-sample-10000-X-Ywo10000-sample-010000-Y-X

 

with the cycle-consistency loss, train_iters = 10000

X-YY-X

 

3, Apple2orange

without the cycle-consistency loss, train_iters = 10000

X-YY-X
woa-sample-010000-X-Ywoa-sample-010000-Y-X

 

with the cycle-consistency loss, train_iters = 10000

X-YY-X

 

4, Difference between the results with and without cycle consistency loss:

 

5, DCDiscriminator vs PatchDiscriminator

result for DCDiscriminator, itera = 10000

X-YY-X
12

 

X-YY-X
12

(Though the output images looks terrible, the loss curve is somehow resonable.) Loss curve for orange2apple

2

 

Compared to PatchDiscriminator, DCDiscriminator have much worse outputs. The result of DCDiscriminator is more blurred and with artifact.

This is because DCDiscriminator consider the images as a whole, so as long as the overall images looks similar to the real image, the generator won't be punished. While PatchDiscriminator focus on local areas or "blocks" of the image. It independently evaluates whether each small piece is real and averages these judgments to obtain the final output. This method makes the generated images more refined and realistic in texture and detail, catching more details.