This repository contains implementations, training routines, and evaluation scripts for various Single Image Super-Resolution (SISR) models.
All experiments are conducted using the DIV2K dataset.
-
Baseline - Bicubic Interpolation - Serves as a simple, traditional baseline to compare deep learning-based super-resolution models.
-
FSRCNN - Fast Super-Resolution Convolutional Neural Network - An enhanced version of SRCNN described in this paper. FSRCNN achieves better performance than bicubic interpolation while being faster and more efficient.
-
SRGAN - Super-Resolution Generative Adversarial Network - Described in this paper. This model also includes SRResNet, which is used as the generator in SRGAN but was previously state-of-the-art in PSNR-focused super-resolution tasks
-
EDSR - Enhanced Deep Super-Resolution Network - Based on paper, EDSR modifies SRResNet by removing batch normalization layers, which were found to degrade performance in super-resolution tasks. It also increases model capacity, with ~43M parameters compared to SRResNet’s ~1.5M.
-
RCAN - TODO
This repository also includes a lightweight terminal interface that allows users to interactively:
- Choose a trained super-resolution model
- Select the upscaling factor (e.g., ×2, ×4, ×8)
- Provide a path to an input image
- Run the model and see where the output is saved
python main.py
Note: This command should be executed from within the SR_app directory.
The upscaled output image will be saved in the output folder inside the same directory.
TODO
This project is licensed under the MIT License. See the LICENSE file for more information.