Skip to content

An implementation of the Efficient Sub-Pixel Convolutional Neural Network in TensorFlow

Notifications You must be signed in to change notification settings

zwq1230/ESPCN-TensorFlow

 
 

Repository files navigation

ESPCN-TensorFlow

TensorFlow implementation of the Efficient Sub-Pixel Convolutional Neural Network in TensorFlow (ESPCN). Network based on this paper and code adapted from this repo.
This network can achieve the real-time performance of the FSRCNN while also surpassing the quality of the SRCNN.

Prerequisites

  • Python 2.7
  • TensorFlow
  • Numpy
  • Scipy version > 0.18

Usage

Run prepare_data.py to format the training and validation data before training each new model
For training: python train.py
Can specify epochs, learning rate, batch size etc:
python train.py --epochs 10 --learning_rate 0.0001 --batch_size 32

For generating: python generate.py
Must specify checkpoint, low-resolution image, and output path
python generate.py --checkpoint logdir_2x/train --lr_image images/butterfly_GT.png --out_path result/butterfly_HR

Check params.json for parameter values and to change the upscaling ratio (2x, 3x, ...) the model is operating on.

Result

Original butterfly image:
orig
Bicubic interpolated image:
bicubic
Super-resolved image:
espcn

References

About

An implementation of the Efficient Sub-Pixel Convolutional Neural Network in TensorFlow

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.1%
  • Shell 1.9%