Image super resolution refers to the task of estimating a high-resolution image from its lower resolution version. In a more simple sense it requires us to generate pixel values for interpolating the given low resolution image to make it large. In this project I employ a deep learning approach to super resolve images to double or quadruple the original image. I used Keras with Tensorflow backend to implement the model in Python 3. The model I used is fairly simple and conists of layers of Convolutional and Deconvolutional with skip connections. A Mean Squared Error (MSE) loss is used to guide our model. I also designed a GUI with the model to make it to be used easily.
The model is pre-trained with all weights included. So all you need to do is, clone this repository and run the sr_gui_browse.py. That's it.
The GUI provides a easy-to-use Interface for super resolution. The GUI has 2 options for Super Resolution, either to double or to quadruple the original input image. It also comes with an option of saving the Super Resolved image.
This repository consists of all files used during the projects. Details of what each file does is given in the Readme.docx file. And even the code files are commented wherever necessary.
- Clone the repository.
- Install the dependencies from requirements.txt.
- Run sr_gui_browse.py file.
Some examples are shown below :
- Example 1: Original image (Left), x2 Image (Center), x4 Image (Right)
- Example 2: Original image (Left), x2 Image (Center), x4 Image (Right)
- Example 3: Original image (Left), x2 Image (Center), x4 Image (Right)
- NOTE : The size of images shown above are not actual, they are resized to fit document. See SR_sample_images for the above images in actual size.
This project is licensed under the GPL v3.0 License - see the LICENSE.md file for details
- This was my project as an intern under Prof. A. V. Subramanyam.