IMDN
Lightweight Image Super-Resolution with Information Multi-distillation Network (ACM MM 2019)
✨ News
- Nov 26, 2021. Add IMDN_RTC tflite model.
CVPR 2022 Workshop NTIRE report
The IMDN+ got the Second Runner-up at NTIRE 2022 Efficient SR Challenge (Sub-Track2 - Overall Performance Track).
IMDB+ |
structural re-parameterization |
Model complexity
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) |
PSNR / SSIM (Y channel) on 5 benchmark datasets.
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 |
ICCV 2019 Workshop AIM report
The simplified version of IMDN won the first place at Contrained Super-Resolution Challenge (Track1 & Track2). The test code is available at Google Drive
AI in RTC 2019-rainbow
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)
AI in RTE 2020-rainbow
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
Hightlights
-
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.
Testing
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
Training
- 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
Results
百度网盘提取码: 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
Pressure test for ×4 SR model.
*Note: Using torch.cuda.Event() to record inference times.
PSNR & SSIM
Average PSNR/SSIM on datasets Set5, Set14, BSD100, Urban100, and Manga109.
Memory consumption
Memory Consumption (MB) and average inference time (second).
Model parameters
Trade-off between performance and number of parameters on Set5 ×4 dataset.
Running time
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.
Adaptive Cropping
The diagrammatic sketch of adaptive cropping strategy (ACS). The cropped image patches in the green dotted boxes.
Visualization of feature maps
Visualization of output feature maps of the 6-th progressive refinement module (PRM).
Citation
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}
}