/ARM-Net

Pytorch implementation of our paper accepted by ECCV 2022 -- ARM: Any-Time Super-Resolution Method (https://arxiv.org/abs/2203.10812)

Primary LanguagePython

ARM: Any-Time Super-Resolution Method (Paper Link)

Pytorch implementation of ARM-Net in ECCV 2022.

Dependencies

  • Python 3.6
  • Pytorch 1.7

Results

compare

Run the command python img/plot_psnr_flops.py to get the above figure.

tab1

tab2

Train

Data preprocessing

cd data_scripts
python extract_subimages_test.py
python data_augmentation.py
python generate_mod_LR_bic.py
python extract_subimages_train.py

Modify the configuration file (options/*.yml)

# train_us_fsrcnn.yml
is_train: True

# train_us_carn.yml
is_train: True

# train_us_srresnet.yml
is_train: True

Run training scripts

python main.py -opt options/train_us_fsrcnn.yml
python main.py -opt options/train_us_carn.yml
python main.py -opt options/train_us_srresnet.yml

Test

Modify the configuration file (options/*.yml)

# train_us_fsrcnn.yml
path:
  pretrain_model_G: ckpt/arm-fsrcnn.pth
  resume_state: ckpt/arm-fsrcnn.state
is_train: False
is_test: True

# train_us_carn.yml
path:
  pretrain_model_G: ckpt/arm-carn.pth
  resume_state: ckpt/arm-carn.state
is_train: False
is_test: True

# train_us_srresnet.yml
path:
  pretrain_model_G: ckpt/arm-srresnet.pth
  resume_state: ckpt/arm-srresnet.state
is_train: False
is_test: True

Run test scripts

python main.py -opt options/train_us_fsrcnn.yml
python main.py -opt options/train_us_carn.yml
python main.py -opt options/train_us_srresnet.yml