论文阅读01:Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising
论文阅读01
Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising
参考文献:1.Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising (主要)
2.Deep Residual Learning for Image Recognition(部分)
文章亮点
1.探究残差学习与批量归一化相互配合,加快训练速度同时提升训练效果。
2.附加高斯噪声的去噪,能够用单一模型完成不同水平的高斯去噪,并探究其不同任务的泛化能力。
文章结构
1.论文背景
对于加性高斯噪声,传统方法(BM3D,LSSC,NCSR,WNNM等):优化过程复杂,需要计算资源 ,且耗时较长;需要人为设置参数来提升去噪效果。
而之前的神经网络(CSF、TNRD):直接输出复原图,只能针对某一特征水平的噪声去噪。、
因此文章提出DnCNN,训练输出噪声v,然后再减去得到复原图。
2.网络结构设置
(1)网络结构:
去掉了池化层,利用3x3的卷积核,步长为1
(2)感受野的计算:
图片解释来自https://blog.****.net/program_developer/article/details/80958716
就是说感受野代表了输出的特征图上的一个像素点与输入图的多少个像素点有关。
文章中的DnCNN除了针对单一噪声时depth=17,后面的DnCNN都是depth=20。
(3)残差学习:
接下来就是我认为本文的重点了,参考了Deep Residual Learning for Image Recognition这篇论文里残差学习的概念。
残差公式:
我们可以理解如下:
当输入为x,输出为H(x)时,中间的隐藏层需要学习x——H(x)的变化
加了残差后,输入为x,输出H(x)=F(x)+x,中间隐藏层只需要学习x——F(x)的变化
那么接下来:
1)在理想条件下,有限层网络已经学习到最优化的输出y,在之后的冗余层内,想要不增加训练误差,降低训练效果,冗余层需要做恒等映射。即:
输入y,输出H(y)=y,冗余层学习H(y)=y。
而网络退化现象说明这是很难的。加了残差后,输入y,输出H(y)=y+F(y),冗余层只需要学习F(y)=0即可。这对网络来说只需要将卷积核置零就行了,是比较简单的。
2)在实际条件中,有限层的输出y,已经近似于真实标签。
剩下的层需要做的是:从一个全新初始化的矩阵W开始,根据标签和y的差值,重新调整参数,使输出的H(y)更接近y。每一层都要重新去认识学习y,并在y的值输入的基础上调整参数,使输出(y)更加接近标签。
这样一来,如果某一层的权重W处理一点偏差,就会使整个结果出现巨大的误差,导致在y的基础上进行调整优化可能会导致局部的最优化而全局的误差更高的结果。
而加了残差之后,每一层只需要重新去认识标签与y的差值,而通常来说这个差值是小于y本身的。这样一来就增加了训练速度。而因为H(y)=y+F(y),每个残差块的结果y是不断传递的,只需要不断优化调整残差矩阵,就能使每一个残差块的输出不断的向标签靠近,或者至少来说,权重的误差不会导致输出结果的巨大波动。
现在我们回到文章:这篇文章中利用了残差学习的思想
因此,将附加噪声v视作残差,训练的网络便只需要学习优化残差图,而不必管原本图片是什么样的。而相较于图片的信息,噪声(残差图)的信息量是较少的,比较容易去学习。并且,噪声直接是没有联系的,是随机的。这样一来能减少工作量并同时提升速度,二来能够能够提高精度。
3.实验部分
(1)实验1——探究残差学习和BN的协同效果
统一添加的方差=25的高斯噪声
残差和BN的四种组合,利用两种优化器SGD(左)和Adam(右)。
结果说明:
1.残差学习是网络训练更稳定,加速收敛,也能提升效果
2.BN使网络收敛训练更快收敛,显著提升效果
(2)实验2——探究对未知噪声水平的表现
说明:DnCNN-S是根据特定噪声训练的,DnCNN-B是根据不同噪声(0,55)训练的(灰度),CDnCNN-B是彩色的。
上图是训练集上平均PSNR值。
上图是12张测试图片的PSNR对比
以上是图片对比和细节放大图
上图是在不同噪声水平,DnCNN-B的效果提升。(标准是BM3D)
(3)实验3——探究不同任务下的泛化能力
DnCNN-3 用三种(高斯噪声,高低分辨率转换,JEPG编码)训练的。
高低分辨率:双立方插值法下采样再上采样(因子2,3,4)
JEPG:MATLAB编码压缩(因子5-99)
说明了网络在不同任务中的图像复原泛化能力。
以上是图片对比和细节放大图
a、左:上——方差=15的高斯噪声,下——方差=25的高斯噪声
中:上——采样因子=2,下——采样因子=3
右:上——JEPG编码因子=10,下——编码因子=30
b、经过归一化
Task1——Guassian Denosing: BM3D和TNRD根据每个噪声单独训练,噪声水平已知
Task2——Single Image Super_Resolution: TNRD对2、3、4单独训练,VDSR将(2,3,4)放在一起训练
Task3——JPEG Image Deblocking: AR-CNN和TNRD单独训练
单张图片处理耗时左边是CPU,右边是GPU