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

3 views (last 30 days)
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.

Accepted Answer

Johanna Pingel
Johanna Pingel on 8 Feb 2019
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
Johanna Pingel
Johanna Pingel on 7 Mar 2019
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.

More Answers (0)

Products


Release

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!