Home

Awesome

4PP-EUSR

Four-pass perceptual super-resolution with enhanced upscaling

SRZoo

Introduction

This repository contains a TensorFlow-based implementation of 4PP-EUSR ("Deep learning-based image super-resolution considering quantitative and perceptual quality"), which considers both the quantitative (e.g., PSNR) and perceptual quality (e.g., NIQE) of the upscaled images. Our method won the 2nd place and got the highest human opinion score for Region 2 in the 2018 PIRM Challenge on Perceptual Image Super-resolution at ECCV 2018.

BSD100 - 37073 ※ The perceptual index is calculated by "0.5 * ((10 - Ma) + NIQE)", which is used in the PIRM Challenge. Lower is better.

Followings are the performance comparison evaluated on the BSD100 dataset.

BSD100 PSNR vs. NIQE

MethodPSNR (dB) (↓)Perceptual Index
EDSR27.7965.326
MDSR27.7715.424
EUSR27.6745.307
SRResNet-MSE27.6015.217
4PP-EUSR (PIRM Challenge)26.5692.683
SRResNet-VGG2226.3225.183
SRGAN-MSE25.9812.802
Bicubic interpolation25.9576.995
SRGAN-VGG2225.6972.631
SRGAN-VGG5425.1762.351
CX24.5812.250

Please cite following papers when you use the code, pre-trained models, or results:

@article{choi2018deep,
  title={Deep learning-based image super-resolution considering quantitative and perceptual quality},
  author={Choi, Jun-Ho and Kim, Jun-Hyuk and Cheon, Manri and Lee, Jong-Seok},
  journal={Neurocomputing},
  year={2019},
  publisher={Elsevier}
}
@inproceedings{kim2018deep,
  title={Deep residual network with enhanced upscaling module for super-resolution},
  author={Kim, Jun-Hyuk and Lee, Jong-Seok},
  booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR) Workshops},
  year={2018}
}

Dependencies

Testing pre-trained models

※ PIRM Challenge version is available on SRZoo.

Generating upscaled images from the trained models can be done by test/test.py. Following are the brief instructions.

  1. Download and copy the trained model available in Downloads section to the test/ folder.
  2. Place the low-resolution images (PNG only) to the test/LR/ folder.
  3. Run python test.py --model_name [model file name]. For example, if you downloaded the PIRM Challenge version of our pre-trained model, run python test.py --model_name 4pp_eusr_pirm.pb.
  4. The upscaled images will be available on the test/SR/ folder.

Please run python test.py --help for more information.

Training EUSR, score predictors, and 4PP-EUSR

Please refer to README.md on the train/ folder for more information.

Downloads

Pre-trained models:

Results (Set5, Set14, BSD100, PIRM):