-
Notifications
You must be signed in to change notification settings - Fork 111
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Poor performance #149
Comments
Hi! I am not too surprised with the result. N2V output will be smoothed and there is potentially not enough information in the degraded image. You could try N2V2 to get rid of the small checkboard artefact (seems to be present on the denoised image). Otherwise if you want to obtain a better image with N2V, the only thing you can do is to have more data for a better structural prior and noise model. That means having very similar images, degraded in the same way, and adding them to the training set. Otherwise, you can try other algorithms such as PPN2V or DivNoising/HDN. But they are more difficult to use (we are working on it). |
@jdeschamps Hello, thanks for the quick response! I had some additional doubts, if you could answer those.
|
May I ask what you are trying to do? |
Do you think if the image had a higher brightness (more details visible), the model would perform better? What I'm trying to do:- I have some elemental maps from x-ray fluorescence imagery (poisson or shot noise). I'm trying to add noise to them with the formula that I mentioned above to simulate them being captured at a lower dwell time and then denoising them with N2V to come back to the original. Please let me know if you know any other models that might work for this usecase, or if you have any other advice? |
Hi @yashkhurana24, The advantage of Noise2Void is that you don't have to generate pairs of low- and high-quality images to train a model. However, if you go through the process of obtaining (for example simulating) low-quality images, you could also just train a classical CARE model. But the difficult part is to get the noise simulation right i.e. your simulated noise as close as possible to the real noise. If you don't want to simulate noisy acquisitions you can simply acquire noisy images and train Noise2Void with them. But as @jdeschamps pointed out, you want to have a large dataset to train on. Only then N2V can learn a good prior. But again, you will always get a slightly blurrier version. |
Hello, I'm trying to denoise a 2D image. I add synthetic noise as follows:
np.array(np.random.poisson(0.01 * x / 0.1) / 0.01
But the output from the model is over-smoothed. Can you give some suggestions?
from left to right: original, noisy, model_output
The text was updated successfully, but these errors were encountered: