Lightweight Image Super-Resolution with Information Multi-distillation Network (ACM MM 2019)
- Nov 26, 2021. Add IMDN_RTC tflite model.
The IMDN+ got the Second Runner-up at NTIRE 2022 Efficient SR Challenge (Sub-Track2 - Overall Performance Track).
IMDB+ |
structural re-parameterization |
number of parameters | 275,844 |
---|---|
FLOPs | 17.9848G (input size: 3256256) |
GPU memory consumption | 2893M (DIV2K test) |
number of activations | 92.7990M (input size: 3256256) |
runtime | 0.026783s (RTX 2080Ti, DIV2K test) |
Metrics | Set5 | Set14 | B100 | Urban100 | Manga109 |
---|---|---|---|---|---|
PSNR | 32.11 | 28.63 | 27.58 | 26.10 | 30.55 |
SSIM | 0.8934 | 0.7823 | 0.7358 | 0.7846 | 0.9072 |
The simplified version of IMDN won the first place at Contrained Super-Resolution Challenge (Track1 & Track2). The test code is available at Google Drive
The ultra lightweight version of IMDN won the first place at Super Resolution Algorithm Performance Comparison Challenge. (
Line 79 in 53f1dac
Degradation type: Bicubic
input_shape = (1, 720, 480, 3), AI Benchmark(OPPO Find X3-Qualcomm Snapdragon 870, FP16, TFLite GPU Delegate)
The down-up version of IMDN won the second place at Super Resolution Algorithm Performance Comparison Challenge. (
Line 98 in 53f1dac
Degradation type: Downsampling + noise
-
Our information multi-distillation block (IMDB) with contrast-aware attention (CCA) layer.
-
The adaptive cropping strategy (ACS) to achieve the processing images of any arbitrary size (implementing any upscaling factors using one model).
-
The exploration of factors affecting actual inference time.
Pytorch 1.1
- Runing testing:
# Set5 x2 IMDN
python test_IMDN.py --test_hr_folder Test_Datasets/Set5/ --test_lr_folder Test_Datasets/Set5_LR/x2/ --output_folder results/Set5/x2 --checkpoint checkpoints/IMDN_x2.pth --upscale_factor 2
# RealSR IMDN_AS
python test_IMDN_AS.py --test_hr_folder Test_Datasets/RealSR/ValidationGT --test_lr_folder Test_Datasets/RealSR/ValidationLR/ --output_folder results/RealSR --checkpoint checkpoints/IMDN_AS.pth
- Calculating IMDN_RTC's FLOPs and parameters, input size is 240*360
python calc_FLOPs.py
- Download Training dataset DIV2K
- Convert png file to npy file
python scripts/png2npy.py --pathFrom /path/to/DIV2K/ --pathTo /path/to/DIV2K_decoded/
- Run training x2, x3, x4 model
python train_IMDN.py --root /path/to/DIV2K_decoded/ --scale 2 --pretrained checkpoints/IMDN_x2.pth
python train_IMDN.py --root /path/to/DIV2K_decoded/ --scale 3 --pretrained checkpoints/IMDN_x3.pth
python train_IMDN.py --root /path/to/DIV2K_decoded/ --scale 4 --pretrained checkpoints/IMDN_x4.pth
百度网盘提取码: 8yqj or Google drive
The following PSNR/SSIMs are evaluated on Matlab R2017a and the code can be referred to Evaluate_PSNR_SSIM.m.
Pressure test for ×4 SR model.
*Note: Using torch.cuda.Event() to record inference times.
Average PSNR/SSIM on datasets Set5, Set14, BSD100, Urban100, and Manga109.
Memory Consumption (MB) and average inference time (second).
Trade-off between performance and number of parameters on Set5 ×4 dataset.
Trade-off between performance and running time on Set5 ×4 dataset. VDSR, DRCN, and LapSRN were implemented by MatConvNet, while DRRN, and IDN employed Caffe package. The rest EDSR-baseline, CARN, and our IMDN utilized PyTorch.
The diagrammatic sketch of adaptive cropping strategy (ACS). The cropped image patches in the green dotted boxes.
Visualization of output feature maps of the 6-th progressive refinement module (PRM).
If you find IMDN useful in your research, please consider citing:
@inproceedings{Hui-IMDN-2019,
title={Lightweight Image Super-Resolution with Information Multi-distillation Network},
author={Hui, Zheng and Gao, Xinbo and Yang, Yunchu and Wang, Xiumei},
booktitle={Proceedings of the 27th ACM International Conference on Multimedia (ACM MM)},
pages={2024--2032},
year={2019}
}
@inproceedings{AIM19constrainedSR,
title={AIM 2019 Challenge on Constrained Super-Resolution: Methods and Results},
author={Kai Zhang and Shuhang Gu and Radu Timofte and others},
booktitle={The IEEE International Conference on Computer Vision (ICCV) Workshops},
year={2019}
}