GithubHelp home page GithubHelp logo

jbhuang0604 / lapsrn Goto Github PK

View Code? Open in Web Editor NEW

This project forked from phoenix104104/lapsrn

1.0 2.0 3.0 8.55 MB

Deep Laplacian Pyramid Networks for Fast and Accurate Super-Resolution (CVPR 2017)

Home Page: http://vllab1.ucmerced.edu/~wlai24/LapSRN/

MATLAB 58.75% Shell 0.05% C 16.75% CSS 0.16% HTML 24.29%

lapsrn's Introduction

Deep Laplacian Pyramid Networks for Fast and Accurate Super-Resolution (CVPR 2017)

Wei-Sheng Lai, Jia-Bin Huang, Narendra Ahuja, and Ming-Hsuan Yang

IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2017

Table of Contents

  1. Introduction
  2. Citation
  3. Requirements and Dependencies
  4. Installation
  5. Demo
  6. Training
  7. Testing

Introduction

The Laplacian Pyramid Super-Resolution Network (LapSRN) is a progressive super-resolution model that super-resolves an low-resolution images in a coarse-to-fine Laplacian pyramid framework. Our method is fast and achieves state-of-the-art performance on five benchmark datasets for 4x and 8x SR. For more details and evaluation results, please check out our project webpage and paper.

teaser

Citation

If you find the code and datasets useful in your research, please cite:

@inproceedings{LapSRN,
    author    = {Lai, Wei-Sheng and Huang, Jia-Bin and Ahuja, Narendra and Yang, Ming-Hsuan}, 
    title     = {Deep Laplacian Pyramid Networks for Fast and Accurate Super-Resolution}, 
    booktitle = {IEEE Conferene on Computer Vision and Pattern Recognition},
    year      = {2017}
}

Requirements and Dependencies

  • MATLAB (we test with MATLAB R2015a on Ubuntu 14.04 and Windows 7)
  • MatConvNet

Installation

Download repository:

$ git clone --recursive https://github.com/phoenix104104/LapSRN.git

Copy vllab_dag_loss.m to your [MatConvNet path]/matlab/+dagnn. Our default path is matconvent/matlab/+dagnn.

$ cp vllab_dag_loss.m matconvnet/matlab/+dagnn

Run install.m in MATLAB:

# Start MATLAB
$ matlab
>> install

If you install MatConvNet in your own path, you need to change the corresponding path in install.m, train_LapSRN.m and test_LapSRN.m.

Demo

To test LapSRN on a single-image:

>> demo_LapSRN

This script will load the pretrained LapSRN model and apply SR on emma.jpg.

To test LapSRN on benchmark datasets, first download the testing datasets:

$ cd datasets
$ wget http://vllab1.ucmerced.edu/~wlai24/LapSRN/results/SR_testing_datasets.zip
$ unzip SR_testing_datasets.zip
$ cd ..

Then choose the evaluated dataset and upsampling scale in evaluate_LapSRN_dataset.m and run:

>> evaluate_LapSRN_dataset

which can reproduce the results in our paper Table 4.

Training

To train LapSRN from scratch, first download the training datasets:

$ cd datasets
$ wget http://vllab1.ucmerced.edu/~wlai24/LapSRN/results/SR_training_datasets.zip
$ unzip SR_train_datasets.zip
$ cd ..

or use the provided bash script to download all datasets and unzip at once:

$ cd datasets
$ ./download_SR_datasets.sh
$ cd ..

Then, setup training options in init_opts.m, and run train_LapSRN(scale, depth, gpuID). For example, to train LapSRN with depth = 10 for 4x SR using GPU ID = 1:

>> train_LapSRN(4, 10, 1)

Note that we only test our code on single-GPU mode. MatConvNet supports training with multiple GPUs but you may need to modify our script and options (e.g., opts.gpu).

Testing

Use test_LapSRN(model_scale, depth, gpu, dataset, test_scale, epoch) to test your own LapSRN model. For example, test LapSRN with depth = 10, scale = 4, epoch = 10 on Set5:

>> test_LapSRN(4, 10, 1, 'Set5', 4, 10)

which will report the PSNR, SSIM and IFC.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.