Single Image Super Resolution

Crypt | 2019

Super resolution is the process of upscaling and or improving the details within an image. Often a low resolution image is taken as an input and the same image is upscaled to a higher resolution, which is the output. The details in the high resolution output are filled in where the details are essentially unknown. This problem is quite complex since there exist multiple solutions for a given low resolution image. This has numerous applications like satellite and aerial image analysis, medical image processing, compressed image/video enhancement etc. With the rise in computational capabilities of GPUs, the use of deep learning for image super resolution has become common. Deep learning solutions using GANs and also CNNs have been proposed.


This project aims to produce 2x higher resolution output images from the given input image set. Two models will be built, a GAN model and a CNN model. The results obtained after training the models will be used to make a Generative Adversarial Networks(GANs) are a class of algorithms used in Unsupervised Machine Learning. GANs are deep neural network architectures comprised of two networks: Generator and Discriminator, pitting one against the other (thus the “adversarial”). Discriminator and Generator both learn at the same time, and once Generator is trained it knows enough about the distribution of the training samples so that it can now generate new samples which share very similar properties. This property of the Generator is used to learn the missing parts of the low-res image.


The steps involved in the implementation of the project are: 

1. Collection of the data set. A medium sized dataset, such as DIV2k will be used.

2. Lowering resolution of images from the dataset. The dataset will include images of high resolution that need to be brought down to feed into the network.

3. Building the network architecture. Keras python3 library will be mainly used. Google Colaboratory will be used as the workspace.

4. Comparing the performance of the GAN and the CNN architectures. Accuracy, runtime, recall rate and other such metrics will be used. 


Generative Adversarial Networks
Image Enhancing