Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising

摘要:

用于图像去噪的判别模型学习由于其有利于去噪性能而最近吸引了相当大的关注。在这篇文章中,我们通过研究前馈去噪卷积神经网络(DnCNN)的结构向前迈进了一小步,将非常深的结构、学习算法和正则化方法使用到图像去噪的过程中。特别是,使用残差学习和批量归一化来加速训练过程和提高去噪性能。与通常在特定噪声水平上训练加性高斯白噪声(AWGN)的特定模型的现有判别去噪模型不同,我们的DnCNN模型能够处理具有未知噪声水平的高斯去噪(即,盲高斯去噪)。使用残差学习策略,DnCNN在隐藏层中清晰的去除了潜在的干净的图像。这个特性激励我们训练单个DnCNN模型处理一般的图像去噪任务,例如高斯噪声、单图像超分辨率和JPEG图像去块。我们大量的实验表明,我们的模型不仅在一般的图像去噪任务上展现了高的效率,而且还可以通过GPU的计算获得有效的实现。

索引条款:图像去噪,卷积神经网络,残差学习,批量归一化

信息提取:提出了一个前馈去噪卷积神经网络(DnCNN)用于图像的去噪,使用了更深的结构、残差学习算法、正则化和批量归一化等方法提高去噪性能。优势是可以处理未知噪声水平的高斯去噪。

1.介绍

图像去噪在低级水平视觉上是一个传统但仍然很活跃的话题,因为在许多实际的应用中是不可或缺的一步。图像去噪的目的是从一个遵循图像劣化模型y=x+v的噪声观察y中恢复数据x。一个常见的假设是v是加性白噪声(AWGN),具有标准偏差。从贝叶斯的观点来看,当可能性已知时,图像的先验建模在图像去噪中将起核心作用。在过去的几十年中,各种模型已经被用于图像先验建模,包括非局部自相似(NSS)模型[1],[2],[3],[4],稀疏模型[4],[5] ,[6],梯度模型[7],[8],[9]和马尔可夫随机场(MRF)模型[10],[11],[12]。

尽管他们具有高的去噪质量,但是大多数基于图像先验方法都有两个缺点。首先,这些方法在测试阶段通常涉及复杂的优化问题,使去噪过程时非常耗时的[6],[13]。因此,大多数基于先验图像先验方法在不牺牲计算效率的情况下很难获得高性能。其次,模型通常是非凸的并且涉及几个手动选择的参数,提供一些余地以提高去噪性能。

为了克服先验方法的局限性,最近开发了几种判别学习方法以在截断推理过程的背景下学习图像先验模型。得到的先验模型能够摆脱测试阶段的迭代优化过程。Schmidt和Roth [14]提出了一种收缩场级联(CSF)方法,该方法将基于随机场的模型和展开的半二次优化算法统一为一个学习框架。陈等人。 [15],[16]提出了一种可训练的非线性反应扩散(TNRD)模型,该模型通过展开固定数量的梯度下降推断步骤来学习改进的专家领域[12]。还有一些其他的相关工作也可以 [17], [18]。尽管CSF和TNRD在弥补计算效率和去噪质量上的差距方面已经取得了好的效果,但它们的性能本质上仅限于先前那种特定的形式。具体而言,CSF和TNRD采用的先验是基于分析模型,这个模型在捕获图像结构整体特征上被限制。此外,通过阶段式贪婪训练以及所有阶段之间的联合微调来学习参数,并且涉及许多手工参数。另外一个不可忽视的缺点是他们针对特定水平的噪音训练特定的模型,并且在盲图像去噪上受限制。

在本文中,我们不是学习具有显式图像先验的判别模型,而是将图像去噪视为一种简单的判别学习问题,即通过前馈卷积神经网络(CNN)将噪声与图像分离。使用CNN的原因有三个方面。第一,具有非常深的架构的CNN[19]在提高利用图像特征的容量和灵活性方面是非常有效的。第二,在训练CNN的正则化和学习方法方面取得了相当大的进展,包括整流器线性单元(RELU)[20],批量归一化[21]和残差学习[22]。这些可以在CNN中采用,以加快训练过程并提高去噪性能。第三,CNN非常适合在现代强大的GPU上进行并行计算,可以利用它来提高运行时性能。

我们将提出的去噪卷积神经网络称为DnCNN。不是直接输出去噪图像,而是将所提出的DnCNN设计成预测残差图像,即噪声观察和潜在干净图像之间的差异。换句话说,所提出的DnCNN通过隐藏层中的操作隐含的移除潜在清洁图像。进一步引入批量标准化技术以稳定和增强DnCNN的训练性能。事实证明,残差学习和批量归一化可以相互受益,并且他们的集成在加速训练和提高去噪性能方面是有效的。

