qzhang95 / SAR-DRN

Q. Zhang, Q. Yuan, J. Li, Z. Yang, and X. Ma, "Learning a Dilated Residual Network for SAR Image Despeckling," Remote Sensing, 2018.
http://www.mdpi.com/2072-4292/10/2/196
13 stars 2 forks source link

How do you add speckle noise to the training dataset? #1

Open xueweili opened 5 years ago

xueweili commented 5 years ago

I am studying your paper--"Learning a Dilated Residual Network for SAR Image Despeckling", I want to know how do you add speckle noise to the training dataset. Thanks!!!

bhishmapitamah commented 4 years ago

The Noise is multiplicative and the noisy image can be generated from a noiseless image as Y = X.N, where N is the Noise random variable and X the image without noise. According to the paper you mentioned, the noise follows a gamma distribution. Data can be generated with speckle noise using the numpy.random.gamma() function. For a L-look speckle noise use numpy.random.gamma(L, 1/L). You might have to normalize the image after multiplication.
You can check that substituting shape=L and scale=1/L leads to the same distribution as mentioned in the paper.

HuangxingLin123 commented 2 years ago

The Noise is multiplicative and the noisy image can be generated from a noiseless image as Y = X.N, where N is the Noise random variable and X the image without noise. According to the paper you mentioned, the noise follows a gamma distribution. Data can be generated with speckle noise using the numpy.random.gamma() function. For a L-look speckle noise use numpy.random.gamma(L, 1/L). You might have to normalize the image after multiplication. You can check that substituting shape=L and scale=1/L leads to the same distribution as mentioned in the paper.

Hi. I followed the method you provided to synthesize the speckle image. But the resulting noise appears to be much larger than what is shown in the paper. Is it because I didn't normalize the image? How to normalize the image? Thanks!!!