In this section, we'll discuss Cycle-Consistent Adversarial Networks (CycleGAN, Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks, https://arxiv.org/abs/1703.10593) and their application for image-to-image translation. To quote the paper itself, image-to-image translation is a class of vision and graphics problems where the goal is to learn the mapping between an input image and an output image using a training set of aligned image pairs. For example, if we have grayscale and RGB versions of the same image, we can train an ML algorithm to colorize grayscale images or vice versa.
Another example is image segmentation (Chapter 3, Object Detection and Image Segmentation