虽然本文旨设计一种更有效的高斯降噪器,但我们观察到当v是地面真实高分辨率图像与低分辨率图像的双三次上采样之间的差异时,高斯降噪的图像劣化模型可以转换为单个图像超分辨率(SISR)问题;类似地,JPEG图像去块问题可以通过将v作为原始图像和压缩图像之间的差异来通过相同的图像劣化模型来建模。从这个意义上讲,SISR和JPEG图像解块可以被视为“一般”图像去噪问题的两种特殊情况,尽管SISR和JPEG解块中,噪声与AWGN有很大不同。很自然地会问是否有可能训练CNN模型来处理这种一般的图像去噪问题?通过分析DnCNN与TNRD之间的联系[16],我们提出扩展DnCNN来处理几种一般的图像去噪任务,包括高斯去噪,SISR和JPEG图像去块。

大量实验表明,我们在一定噪声水平训练的DnCNN可以产生比BM3D[2],WNNM[13]和TNRD[16]等最先进方法更好的高斯去噪效果。对于具有未知噪声水平的高斯去噪(即盲高斯去噪),具有单个模型DnCNN仍然可以胜过BM3D[2]和TNRD[16]针对特定噪声水平进行训练。当扩展到几个一般图像去噪任务时,DnCNN也可以获得有希望的结果。此外,我们展示了针对三个一般图像去噪任务训练单个DnCNN模型的有效性,即盲高斯去噪,具有多个放大因子的SISR,以及具有不同质量因子的JPEG解块。

这项工作的贡献总结如下:

1)我们提出了一种高斯去噪的端到端可训练的深CNN。与现有的基于深度神经网络的直接估计潜在清洁图像的方法相比,网络采用残差学习策略从噪声观察中去除潜在的干净图像。

2)我们发现残差学习和批量归一化可以极大地有利于CNN学习,因为它们不仅可以加速训练,还可以提高去噪性能。对于具有一定噪声水平的高斯去噪,DnCNN在量化指标和视觉质量方面都优于最先进的方法。

3)我们的DnCNN可以轻松扩展,以处理一般的图像去噪任务。我们可以训练单个DnCNN模型进行盲高斯去噪,并且比针对特定噪声水平训练的竞争方法获得更好的性能。此外,有希望解决三个一般的图像去噪任务,即盲高斯去噪、SISR和JPEG去块,只有一个DnCNN模型

在本文的其余部分安排如下。 第二节简要介绍了相关工作。 第三节首先介绍了提出的DnCNN模型,然后将其扩展到一般图像去噪。 在第IV节中,进行了广泛的实验以评估DnCNN。 最后,第五节给出了几个结束语。

信息提取:

  • 图像去噪:从一个由噪声的图像y=x+v中,恢复干净的图像x。
  • 先验建模:
    • 模型:非局部自相似(NSS)模型、稀疏模型、梯度模型、马尔可夫随机场(MRF)模型[
    • 缺点:
      • 1. 测试阶段涉及复杂的优化问题
      • 2. 模型是非凸的,涉及几个手动选择的参数
  • 基于判别学习方法的先验模型:
    • 模型:收缩级联方法(CSF)、非线性反应扩散(TNRD)、
    • 评价:弥补了计算效率和去噪质量上的差距。但是本质上仅限于先前那种特定的形式。
    • 缺点:
      • 1. 捕获图像结构整体特征上被限制
      • 2. 通过阶段式贪婪训练以及所有阶段之间的联合微调来学习参数。涉及许多手工参数
      • 3. 针对特定噪声水平的模型,在盲图像去噪上受限制
  • 图像去噪视为一种判别学习问题:(DnCNN)通过卷积神经网络将图像与噪声分离。
    • 优点:
      • 第一:非常深的结构提高利用图像特征的容量和灵活方面是非常有效的
      • 第二:训练CNN的正则化和学习方面取得了相当大的进展,ReLU、批量归一化、残差学习,提高去噪性能
      • 第三:适合GPU的并行运算。提高运行时的性能

2.相关工作

A. 针对图像去噪的深度卷积神经网络

已经有几次尝试通过深度神经网络来处理去噪问题。在[23]中,Jain和Seung提出使用卷积神经网络(CNN)进行图像去噪,并声称CNN具有与MRF模型相似甚至更好的表示能力。在[24]中,多层感知器(MLP)成功应用于图像去噪。在[25]中,采用堆叠稀疏去噪自动编码器来处理高斯噪声去除并获得与K-SVD相当的结果[5]。在[16]中,提出了一种可训练的非线性反应扩散(TNRD)模型,它可以通过展开固定数量的梯度下降推断步骤来表示为前馈深度网络。在上述基于深度神经网络的方法中,MLP和TNRD可以 实现有希望的性能并且能够与BM3D竞争。然而,对于MLP[24]和TNRD[16],针对特定噪声水平训练特定模型。据我们所知,开发CNN进行一般图像去噪仍然没有进行过研究。

信息提取:已经存在通过深度神经网络来处理去噪问题的模型,如:MLP和TNRD。但是,他们都是针对特定噪声水平训练特定模型。开发CNN进行一般图像去噪仍然没有研究。

B. 残差学习和批量归一化

最近,由于易于访问大规模数据集和深度学习方法的进步,卷积神经网络在处理各种视觉任务方面取得了巨大成功。训练CNN模型的代表成就包括整流线性模型单元(RELU)[20],深度和宽度之间的权衡[19],[26],参数初始化[27],基于梯度的优化算法[28],[29],[30],批量标准化[21]和残差学习[22]。其他因素,如现代强大的GPU的高效训练,也有助于CNN的成功。对于高斯去噪,很容易从一组高质量图像中生成足有的训练数据。这项工作的重点是CNN的图像去噪设计和学习。在下文中,我们简要回顾了与DnCNN相关的两种方法,即残差学习和批量归一化。

1)残差学习:CNN的残差学习[22]最初被提出用于解决性能退化问题,即,即使训练精度随着网络深度的增加而开始降低。通过假设残差映射比原始未引用映射更容易学习,残差网络明确地学习了几个堆叠层的残差映射。利用这种残差学习策略,可以很容易地训练极深的CNN并且已经实现了提高用于图像分类和对象检测的改进的准确性[22]。

