我目前正在尝试训练 CNN 从图像中去除泊松噪声。我使用的软件是 Matlab 2018b,但是我得到的结果很差。
我已按照以下链接中提供的步骤进行操作。这里声明我们需要制作一个denoisingImageDatastore,它保存我们训练图像的补丁,并将高斯噪声应用于它们。这不是我想要的,但为了练习,我决定在我的 PASCAL VOC 数据集上尝试一下。我现在将大致概述我的 matlab 代码中的步骤。
- 我首先创建了一个 imageDatastore,其中包含 45 张用于训练的图像。
- 其中 15 张图像将用于验证
- 现在我们为训练集和验证集创建去噪图像数据存储。每个图像将有 60 个补丁,补丁大小为 50x50
- 然后我们指定训练选项
- 然后我使用 matlab 中的 dnCNNLayers 函数指定网络层
- 下一步是使用 trainNetwork 函数训练网络
这是训练过程结束时的屏幕截图。
我只做了 100 次迭代,但结果还不错。在这里,我们可以使用该网络设置原始图像、噪声图像和去噪图像。
以下链接是我用于此的代码。如果您对如何进一步降低 RMSE 有任何建议,我们将不胜感激。
请注意,我之前已经在更大的数据集上训练了相同的网络,并且进行了近 10000 次迭代,它可以达到的最佳 rmse 约为 2.3。所以很明显有些参数需要改变。

