GithubHelp home page GithubHelp logo

dcnhan / zssr Goto Github PK

View Code? Open in Web Editor NEW

This project forked from assafshocher/zssr

0.0 2.0 0.0 2.17 MB

"Zero-Shot" Super-Resolution using Deep Internal Learning

License: Other

Python 100.00%

zssr's Introduction

"Zero-Shot" Super-Resolution using Deep Internal Learning (ZSSR)

Official implementation for paper by: Assaf Shocher, Nadav Cohen, Michal Irani

Paper: https://arxiv.org/abs/1712.06087
Project page: http://www.wisdom.weizmann.ac.il/~vision/zssr/ (See our results and visual comparison to other methods)

Accepted CVPR'18


This current provided version of ZSSR actually achieves better results on benchmarks than indicated in the paper.
For example, when current version is applied to 'Set14' without use of gradual SR increments, it achieves slightly higher PSNR than specified in the paper (when 6 gradual increments are applied). When gradual increments similar to those specified in the paper are applied, then +0.3dB is obtained.


sketch

If you find our work useful in your research or publication, please cite our work:

@InProceedings{ZSSR,
  author = {Assaf Shocher, Nadav Cohen, Michal Irani},
  title = {"Zero-Shot" Super-Resolution using Deep Internal Learning},
  booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
  month = {June},
  year = {2018}
}

Usage:

Quick usage on your data:

(First, put your desired low-res files in <ZSSR_path>/test_data/.
Results will be generated to <ZSSR_path>/results/<name_date>/.
data must be *.png type)

python run_ZSSR.py

General usage:

python run_ZSSR.py <config> <gpu-optional>

While <config> is an instance of configs.Config class (at configs.py) or 0 for default configuration.
Please see configs.py to determine configuration (data paths, scale-factors etc.)
<gpu-optional> is an optional parameter to determine how to use available GPUs (see next section).

For using given kernels, you must have a kernels for each input file and each scale-factor named as follows:
<inpu_file_name>_<scale_factor_ind_starting_0>.mat
Kernels are MATLAB files containing a matrix named "Kernel".

If gound-truth exists and true-error monitoring is wanted, then ground truth should be named as follows:
<inpu_file_name>_gt.png

GPU options

Run on a specific GPU:

python run_ZSSR.py <config> 0

Run multiple files efficiently on multiple GPUs.
Before using this option make sure you update in the configs.py file the python_path parameter

python run_ZSSR.py <config> all

Quick usage examples (applied on provided data examples):

Usage example to test 'Set14', Gradual SR (~0.3dB better results, 6x Runtime)

python run_ZSSR.py X2_GRADUAL_IDEAL_CONF

Usage example to test 'Set14' (Non-Gradual SR)

python run_ZSSR.py X2_ONE_JUMP_IDEAL_CONF

Visualization while running (Recommended for one image, interactive mode, for debugging)

python run_ZSSR.py X2_ONE_JUMP_IDEAL_CONF

Applying a given kernel

python run_ZSSR.py X2_GIVEN_KERNEL_CONF

Run on a real image

python run_ZSSR.py X2_REAL_CONF

Example kernels were generated from the input images using:
T. Michaeli and M. Irani, Nonparametric Blind Super-Resolution. International Conference on Computer Vision (ICCV), October 2013.

zssr's People

Contributors

assafshocher avatar

Watchers

James Cloos avatar Chi Nhan Duong avatar

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.