提出的DnCNN模型也采用残差学习公式。与使用许多残差单元(即,同一性快捷方式)的残差网络[22]不同,我们的DnCNN使用单个残差单元来预测残差图像。我们通过分析其与TNRD[16]的联系,进一步解释残差公式的基本原理,并将其扩展到解决几个一般图像去噪任务。应该注意的是,在残差网络之前,预测残差图像的策略已经在一些低级视觉问题中采用,例如单图像超分辨率[31]和彩色图像去马赛克[32]。然而,据我们所知,没有直接预测残差图像进行去噪的工作。

2)批量归一化:小批量随机梯度下降(SGD)已被广泛用于训练CNN模型。尽管小批量SGD的简单性和有效性,其内部协变量移位[21]大大降低了其训练效率,即训练期间内部非线性输入的分布的改变。批量归一化被提出,通过在每层中的非线性之前引入归一化步骤和缩放和移位步骤来减轻内部协变量偏移。对于批量归一化,每次激活仅添加两个参数,并且可以使用反向传播更新它们。批量归一化具有几个优点。例如,加快训练速度,更好的性能和对初始化的低灵敏度。有关批量标准化的更多详细信息,请参阅[21]。

到目前为止,还没有研究基于CNN的图像去噪的批量归一化。我们凭经验发现,残差学习和批量归一化的整合可以带来快速稳定的训练和更好的去噪性能。

信息提取:残差学习和批量归一化的优点。他们的整合可以带来快速稳定的训练和更好的去噪性能。

3.DnCNN模型的过程

在本节中,我们提出了所提出的去噪CNN模型,即DnCNN,并扩展它去处理几个一般的图像去噪任务。通常,针对特定任务训练深度CNN模型涉及两个步骤:(1)网络的结构设计(2)从训练数据学习模型。对于网络结构设计,我们修改VGG网络[19]以使其适用于图像去噪,并根据最先进的去噪方法中使用的有效色块大小设置网络的深度。对于模型学习,我们采用残差学习公式,并将其与批量标准化相结合,以实现快速训练和提高去噪性能。最后,我们讨论了DnCNN和TNRD[16]之间的关系,并将DnCNN扩展到几个一般的图像去噪任务。

信息提取:采用VGG网络结构并修改,使用残差学习公式进行网络的学习,并结合批量归一化。

A. 网络深度

按照[19]中的原则,我们将卷积滤波器的大小设置为3x3,但是去除了所有的池化层。深度为d的DnCNN的感受野为(2d+1)x(2d+1)。增加感受野大小可以利用较大图像区域中的上下文信息。为了在性能和效率之间进行更好的权衡,架构设计中的一个重要问题是DnCNN设置适当的深度。

