This project incorporates a supervised super-resolution scheme by having the process of super-resolving the image to a slightly lesser resoltion. This approach allows the model to learn necessary features at each scale of resolution.This work is highly inspired by Yifan Wang et-al who followed a simillar progressive super-resolution approach.
This repository contains the pytorch implementation of a sequential super resolution algorithm.The architecture and implementation detail are present in the report in the repository
The architecture is a progressive upsampler which uses a Desely connected Convolutional Neural network as a feature extractor between intermediate steps. DCN in the figure stands for Desely connected Convolutional Neural network. The model is initialised from scratch.
Architecture of the CNN used
The only data that you need to provide for the training are the high resolution images. Make sure they are in '.png' format. To kick start the training and generate the checkpoint run the following command.
$python3 tain.py
Place your low resolution images to be upscaled into the valid folder and expect the reults in the folders 'result2', 'result4' and 'result8'. Feel free to use our checkpoint and in that case replace the 'Checkpoint' diirectory with the aforementioned file.
$python3 test.py
Copy the entire high res training dataset in png format in a folder called data in the working directory Copy the low res image to be upscaled in the valid directory in the workspace