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.
- Python 2.7
- TensorFlow
- Numpy
- Scipy version > 0.18
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.
Original butterfly image:
Bicubic interpolated image:
Super-resolved image: