Deluxe data augmentation helps the model to be more robust.
Padding
The calculation of padding is:
, where m is the output size and n is the input size. p is the padding, K is the kernel size, and S is the stride. Given the size is downsampled by scale 2, we know n = 2m. With K = 4 and S = 2, we will have
Then,
which means padding is 1.
The design of the first layer in DCGenerator is using conv, instead of up_conv. The idea is to use padding 3, kernel size 4, and stride 1 to obtain a 4x4 output. I also replaced nn.ReLU with nn.LeakyReLU for its better performance.
As we can see, the result of the Deluxe data augmentation + full diffaug configuration with more iterations has better quality and resolution.
| Config | Real Image | 1000 Iterations | 7000 Iterations |
|---|---|---|---|
| Basic | ![]() | ![]() | ![]() |
| Deluxe | ![]() | ![]() | ![]() |
| Deluxe + diffaug (cutout) | ![]() | ![]() | ![]() |
| Deluxe + diffaug (color, translation) | ![]() | ![]() | ![]() |
| Deluxe + diffaug (color, cutout) | ![]() | ![]() | ![]() |
| Deluxe + diffaug (color, translation, cutout) | ![]() | ![]() | ![]() |
| Config | Loss |
|---|---|
| Basic | ![]() |
| Deluxe | ![]() |
| Deluxe + diffaug (all) | ![]() |
Observations:
| Direction | 1000 Iterations | 5000 Iterations | 10000 Iterations |
|---|---|---|---|
| X -> Y | ![]() | ![]() | ![]() |
| Y -> X | ![]() | ![]() | ![]() |
| Direction | 1000 Iterations | 5000 Iterations | 10000 Iterations |
|---|---|---|---|
| X -> Y | ![]() | ![]() | ![]() |
| Y -> X | ![]() | ![]() | ![]() |
| Direction | 1000 Iterations | 5000 Iterations | 10000 Iterations |
|---|---|---|---|
| X -> Y | ![]() | ![]() | ![]() |
| Y -> X | ![]() | ![]() | ![]() |
| Direction | 1000 Iterations | 5000 Iterations | 10000 Iterations |
|---|---|---|---|
| X -> Y | ![]() | ![]() | ![]() |
| Y -> X | ![]() | ![]() | ![]() |
| Direction | 1000 Iterations | 5000 Iterations | 10000 Iterations |
|---|---|---|---|
| X -> Y | ![]() | ![]() | ![]() |
| Y -> X | ![]() | ![]() | ![]() |
| Direction | 1000 Iterations | 5000 Iterations | 10000 Iterations |
|---|---|---|---|
| X -> Y | ![]() | ![]() | ![]() |
| Y -> X | ![]() | ![]() | ![]() |
| Direction | 1000 Iterations | 5000 Iterations | 10000 Iterations |
|---|---|---|---|
| X -> Y | ![]() | ![]() | ![]() |
| Y -> X | ![]() | ![]() | ![]() |
| Direction | 1000 Iterations | 5000 Iterations | 10000 Iterations |
|---|---|---|---|
| X -> Y | ![]() | ![]() | ![]() |
| Y -> X | ![]() | ![]() | ![]() |
| Discriminator | Smoothness 0.972 |
|---|---|
| DC /wo Cycle Consistency | ![]() |
| DC /w Cycle Consistency | ![]() |
| Patch /wo Cycle Consistency | ![]() |
| Patch /w Cycle Consistency | ![]() |
| Discriminator | Smoothness 0.999 |
|---|---|
| DC /wo Cycle Consistency | ![]() |
| DC /w Cycle Consistency | ![]() |
| Patch /wo Cycle Consistency | ![]() |
| Patch /w Cycle Consistency | ![]() |
| Config | Real Image | 1000 Iterations | 7000 Iterations |
|---|---|---|---|
| Deluxe + Instance | ![]() | ![]() | ![]() |
| Deluxe + Spectral | ![]() | ![]() | ![]() |