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.
- Python 2.7
- TensorFlow
- Scipy version > 0.18
- h5py
- PIL
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 --epochs 10 --learning_rate 0.0001 --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
Original butterfly image:
Bicubic interpolated image:
Super-resolved image:
- Add RGB support (Increase each layer depth to 3)
- Speed up pre-processing for large datasets
- Set learning rate for deconvolutional layer to 1e-4 (vs 1e-3 for the rest)