运行了几次代码,初步看到了一些效果,但是距离我的应用还差点,因为我的数据噪声比较大,效果比较差,分辨率下降也比较多。所以我不能采用n2n,而应该采用n2c,噪声大的情况下,图像自身的一些高频信息被噪声淹没,n2n网络无法学习到这些特征,但是n2c不一样,训练目标是清晰的,具有高频信息,想要loss低,网络就必须学习到一定的先验信息用于处理噪声图像。n2n的数据本身丢失了这些信息,网络也就无从习得。
如果把神经网络看作是对函数的拟合,那么可以和傅立叶变换对比一下,一个卷积网络相当于把一个图像分解为各种特征(相当于基函数),再把这些特征重新组合,重新组合的权重是根据输入图像估计得到的。这样就好理解些了。
这样分析的话n2c比n2n适用性更强一些,后面可以做一些验证
2020.2.29更新
上面的想法可能是对的,但是和傅里叶变换一样,噪声大时,高频分量的权重就已经估计不准了,这时候只能放弃,否则输出图像则会夹杂着很难看的高频信息。可以从下图看出来,噪声比较大,输出图像存在较多的高频特征。但n2c的效果还是要比n2n效果要好一些
但也能看出,细节丢失比较多,然后对比了一下BM3D,效果还是差一些,难怪很多去噪的方法都要和BM3D比较。