/efficient-image-super-resolution-pytorch

PyTorch implementation of efficient image super-resolution models, e.g. SRCNN, ESPCN, FSRCNN, DRCN, VDSR, DRRN, EDSR, LapSRN, IDN, CARN etc.

Primary LanguagePython

Introduction

PyTorch implementation of efficient image super-resolution models.

Requirements

torch == 1.8.1
torchmetrics
loguru
tqdm

Supported models

How to use

DDP training (recommend)

CUDA_VISIBLE_DEVICES=0,1,2,3 python -m torch.distributed.launch --nproc_per_node=4 main.py

DP training

CUDA_VISIBLE_DEVICES=0,1,2,3 python main.py

Performances and checkpoints

Model Year Train on1 Set5 Set14 BSD100
2x PSNR (paper/my) SSIM PSNR SSIM PSNR SSIM
CARN 2018 T+B+D 37.76/37.90 0.9590/0.9605 33.52/33.14 0.9166/0.9152 32.09/32.06 0.8978/0.8985
DRCN 2015 T 37.63/37.85 0.9588/0.9604 33.04/33.22 0.9118/0.916 31.85/32.05 0.8942/0.8982
DRRN 2017 T+B 37.74/37.76 0.9591/0.9599 33.23/33.14 0.9136/0.9149 32.05/31.99 0.8973/0.8974
EDSR 2017 D 37.99/37.90 0.9604/0.9606 33.57/33.22 0.9175/0.9163 32.16/32.10 0.8994/0.899
ESPCN 2016 I+T n.a./36.85 n.a./0.9559 n.a./32.31 n.a./0.9087 n.a./31.40 n.a./0.8897
FSRCNN 2016 T+G 37.00/37.27 0.9558/0.958 32.63/32.65 0.9088/0.9115 31.53/31.67 0.8920/0.8934
IDN 2018 T+B 37.83/37.84 0.96/0.9604 33.30/33.12 0.9148/0.9155 32.08/32.06 0.8985/0.8985
LapSRN 2017 T+B 37.52/37.59 0.9591/0.9592 32.99/32.96 0.9124/0.9138 31.80/31.89 0.8952/0.8961
SRCNN 2014 I+T 36.66/36.88 0.9542/0.9561 32.45/32.42 0.9067/0.9092 31.36/31.50 0.8879/0.8907
SRDenseNet 2017 I n.a./37.67 n.a./0.9596 n.a./33.05 n.a./0.9142 n.a./31.93 n.a./0.8967
VDSR 2015 T+B 37.53/37.74 0.9587/0.9598 33.03/33.06 0.9124/0.9145 31.90/31.97 0.8960/0.8973

[1 Original training dataset, which are short for B (BSD200), D (DIV2K), G (General100), I (ImageNet), T (T91). In my experiments, the training dataset is T + G + B.]

Prepare the dataset

/train
    /T91
    /General100
    /BSD200
/val
    /Set5
    /Set14
    /BSD100

References

Footnotes

  1. Fast, Accurate, and Lightweight Super-Resolution with Cascading Residual Network

  2. Deeply-Recursive Convolutional Network for Image Super-Resolution

  3. Image Super-Resolution via Deep Recursive Residual Network

  4. Enhanced Deep Residual Networks for Single Image Super-Resolution

  5. Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network

  6. Accelerating the Super-Resolution Convolutional Neural Network

  7. Fast and Accurate Single Image Super-Resolution via Information Distillation Network

  8. Deep Laplacian Pyramid Networks for Fast and Accurate Super-Resolution

  9. Image Super-Resolution Using Deep Convolutional Networks

  10. Image Super-Resolution Using Dense Skip Connections

  11. Accurate Image Super-Resolution Using Very Deep Convolutional Networks