This repository shows an image denoising method based on sparse representation [1, 2].
See main_notebook.ipynb or run main.py to quickly see the outcome.
Data processing flow is described as follows:
- Random noise is added to an input clean image.
- Dictionary based on direct-cosine-transform (DCT) is defined.
- Coefficients of atoms in the dictionary are determined. Optinoally, it is possible to simultaneously update the dictionary itself (dictionary learning).
- A denoised image is reconstructed from the determined coefficients (and dictionary itself in the case of the dictionary learning option).
- Denoising results are evaluated quantitatively using peak signal-to-noise ratio (PSNR).
- Open main.py in
./sample
and specifyconfig
dictionaries. - Run
./sample/main.py
.
[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]