已经指出,去噪神经网路的感受野大小与去噪方法的有效斑块大小相关[23],[24]。此外,高噪声水平通常需要更大的有效补丁大小来捕获更多的上下文信息以进行恢复[34]。因此,通过固定噪声水平\sigma =25,我们分析了几种主要去噪方法的有效斑块尺寸,以指导我们的DnCNN的深度设计。在BM3D[2]中,非局部相似贴片在尺寸为25x25的局部窗口中自适应搜索两次,因此,最终有效贴片尺寸为49x49。与BM3D类似,WNNM[13]使用更大的搜索窗口并迭代的执行非局部搜索,从而产生相当大的有效补丁大小(361x361)。MLP[24]首先使用尺寸为39x39的贴片生成预测贴片,然后采用尺寸9x9的滤波器对输出贴片进行平均,因此,其有效贴片尺寸为47x47.具有五个阶段的CSF[14]和TNRD[16]涉及总共十个卷积层,滤波器尺寸为7x7,并且他们的有效贴片尺寸为61x61。

表I总结了在噪声水平σ= 25的不同方法中采用的有效贴片尺寸。可以看出,EPLL [33]中使用的有效贴片尺寸最小,即36×36。 有趣的是验证具有与EPLL类似的感受野大小的DnCNN是否可以与领先的去噪方法竞争。 因此,对于具有一定噪声水平的高斯去噪,我们将DnCNN的感受野大小设置为35×35,相应的深度为17.对于其他一般图像去噪任务,我们采用更大的感受野并将深度设置为20。

信息提取:根据与其他模型的比较,我们将DnCNN的感受野大小设置为35x35,相应的深度为17。对于其他一般图像的去噪任务,我们将采用更大的感受野并将深度设置为20. 

B. 网络架构

我们的DnCNN的输入是一个噪音观察y=x+v.诸如MLP[24]和CSF[14]之类的判别性去噪模型旨在学习映射函数F(y) = x来预测潜在的清洁图像。对于DnCNN,我们采用残差学习公式来训练残差映射R(y)\approx v,然后我们得到x = y - R(y).形式上,期望的残差图像与来自噪声输入的估计残差图像之间的平均均方误差

l(\theta )=\frac{1}{2N}\sum_{i=1}^{N}\left \| R(y_{i};\theta )-(y_{i}-x_{i}) \right \|_{F}^{2}                                                                       (1)

可以采用损失函数来学习DnCNN中的可训练参数\theta。这里\left \{ (y_{i},x_{i}) \right \}_{i=1}^{N}代表N个噪声-干净训练图像(补丁)对。图1示出了用于学习R(y)的所提出的DnCNN的架构。在下文中,我们将解释DnCNN的体系结构和减少边界伪影的策略。

                  Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising_第1张图片

1)深度架构:给定深度为D的DnCNN,由三种类型的层,展示在图1中有三种不同的颜色。(i) Conv+ReLU:对于第一层,使用64个大小为3\times 3\times c的滤波器被用于生成64个特征图。然后将整流的线性单元(ReLU,max(0,\cdot ))用于非线性。这里的c代表着图像的通道数,即c=1时为灰色图像,c=3时为彩色图像。(ii) Conv+BN+ReLU:对应于层2\sim (D-1),使用64个大小3\times 3\times 64的过滤器,并且将批量归一化加在卷积和ReLU之间。(iii) Conv:对应于最后一层,c个大小为3\times 3\times 64的滤波器被用于重建输出。

总之,我们的DnCNN模型有两个主要的特征:采用残差学习公式来学习R(y),并结合批量归一化来加速训练以及提高去噪性能。通过将卷积和ReLU结合,DnCNN可以通过隐藏层逐渐将图像结构与在噪声观察分开。这种机制类似于EPLL和WNNM等方法中采用的迭代噪声消除策略,但我们的DnCNN以端到端的方式进行训练。稍后我们将更多地讨论将残差学习和批量归一化结合的基本原理。

2)减少边界伪影:在许多低级视觉应用中,通常要求输出图像大小应与输入图像大小保持一致。这可能导致边界伪影。在MLP[24]中,噪声输入图像的边界在预处理阶段被对象填充,而相同填充策略在CSF[14]和TNRD[16]中的每个阶段之前执行。与上述方法不同,我们在卷积之前直接填充0,以确保中间层的每个特征图具有与输入图像相同的大小。我们发现简单的零填充策略不会导致任何边界伪影。这个好的特性可能归因于DnCNN的强大能力。

信息提取:

  • 网络结构:
    • Conv+ReLU:64个大小为的滤波器被用于生成64个特征图。然后将整流的线性单元用于非线性
    • Conv+BN+ReLU:64个大小的过滤器,并且将批量归一化加在卷积和ReLU之间
    • Conv:c个大小为的滤波器被用于重建输出。
  • 特征:采用残差学习公式来学习R(y),并结合批量归一化来加速训练以及提高去噪性能
  • 边界伪影:采用0填充的方法解决了边界伪影

C. 残差学习和批量归一化对图像去噪的整合

