AlamiMejjati / Unsupervised-Attention-guided-Image-to-Image-Translation

Unsupervised Attention-Guided Image to Image Translation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Interpreting training images?

prash-p opened this issue · comments

Hi, thanks for providing the code to your work. Could you provide a description of the images that are saved every epoch? I understand some of them but I'm not sure about every single one.
Here is my understanding so far, please correct if I am wrong:

inputA - input training image from domain A
inputB - input training image from domain B
fakeA - The final translation from input A to domain B (not sure about this one)
fakeB - The final fake translation from input B to domain A (not sure about this one)
cycA - Reconstructed input A (fakeA translated into domain A)
cycB - Reconstructed input B (fakeB translated into domain B)
masked_imA - mask_A applied to inputA
masked_imB - mask_B applied to inputB
masked_imAcycle - ??? (?mask applied to cycA)
mased_imBcycle - ??? (?mask applied to cycB)
mask_a - learned attention mask for domain A (A_S in paper)
mask_b - learned attention mask for domain B (A_T in paper)
mask_a_cycle - ???
mask_b_cycle - ???
fakeA_masked - mask_a applied to fakeA (not sure about this)
fakeB_masked - mask_b applied to fakeB (not sure about this)
cycA_masked - ???
cycB_masked - ???

what is the purpose of showing fakeA_masked, cycA_masked ? And which is the final translation from the network (is it fakeA/B or fakeA/B_masked)?

Thanks

Bear in mind that the masks are computed on each pass, meaning that a new mask is computed for fake_images_a and fake_images_b (in addition to the masks computed from inputA_ and inputB_). These masks are named mask_a_cycle and mask_b_cycle respectively.
With that in mind:

masked_imAcycle: is mask_a_cycle applied to fake_images_a

masked_imBcycle: is mask_b_cycle applied to fake_images_b

fakeA_masked, fakeB_masked: are the direct outputs of the generators in the first pass before applying the masks and adding the backgrounds. (masked is a confusing terminology in here.)

cycA_masked, cycB_masked: are the direct outputs of the generators in the cyclic pass before applying the masks and adding the backgrounds.. (masked is a confusing terminology in here.)

The purpose of showing all these images, is just to track outputs of different steps of the algorithm. In a future code release (coming shortly), I will modify the function save_images to output only the most relevant results. However meanwhile, please feel free to do so.

The final translation from the network is given by fakeA/B.