Introducing SRGAN
In the previous section, we saw a scenario in which we used a pre-trained StyleGAN to generate images in a given style. In this section, we will take it a step further and learn about using pre-trained models to perform image super-resolution. We will gain an understanding of the architecture of the SRGAN model before implementing it on images.
First, we will explain why a GAN is a good solution for the task of super-resolution. Imagine a scenario in which you are given an image and asked to increase its resolution. Intuitively, you would consider various interpolation techniques to perform super-resolution. Here’s a sample low-resolution image along with the outputs of various techniques:
Figure 13.15: The performance of different techniques of image super-resolution
(source: https://arxiv.org/pdf/1609.04802.pdf)
In the preceding image, we can see that traditional interpolation techniques such as bicubic interpolation do not help as...