Search code examples
image-processingssim

Image Processing - Does PSNR and SSIM metrics show smoothing (noise reduction) quality?


For my Image Processing class project, I am filtering an image with various filter algorithms (bilateral filter, NL-Means etc..) and trying to compare results with changing parameters. I came across PSNR and SSIM metrics to measure filter quality but could not fully understand what the values mean. Can anybody help me about:

  • Does a higher PSNR value means higher quality smoothing (getting rid of noise)?
  • Should SSIM value be close to 1 in order to have high quality smoothing?
  • Are there any other metrics or methods to measure smoothing quality?

I am really confused. Any help will be highly appreciated. Thank you.


Solution

  • With respect to an ideal result image, the PSNR computes the mean squared reconstruction error after denoising. Higher PSNR means more noise removed. However, as a least squares result, it is slightly biased towards over smoothed (= blurry) results, i.e. an algorithm that removes not only the noise but also a part of the textures will have a good score.

    SSIm has been developed to have a quality reconstruction metric that also takes into account the similarity of the edges (high frequency content) between the denoised image and the ideal one. To have a good SSIM measure, an algorithm needs to remove the noise while also preserving the edges of the objects.

    Hence, SSIM looks like a "better quality measure", but it is more complicated to compute (and the exact formula involves one number per pixel, while PSNR gives you an average value for the whole image).