This is a pytorch implementation of Learning Detail-Structure Alternative Optimization for Blind Super-Resolution. This repo is built on the basis of DAN, thanks for their open-sourcing!
- python3
- NVIDIA GPU + CUDA
- pytorch >= 1.7.1
- python packages: pip3 install numpy opencv-python lmdb pyyaml
Download the pretrained models and put them into checkpoints
folder. For different settings, you may still have to modify the options/test_setting.yml
.
python inference.py -input_dir=<your_input_dir> -output_dir=<your_output_dir>
There are two blind settings mentioned in our paper. For setting1, we synthesize the Gaussian8 datasets using scripts/generate_mod_blur_LR_bic.py
with five datasets: Set5, Set14, BSD100, Urban100, Manga109. Download the benchmark datasets and put them into datasets
folder like this (only put the ground-truth images)
datasets
|── Set5
|── Set14
|── ...
Then run the script generate_mod_blur_LR_bic.py
, and you will get folder like this
datasets
|── Set5
|── Set5G8
| |── LRblur
| |── HR
|── Set14
|── ...
For setting2, we using the benchmark dataset DIV2KRK from KernelGAN.
Modify the dataset path and test settings in options/test_setting.yml
and run the following command
python test.py -opt=options/test_setting.yml
Download the DIV2K and Flickr2K and merge it into one folder. Modify options/train_setting.yml
and run the following command
python train.py -opt=options/train_setting.yml
If you find this repo useful, please consider citing our work:
@ARTICLE{9721549,
author={Li, Feng and Wu, Yixuan and Bai, Huihui and Lin, Weisi and Cong, Runmin and Zhang, Chunjie and Zhao, Yao},
journal={IEEE Transactions on Multimedia},
title={Learning Detail-Structure Alternative Optimization for Blind Super-Resolution},
year={2022},
volume={},
number={},
pages={1-1},
doi={10.1109/TMM.2022.3152090}}