Skip to content

Caffe implementation of "Fast and Accurate Single Image Super-Resolution via Information Distillation Network" (CVPR 2018)

Notifications You must be signed in to change notification settings

Zheng222/IDN-Caffe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 

Repository files navigation

IDN-Caffe

Caffe implementation of "Fast and Accurate Single Image Super-Resolution via Information Distillation Network"

[arXiv] [CVF] [Poster] [TensorFlow version]


The schematics of the proposed Information Distillation Network

The average feature maps of enhancement units
The average feature maps of compression units


Visualization of the output feature maps of the third convolution in each enhancement unit

Testing

  • Install Caffe, Matlab R2013b
  • Run testing:
$ cd ./test
$ matlab
>> test_IDN

Note: Please make sure the matcaffe is complied successfully.

./test/caffemodel/IDN_x2.caffemodel, ./test/caffemodel/IDN_x3.caffmodel and ./test/caffemodel/IDN_x4.caffemodel are obtained by training the model with 291 images, and ./test/caffemodel/IDN_x4_mscoco.caffemodel is got through training the same model with mscoco dataset.

The results are stored in "results" folder, with both reconstructed images and PSNR/SSIM/IFCs.

Training

  • step 1: Compile Caffe with train/include/caffe/layers/l1_loss_layer.hpp, train/src/caffe/layers/l1_loss_layer.cpp and train/src/caffe/layers/l1_loss_layer.cu
  • step 2: Run data_aug.m to augment 291 dataset
  • step 3: Run generate_train_IDN.m to convert training images to hdf5 file
  • step 4: Run generate_test_IDN.m to convert testing images to hdf5 file for valid model during the training phase
  • step 5: Run train.sh to train x2 model (Manually create directory caffemodel_x2)

Results

Set5,Set14,B100,Urban100,Manga109

With regard to the visualization of mean feature maps, you can run test_IDN first and then execute the following code in Matlab.

inspect = cell(4, 1);
for i = 1:4
    inspect{i} = net.blobs(['down' num2str(i)]).get_data();
    figure;
    imagesc(mean(inspect{i}, 3)')
end

Model Parameters

Scale Model Size
×2 552,769
×3 552,769
×4 552,769

Citation

If you find IDN useful in your research, please consider citing:

@inproceedings{Hui-IDN-2018,
  title={Fast and Accurate Single Image Super-Resolution via Information Distillation Network},
  author={Hui, Zheng and Wang, Xiumei and Gao, Xinbo},
  booktitle={CVPR},
  pages = {723--731},
  year={2018}
}

About

Caffe implementation of "Fast and Accurate Single Image Super-Resolution via Information Distillation Network" (CVPR 2018)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published