Skip to content

Latest commit

 

History

History
94 lines (64 loc) · 7.16 KB

README.md

File metadata and controls

94 lines (64 loc) · 7.16 KB

RDN (CVPR'2018)

Residual Dense Network for Image Super-Resolution

Task: Image Super-Resolution

Abstract

A very deep convolutional neural network (CNN) has recently achieved great success for image super-resolution (SR) and offered hierarchical features as well. However, most deep CNN based SR models do not make full use of the hierarchical features from the original low-resolution (LR) images, thereby achieving relatively-low performance. In this paper, we propose a novel residual dense network (RDN) to address this problem in image SR. We fully exploit the hierarchical features from all the convolutional layers. Specifically, we propose residual dense block (RDB) to extract abundant local features via dense connected convolutional layers. RDB further allows direct connections from the state of preceding RDB to all the layers of current RDB, leading to a contiguous memory (CM) mechanism. Local feature fusion in RDB is then used to adaptively learn more effective features from preceding and current local features and stabilizes the training of wider network. After fully obtaining dense local features, we use global feature fusion to jointly and adaptively learn global hierarchical features in a holistic way. Extensive experiments on benchmark datasets with different degradation models show that our RDN achieves favorable performance against state-of-the-art methods.

Results and models

Evaluated on RGB channels, scale pixels in each border are cropped before evaluation. The metrics are PSNR and SSIM .

Model Dataset PSNR SSIM Training Resources Download
rdn_x4c64b16_g1_1000k_div2k Set5 30.4922 0.8548 1 (TITAN Xp) model | log
rdn_x4c64b16_g1_1000k_div2k Set14 26.9570 0.7423 1 (TITAN Xp) model | log
rdn_x4c64b16_g1_1000k_div2k DIV2K 29.1925 0.8233 1 (TITAN Xp) model | log
rdn_x3c64b16_g1_1000k_div2k Set5 32.6051 0.8943 1 (TITAN Xp) model | log
rdn_x3c64b16_g1_1000k_div2k Set14 28.6338 0.8077 1 (TITAN Xp) model | log
rdn_x3c64b16_g1_1000k_div2k DIV2K 31.2153 0.8763 1 (TITAN Xp) model | log
rdn_x2c64b16_g1_1000k_div2k Set5 35.9883 0.9385 1 (TITAN Xp) model | log
rdn_x2c64b16_g1_1000k_div2k Set14 31.8366 0.8920 1 (TITAN Xp) model | log
rdn_x2c64b16_g1_1000k_div2k DIV2K 34.9392 0.9380 1 (TITAN Xp) model | log

Quick Start

Train

Train Instructions

You can use the following commands to train a model with cpu or single/multiple GPUs.

# cpu train
CUDA_VISIBLE_DEVICES=-1 python tools/train.py configs/rdn/rdn_x4c64b16_1xb16-1000k_div2k.py

# single-gpu train
python tools/train.py configs/rdn/rdn_x4c64b16_1xb16-1000k_div2k.py

# multi-gpu train
./tools/dist_train.sh configs/rdn/rdn_x4c64b16_1xb16-1000k_div2k.py 8

For more details, you can refer to Train a model part in train_test.md.

Test

Test Instructions

You can use the following commands to test a model with cpu or single/multiple GPUs.

# cpu test
CUDA_VISIBLE_DEVICES=-1 python tools/test.py configs/rdn/rdn_x4c64b16_1xb16-1000k_div2k.py https://download.openmmlab.com/mmediting/restorers/rdn/rdn_x4c64b16_g1_1000k_div2k_20210419-3577d44f.pth

# single-gpu test
python tools/test.py configs/rdn/rdn_x4c64b16_1xb16-1000k_div2k.py https://download.openmmlab.com/mmediting/restorers/rdn/rdn_x4c64b16_g1_1000k_div2k_20210419-3577d44f.pth

# multi-gpu test
./tools/dist_test.sh configs/rdn/rdn_x4c64b16_1xb16-1000k_div2k.py https://download.openmmlab.com/mmediting/restorers/rdn/rdn_x4c64b16_g1_1000k_div2k_20210419-3577d44f.pth 8

For more details, you can refer to Test a pre-trained model part in train_test.md.

Citation

@inproceedings{zhang2018residual,
  title={Residual dense network for image super-resolution},
  author={Zhang, Yulun and Tian, Yapeng and Kong, Yu and Zhong, Bineng and Fu, Yun},
  booktitle={Proceedings of the IEEE conference on computer vision and pattern recognition},
  pages={2472--2481},
  year={2018}
}