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 3
- TensorFlow-gpu >= 1.3
- CUDA & cuDNN >= 6.0
- h5py
- Pillow
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 --epoch 100 --learning_rate 0.0002 --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:
Ewa_lanczos interpolated image:
Super-resolved image:
- Add RGB support (Increase each layer depth to 3)
- Speed up pre-processing for large datasets