MATLAB Answers

0

How to edit the denoisingImageDatastore source code so that it applies Poisson noise instead of Gaussian noise?

Asked by Emir Semsic on 3 Feb 2019
Latest activity Commented on by Johanna Pingel on 7 Mar 2019
I have been training my network for image denoising, and I've achieved solid results with removing Gaussian noise from noisy images. However, a more real-world like noise is Poisson noise. I've read through the source code for denoisingImageDatastore and nowhere could I find a line of code where the imnoise function is applied to the extracted patches. You can view the source code here so you don't have to dig for it. I've tried many other solution but to no avail, and this is the last one I'm willing to try actually. All help is appreciated.

  0 Comments

Sign in to comment.

1 Answer

Answer by Johanna Pingel on 8 Feb 2019
 Accepted Answer

I'm pretty sure that example only uses Gaussian noise, which may not be easy to change to Poisson. You may have to set up sample images yourself. Try following this example to set up the training image structure instead.
I'm pretty sure the key is to set up a randomPatchExtractionDatastore that will contain both your input and output images to the network.
Then you'll want to set up the network. I haven't looked into how the network is set up for denoising, so you'll want to see what the example is doing and perhaps copy that.
Let me know if I can help further.

  5 Comments

Sure. I will add a complete answers in the following days.
Have you figured out a way to do this? I'm looking to do something similar, but with speckle noise instead!
You're going to have to train a network to do this if it's not Gaussian: check out my blog where I walk through the process (and share code)
https://blogs.mathworks.com/deep-learning/2019/02/21/image-to-image-regression/

Sign in to comment.