This is the official implementation of 'Deep Constrained Least Squares for Blind Image Super-Resolution', CVPR 2022. [Paper]
[2022.04.22] 🎉🎉🎉 Our work BSRT won the 1st place in NTIRE 2022 BurstSR Challenge [Paper][Code].
[2022.03.09] We released the code and provided the pretrained model weights [here].
[2022.03.02] Our paper has been accepted by CVPR 2022.
- OS: Ubuntu 18.04
- nvidia :
- cuda: 10.1
- cudnn: 7.6.1
- python3
- pytorch >= 1.6
- Python packages: numpy opencv-python lmdb pyyaml
We use DIV2K and Flickr2K as our training datasets (totally 3450 images).
To transform datasets to binary files for efficient IO, run:
python3 codes/scripts/create_lmdb.py
For evaluation of Isotropic Gaussian kernels (Gaussian8), we use five datasets, i.e., Set5, Set14, Urban100, BSD100 and Manga109.
To generate LRblur/LR/HR/Bicubic datasets paths, run:
python3 codes/scripts/generate_mod_blur_LR_bic.py
For evaluation of Anisotropic Gaussian kernels, we use DIV2KRK.
(You need to modify the file paths by yourself.)
- The core algorithm is in
codes/config/DCLS
. - Please modify
codes/config/DCLS/options
to set path, iterations, and other parameters... - To train the model(s) in the paper, run below commands.
For single GPU:
cd codes/config/DCLS
python3 train.py -opt=options/setting1/train_setting1_x4.yml
For distributed training
cd codes/config/DCLS
python3 -m torch.distributed.launch --nproc_per_node=4 --master_poer=4321 train.py -opt=options/setting1/train_setting1_x4.yml --launcher pytorch
Or choose training options use
cd codes/config/DCLS
sh demo.sh
To evalute our method, please modify the benchmark path and model path and run
cd codes/config/DCLS
python3 test.py -opt=options/setting1/test_setting1_x4.yml
If our code helps your research or work, please consider citing our paper. The following is a BibTeX reference.
@inproceedings{luo2022deep,
title={Deep constrained least squares for blind image super-resolution},
author={Luo, Ziwei and Huang, Haibin and Yu, Lei and Li, Youwei and Fan, Haoqiang and Liu, Shuaicheng},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
pages={17642--17652},
year={2022}
}
email: [[email protected]]