Awesome
Update on 2018-10-07
Just find that fast.ai now has a fantastic lecture on super resolution. Check it out!
Update on 2018-03-30
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:
- huangzehao/Super-Resolution.Benckmark
- IvoryCandy/super-resolution
- LoSealL/VideoSuperResolution
- YapengTian/Single-Image-Super-Resolution
What follows is the original README:
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
eval "$(curl -fsSL https://raw.githubusercontent.com/qobilidop/srcnn/master/install/create-env-gpu.sh)"
or
eval "$(curl -fsSL https://raw.githubusercontent.com/qobilidop/srcnn/master/install/create-env-cpu.sh)"
and you'll be in the ~/srcnn directory and the srcnn
conda environment, ready to run any experiment.
Experiments
An experiment is configured by a json file in the experiments directory. To run an experiment, cd
into the experiments directory and do
python run.py {experiment-name}.json
You can also do
python run_all.py
to run all the experiments at once. But note that it may take a very long time.
Once some experiments are finished, diagnostic plots can be made by
python plot.py
Authors
The Deep Glasses Team :eyeglasses: