2017-03-01 17:16:44 -08:00
2017-03-01 17:16:44 -08:00
2017-03-01 17:16:44 -08:00
2017-03-01 17:16:44 -08:00
2017-03-01 17:16:44 -08:00
2017-03-01 17:16:44 -08:00
2017-03-01 17:16:44 -08:00
2017-03-01 17:16:44 -08:00
2017-03-01 17:16:44 -08:00
2017-03-01 17:16:44 -08:00

FSRCNN-Tensorflow

TensorFlow implementation of the Fast Super-Resolution Convolutional Neural Network (FSRCNN). This implements two models, FSRCNN which is more accurate and FSRCNN-s which is faster (approaches real-time performance). Based on this project.

Prerequisites

  • TensorFlow
  • Scipy version > 0.18 ('mode' option from scipy.misc.imread function)
  • h5py
  • PIL

Usage

For training , python main.py Can specify epochs, learning rate, python main.py --epochs 10
For testing, python main.py --is_train False

To use FSCRNN-s over FSCRNN , python main.py --fast True

Includes script expand_data.py which scales and rotates all the images in your training set to expand your dataset just like in the paper python expand_data.py Train

Result

After training 15,000 epochs, I got similar super-resolved image to reference paper. Training time takes 12 hours 16 minutes and 1.41 seconds. My desktop performance is Intel I7-6700 CPU, GTX970, and 16GB RAM. Result images are shown below.

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

References

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