Home

Awesome

Deep Cyclic Generative Adversarial Residual Convolutional Networks for Real Image Super-Resolution (SRResCycGAN)

An official PyTorch implementation of the SRResCycGAN network as described in the paper Deep Cyclic Generative Adversarial Residual Convolutional Networks for Real Image Super-Resolution. This work is participated in the AIM 2020 Real-Image Super-resolution challenge track-3 at the high x4 upscaling factor.

Abstract

Recent deep learning based single image super-resolution (SISR) methods mostly train their models in a clean data domain where the low-resolution (LR) and the high-resolution (HR) images come from noise-free settings (same domain) due to the bicubic down-sampling assumption. However, such degradation process is not available in real-world settings. We consider a deep cyclic network structure to maintain the domain consistency between the LR and HR data distributions, which is inspired by the recent success of CycleGAN in the image-to-image translation applications. We propose the Super-Resolution Residual Cyclic Generative Adversarial Network (SRResCycGAN) by training with a generative adversarial network (GAN) framework for the LR to HR domain translation in an end-to-end manner. We demonstrate our proposed approach in the quantitative and qualitative experiments that generalize well to the real image super-resolution and it is easy to deploy for the mobile/embedded devices. In addition, our SR results on the AIM 2020 Real Image SR Challenge datasets demonstrate that the proposed SR approach achieves comparable results as the other state-of-art methods.

Spotlight Video

Video

Pre-trained Models

DatasetsSRResCycGAN
NTIRE2020 RWSRSensor noise (σ = 8)
NTIRE2020 RWSRJPEG compression (quality=30)
NTIRE2020 RWSRUnknown corruptions
AIM2020 RISRReal image corruptions

BibTeX

@InProceedings{Umer_2020_ECCVW,
               author = {Muhammad Umer, Rao and Micheloni, Christian},
               title = {Deep Cyclic Generative Adversarial Residual Convolutional Networks for Real Image Super-Resolution},
               booktitle = {Proceedings of the European Conference on Computer Vision (ECCV) Workshops},
               month = {August},
               year = {2020}
              }

Quick Test

This model can be run on arbitrary images with a Docker image hosted on Replicate: https://beta.replicate.ai/RaoUmer/SRResCycGAN. Below are instructions for how to run the model without Docker:

Dependencies

Train models

Test models

  1. Clone this github repository as the following commands:
git clone https://github.com/RaoUmer/SRResCycGAN
cd SRResCycGAN
cd srrescycgan_code_demo
  1. Place your own low-resolution images in the ./srrescycgan_code_demo/LR folder. (There are two sample images i.e. LR_006 and LR_014).
  2. Download the pretrained models from Pre-trained Models section. Place the models in ./srrescycgan_code_demo/trained_nets_x4.
  3. Run the test. You can config in the test_srrescycgan.py.
python test_srrescgan.py
  1. The results are in the ./srrescycgan_code_demo/sr_results_x4 folder.

SRResCycGAN Architecture

Overall Representative diagram

<p align="center"> <img height="200" src="figs/srrescycgan.png"> </p>

Quantitative Results

The x4 SR quantitative results comparison of our method with others over the DIV2K validation-set (100 images). The best performance is shown in red and the second best performance is shown in blue.

<p align="center"> <img height="250" src="figs/res_quant_comparison.png"> </p>

The AIM2020 Real Image SR Challenge Results (x4)

<sub>Team</sub><sub>PSNR↑</sub><sub>SSIM↑</sub><sub>Weighed_score↑</sub>
<sub>Baidu</sub><sub>31.3960 </sub><sub>0.8751 </sub><sub>0.7099 (1)</sub>
<sub>ALONG</sub><sub>31.2369 </sub><sub>0.8742 </sub><sub>0.7076 (2)</sub>
<sub>CETC-CSKT</sub><sub>31.1226 </sub><sub>0.8744 </sub><sub>0.7066 (3)</sub>
<sub>SR-IM</sub><sub>31.2369 </sub><sub>0.8728 </sub><sub>0.7057 </sub>
<sub>DeepBlueAI</sub><sub>30.9638 </sub><sub>0.8737 </sub><sub>0.7044 </sub>
<sub>JNSR</sub><sub>30.9988 </sub><sub>0.8722 </sub><sub>0.7035</sub>
<sub>OPPO_CAMERA</sub><sub>30.8603 </sub><sub>0.8736 </sub><sub>0.7033</sub>
<sub>Kailos</sub><sub>30.8659 </sub><sub>0.8734 </sub><sub>0.7031</sub>
<sub>SR_DL</sub><sub>30.6045 </sub><sub>0.8660 </sub><sub>0.6944</sub>
<sub>Noah_TerminalVision</sub><sub>30.5870 </sub><sub>0.8662 </sub><sub>0.6944</sub>
<sub>Webbzhou</sub><sub>30.4174 </sub><sub>0.8673 </sub><sub>0.6936</sub>
<sub>TeamInception</sub><sub>30.3465 </sub><sub>0.8681 </sub><sub>0.6935</sub>
<sub>IyI</sub><sub>30.3191 </sub><sub>0.8655 </sub><sub>0.6911</sub>
<sub>MCML-Yonsei</sub><sub>30.4201 </sub><sub>0.8637 </sub><sub>0.6906</sub>
<sub>MoonCloud</sub><sub>30.2827 </sub><sub>0.8644 </sub><sub>0.6898</sub>
<sub>qwq</sub><sub>29.5878 </sub><sub>0.8547 </sub><sub>0.6748</sub>
<sub>SrDance </sub><sub>29.5952 </sub><sub>0.8523 </sub><sub>0.6729</sub>
<sub>MLP_SR (ours)</sub><sub>28.6185 </sub><sub>0.8314 </sub><sub>0.6457</sub>
<sub>EDSR</sub><sub>28.2120 </sub><sub>0.8240 </sub><sub>0.6356</sub>
<sub>RRDN_IITKGP</sub><sub>27.9708 </sub><sub>0.8085 </sub><sub>0.6201</sub>
<sub>congxiaofeng</sub><sub>26.3915 </sub><sub>0.8258 </sub><sub>0.6187</sub>

Visual Results

DIV2K Validation-set (100 images)

Here are the SR resutls comparison of our method on the DIV2K validation-set images.

<p align="center"> <img height="300" src="figs/div2k_res_val.png"> </p>

Real-Image SR Challenge dataset images (Track-3)

Validation-set

You can download all the SR resutls of our method on the AIM 2020 Real-Image SR validation-set from the Google Drive: SRResCycGAN.

<p align="center"> <img height="300" src="figs/res_rwsr_val1.png"> </p> <p align="center"> <img height="300" src="figs/res_rwsr_val2.png"> </p>

Test-set

You can download all the SR resutls of our method on the AIM 2020 Real-Image SR test-set from the Google Drive: SRResCycGAN.

<p align="center"> <img height="300" src="figs/res_rwsr_test1.png"> </p> <p align="center"> <img height="300" src="figs/res_rwsr_test2.png"> </p>