Skip to content

HoangTrieuVy/GGS-DMS

Repository files navigation

Joint image restoration and contour detection using Discrete Mumford-Shah with Ambrosio-Tortorelli penalization

Hoang Trieu Vy Le, Nelly Pustelnik, Marion Foare, Proximal based strategies for solving Discrete Mumford-Shah with Ambrosio-Tortorelli penalization on edges, IEEE Signal Processing Letters, vol. 29, pp. 952- 956, 2022. Download

Quick start Examples

Install

Clone the repository and install requirements.txt in a Python>=3.7.0 environment,

git clone https://github.com/HoangTrieuVy/GGS-DMS # clone
cd your_repo
pip install -r requirements.txt  # install
Denoisers Denoising with discrete Mumford-Shah functional:

$$ \begin{equation} \min_{x,e} \frac{1}{2} \Vert A x - z \Vert_2^2 + \beta \Vert (1-e)\odot Dx \Vert_2^2 + \lambda h(e) \end{equation} $$

Remarks:

  • Input degraded images can be in standard image format (.png, .jpeg,...) or .mat file (where the noisy image shuld be denoted by 'z').
  • As an option, the original image can be specified allowing to find the optimal $\lambda$ and $\beta$ hyperparameters minimizing the PSNR.
  • The penalization over the edges variable can be either the $\ell_1$-norm or Ambrosio-Tortorelli penalization.
  • The default method is PALM with $h = \Vert \cdot \Vert_1$.
  • The default parameter for Ambrosio-Tortorelli is eps = 0.02.
  • SLPAM with Ambrosio-Tortorelli penalization is numerically costly.
optional arguments:
  -h, --help   show this help message and exit
  --z Z        noisy image path
  --x X        original image path
  --b B        beta
  --l L        lambda
  --algo ALGO  PALM, SLPAM,PALM-eps-descent,SLPAM-eps-descent
  --norm NORM  l1, AT
  --eps EPS    epsilon in the Ambrosio-Tortorelli penalization
  --eps EPS    minimum epsilon when using AT eps decreasing to 0 
  --it IT      number of iteration
cd examples

python dms_denoiser.py --z 10081_noisy.jpg

python dms_denoiser.py --z 10081_noisy.jpg  --algo PALM --norm AT --b 4 --l 1e-2 --eps 0.02

python dms_denoiser.py --z 10081_noisy.jpg  --algo PALM-eps-descent --norm AT --b 4 --l 3e-3 --eps 0.02 --eps_AT_min 0.002

Reproducing IEEE SPL results

Comparison of several DMS strategies on a synthetic noisy image degraded with white Gaussian noise

Running DMS with different schemes on Python

cd SPL-fig4
python dms_spl_fig4.py

Running Home et al. on matlab

cd SPL-fig4
matlab -nodisplay -r "./setPath ; exit"
matlab -nodisplay -r "./hohm_ggs ; exit"
Comparison of several DMS strategies on several realization of synthetic noisy and blur images.

Running DMS with different schemes on Python

cd SPL-fig5
python dms_ggs # running different schemes on dms
python trof_ggs # TV and T-ROF 

Running Hohm et al. on matlab

cd SPL-fig5
matlab -nodisplay -r "./setPath ; exit"
matlab -nodisplay -r "./hohm_ggs ; exit"
Comparison of several DMS strategies on real images from BSDS500 dataset.

Running DMS with different schemes on Python

cd SPL-fig6
python dms_real_std_0_05
python trof_ggs_real_std_0_05

Running Hohm et al. on matlab

cd SPL-fig6
matlab -nodisplay -r "./setPath ; exit"
matlab -nodisplay -r "./hohm_figure6_std_0_05 ; exit"

About

Joint image restoration and contour detection using Discrete Mumford-Shah with Ambrosio-Tortorelli penalization

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages