Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising
发表于 IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 26, NO. 7, JULY 2017
Abstract:提出前馈去噪卷积神经网络(DnCNNs),将超深层次结构、学习算法和正则化方法的进展纳入图像去噪。具体来说,利用残差学习和批量归一化来加速训练过程以及提高去噪性能。与现有的判别去噪模型不同,该模型通常在一定的噪声水平下训练特定的加性高斯白噪声模型,DnCNN模型能够处理未知噪声水平下的高斯去噪(即盲高斯去噪)。利用残差学习策略,DnCNN隐式去除隐藏层中潜在的干净图像。这一特性促使训练单个DnCNN模型来处理一些一般的图像去噪任务,例如高斯去噪、单图像超分辨率和JPEG图像去块。实验表明,DnCNN模型不仅能在多种图像去噪任务中表现出较高的效率,而且还能通过GPU计算得到有效实现。
图像去噪的目标是根据图像退化模型y = x+v从噪声观测值y中恢复干净的图像x。一个常见的假设是v是加性高斯白噪声(AWGN)。
大多数去噪方法通常有两个主要缺点。首先,这些方法通常在测试阶段涉及复杂的优化问题,使得去噪过程耗时[7],[16]。因此,大多数方法在不牺牲计算效率的情况下很难获得高性能。第二,模型通常是非凸的,并且涉及几个手动选择的参数,为提高去噪性能提供了一些余地。
使用CNN的原因有三。首先,具有非常深的体系结构的CNN[26]在增加利用图像特征的容量和灵活性方面是有效的。其次,在训练CNN的正则化和学习方法方面取得了相当大的进展,包括整流器线性单元(ReLU) [27]、批量归一化[28]和残差学习[29]。这些方法可以在CNN中采用,加快训练过程,提高去噪性能。第三,CNN非常适合在现代强大的GPU上进行并行计算,可以利用GPU来提高运行时性能。
Contributions: 1)提出了一种端到端可训练的深度神经网络用于高斯去噪。与现有的直接估计潜在干净图像的基于深度神经网络的方法相比,该网络采用残差学习策略从噪声观测中去除潜在干净图像。
2)残差学习和批量归一化可以极大地有利于神经网络的学习,因为它们不仅可以加快训练速度,而且可以提高去噪性能。对于具有一定噪声水平的高斯去噪,DnCNN在定量度量和视觉质量方面都优于最先进的方法。
3)DnCNN可以很容易地扩展到处理一般的图像去噪任务。可以为盲高斯去噪训练单个DnCNN模型,并且获得比针对特定噪声水平训练的竞争方法更好的性能。此外,仅用单个DnCNN模型就能解决三种常见的图像去噪任务,即盲高斯去噪、SISR去噪和JPEG去块去噪。
DnCNN的输入是噪声观测值y = x+v,目的学习一个映射函数F(y) = x来预测潜在的干净图像。DnCNN采用残差学习公式训练一个残差映射R(y) ≈ v,然后得到x = y - R(y)。在形式上,期望残差图像和从噪声输入估计的残差图像之间的平均均方误差
可以在DnCNN中作为学习可训练参数的损失函数。
1)深度架构:给定深度为D的DnCNN,有三种类型的层,如图1所示,有三种不同的颜色。
(i) Conv+ReLU:对于第一层,使用大小为3 × 3 × c的64个滤波器来生成64个特征图,然后利用校正的线性单位(ReLU,max(0),)来处理非线性。
(ii) Conv+BN+ReLU:对于层2 ~ (D - 1),使用64个大小为3×3×64的滤波器,并且在卷积和ReLU之间添加批量归一化[28]。
(iii) Conv:最后一层使用大小为3 × 3× 64的c滤波器来重建输出。
2)减少边界伪影:在许多低层视觉应用中,通常要求输出图像的大小与输入图像的大小保持一致。这可能会导致边界伪影。在MLP [31]中,噪声输入图像的边界在预处理阶段被对称填充,而在CSF [17]和TNRD [19]中的每个阶段之前执行相同的填充策略。本文与上述方法不同,在卷积之前直接填充零,以确保中间层的每个特征图与输入图像具有相同的大小。此外,发现简单的零填充策略不会导致任何边界伪影。这一良好的特性可能归功于DnCNN的强大能力。