2017-07-23 15:32:28 +03:00
2017-07-23 15:32:28 +03:00
2017-03-01 17:16:44 -08:00
2017-07-23 15:32:28 +03:00
2017-07-23 15:32:28 +03:00
2017-07-23 15:32:28 +03:00
2017-03-01 17:16:44 -08:00
2017-07-23 15:32:28 +03:00
2017-07-23 15:32:28 +03:00
2017-07-23 15:32:28 +03:00
2017-07-23 15:32:28 +03:00

FSRCNN-TensorFlow

TensorFlow implementation of the Fast Super-Resolution Convolutional Neural Network (FSRCNN). This implements two models: FSRCNN which is more accurate but slower and FSRCNN-s which is faster but less accurate. Based on this project.

Prerequisites

  • Python 3
  • TensorFlow-gpu >= 1.3
  • CUDA & cuDNN >= 6.0
  • h5py
  • Pillow

Usage

For training: python main.py
For testing: python main.py --train False

To use FSCRNN-s instead of FSCRNN: python main.py --fast True

Can specify epochs, learning rate, data directory, etc:
python main.py --epoch 100 --learning_rate 0.0002 --data_dir Train
Check main.py for all the possible flags

Also includes script expand_data.py which scales and rotates all the images in the specified training set to expand it

Result

Original butterfly image:

orig

Ewa_lanczos interpolated image:

ewa_lanczos

Super-resolved image:

fsrcnn

Additional datasets

TODO

  • Add RGB support (Increase each layer depth to 3)
  • Speed up pre-processing for large datasets

References

Description
An implementation of the Fast Super-Resolution Convolutional Neural Network in TensorFlow
Readme GPL-3.0 47 MiB
Languages
Python 100%