Skip to content
Multi-Scale Weighted Nuclear Norm Image Restoration
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
IRCNN First commit. Add WS-WNNM implementation. Mar 22, 2018
Misc/ResultsExamples Update ReadMe.md file (added animated GIF). Jun 15, 2018
Test_Images Add code for convenient reproduction of paper experiments. Mar 24, 2018
.gitignore Add code for convenient reproduction of paper experiments. Mar 24, 2018
CalcPsnr.m First commit. Add WS-WNNM implementation. Mar 22, 2018
DisplayResults.m First commit. Add WS-WNNM implementation. Mar 22, 2018
GetKNN.m First commit. Add WS-WNNM implementation. Mar 22, 2018
GetNeighborIndex.m First commit. Add WS-WNNM implementation. Mar 22, 2018
GetPatches.m First commit. Add WS-WNNM implementation. Mar 22, 2018
InitX.m Add code for convenient reproduction of paper experiments. Mar 24, 2018
ReadME.md Update ReadMe.md file (added animated GIF). Jun 15, 2018
ReproduceExperiments.m
RunAlgorithm.m First commit. Add WS-WNNM implementation. Mar 22, 2018
RunMe.m Add code for convenient reproduction of paper experiments. Mar 24, 2018
SetAlgorithmParameters.m Add code for convenient reproduction of paper experiments. Mar 24, 2018
UpdateZ.m First commit. Add WS-WNNM implementation. Mar 22, 2018

ReadME.md

Multi-Scale Weighted Nuclear Norm Image Restoration

The code available here is an implementation of the "Multi-Scale Weighted Nuclear Norm Image Restoration" paper, Conference on Computer Vision and Pattern Recognition (CVPR 2018).

Feel free to contact me at noamyair10.tc@gmail.com.
Noam Yair.

Running the Code

  • A Simple Example
    For a single image deblurring example run the 'RunMe.m' file.

  • Reproducing Paper Experiments
    For reproducing paper experiments use the 'ReproduceExperiments.m' file and follow the instruction in the documentation. You may also run this function as-is for a simple example.

  • Additional Option
    Additional option of running the algorithm is by using the 'RunAlgorithm' function / file, though this function expect some inputs (the corrupted image, the noise level, etc.). Follow the documentation of this function to use it directly. Note: the purpose of the 'RunMe.m' function is to create the appropriate inputs for the 'RunAlgorithm' function and then call it. Therefore, you may find using the 'RunMe.m' function more convenient.

Requirements and Dependencies

  • Matlab with an Image Processing Toolbox.
  • When using the IRCNN method for initialization, please see IRCNN method page (will require MatConvNet).

Citation

 @inproceedings{MS_WNNM_IR,
   title={Multi-Scale Weighted Nuclear Norm Image Restoration},
   author={Yair, Noam and Michaeli, Tomer},
   booktitle={IEEE Conference on Computer Vision and Pattern Recognition},
   year={2018},
 }

Some Visual Examples (from the paper)

Our algorithm handles arbitrary degradations within a single simple framework. It relies on a novel regularization term which encourages similar patches within and across scales of the image to lie on low-dimensional subspaces. This leads to state-of-the-art results in tasks like inpainting and deblurring.

  • Example 1: Inpainting with 75% missing pixels on Images from the NCSR Set
    Note in the following examples how our algorithm produces a naturally looking reconstruction with sharp edges and no distracting artifacts. This is also supported by the high PSNR values it attains w.r.t. competing approaches.

Image Butterfly

  • Example 2: Deblurring on Images from the BSD100 Set
    On each example, a degraded input image from the BSD dataset is shown on the top left. It suffers from Gaussian blur with standard deviation 1.6 and additive noise with STD 2. As can be seen, while all state-of-the-art deblurring methods produce artifacts in the reconstruction, our algorithm produces sharp results without annoying distortions. Its precision is also confirmed by the very high PSNR it attaines w.r.t. the other methods.

Image 86000

Image 3096

  • Animated Comparison

For more details please refer to the paper.

You can’t perform that action at this time.