Home

Awesome

DASR

Pytorch implementation of "Unsupervised Degradation Representation Learning for Blind Super-Resolution", CVPR 2021

[arXiv] [CVF] [Supp]

Overview

<p align="center"> <img src="Figs/fig.1.png" width="50%"> </p> <p align="center"> <img src="Figs/fig.2.png" width="100%"> </p>

Requirements

Train

1. Prepare training data

1.1 Download the DIV2K dataset and the Flickr2K dataset.

1.2 Combine the HR images from these two datasets in your_data_path/DF2K/HR to build the DF2K dataset.

2. Begin to train

Run ./main.sh to train on the DF2K dataset. Please update dir_data in the bash file as your_data_path.

Test

1. Prepare test data

Download benchmark datasets (e.g., Set5, Set14 and other test sets) and prepare HR/LR images in your_data_path/benchmark.

2. Begin to test

Run ./test.sh to test on benchmark datasets. Please update dir_data in the bash file as your_data_path.

Quick Test on An LR Image

Run ./quick_test.sh to test on an LR image. Please update img_dir in the bash file as your_img_path.

Visualization of Degradation Representations

<p align="center"> <img src="Figs/fig.6.png" width="50%"> </p>

Comparative Results

Noise-Free Degradations with Isotropic Gaussian Kernels

<p align="center"> <img src="Figs/tab2.png" width="100%"> </p> <p align="center"> <img src="Figs/fig.5.png" width="100%"> </p>

General Degradations with Anisotropic Gaussian Kernels and Noises

<p align="center"> <img src="Figs/tab3.png" width="100%"> </p> <p align="center"> <img src="Figs/fig.7.png" width="100%"> </p>

Unseen Degradations

<p align="center"> <img src="Figs/fig.III.png" width="50%"> </p>

Real Degradations (AIM real-world SR challenge)

<p align="center"> <img src="Figs/fig.VII.png" width="50%"> </p>

Citation

@InProceedings{Wang2021Unsupervised,
  author    = {Wang, Longguang and Wang, Yingqian and Dong, Xiaoyu and Xu, Qingyu and Yang, Jungang and An, Wei and Guo, Yulan},
  title     = {Unsupervised Degradation Representation Learning for Blind Super-Resolution},
  booktitle = {CVPR},
  year      = {2021},
}

Acknowledgements

This code is built on EDSR (PyTorch), IKC and MoCo. We thank the authors for sharing the codes.