xiaom233 / FSRCNN

Reproduction of the paper 《Accelerating the Super-Resolution Convolutional Neural Network》(CVPR 2016) by Pytorch and Matlab.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FSRCNN

Reproduction of the paper 《Accelerating the Super-Resolution Convolutional Neural Network》(CVPR 2016) by Pytorch and Matlab.

Dependence

Matlab 2016
Pytorch 1.0.0

Explanation

Some Matlab codes provided by the paper author, url: http://mmlab.ie.cuhk.edu.hk/projects/FSRCNN.html.
The main reason for using two languages to do the project is because the different implementation of bicubic interpolation, which causes the broader difference of the results when using PSNR standard.

Overview

Overview of the network and Comparison to SRCNN:

Usage

Use ./data_pro/data_aug.m to do the augmentation.
Use ./data_pro/generate_train.m to generate train.h5.
Use ./data_pro/generate_test.m to generate test.h5.
Train by train.py:

python train.py

Convert the Pytorch model .pkl to Matlab matrix .mat. (weights.pkl -> weights.mat)

python convert.py

Use ./test/demo_FSRCNN.m to get the result.

Result

Use the ./model/weights.mat can get the result:
Set5 Average:reconstruction PSNR = 32.52dB VS bicubic PSNR = 30.39dB
Set14 Average: reconstruction PSNR = 29.07dB VS bicubic PSNR = 27.54dB
Image example:

About

Reproduction of the paper 《Accelerating the Super-Resolution Convolutional Neural Network》(CVPR 2016) by Pytorch and Matlab.

License:MIT License


Languages

Language:MATLAB 56.9%Language:Python 42.6%Language:M 0.5%