图1中所示的网络可用于训练原始映射F(y)以预测x或残差映射R(y)以预测v。根据]22],当原始映射更像识别映射时。残差映射将更容易优化。注意,噪声观察y更像是潜在清洁图像x而不是残留图像v(特别是当噪声水平低时)。因此F(y)将比R(y)更接近于识别映射,并且残差学习公式更适合于图像去噪。

图2显示了在基于梯度的优化算法和网络结构的相同设置下使用这两种学习公式获得的平均PSNR值,有/无批量归一化。注意,采用两种基于梯度的优化算法:一种是具有动量的梯度随机下降算法(即SGD),另一种时Adam算法[30]。首先,我们可以观察到残差学习公式可以导致比原始映射学习更快更稳定的收敛。同时,没有批量归一化,传统SGD的简单残差学习不能与先进的去噪方法竞争,例如TNRD(28.92dB)等方法。我们认为不充分的性能应该归因于训练期间网络参数变化引起的内部协变量变化[21]。因此,采用批量归一化来解决它。其次,我们观察到,通过批量归一化,学习残差映射(红线)收敛速度更快,并且表现出比学习原始映射(蓝线)更好的去噪性能。特别是,SGD和Adam优化算法都可以使具有残差学习和批量归一化的网络具有最佳结果。换句话说,它是残差学习和批量归一化的集成,而不是优化算法(SGD和Adam)导致的最佳去噪性能。

实际上,人们可以注意到,在高斯去噪中,残差图像和批量归一化都与高斯分布相关联。对于高斯去噪,残差学习和批量归一化很可能相互关联(需要指出的是,这并不意味着我们的DnCNN无法很好地处理其他一般的去噪任务。)。通过以下分析可以进一步验证这一点。

              Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising_第2张图片

  • 一方面,残差学习从批量归一化中受益。这很简单,因为批量归一化为CNN提供了一些优点,例如减轻内部协变量偏移问题。从图2中可以看出,即使没有批量归一化的残差学习(绿线)具有快速收敛,它不如批量归一化(红线)的残差学习。
  • 另一方面,批量归一化有益于残差学习。如图2所示,在没有残差学习的情况下,批量归一化甚至对收敛(蓝线)具有一定的不利影响。通过残差学习,可以利用批量归一化来加速训练并提高性能(红线)。注意,每一小批量时一组小的(例如,128个)图像。在没有剩余学习的情况下,输入强度和卷积特征与它们的相邻特征相关联,并且层输入的分布也依赖于每个训练小批量中的图像的内容。通过残差学习,DnCNN隐含地使用隐藏层中的操作移除潜在的干净图像。这使得每层的输入都是高斯分布的,相关性较低,并且与图像内容的相关性较小。因此,残差学习还可以帮助批量归一化以减少内部协变量偏移。

综上所述,残差学习和批量归一化的整合不仅可以加快和稳定训练过程,还可以提高去噪性能。

信息提取:残差学习和批量归一化的整合提高了去噪的质量,加快了训练的速度。

D. 与TNRD的联系

我们的DnCNN也可以解释为一阶段TNRD的推广[15][16]。通常,TNRD旨在从大量的降级清洁训练图像对的集合中训练一个判别器解决如下问题

       \underset{x}{min}\Psi (y-x)+\lambda \sum_{k=1}^{K}\sum_{p=1}^{N}\rho _{k}((f_{k}*x)_{p})                                                                     (2)

这里N表示图像大小,\lambda表示正则化参数,f_{k}*x表示图像x与第k个滤波器核f_{k}的卷积,\rho _{k}(\cdot )表示在TNRD模型中可以调整的第k个惩罚函数。对于高斯去噪,我们设置\Psi (z)=\frac{1}{2}\left \| z \right \|^{2}

第一阶段的扩散迭代可以解释为在起始点y执行一个梯度下降推断步骤,由下式给出: 

x_{1}=y-\alpha \lambda \sum_{k=1}^{K}(\bar{f_{k}}*\o _{k}(f_{k}*y))-\alpha \frac{\partial (\Psi (z))}{\partial z}\mid _{z=0}                                                                              (3)

其中,\bar{f}_{k}是的伴随滤波器(即,\bar{f}_{k}是通过旋转滤波器f_{k}旋转获得的),\alpha对应于步长,并且{\rho}'_{k}(\cdot )=\o _{k}(\cdot )。对于高斯去噪,我们有\frac{\partial (\Psi (z))}{\partial z}\mid _{z=0}=0,并且Eqn.(3)相当于下面的表达式:v_{1}=y-x_{1}=\alpha \lambda \sum_{k=1}^{K}(\bar{f_{k}}*\o _{k}(f_{k}*y))      (4),其中v_{1}是x相当于y的估计残差。

