TransWikia.com

How to calculate variance of noise on a noisy image (Noise+Signal)

Signal Processing Asked by Image Check on November 23, 2021

Image I1 shows long exposure image and I2 shows short exposure noisy imageI have a long exposure image captured at 70ms. (I1) (As attached)

I also have another image captured at 0.7ms with Gain24. (I2) (As attached)
This image has both noise and signal together.

I would like to compute SNR value by calculating the variance of the signal I1 and variance of noise (I2-I1). Since the gain and exposure are different, the pixel intensity of my I2 image is different from I1, such that (I2-I1) gives not only noise but also a considerable amount of signal.

Is there a way to only compute noise variance from I2 to find SNR. Which also means is there a way to find the true signal in I2

One Answer

I would assume that I1 and I2 are of the same scene/same lighting conditions/same camera position.

  1. In the ideal world images I1 and I2 would have been related by a constant scale factor (+ random noise) so in this case the way to go would be to determine an optimal scale factor that maps I1 into I2 and then estimating noise variance from the difference. This variance would corresponde to the sum of noise variances of your 2 images, but under the assumption that I1 is significantly less noisy this would give a descent estimate

  2. In the real world there is a thing called camera response curve that maps scene irradiance to pixel intensity values and it's non linear. In fact there can be many more things involved, like gamma correction, custom postprocessing that is done by your particular camera imaging pipeline. Undoing all this mess to get back to linear situation can be an incredible headache. There are software packages and methods for camera response calibration/estimation of other pipeline parameters so in principle it's possible to calibrate the camera prior to taking the images, then undo the camera response curve/other processing making everything linear and after that you can estimate the noise just as in 1). Check camera response curve on google for more details

  3. Applying procedure 1) in the uncalibrated situation gives you a solid overestimate of your noise variance so maybe this would be OK for your purpose.

  4. I had situations where I had to estimate noise level of an image given just a single image. Since typical real world images contain a lot of low frequency regions in practice it's sometimes possible to simply process your image with some smoothing filter (linear or for example median) and then analyse the difference between smoothed image and the original one. For example if at least half of your image correspondes to low frequency regions MAD estimate taken from the difference of your image and smoothed version of your image would give you a usable estimate of noise variance.

  5. Under the assumption of unknown camera response curve you can take a statistical approach to this problem and try to estimate a model with more parameters than just a single scale factor that maps intensities of I1 to I2. Unfortunately I am not ready to give you the exact parametric form of such a model, since I don't see your data.

Hope this helps!

Answered by Gaganov Victor on November 23, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP