This 2-week course project got more visitors than we expected.
Although we have since moved on to other things, with no intention to
improve this work, we felt obliged to list some useful resources here
for whoever stumbles on this page:
Convolutional Neural Networks for Single Image Super-Resolution
We have implemented SRCNN, FSRCNN and ESPCN in Keras with TensorFlow backend. The network architectures are implemented in models.py and layers.py. Our results are described in our final report. The experiments data
used to get our results are also provided. To reduce the file size,
weights files at each epoch are not included in the data file. But the
final model file is included and there are enough data to reproduce all
the plots in our final report.
Installation
A Python package toolbox is developed to facilitate our
experiments. You need to install it to reproduce our experiments. If the
dependencies as defined in env-gpu.yml or env-cpu.yml are already satisfied, simply do
pip install -e .
to install the package. Otherwise you can create a conda environment srcnn for all the dependencies by
conda env create -f install/env-gpu.yml
or
conda env create -f install/env-cpu.yml
We have also provided scripts to make it easy to set up an environment on a vanilla Ubuntu machine. Simply do