由于影响函数\o _{k}(\cdot )可以被视作逐点非线性应用于卷积特征映射,因此,Eqn.(4)实际上是一个两层的前馈CNN。从图1中可以看出,所提出的CNN架构从三个方面进一步概括了一阶段TNRD:(i) 用ReLU取代影响函数以简化CNN训练;(ii) 增加CNN深度以提高图像特征建模能力;(iii) 与批量归一化相结合以提高性能。与一阶段TNRD的联系提供了解释基于CNN的图像恢复的残差学习的使用的见解。方程(4)中的大多数参数来自方程(2)的先前项的分析。在这个意义上,DnCNN中的大多数参数代表图像先验。

有趣的是,即使噪声不是高斯分布(或高斯的噪声水平未知),如果我们有   \frac{\partial (\Psi (z))}{\partial z}\mid _{z=0}=0(5) 的话。我们仍然可以利用Eqn.(3)获得。注意,Eqn.(5)适用于许多类型的噪声分布,例如广义高斯分布。很自然的认为它也适用于由SISR和JPEG压缩引起的噪声。可以针对若干一般图像去噪任务训练单个CNN模型,例如具有未知噪声水平的高斯去噪,具有多个放大因子的SISR,以及具有不同质量因子的JPEG去块。

Eqn.(4)也可以解释为从劣化观测y中去除潜在清晰图像x以估计残差图像v的操作。对于这些任务,即使噪声分布很复杂,可以预测到我们的DnCNN也会执行,通过逐渐去除隐藏层中的潜在清洁图像来稳定预测残留图像。

E. 扩展到一般图像去噪

现有的判别式高斯去噪方法,如MLP,CSF和TNRD,都训练了固定噪声水平的特定模型[16],[24]。当应用于具有未知噪声的高斯去噪时,一种常见的方法时首先估计噪声水平,然后使用训练有相应噪声水平的模型。这使得去噪结果受到噪声估计精度的影响。另外,这些方法不能应用于非高斯噪声分布的情况,例如SISR和JPEG解块。

我们在第III-D节中的分析显示了DnCNN在一般图像去噪中的潜力。为了证明这一点,我们首先将我们的DnCNN扩展为具有未知噪声水平的高斯去噪,在训练阶段,我们使用来自各种噪声水平(例如,\sigma \in [0,55])的噪声图像来训练单个DnCNN模型。给定其噪声水平属于噪声水平范围的测试图像,可以利用学习的单个DnCNN模型对其进行去噪而不估计其噪声水平。

我们通过学习单个模型来进一步扩展我们的DnCNN,用于几个一般的图像去噪任务。我们考虑三个特定任务,即盲高斯去噪,SISR和JPEG去块。在训练阶段,我们利用来自各种噪声水平的AWGN图像,具有多个放大因子的下采样图像和具有不同质量因子的JPEG图像来训练单个DnCNN模型。实验结果表明,学习的单个DnCNN模型能够为三个一般图像去噪任务中的任何一个产生优异的结果。

4. 实验结果

A. 实验设置

1)训练和测试数据:对于具有已知或未知噪声水平的高斯去噪,我们遵循[16]使用400个大小为180×180的图像进行训练。 我们发现使用更大的训练数据集只能带来微不足道的改进。 为了训练DnCNN进行具有已知噪声水平的高斯去噪,我们考虑三个噪声水平,即σ= 15,25和50.我们将斑块大小设置为40×40,并裁剪128×1,600个斑块来训练模型。我们谈到的对具有特定噪音水平的高斯去噪的DnCNN模型称为DnCNN-S。

为了训练单个DnCNN模型进行盲高斯去噪,我们将噪声水平的范围设置为σ∈[0,55],并将斑块大小设置为50×50。 裁剪128×3,000个补丁以训练模型。 我们将用于盲高斯去噪任务的单个DnCNN模型称为DnCNN-B。

对于测试图像,我们使用两个不同的测试数据集进行全面评估,一个是包含来自伯克利分割数据集(BSD68)[12]的68个自然图像的测试数据集,另一个包含12个图像,如图3所示。 所有这些图像都被广泛用于评估高斯去噪方法,并且它们不包括在训练数据集中。

Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising_第3张图片

除了灰度图像去噪之外,我们还训练盲目彩色图像去噪模型,称为CDnCNNB。 我们使用BSD68数据集的彩色版本进行测试,并采用Berkeley分割数据集中剩余的432个彩色图像作为训练图像。 噪音水平也设置在[0,55]范围内,并且修剪尺寸为50×50的128×3,000个补丁以训练模型。

