ESPCN_paddle

July 11, 2023 · View on GitHub

This repository is implementation of the "Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network".

参考:https://github.com/yjn870/ESPCN-pytorch

Requirements

  • paddlepaddle 2.4.0
  • paddleseg 2.8.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.

DatasetScaleTypeLink
91-image3TrainDownload
Set53EvalDownload

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 50 \
                --num-workers 0 \
                --seed 123                

Test

Pre-trained weights can be found in BLAH_BLAH/outputs.

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

python test.py --weights-file "BLAH_BLAH/outputs/x3/best.pdiparams" \
               --image-file "data/butterfly_GT.bmp" \
               --scale 3

Results

PSNR was calculated on the Y channel.

Set5

Eval. MatScalePaper
PSNR333.06
Original
BICUBIC x3
ESPCN x3 (23.84 dB)
Original
BICUBIC x3
ESPCN x3 (25.32 dB)