AlgnersYJW / MSWNNM

Multi-Scale Weighted Nuclear Norm Image Restoration

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Multi-Scale Weighted Nuclear Norm Image Restoration


Languages

Language:Cuda 38.8%Language:MATLAB 33.1%Language:C++ 17.2%Language:Python 6.0%Language:Shell 2.4%Language:C 1.5%Language:Makefile 0.9%Language:M 0.0%