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 | ![]() | ![]() | ![]() |