Skip to content

A Caffe-based implementation of very deep convolution network for image super-resolution

License

Notifications You must be signed in to change notification settings

kjw0612/caffe-vdsr

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Caffe_VDSR

This is a implementation of "Accurate Image Super-Resolution Using Very Deep Convolutional Networks" (CVPR 2016 Oral Paper) in caffe.

Instruction

VDSR (Very Deep network for Super-Resolution) is an end-to-end network with 20 convolution layers for single image super-resolution. The performance of VDSR is better than other state-of-the-art SISR methods, such as SRCNN, A+ and CSCN (My implementation of CSCN).

Dependencies

Train

Test

Usage

Train

  1. Place the "Train" folder into "($Caffe_Dir)/examples/", and rename "Train" to "VDSR"

  2. Open MATLAB and direct to ($Caffe_Dir)/example/VDSR, run "generate_train.m" and "generate_test.m" to generate training and test data (Code from SRCNN)

  3. To train VDSR, run ./build/tools/caffe train --solver examples/VDSR/VDSR_solver.prototxt

  4. Set clip_gradients in VDSR_solver.prototxt to solve gradient explosion problem, 0.1 or 1 is a good choice

  5. Change the learning rate when the error plateaus

  6. After training, run "caffemodel2mat.m" to convert caffemodel to mat for testing (matcaffe is required)

Test

  1. "Demo_SR_Conv.m" is a simple test code. Just run it and you will get the result

  2. "VDSR_170000.mat" is a model trained by myself

  3. "VDSR_Official.mat" is an official model converted from Official Test Code

Different from original paper

Because of the limitation of hardware conditions,I didn't do completed training. So there are some differences between this implementation and original paper.

Training Dataset

This implementation: 91 images (with data augumentation and only factor 2)

Original paper: 291 images (with data augumentation and factor 2, 3 and 4)

Multi Scale

This implementation: Casade of 2x to generate 3x and 4x result

Original paper: Multi scale in one model

Training Time of Final Model

This implementation: about 30 epoch

Original paper: about 80 epoch

Performance in PSNR

Factor 2

DataSet Original This Implementation
Set5 37.53 37.46
Set14 33.03 32.83
BSD100 31.90 31.65

Factor 3

DataSet Original This Implementation
Set5 33.66 33.52
Set14 29.77 29.55
BSD100 28.82 28.62

Factor 4

DataSet Original This Implementation
Set5 31.35 31.14
Set14 28.01 27.81
BSD100 27.29 27.13

References

Please cite [1] if you use this code in your work, thank you!

[1] Jiwon Kim, Jung Kwon Lee and Kyoung Mu Lee, "Accurate Image Super-Resolution Using Very Deep Convolutional Networks", Proc. of IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016

About

A Caffe-based implementation of very deep convolution network for image super-resolution

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • MATLAB 28.3%
  • Cuda 22.1%
  • C++ 16.6%
  • Protocol Buffer 10.3%
  • TeX 9.7%
  • Python 7.7%
  • Other 5.3%