Alfred-tech-258 / FSRCNN-pytorch

PyTorch implementation of Accelerating the Super-Resolution Convolutional Neural Network (ECCV 2016)

Home Page:https://arxiv.org/abs/1608.00367

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FSRCNN

This repository is implementation of the "Accelerating the Super-Resolution Convolutional Neural Network".

Differences from the original

  • Added the zero-padding
  • Used the Adam instead of the SGD

Requirements

  • PyTorch 1.0.0
  • Numpy 1.15.4
  • Pillow 5.4.1
  • h5py 2.8.0
  • tqdm 4.30.0

Train

The 91-image, Set5 dataset converted to HDF5 can be downloaded from the links below.

Dataset Scale Type Link
91-image 2 Train Download
91-image 3 Train Download
91-image 4 Train Download
Set5 2 Eval Download
Set5 3 Eval Download
Set5 4 Eval Download

Otherwise, you can use prepare.py to create custom dataset.

python train.py --train-file "BLAH_BLAH/91-image_x3.h5" \
                --eval-file "BLAH_BLAH/Set5_x3.h5" \
                --outputs-dir "BLAH_BLAH/outputs" \
                --scale 3 \
                --lr 1e-3 \
                --batch-size 16 \
                --num-epochs 20 \
                --num-workers 8 \
                --seed 123                

Test

Pre-trained weights can be downloaded from the links below.

Model Scale Link
FSRCNN(56,12,4) 2 Download
FSRCNN(56,12,4) 3 Download
FSRCNN(56,12,4) 4 Download

The results are stored in the same path as the query image.

python test.py --weights-file "BLAH_BLAH/fsrcnn_x3.pth" \
               --image-file "data/butterfly_GT.bmp" \
               --scale 3

Results

PSNR was calculated on the Y channel.

Set5

Eval. Mat Scale Paper Ours (91-image)
PSNR 2 36.94 37.12
PSNR 3 33.06 33.22
PSNR 4 30.55 30.50
Original BICUBIC x3 FSRCNN x3 (34.66 dB)
Original BICUBIC x3 FSRCNN x3 (28.55 dB)

About

PyTorch implementation of Accelerating the Super-Resolution Convolutional Neural Network (ECCV 2016)

https://arxiv.org/abs/1608.00367


Languages

Language:Python 100.0%