ksonod / sparse_representation_based_image_denoising

Image denoising with sparse representation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

About this Repository

This repository shows an image denoising method based on sparse representation [1, 2].

What Can this Tool Do?

See main_notebook.ipynb or run main.py to quickly see the outcome.
Data processing flow is described as follows:

  1. Random noise is added to an input clean image.
  2. Dictionary based on direct-cosine-transform (DCT) is defined.
  3. Coefficients of atoms in the dictionary are determined. Optinoally, it is possible to simultaneously update the dictionary itself (dictionary learning).
  4. A denoised image is reconstructed from the determined coefficients (and dictionary itself in the case of the dictionary learning option).
  5. Denoising results are evaluated quantitatively using peak signal-to-noise ratio (PSNR).

How to Use

  1. Open main.py in ./sample and specify config dictionaries.
  2. Run ./sample/main.py.

References

[1] M. Elad, Sparse and Redundant Representations: From Theory to Applications in Signal and Image Processing, Springer, 2010
[2] edx, Sparse Representation in Signal and Image Processing, edx.org. [Online]. Available: https://www.edx.org/certificates/professional-certificate/israelx-sparse-representations-from-theory-to-practice [Accessed: 10 April, 2021]

About

Image denoising with sparse representation

License:MIT License


Languages

Language:Jupyter Notebook 98.9%Language:Python 1.1%