This repository is implementation of the "Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network".
- PyTorch 1.0.0
- Numpy 1.15.4
- Pillow 5.4.1
- h5py 2.8.0
- tqdm 4.30.0
The 91-image, Set5 dataset converted to HDF5 can be downloaded from the links below.
Dataset | Scale | Type | Link |
---|---|---|---|
91-image | 3 | Train | Download |
Set5 | 3 | 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 200 \
--num-workers 8 \
--seed 123
Pre-trained weights can be downloaded from the links below.
Model | Scale | Link |
---|---|---|
ESPCN (91) | 3 | Download |
The results are stored in the same path as the query image.
python test.py --weights-file "BLAH_BLAH/espcn_x3.pth" \
--image-file "data/butterfly_GT.bmp" \
--scale 3
PSNR was calculated on the Y channel.
Eval. Mat | Scale | Paper (91) | Ours (91) |
---|---|---|---|
PSNR | 3 | 32.55 | 32.88 |
Original | BICUBIC x3 | ESPCN x3 (23.84 dB) |
Original | BICUBIC x3 | ESPCN x3 (25.32 dB) |