为了学习三个一般图像去噪任务的单个模型,如[35],我们使用一个数据集,其中包含来自[36]的91个图像和来自伯克利分割数据集的200个训练图像。通过在[0,55]的范围内添加具有特定噪声水平的高斯噪声来生成噪声图像。 SISR输入由第一个双三次下采样生成,然后使用缩减因子2,3和4对高分辨率图像进行双三次上采样.JPEG解块输入是通过使用MATLAB JPEG编码器以5到99的质量因子压缩图像生成的。所有这些图像都被视为单个DnCNN模型的输入。总的来说,我们生成128×8,000图像补丁(大小为50×50)对进行训练。在小批量学习期间使用对补丁对的基于旋转/基于fl的操作。参数用DnCNN-B初始化。我们将这三个一般图像去噪任务的单个DnCNN模型称为DnCNN-3。为了测试DnCNN-3,我们对每个任务采用不同的测试集,详细描述将在第IV-E节中给出。

2)参数设置和网络训练:为了捕获足够的空间信息进行去噪,我们将DnCNN-S的网络深度设置为17,DnCNN-B和DnCNN-3设置为20。方程(1)中的损失函数采用学习残差映射R(y)来预测残差图像v。我们通过[27]中的方法初始化权重,并使用权重衰减为0.0001,动量为0.9和小批量大小为128的SGD。我们为DnCNN模型训练了50代。 在50个代中,学习率从1e-1到1e-4呈指数衰减。

我们使用MatConvNet软件包[37]来训练提出的DnCNN模型。 除非另有说明,否则所有实验均在Matlab(R2015b)环境中进行,该环境在具有Intel(R)Core(TM)i7-5820K CPU 3.30GHz和Nvidia Titan X GPU的PC上运行。 在GPU上分别训练DnCNN-S,DnCNNB / CDnCNN-B和DnCNN-3需要大约6小时,一天和三天。

B. 比较方法

我们将提出的DnCNN方法与几种最先进的去噪方法进行比较,包括两种非局部相似性方法(即BM3D [2]和WNNM [13]),一种生成方法(即EPLL [33])。 ),三种基于判别训练的方法(即MLP [24],CSF [14]和TNRD [16])。 请注意,CSF和TNRD通过GPU实现非常高效,同时提供良好的图像质量。 实施代码从作者的网站下载,默认参数设置用于我们的实验。 我们的DnCNN型号的测试代码可以在https://github.com/cszn/DnCNN下载。

c. 定性和定量分析

BSD68数据集上不同方法的平均PSNR结果如表II所示。 可以看出,DnCNN-S和DnCNN-B都可以获得比竞争方法更好的PSNR结果。 与基准BM3D相比,方法MLP和TNRD具有显着的PSNR增益约0.35dB。 根据[34],[38],很少有方法的表现平均超过BM3D 0.3dB。 相比之下,我们的DnCNN-S模型在三种噪声水平上均优于BM3D 0.6dB。 特别是,即使是没有已知噪声水平的单一模型,我们的DnCNN-B仍然可以胜过针对已知特定噪声水平进行训练的竞争方法。 值得注意的是,当σ= 50时,DnCNN-S和DnCNN-B的性能均优于BM3D约0.6dB,这与[38]中BM3D(0.7dB)的估计PSNR非常接近。

表III列出了图3中12个测试图像的不同方法的PSNR结果。每个噪声水平的每个图像的最佳PSNR结果以粗体突出显示。可以看出,所提出的DnCNN-S在大多数图像上产生最高的PSNR。具体而言,DnCNN-S在大多数图像上的表现优于竞争方法0.2dB至0.6dB,并且仅在两个图像”House“和”Barbara"上无法获得最佳结果,这两个图像由重复结构支配。该结果与[39]中的结果一致:基于非局部均值的方法通常对具有规则和重复结构的图像更好,而基于判别训练的方法通常对具有不规则纹理的图像产生更好的结果。实际上,这是直观合理的,因为具有规则和重复结构的图像与非局部相似性先验很好地匹配;相反,具有不规则纹理的图像会消弱此类特定先验的优点,从而导致较差的结果。

Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising_第4张图片

图4-5展示了不同方法的视觉结果。可以看出BM3D,WNNM,EPLL和MLP倾向于产生过于光滑的边缘和纹理。在保留锐边和细节的同时,TNRD可能惠子啊平滑区域产生伪影。相比之下,DnCNN-S和DnCNN-B不仅可以恢复锋利的边缘和细节,而且还可以在平滑区域产生视觉上令人愉悦的结果。

Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising_第5张图片

 

 

Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising_第6张图片

对于彩色图像去噪,CDnCNN-B和基准CBM3D之间的视觉比较展示于图6-7中,可以看出,CBM3D在某些区域产生假色伪影,而CDnCNN-B可以恢复具有更自然色彩的图像。此外,CDnCNN-B可以生成比CBM3D具有更多细节和更锐利边界的图像。

 Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising_第7张图片

