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. Due to instabilities during training, I was only able to train SRGAN for X2 scaling.
-
RCAN - Residual Channel Attention Network - A state-of-the-art deep learning model for single image super-resolution described in this paper. RCAN leverages residual blocks and channel attention mechanisms to effectively enhance high-frequency details and achieve superior performance in high-scale image upscaling tasks. It demonstrates remarkable results, especially for higher scaling factors such as X4 and X8.
-
ESRGAN - Enhanced Super-Resolution Generative Adversarial Network - An improved version of SRGAN, described in this paper. ESRGAN introduces several improvements, including the Residual-in-Residual Dense Block (RRDB) and the use of the Relativistic GAN for more realistic image generation. It significantly improves perceptual quality while maintaining high fidelity and is widely used for X4 scaling and other challenging super-resolution tasks.
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.
This project is licensed under the MIT License. See the LICENSE file for more information.