Skip to content

(CVPR2021) ClassSR: A General Framework to Accelerate Super-Resolution Networks by Data Characteristic

Notifications You must be signed in to change notification settings

Whitemillet/ClassSR

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ClassSR

(CVPR2021) ClassSR: A General Framework to Accelerate Super-Resolution Networks by Data Characteristic

Paper

Authors: Xiangtao Kong, Hengyuan Zhao, Yu Qiao, Chao Dong

Demo Image

Dependencies

Codes

  • Our codes version based on BasicSR.

How to test a single branch

  1. Clone this github repo.
git clone https://github.com/Xiangtaokong/ClassSR.git
cd ClassSR
  1. Download the testing datasets (DIV2K_valid).

  2. Download the divide_val.log and move it to .codes/data_scripts/.

  3. Generate simple, medium, hard (class1, class2, class3) validation data.

cd codes/data_scripts
python extract_subimages_test.py
python divide_subimages_test.py
  1. Download pretrained models and move them to ./experiments/pretrained_models/ folder.

  2. Run testing for a single branch.

cd codes
python test.py -opt options/test/test_FSRCNN.yml
python test.py -opt options/test/test_CARN.yml
python test.py -opt options/test/test_SRResNet.yml
python test.py -opt options/test/test_RCAN.yml
  1. The output results will be sorted in ./results.

How to test ClassSR

  1. Clone this github repo.
git clone https://github.com/Xiangtaokong/ClassSR.git
cd ClassSR
  1. Download the testing datasets (DIV8K). Test8K contains the images (index 1401-1500) from DIV8K. Test2K/4K contain the images (index 1201-1300/1301-1400) from DIV8K which are downsampled to 2K and 4K resolution.

  2. Download pretrained models and move them to ./experiments/pretrained_models/ folder.

  3. Run testing for ClassSR.

cd codes
python test_ClassSR.py -opt options/test/test_ClassSR_FSRCNN.yml
python test_ClassSR.py -opt options/test/test_ClassSR_CARN.yml
python test_ClassSR.py -opt options/test/test_ClassSR_SRResNet.yml
python test_ClassSR.py -opt options/test/test_ClassSR_RCAN.yml
  1. The output results will be sorted in ./results.

How to train a single branch

  1. Clone this github repo.
git clone https://github.com/Xiangtaokong/ClassSR.git
cd ClassSR
  1. Download the training datasets(DIV2K) and validation dataset(Set5).

  2. Download the divide_train.log and move it to .codes/data_scripts/.

  3. Generate simple, medium, hard (class1, class2, class3) training data.

cd codes/data_scripts
python data_augmentation.py
python generate_mod_LR_bic.py
python extract_subimages_train.py
python divide_subimages_train.py
  1. Run training for a single branch (default branch1, the simplest branch).
cd codes
python train.py -opt options/train/train_FSRCNN.yml
python train.py -opt options/train/train_CARN.yml
python train.py -opt options/train/train_SRResNet.yml
python train.py -opt options/train/train_RCAN.yml
  1. The experiments will be sorted in ./experiments.

How to train ClassSR

  1. Clone this github repo.
git clone https://github.com/Xiangtaokong/ClassSR.git
cd ClassSR
  1. Download the training datasets (DIV2K) and validation dataset(DIV2K_valid, index 801-810).

  2. Generate training data (the all data(1.59M) in paper).

cd codes/data_scripts
python data_augmentation.py
python generate_mod_LR_bic.py
python extract_subimages_train.py
  1. Download pretrained models(pretrained branches) and move them to ./experiments/pretrained_models/ folder.

  2. Run training for ClassSR.

cd codes
python train_ClassSR.py -opt options/train/train_ClassSR_FSRCNN.yml
python train_ClassSR.py -opt options/train/train_ClassSR_CARN.yml
python train_ClassSR.py -opt options/train/train_ClassSR_SRResNet.yml
python train_ClassSR.py -opt options/train/train_ClassSR_RCAN.yml
  1. The experiments will be sorted in ./experiments.

How to generate demo images

Generate demo images like this one:

Demo Image

Change the 'add_mask: False' to True in test_ClassSR_xxx.yml and run testing for ClassSR.

Citation

@misc{kong2021classsr,
      title={ClassSR: A General Framework to Accelerate Super-Resolution Networks by Data Characteristic}, 
      author={Xiangtao Kong and Hengyuan Zhao and Yu Qiao and Chao Dong},
      year={2021},
      eprint={2103.04039},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

Contact

Email: [email protected]

About

(CVPR2021) ClassSR: A General Framework to Accelerate Super-Resolution Networks by Data Characteristic

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 95.3%
  • MATLAB 4.7%