/SRCNN-Tensorflow

Image Super-Resolution Using Deep Convolutional Networks in Tensorflow https://arxiv.org/abs/1501.00092v3

Primary LanguagePythonMIT LicenseMIT

SRCNN-Tensorflow

Tensorflow implementation of Convolutional Neural Networks for super-resolution. The original Matlab and Caffe from official website can be found here.

Prerequisites

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

This code requires Tensorflow. Also scipy is used instead of Matlab or OpenCV. Especially, installing OpenCV at Linux is sort of complicated. So, with reproducing this paper, I used scipy instead. For more imformation about scipy, click here.

Usage

For training, python main.py
For testing, python main.py --is_train False --stride 21

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