We implement a tensorflow model for "Image Super-Resolution Using Deep Convolutional Networks"
- We use 91 dataset as training dataset.
- Ubuntu 16.04
- Python 3.5
- Numpy
- Opencv2
- matplotlib
- main.py : Execute train.py and pass the default value.
- srcnn.py : srcnn model definition.
- train.py : Train the SRCNN model and represent the test performance.
- test.py : Test the SRCNN model and show result images and psnr.
- demo.py : Upscale a input image by SRCNN model.
- log.txt : The log of training process.
- model : The save files of the trained srcnn.
python preprocess.py
python main.py
# if you want to change training epoch ex) 1500 epoch (default) -> 2000 epoch
python main.py --training_epoch 2000
python test.py
# Default args: image_index = 1, scale = 2, coordinate = [50,50], interval = 30
# You can change args: image_index = 13, scale = 4, coorindate [100,100], interval = 50
python test.py --image_index 13 --scale 4 --coordinate [100,100] --interval 50
python demo.py
# Default args: scale = 2
# You can change arg: scale = 4
python demo.py --scale 4
Scale | Bicubic | tf_SRCNN |
---|---|---|
2x - PSNR | 33.33 | 34.92 |