Zhang, K., Zuo, W., Chen, Y., Meng, D., & Zhang, L. (2017). Beyond a Gaussian denoiser: Residual learning of deep CNN for image denoising. IEEE Transactions on Image Processing, 26(7), 3142–3155. https://doi.org/10.1109/TIP.2017.2662206
贡献
- 提出了一种端到端CNN网络用于高斯去噪网络,称为DnCNN。该网络采用残差学习策略从噪声图片中去除潜在干净图像,而不是用神经网络直接预测干净图像
- 使用残差学习(residue learning,RL)和批量归一化(batch normalization,BN)加快训练过程,提高去噪性能
- 可以训练一个单一的DnCNN模型进行盲高斯去噪,也可以很容易地扩展到一般的图像去噪任务,如盲高斯去噪,SISR, JPEG去噪
思想
噪声图片公式化表示
y
=
x
+
v
y = x+v
y=x+v,
y
y
y为噪声图片,
x
x
x为干净图片,
v
v
v为图片噪声
通过DnCNN学习得到
R
(
y
)
≈
v
R(y) ≈ v
R(y)≈v,
x
=
y
−
R
(
y
)
x = y − R(y)
x=y−R(y)即得到干净图片
网络结构
DnCNN以VGG网络为基础,加入了残差学习(RL)和批量归一化(BN)。为了保持输出图片的尺寸,去除了池化层
- 橙色:first layer: conv+relu, 64x3x3xC
- 蓝色:2-(d-1) layers: conv+bn+relu, 3x3x64
- 橘红:last layer, Cx3x3x64
- 输出:图像噪声 R ( y ) R(y) R(y)
其中64表示卷积核个数;c表示图片通道,c=1或c=3;卷积核大小为3x3
损失函数
该损失函数计算的是,期望残差图像与噪声输入估计残差之间的平均均方误差
R
(
y
i
;
Θ
)
R(y_i;\Theta)
R(yi;Θ)是网络预测的残差图像
y
i
−
x
i
y_i-x_i
yi−xi 表示 噪声图片减去干净图片,得到噪声的GT
网络特点
- 对于不同类型的噪声,网络的深度不同。如对于确定噪声级别(noise level)的高斯去噪,设置网络深度为17层;对于一般噪声,设置网络层数为20层。噪声级别越大,effecive patch size(相当于感受野)设置越大,增加感受野可以利用更大图片区域的上下文信息。网络感受野 ( 2 ∗ d + 1 ) ( 2 ∗ d + 1 ) (2*d+1)(2*d+1) (2∗d+1)(2∗d+1)
- 输入是c通道,输出为c通道,不改变图片的尺寸
- 图片\特征图在卷积之前,进行全零填充,用于消除边界伪影
- 使用BN解决训练过程中内部协变量偏移问题;RL使DnCNN从隐藏层种隐式删除潜在干净图像,使得每层输入数据都尽可能服从高斯分布
扩展的网络结构
DnCNN-S
已知noise level的高斯去噪。设置
σ
=
15
,
25
,
50
\sigma=15,25,50
σ=15,25,50,patch size为40×40,裁剪128×1600个patch来训练模型
DnCNN-B
盲高斯去噪。设置noise level为
σ
∈
[
0
,
55
]
\sigma∈[0,55]
σ∈[0,55],patch size为50×50, 裁剪128×3000个patch来训练模型
CDnCNN-B
盲彩色图像去噪模型。用Berkeley segmentation数据集的用432张彩色图像训练,BSD68数据集的彩色图像进行测试。设置noise level在[0,55],patch size为50x50,裁剪128×3000块训练模型
DnCNN-3
这是针对去噪、SISR和JEPG图片解压缩三种任务训练的网络
实验结果
在Titan X上分别训练DnCNN-S、DnCNN-B/CDnCNN-B和DnCNN-3大约需要6小时、1天和3天
针对已知noise level 的高斯噪声,结果如下。从图中可知在
σ
=
15
,
25
,
50
\sigma=15,25,50
σ=15,25,50 时,所提出的DnCNN在大多数图像上都有最高的PSNR。 DnCNN在大多数图像上的表现都比其他方法好0.2 ~ 0.6dB,只有“House”和“Barbara没有达到最好的效果,这两幅图像以重复结构为主。 原因是,基于非局部相似性的方法通常对规则和重复结构的图像效果更好,而基于判别训练的方法通常对纹理不规则的图像效果更好。这是因为具有规则和重复结构的图像很好满足非局部相似性先验; 相反,图片中不规则的纹理会削弱这种特定先验的优势,从而导致结果较差。
对3种分辨率的图片进行降噪处理所需要的时间,CPU耗时/GPU耗时。DnCNN算法效率很高,它可以在60ms内对大小为512×512噪声水平未知的图像进行去噪,而且处理之后的图像质量较高,而且没有伪影,相对于TNRD具有明显的优势
DnCNN-3在三种不同任务与其他方法的对比,可以看出该网络在3种任务中都优于之前的方法,在高斯去噪和JPEG图片解压的效果尤为明显。这说明用一种网络结构处理多种不同类型的图片噪声是可行的。
总结
本文提出DnCNN降噪网络,采用残差学习和批量归一化训练一个端到端的CNN网络,使网络能够学习到加性高斯白噪声。网络不仅对noise level 已知的高斯去噪有效,也适用于盲高斯噪声去噪。网可以用于SISR和JPEG iamge deblocking的任务,为去除图像一般去噪提供了新的思路。