图8显示了相对于DnCNN-B/CDnCNN-B模型的不同噪声水平,BM3D/CBM3D的平均PSNR改善。可以看出,我们的DnCNN-B/CDnCNN-B模型在广泛的噪声水平范围内处理盲高斯噪声的可行性。

                                                Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising_第8张图片

D. 跑程序的时间

除了视觉质量之外,图像恢复方法的另一个重要方面是测试速度。表IV显示了不同方法对256×256,512×512和1024×1024大小的噪声水平25进行去噪的运行时间。由于CSF,TNRD和我们的DnCNN方法非常适合GPU上的并行计算,我们也在GPU上给出相应的运行时间。我们使用Nvidia cuDNNv5深度学习库来加速所提出的DnCNN的GPU计算。与[16]中的一样,我们不计算CPU和GPU之间的内存传输时间。可以看出,所提出的DnCNN早CPU上可以具有相对高的速度,并且比两个判别模型MLP和CSF更快。虽然它比BM3D和TNRD慢,但我们考虑到图像质量的提高,我们的DnCNN在CPU实现方面仍然非常具有竞争力。对于GPU时间,所提出的DnCNN实现了非常吸引人的计算效率,例如,它可以在60ms内对具有位置噪声水平的512x512大小的图像进行去噪,这是相对于TNRD的明显优势。

Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising_第9张图片

E. 三种一般图像去噪任务学习单模型的实验

为了进一步显示所提出的DnCNN模型的容量,针对三种一般图像去噪任务训练单个DnCNN-3模型,包含盲高斯去噪,SISR和JPEG图像去块。据我们所知,现有的方法都没有报告只用一个模型来处理这三个任务。因此,对于每项任务,我们将DnCNN-3与特定的最新方法进行比较。在下文中,我们描述了每个任务的比较方法和测试数据集:

  • 对于高斯去噪,我们使用最先进的Bm3D和TNRD进行比较。BSD68数据用于测试性能。对于BM3D和TNRD,我们假设噪声水平是已知的。
  • 对于SISR,我们训练了每个上升因子的特定模型,而VDSR[35]训练了所有三个上升因子(即2,3和4)的单一模型。我们采用[35]中使用的四个测试数据集(即Set5和Set14,BSD100和Urban100[40])。
  • 对于JPEG图像解块,我们将DnCNN-3与两种最先进的方法进行比较,即AR-CNN[41]和TNRD[16]。AR-CNN方法分别训练了JPEG质量因子10,20,30和40的四个特定模型。对于TNRD,训练了三个用于JPEG质量因子10,20和30的模型。与[41]中一样,我们采用Classic5和LIVE1作为测试数据集。

表V列出了不同一般图像去噪任务的不同方法的平均PSNR和SSIM结果。可以看出,即使我们为三个不同的任务训练单个DnCNN-3模型,它仍然优于非盲TNRD和BM3D进行高斯去噪。对于SISR来说,它大大超过了TNRD,与VDSR相当。对于JPEG图像结块,DnCNN-3在PSNR中优于AR-CNN约0.3dB,并且在所有品质因数上比TNRD具有约0.1dB的PSNR增益。

                              Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising_第10张图片

图9和图10显示了SISR的不同方法的视觉比较。可以看出,DnCNN-3和VDSR都可以产生尖锐的边缘和细节,而TNRD倾向于产生模糊的边缘和扭曲的线条。图11显示了不同的JPEG解块结果。可以看出,我们的DnCNN-3可以恢复直线,而AR-CNN和TNRD容易产生扭曲的线。图12给出另一个示例,以显示所提出的模型的容量。我们可以看到DnCNN-3可以产生视觉上令人愉悦的输出结果,即使输入图像被不同区域中具有不同的若干失真破坏。

Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising_第11张图片

 

 Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising_第12张图片

5. 结论

本文提出了一种深度卷积神经网络用于图像去噪,其中采用残差学习将噪声与噪声观测分离。整合批量归一化和残差学习以加速训练过程并提高去噪性能。与针对特定噪声水平训练特定模型的传统判别模型不同,我们的单个DnCNN模型具有处理盲高斯去噪与未知噪声水平的能力。此外,还提出了训练单个DnCNN模型处理三种一般图像去噪任务的可行性,包括未知的高斯噪声水平,具有多个放大因子的单图像超分辨率,以及具有不同质量因子的JPEG图像解块。大量的实验结果表明,该方法不仅可以定量和定性地产生良好的图像去噪性能,而且通过GPU实现也具有良好的运行时间。

 

 

你可能感兴趣的:(论文)