Generative Adversarial Networks (GANs) allow to generate images and are used in a variety of applications, as image synthesis, semantic image editing, style transfer, image super-resolution, image transformation and classification. Relevant extensions of GANs are conditional GANs (cGANs), where the introduction of external information allows to determine specific representations of the generated images. The conditional information can be class labels, texts, images or arbitrary attributes.
The GAN framework lacks an inference mechanism, i.e., finding the latent representation of an input image, which is a necessary step for being able to reconstruct and modify real images. So are introduced Invertible Conditional GANs (IcGANs), which are composed of a cGAN and an encoder. The encoder inverses the mapping of a cGAN, namely mapping a real image into a latent space and a conditional representation. Once the latent representation has been obtained, explicitly controlled variations can be added to an input image via conditional information (e.g. generate a certain digit in MNIST or specify face attributes on a face dataset).