The SNR strikes back

The SNR situation is getting worse, or at the very least more and more intriguing.

Less artifacts, and good deblurring

I’ve modified my implementations to minimize boundary effects, added an SSIM function to have another reference, made more experiences (denoising and deblurring + denoising), but still I don’t really understand what’s going on. Visually, the results are still good, as can be seen in these Figures. Furthermore, when doing deblurring, both SNR and SSIM measures match the visual feeling, and show that the algorithm improves the input image.

Noisy image Denoised image

Bad denoising !?!

However, when doing pure denoising, SNR and SSIM measures are lower for the output of the algorithm! The following Figures show the SSIM map for the noisy image, for the [denoised image|#denoised_ssim], and a plotsim_comparison] where the denoised SSIM is greater than the noisy one.

SSIM Noisy image

SSIM Denoised image

Comparaison of SSIM

The histogram point of view

By looking at the corresponding image histograms, one can see the probable cause of the bad SNR/SSIM outputs.

The [original image histogram|#original_histogram] exhibits a strong curvature, and there are few intermediate values on its second half. Since I added white noise, the shape of this histogram is not modified 1.

On the other hand, the output of the algorithm has a much flatter histogram, although the 2 main modes are more or less respected.

Original histogram

Histogram of the denoised image

Yet, I have no idea of the origin of this behavior (regularization maybe too strong ?), and no idea of a solution :-/ 2

  1. Except for the values that fall outside the original dynamic range. ^
  2. Except for the very ugly one of matching the histograms before computing the quality measures. ^