DASR
Pytorch implementation of "Unsupervised Degradation Representation Learning for Blind Super-Resolution", CVPR 2021
Overview
Requirements
- Python 3.6
- PyTorch == 1.1.0
- numpy
- skimage
- imageio
- matplotlib
- cv2
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
Comparative Results
Noise-Free Degradations with Isotropic Gaussian Kernels
General Degradations with Anisotropic Gaussian Kernels and Noises
Unseen Degradations
Real Degradations (AIM real-world SR challenge)
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.