FFDNet: Toward a Fast and Flexible Solution for CNN based Image Denoising

Abstract

由于快速的推理和良好的性能,判别学习方法在图像去噪中得到了广泛的研究。然而,这些方法大多是针对每个噪声级学习一个特定的模型,对于不同噪声级的图像去噪需要多个模型。它们还缺乏处理空间变化噪声的灵活性,限制了它们在实际去噪中的应用。 为了解决这些问题,我们提出了一种快速灵活的去噪卷积神经网络,即FFDNet,以可调噪声电平图作为输入。所提议的FFDNet适用于下采样子图像,在推理速度和去噪性能之间实现了良好的折衷。 与现有的判别式降噪器相比,FFDNet具有几种理想的性能,包括(i)使用单一网络有效处理各种噪音水平(即[0,75]),(ii)通过指定非均匀噪声水平图来消除空间变化噪声的能力,和(iii)速度比基准BM3D更快,即使在CPU上也没有牺牲去噪性能。在合成的和真实的噪声图像上进行了广泛的实验,以评估FFDNet与最先进的去噪器的比较。结果表明,FFDNet是一种有效的去噪方法,具有较高的实用价值。

I. INTRODUCTION

从许多方面可以揭示低水平视觉中图像去噪的重要性。 首先,在图像感测过程中噪声损坏是不可避免的,并且可能严重降低所获取图像的视觉质量。从观察到的图像中去除噪声是各种图像处理和计算机视觉任务中必不可少的步骤[1],[2]。 其次,从贝叶斯的角度来看,图像去噪是评估图像先验模型和优化方法的理想试验台[3],[4],[5]。最后但并非最不重要的是,在采用变量分割技术的展开推理中,许多图像恢复问题可以通过顺序求解一系列去噪子问题来解决,这进一步拓宽了图像去噪[6]、[7]、[8]、[9]的应用领域。

与以往许多图像去噪[10]、[11]、[12]、[13]的文献一样,本文假设噪声为加性高斯白噪声(AWGN),给出了噪声级。为了解决实际的图像去噪问题,一种柔性的图像去噪器需要具备以下特性:(i)它能够使用单一模型进行去噪;(ii)高效,有效和方便使用者; 和
(iii)它可以处理空间变化的噪音。 当噪声水平已知或可以很好地估计时,可以直接部署这种降噪器以恢复干净的图像。当噪声水平未知或难以估计时,消噪器应允许用户自适应地控制降噪与细节保留之间的权衡。此外,噪声具有空间变异性,降噪器应具有足够的灵活性来处理空间变异性噪声。

然而,目前最先进的图像去噪方法在灵活性和效率上仍然存在局限性。一般来说,图像去噪方法可以分为两大类:基于模型的方法和基于判别学习的方法。基于模型的方法,如BM3D[11]和WNNM[5],在处理各种噪声水平的去噪问题上是灵活的,但也存在一些不足。例如,他们的优化算法通常是耗时的,不能直接用于消除空间变异噪声。此外,基于模型的方法通常采用手工制作的图像先验(例如,稀疏[14],[15]和非局部自相似[12],[13],[16]),这可能不足以表征复杂图像结构。

作为替代方案,辨别性去噪方法旨在从退化和地面真实图像对的训练集中学习基础图像的先验和快速推断。 一种方法是在截断推理过程的背景下学习阶段性图像先验[17]。另一种比较流行的方法是简单的判别性学习,例如基于MLP [18]和基于卷积神经网络(CNN)的方法[19],[20],其中DnCNN [20]方法已经实现了非常有竞争力的去噪性能。CNN用于图像去噪的成功归功于其强大的建模能力以及网络训练和设计的巨大进步。 然而,现有的判别式去噪方法在灵活性方面受到限制,并且所学习的模型通常适合于特定的噪声水平。从回归的角度来看,它们旨在学习输入噪声观察y和期望输出x之间的映射函数x = F(y;Θσ)。 对于具有固定噪声水平σ的AWGN破坏的噪声图像,训练出模型参数Θσ,而具有Θσ的训练模型难以直接部署到具有其他噪声水平的图像。虽然单个CNN模型(即DnCNN-B)在[20]中被训练用于高斯去噪,但它并不能很好地推广到真实的噪声图像,并且只有当噪声水平在预设范围内时才起作用,例如,[0,55]。此外,现有的基于判别学习的方法在处理空间变异噪声方面缺乏灵活性。

为了克服现有基于CNN的去噪方法的缺点,我们提出了一种快速灵活的去噪卷积神经网络(FFDNet)。 具体地,我们的FFDNet被表示为x = F(y; M;Θ),其中M是噪声水平图。在DnCNN模型中,x = F(y;Θσ),参数Θσ随噪声水平σ的变化而变化,而在FFDNet模型中,噪声水平图被建模为输入,模型参数Θ对噪声水平不变。 因此,FFDNet提供了一种灵活的方式来处理单个网络的不同噪声级别。

通过引入噪声水平图作为输入,当噪声水平图与噪声输入的地面实况匹配时,自然期望模型表现良好。 此外,噪声水平图还应起到控制降噪和细节保存之间权衡的作用。研究发现,当设置较大的噪声水平以平滑细节时,可能会导致严重的视觉质量下降。我们强调了这个问题,并在卷积滤波器上采用正交初始化的方法来缓解这个问题。此外,所提出的FFDNet对下采样的子图像进行处理,在很大程度上加快了训练和测试速度,同时也扩大了感受野。

使用AWGN破坏的图像,我们定量比较FFDNet与最先进的去噪方法,包括基于模型的方法,如BM3D [11]和WNNM [5]和基于判别学习的方法,如TNRD [17]和DnCNN[20]。结果清楚地证明了FFDNet在去噪性能和计算效率方面的优越性。此外,FFDNet对由空间变体AWGN破坏的图像执行良好。我们进一步评估FFDNet对真实噪声图像的影响,其中噪声通常依赖于信号,非高斯和空间变化。所提出的FFDNet模型通过设置适当的噪声电平图,仍然能够获得令人信服的结果。总的来说,FFDNet在实际去噪应用方面具有很大的潜力。

我们工作的主要贡献总结如下:

  • 提出了一种快速灵活的去噪网络,即FFDNet,用于判别图像去噪。 通过将可调噪声水平图作为输入,单个FFDNet能够处理不同级别的噪声以及空间变化的噪声。
  • 我们强调了保证噪声电平图在控制降噪和细节保护之间的权衡中的作用。
  • FFDNet对被AWGN损坏的合成噪声图像和真实世界噪声图像都显示出了具有感知吸引力的结果,证明了它在实际图像去噪方面的潜力。

本文的其余部分安排如下。 Sec II回顾了现有的判别式去噪方法。 Sec III介绍了所提出的图像去噪模型。 Sec IV报告了实验结果。 Sec V总结了论文。

II. RELATED WORL

在本节中,我们将简要回顾和讨论与这项工作相关的两大类方法,即,极大后验(MAP)推理指导的判别学习和普通判别学习。

A. MAP Inference Guided Discriminative Learning

这类方法不是首先学习先验然后进行推理,而是通过最小化损失函数来学习先验参数以及紧凑的展开推理[21]。 在专家领域的先驱工作[3]之后,Barbu [21]训练了一个判别性马尔可夫随机场(MRF)模型以及用于图像去噪的梯度下降推断。Samuel和Tappen [22]独立提出了一种紧致梯度下降推理学习框架,并讨论了判别学习优于基于模型的优化方法与MRF先验的优势。 Sun和Tappen [23]提出了一种新的非局部范围MRF(NLR-MRF)框架,并采用基于梯度的判别学习方法来训练模型。一般而言,上述方法仅以辨别方式学习先验参数,而推理参数是阶段不变的。

借助展开的半二次分裂(HQS)技术,Schmidt等[24],[25]提出了一系列收缩场(CSF)框架来学习阶段推理参数。 Chen等[17]通过对紧致梯度下降推断步骤的判别学习,进一步提出了可训练的非线性反应扩散(TNRD)模型。最近,Lefkimmiatis [26]和Qiao等[27]采用了基于梯度的近似去噪推理来从变分模型中引入非局部自相似性先验。 值得注意的是,除了MAP推断之外,Vemulapalli等[28]基于高斯条件随机场(GCRF)推断得出了端到端可训练的基于patch的去噪网络。

MAP推理引导的判别学习通常需要更少的推理步骤,并且在图像去噪方面非常有效。 它还具有清晰的可解释性,因为判别结构源自HQS和梯度下降等优化算法[17],[21],[22],[23],[24]。然而,学习的先验和推理过程受到MAP模型[25]形式的限制,并且通常不如现有技术的基于CNN的降噪器。 例如,CSF [24]的推理不是很灵活,因为它严格来源于专家领域(FoE)框架下的HQS优化。然而,FoE的能力还不足以完全表征图像先验,这反过来又降低了CSF的有效性。基于这些原因,Kruse等人对CSF进行了推广,使用更强大的CNN替换了一些展开推理的模块部分,从而获得更好的性能。

B. Plain Discriminative Learning

普通判别学习方法不显式建模图像先验,而是隐式地学习图像先验的直接映射函数。采用多层感知器(MLP)和神经网络(CNNs)对这些先验进行学习。使用CNN进行图像去噪可以追溯到[19],其中提出了具有S形非线性的五层网络。 随后,基于自动编码器的方法被建议用于图像去噪[30],[31]。 然而,早期基于MLP和CNN的方法在降噪性能方面受到限制,无法与基准BM3D方法竞争[11]。

第一种与BM3D具有可比性能的判别式去噪方法是Burger等人提出的普通MLP方法[18]。 受益于深度CNN的进步,Zhang等人[20]提出了一种普通去噪CNN(DnCNN)方法,该方法实现了最先进的去噪性能。他们表明,残差学习和批量归一化[32]对去噪的成功特别有用。 为了更好地在准确性和速度之间进行权衡,Zhang等[9]引入了一个带有(dilated convolution)扩张卷积的7层去噪网络[33],以扩展CNN的感受野。 Mao等[34]提出了一种非常深度的完全卷积编码 - 解码网络,其具有对称跳过连接以进行图像去噪。Santhanam等[35]开发了一种递归分支反卷积网络(RBDN),用于图像去噪以及通用的图像到图像回归。 Tai等[36]提出了一种非常深的持久存储网络(MemNet),它通过自适应学习过程引入一个存储块来挖掘持久存储器。

普通判别学习优于MAP推理引导的判别学习;但是现有的判别学习方法需要学习多个模型来处理不同噪声水平的图像,无法处理空间上的变异噪声。据我们所知,如何建立一个能够以比BM3D更快的速度处理不同水平噪声甚至空间变异噪声的判别去噪模型仍然是一个有待解决的问题。

III. PROPOSED FAST AND FLEXIBLE DISCRIMINATIVE CNN DENOISER

为了达到以下三个目的,我们提出了一个单独的CNN判别模型,即FFDNet:

  • 速度快:在不牺牲去噪性能的前提下,提高去噪效率。
  • 灵活性:去噪器能够处理不同噪声水平的图像,甚至是空间变化的噪声。
  • 鲁棒性:降噪器在控制降噪和细节保护之间的权衡时,不应引入任何视觉伪影。

本文以可调噪声级映射M为输入,使去噪模型对噪声级具有一定的灵活性。为了提高降噪器的降噪效率,引入可逆下采样算子将大小为WxHxC的输入图像重塑为大小为W/2xH/2x4C的四个下采样子图像。这里C是通道数,即,灰度图像为C = 1,彩色图像为C = 3。为了使噪声级图能够在不引入视觉伪影的情况下,鲁棒控制降噪与细节保留之间的权衡,我们对卷积滤波器采用正交初始化方法。

A. Network Architecture

图1说明了FFDNet的体系结构。 第一层是可逆的下采样操作符,其将有噪声的图像y重新整形为四个下采样的子图像。 我们进一步将可调噪声水平图M与下采样子图像连接以形成尺寸为W/2xH/2x(4C + 1)的张量\tilde{y}作为CNN的输入。 对于具有噪声水平σ的空间不变AWGN,M是均匀映射,其中所有元素都是σ。

以张量\tilde{y}作为输入,以下CNN由一系列3x3个卷积层组成。 每层由三种类型的操作组成:卷积(Conv),整流线性单元(ReLU)[37]和批量归一化(BN)[32]。 更具体地,第一卷积层采用Conv + ReLU,中间层采用Conv + BN + ReLU,最后一个卷积采用Conv。零填充用于在每次卷积后保持特征映射的大小不变。 在最后一个卷积层之后,应用放大操作作为在输入级中应用的下采样操作符的反向运算符,以产生大小为WxHxC的估计清晰图像x。与DnCNN不同,FFDNet不预测噪声。 原因在第III-F节中给出。 由于FFDNet对下采样子图像进行操作,因此不必采用扩张卷积[33]来进一步增加感受野。

通过考虑复杂性和性能的平衡,我们根据经验将卷积层的数量设置为15,用于灰度图像,12用于彩色图像。 对于特征映射的通道,我们为灰度图像设置64,为彩色图像设置96。 我们对灰度和彩色图像使用不同设置的原因是双重的。首先,由于R,G,B信道之间存在高依赖性,因此使用较少数量的卷积层会促使模型利用信道间依赖性。 其次,彩色图像具有更多的通道作为输入,因此需要更多的特征(即,更多的特征图通道)。根据我们的实验结果,增加特征图的数量对彩色图像的去噪性能贡献更大。 使用不同的彩色图像设置,FFDNet可以在不同的噪声水平下通过PSNR带来0.15dB的平均增益。从IV-F节可以看出,彩色图像的12层FFDNet运行速度略慢于灰度图像的15层FFDNet。考虑去噪性能和去噪效率,我们将彩色图像去噪的卷积层数设为12层,特征映射数设为96层。

B. Noise Level Map

我们首先重新审视基于模型的图像去噪方法,以分析它们在处理不同级别噪声时的灵活性,从而有助于我们提高基于CNN的降噪器的灵活性。 大多数基于模型的去噪方法旨在解决以下问题

\hat{x}=argmin_{x}\frac{1}{2\sigma ^{2}}||y-x||^{2}+\lambda\Phi (x)(1)

其中\frac{1}{2\sigma ^{2}}||y-x||^2是具有噪声水平σ的数据保真度项,Φ(x)是与图像先验相关联的正则化项,并且λ控制数据保真度和正则化项之间的平衡。值得注意的是,在实践中λ支配降噪和细节保护之间的妥协。当它太小时,会留下很多噪音;相反,细节会随着噪声的抑制而变得平滑。

对于一些优化算法,公式(1)的解决方案实际上定义了由下式给出的隐式函数

\hat{x}=F(y,\sigma ,\lambda;\Theta )(2)

由于λ可以被吸收到σ中,因此可以将公式(2)重写为

\hat{x}=F(y,\sigma ;\Theta )(3)

从这个意义上讲,设置噪声水平σ也起到设置λ的作用,以控制降噪和细节保存之间的权衡。 总之,通过简单地在等式(3)中指定σ,基于模型的方法可以灵活地处理具有各种噪声水平的图像。

根据以上讨论,自然地利用CNN来学习Eqn(3)的显式映射,其将噪声图像和噪声水平作为输入。 然而,由于输入y和σ具有不同的尺寸,因此不容易将它们直接馈入CNN。受基于patch的去噪方法的启发,实际上为每个patch设置σ,我们通过将噪声水平σ拉伸到噪声水平图M来解决维度不匹配问题。在M中,所有元素都是σ。 结果,Eqn(3)可以进一步改写为

\hat{x}=F(y,M;\Theta )(4)

值得强调的是,对于更一般的噪声模型,M可以扩展到具有多个通道的退化映射,例如RGB颜色空间中具有零均值和协方差矩阵Σ的多变量(3D)高斯噪声模型N(0,Σ)[38]]。因此,期望单个CNN模型继承处理具有不同参数的噪声模型的灵活性,即使空间变化的噪声,通过注意M可以是不均匀的。

C. Denoising on Sub-images

效率是实际CNN去噪的另一个关键问题。 一个简单的想法是减少滤波器的深度和数量。 然而,这样的策略将牺牲很多CNN的建模能力和感受领域[20]。 在[9]中,引入扩张卷积以扩展感受野而不增加网络深度,从而产生7层去噪CNN。 不幸的是,我们凭经验发现具有扩张卷积的FFDNet倾向于在尖锐边缘周围产生伪影。

Shi等[39]提出直接从低分辨率图像中提取深度特征以获得超分辨率,并引入了子像素卷积层以提高计算效率。 在图像去噪的应用中,我们引入了可逆的下采样层,以将输入图像重新整形为一组小的子图像。 这里的下采样因子设置为2,因为它可以在不降低建模能力的情况下大大提高速度。 CNN部署在子图像上,最后采用子像素卷积层来反转下采样过程。

对下采样的子图像进行去噪也可以有效地扩展感受野,这又导致适度的网络深度。例如,建议的网络深度为15和3x3卷积将具有62x62的大感受野。相比之下,普通的15层CNN仅具有31x31的感受野大小。 我们注意到,大多数最先进的去噪方法的感受范围从35x35到61x61 [20]。 感受野的进一步增加实际上对改善去噪性能几乎没有帮助[40]。 更重要的是,子采样和子像素卷积的引入在减少内存负担方面是有效的。

进行实验以验证下采样的有效性,以便在σ= 15和50的BSD68数据集上平衡去噪精度和效率。对于灰度图像去噪,我们训练基线CNN,其具有与FFDNet相同的深度而不进行下采样。 平均PSNR值的比较如下:(i)当σ小(即15)时,基线CNN略微优于FFDNet 0.02dB;(ii)当σ大(即50)时,FFDNet的表现优于基线CNN 0.09dB。但是,FFDNet比基线CNN快3倍,并且对内存更友好。 因此,通过对子图像执行去噪,FFDNet显着提高了效率,同时保持了去噪性能。

D. Examining the Role of Noise Level Map

通过训练具有丰富数据单位(y; M; x)的模型,其中M恰好是y的噪声水平图,当噪声水平与地面实况相匹配时,模型预期表现良好(见图2(a)))。另一方面,在实践中,我们可能需要使用学习模型来使用比地面实例更高的噪声水平图来平滑一些细节(参见图2(b))。换句话说,人们可以利用λ的作用来控制降噪和细节保存之间的权衡。 因此,进一步检查M是否可以发挥λ的作用是非常必要的。

不幸的是,使用M和y作为输入也增加了训练模型的难度。 根据我们在几个学习模型上的实验,该模型可能会产生视觉伪影,特别是当输入噪声水平远高于地面真实模型时(参见图2(c)),这表明M无法控制降噪和细节保存之间的权衡。请注意,这并不意味着所有模型都会遇到此类问题。 避免这种情况的一种可能的解决方案是使卷积滤波器正规化。 作为一种广泛使用的正则化方法,已证明正交正则化在消除卷积滤波器之间的相关性,促进梯度传播和改善学习模型的紧凑性方面是有效的。此外,最近的研究已经证明了正交正则化在提高深度哈希和图像分类应用中的网络泛化能力方面的优势[41],[42],[43],[44],[45]。 根据我们的实验,我们凭经验发现卷积滤波器的正交初始化[43],[46]在抑制上述视觉伪像方面效果很好。

值得强调的是,本节旨在强调保证M在控制降噪和细节保存之间的权衡中的作用的必要性,而不是提出一种方法来避免由噪声水平不匹配引起的可能的视觉伪影。 在实践中,可以重新训练模型,直到M发挥其作用并且不会导致具有较大噪声水平的视觉伪影。

E. FFDNet vs. a Single Blind Model

到目前为止,我们已经知道可以分别学习用于盲和非盲高斯去噪的单个模型。 澄清他们的差异非常重要。

首先,泛化能力不同。 尽管盲模型在不知道噪声水平的情况下有利地进行合成AWGN去除,但是它并不能很好地推广噪声比AWGN复杂得多的真实噪声图像(参见图8中的DnCNN-B的结果)。实际上,由于CNN模型可以被视为方程(1)的推论,数据保真度项对应于退化过程(或噪声模型),降解过程的建模精度对于去噪模型的成功非常重要。例如,对于去除AWGN而训练的模型预计对泊松噪声去除仍然不是有效的。 相比之下,非盲FFDNet模型可以被视为多个降噪器,每个降噪器都以噪声水平为基础。 因此,它能够控制噪声消除和细节保留之间的折衷,这反过来又有助于在一定程度上消除真实噪声(参见图8中的DnCNN和FFDNet的结果)。

其次,AWGN去除的性能是不同的。 具有噪声水平图的非盲模型对于AWGN去除具有比盲目的更好的性能(BSD68数据集的平均增益约为0.1dB),可能是因为噪声水平图为输入提供了额外的信息。 在单图像超分辨率(SISR)[47]的任务中也已经认识到类似的现象。

第三,应用范围不同。 在用于一般图像恢复任务的变量分裂算法中,先前项涉及具有当前噪声水平的去噪子问题[6],[7],[8]。 因此,非盲模型可以很容易地插入到变量分裂算法中,以解决各种图像恢复任务,例如图像去模糊,SISR和图像修复[9],[48]。
然而,盲模型没有这个优点。

F. Residual vs. Non-residual Learning of Plain CNN

已有研究指出,将残差学习与批量归一化结合用于普通CNN,有利于去除AWGN,使训练更加轻松,往往能提供更好的性能[20]。主要原因是残差(噪声)输出服从高斯分布,有利于批量归一化的高斯归一化步骤。去噪网络从这种特定于任务的特性中获益最大,特别是在考虑单一噪声水平的情况下。

在FFDNet中,我们考虑了广泛的噪声水平并引入噪声水平图作为输入。 因此,重新审视普通CNN的残差学习和批量归一化的整合是有趣的。 根据我们的实验,无论普通CNN的残留或非残留学习策略如何,批量归一化总能加速去噪网络的训练。特别是批处理归一化,虽然残差学习的收敛速度快于非残差学习,但经过微调后的最终性能几乎完全相同。最近的一些研究提出,训练非常深的普通网络,其性能几乎与残差学习[44]、[49]相同。实际上,当网络中等深度(例如,小于20)时,通过使用先进的CNN训练和设计技术来训练没有残差学习策略的普通网络是可行的,例如ReLU [37],批量标准化[32]和Adam [50]。 为简单起见,我们不会将残差学习用于网络设计。

G. Un-clipping vs. Clipping of Noisy Images for Training
在AWGN去噪文献中,存在两种广泛使用的设置,即合成噪声图像的非剪切[5],[11],[17],[18]和剪切[24],[28],以评估性能 去噪方法。 两种设置之间的主要区别在于,在添加噪声之后是否将噪声图像限制在0-255(或更精确地,量化为8位格式)的范围内。

一方面,非剪切设置也是最广泛使用的设置,是评估去噪方法的理想试验台。 这是因为大多数去噪方法都假设噪声是理想的AWGN,噪声输入的剪切会使噪声特性偏离AWGN。此外,在用于解决一般图像恢复问题的变量分裂算法中,存在一个子问题,从贝叶斯的角度来看,它对应于高斯去噪问题[9],[48]。 这进一步拓宽了非剪切设置的使用范围。 因此,除非另有说明,否则本工作中的FFDNet指的是在没有剪切或量化的情况下在图像上训练的模型。

另一方面,由于实际噪声图像总是整数值和范围受限,因此有人认为噪声图像的剪切设置使数据更加真实[24]。 然而,当噪声水平很高时,由于剪切效应,噪声将不再为零均值[51]。 这反过来将导致不可靠的降噪器用于插入变量分裂算法以解决其他图像恢复问题。

为了彻底评估所提出的方法,我们还训练了具有噪声图像剪切设置的FFDNet模型,即FFDNet-Clip,用于比较。 在FFDNet-Clip的训练和测试期间,噪声图像被量化为8位格式。 具体来说,对于干净的图像x,我们使用matlab函数imnoise(x,'gaussian',0,(\frac{\sigma }{255})^2)来生成具有噪声水平σ的量化噪声y。

IV. EXPERIMENTS

A. Dataset Generation and Network Training

为了训练FFDNet模型,我们需要准备输入 - 输出对{(y_{i},M_{i};x_{i})}_{i=1}^{N}的训练数据集。 这里,通过将AWGN添加到潜像xi来获得yi,并且Mi是噪声水平图。 使用AWGN生成训练数据集的原因是双重的。 首先,当没有关于噪声源的特定先验信息时,AWGN是一种自然选择。 其次,真实世界的噪声可以近似为局部AWGN [52]。更具体地,FFDNet模型在噪声图像yi = xi + vi上被训练而没有量化为8位整数值。虽然真实的噪声图像通常是8位量化的,但我们凭经验发现,学习的模型仍然可以在真实的噪声图像上有效地工作。 对于FFDNet-Clip,如第III-G节所述,我们使用matlab函数imnoise从干净的图像中生成量化的噪声图像。

我们收集了大量的源图像数据集,包括400个BSD图像,从ImageNet验证集中选择的400个图像[53],以及来自Waterloo Exploration数据库[54]的4,744个图像。 在每个时期,我们从这些图像中随机裁剪N = 128x8000个补丁进行训练。 补丁大小应该大于FFDNet的感受野,我们分别为灰度图像和彩色图像设置为70x70和50x50。通过将噪声水平σ2[0,75]的AWGN添加到干净的补丁来获得噪声补丁。 对于每个噪声补丁,噪声水平图是均匀的。 由于FFDNet是完全卷积神经网络,它继承了局部连接属性,输出像素由局部噪声输入和局部噪声电平决定。 因此,训练的FFDNet自然具有通过指定非均匀噪声水平图来处理空间变化噪声的能力。 为清楚起见,在表I中列出了FFDNet模型的主要规格。

采用ADAM算法[50]通过最小化以下损失函数来优化FFDNet

L(\Theta )=\frac{1}{2N}\sum_{i=1}^{N}||F(y_{i},M_{i};\Theta )-x_{i}||^2(5)

学习率从10^-3开始,当训练误差停止减少时,学习率降低到10^-4。 当训练误差在五个连续的时期中保持不变时,我们将每个批量归一化的参数合并到相邻的卷积滤波器中。 然后,对于额外的50个时期采用较小的学习速率10^-6来微调FFDNet模型。至于ADAM的其他超参数,我们使用它们的默认设置。 小批量大小设置为128,并且在训练期间也采用基于旋转和翻转的数据增强。 FFDNet模型在Matlab(R2015b)环境中使用MatConvNet包[55]和Nvidia Titan X Pascal GPU进行训练。 单个模型的训练可以在大约两天内完成。

为了评估提出的FFDNet降噪器灰度图像去噪,我们使用BSD68 [3]和Set12数据集测试FFDNet去除AWGN噪声,并使用RNI6数据集[56]测试FFDNet去除真实噪声。 BSD68数据集由来自BSD300数据集的单独测试集的68个图像组成[57]。 Set12数据集是广泛使用的测试图像的集合。RNI6数据集包含6个没有地面实况的真实噪声图像。 特别地,为了评估FFDNet-Clip,我们使用量化的Clip300数据集,其包括来自BSD300数据集[57]的100个测试集图像和来自PASCALVOC 2012 [58]数据集的200个图像。 请注意,所有测试图像都不包含在训练数据集中。

至于彩色图像去噪,我们使用四个数据集,即CBSD68,Kodak24 [59],McMaster [60]和“RNI15”[56],[61]。 CBSD68数据集是灰度BSD68数据集的相应颜色版本。 Kodak24数据集由来自原始柯达数据集的大小为500×500的24个中心裁剪图像组成。 McMaster数据集是广泛使用的用于颜色去马赛克的数据集,其包含18个尺寸为500×500的裁剪图像。 与Kodak24图像相比,McMaster数据集中的图像显示出更饱和的颜色[60]。RNI15数据集由15个真实噪声图像组成。 我们注意到RNI6和RNI15涵盖了各种真实噪声类型,例如相机噪声和JPEG压缩噪声。 由于地面实况清洁图像不适用于真实的噪声图像,因此我们仅提供这些图像的视觉比较。 有关FFDNet的源代码及其对多变量高斯噪声的扩展,请访问https://github.com/cszn/FFDNet。

B. Experiments on AWGN Removal

在本小节中,我们测试了由空间不变的AWGN破坏的噪声图像上的FFDNet。 对于灰度图像去噪,我们主要将FFDNet与最先进的方法BM3D [11],WNNM [5],MLP [18],TNRD [17]和DnCNN [20]进行比较。 注意,BM3D和WNNM是基于非局部自相似性先验的两种基于模型的代表性方法,而TNRD,MLP和DnCNN是基于判别性学习的方法。表II和表III分别报告了BSD68和Set12数据集的PSNR结果。 我们还使用两种基于CNN的去噪方法,即RED30 [34]和MemNet [36],以进一步比较。他们在噪声等级为50的BSD68数据集上的PSNR结果分别为26.34dB和26.35dB。 请注意,RED30和MemNet在特定噪声级别上进行训练,效率低于DnCNN。 从表II和表III可以得到以下观察结果。

首先,FFDNet大幅超过BM3D,并且在BSD68上的各种噪声水平下,比WNNM,MLP和TNRD的性能优于0.2dB。 其次,当噪声水平低(例如,σ<=25)时,FFDNet稍差于DnCNN,但随着噪声水平的增加(例如,σ> 25)逐渐优于DnCNN。 这种现象可能是由于接受场大小和建模能力之间的权衡所致。 FFDNet具有比DnCNN更大的感受野,因此有利于去除强噪声,而DnCNN具有更好的建模能力,这有利于对具有较低噪声水平的图像进行去噪。第三,FFDNet在像House这样的图像上胜过WNNM,而在图像Barbara上则不如WNNM。 这是因为Barbara具有丰富的重复结构,可以通过非局部自相似性WNNM方法有效地利用。 图3给出了不同方法的视觉比较。总体而言,FFDNet产生了去噪图像的最佳感知质量。

为了评估FFDNet-Clip,表IV显示了Clip300数据集上与DCGRF [28]和RBDN [35]的PSNR比较。可以看出,具有匹配噪声水平的FFDNet-Clip实现了比DCGRF和RBDN更好的性能,表明FFDNet在剪切设置下表现良好。 我们还在剪切设置的BSD68数据集上测试了FFDNet-Clip,发现PSNR结果类似于具有非剪切设置的FFDNet。

为了评估FFDNet-Clip,表IV显示了Clip300数据集上与DCGRF [28]和RBDN [35]的PSNR比较。 可以看出,具有匹配噪声水平的FFDNet-Clip实现了比DCGRF和RBDN更好的性能,表明FFDNet在剪切设置下表现良好。 我们还在剪切设置的BSD68数据集上测试了FFDNet-Clip,发现PSNR结果类似于具有非剪切设置的FFDNet。

C. Experiments on Spatially Variant AWGN Removal

然后,我们测试FFDNet的灵活性,以处理空间变化AWGN。 为了合成空间变化的AWGN,我们首先生成具有单位标准偏差的AWGN图像v1和相同大小的噪声水平图M. 然后,在v1和M上应用逐元素乘法以产生空间变化AWGN,即v=v_{1}\odot M。在去噪阶段,我们将双线性下采样噪声水平图作为FFDNet的输入。 由于噪声水平图在空间上是平滑的,因此使用下采样噪声水平图通常对最终去噪性能的影响非常小。

图5给出了一个示例,显示了FFDNet对去除空间变化AWGN的有效性。 我们没有将FFDNet与其他方法进行比较,因为没有最新的AWGN去噪方法可以很容易地扩展到处理空间变化AWGN。 从图5中可以看出,具有非均匀噪声水平图的FFDNet具有灵活性和强大性,可以去除空间变化的AWGN。 相反,具有均匀噪声水平图的FFDNet将无法消除具有较高噪声水平的区域处的强噪声,同时平滑具有较低噪声水平的区域处的细节。

D. Experiments on Noise Level Sensitivity

在实际应用中,噪声电平图可能无法从噪声观测中准确估计,输入噪声电平与实际噪声电平不匹配是不可避免的。如果输入噪声电平低于实际噪声电平,则无法完全消除噪声。因此,用户往往喜欢设置较高的噪声水平来消除更多的噪声。然而,这也会去除一些图像细节和噪声。实用的消声器应能承受一定程度的噪声水平不匹配。在本小节中,我们通过对给定的地面真实噪声水平改变不同的输入噪声水平,将FFDNet与基准的BM3D和DnCNN进行比较来评估FFDNet。

图6为BM3D、DnCNN和FFDNet的噪声级灵敏度曲线。不同输入噪声等级的方法(如FFDNet-15表示输入噪声等级为15的FFDNet)在噪声等级为0 - 50的BSD68图像上进行评估。图7显示了通过设置不同的输入噪声水平去噪后,BM3D/CBM3D与FFDNet在视觉上的比较。选取平面区域、锐边、高对比度线和低对比度线四种典型的图像结构进行视觉对比,研究BM3D和FFDNet的噪声级灵敏度。从图6和图7中,我们可以观察到以下现象。

  • 在所有噪声水平上,当输入噪声水平相同时,FFDNet的去噪效果与BM3D和DnCNN相似。
  • 在输入噪声水平固定的情况下,三种方法的PSNR值在地面真值噪声水平较低时趋于不变,在地面真值噪声水平较高时开始下降。
  • 当输入噪声级与地面真值级匹配时,获得了最佳的视觉效果。BM3D和FFDNet在输入噪声较低的情况下产生相似的视觉效果,而在输入噪声较高的情况下则表现出一定的差异。这两种方法都可以平滑平坦区域的噪声,并且随着输入噪声水平的增加,图像结构也会逐渐平滑。特别是FFDNet可以消除一些低对比度的线结构,而BM3D由于使用了非局部信息,无论输入噪声水平如何,仍然可以保持平均patch。
  • 使用较高的输入噪声电平通常比使用较低的输入噪声电平能产生更好的视觉效果。此外,当输入噪声电平略高于地面真值电平时,也没有太大的视觉差异。

根据以上观察,FFDNet在平衡降噪和细节保护方面具有与BM3D和DnCNN相似的噪声级灵敏度性能。当地面真值噪声水平未知时,设置较大的输入噪声水平比设置较低的输入噪声水平更有利于去除具有较好的感知质量的噪声。

E. Experiments on Real Noisy Images

在本小节中,我们使用真实的噪声图像来进一步评估FFDNet的实用性。然而,由于以下原因,这样的评估很难进行。(i)对于真实的噪声图像,地面真值清洁图像和噪声水平都是未知的。(二)真实噪声来自摄像机成像管道(如镜头噪声、放大器噪声和量化噪声)、扫描、有损压缩和图像缩放等多种来源[62]、[63],一般为非高斯的、空间变化的、与信号相关的。因此,许多去噪算法中的AWGN假设不成立,相关的噪声级估计方法对真实的噪声图像效果不佳。

我们不采用任何噪声级估计方法,而是采用交互式策略来处理真实的噪声图像。首先,我们的经验发现,空间不变噪声的假设通常适用于大多数真实的噪声图像。然后我们使用一组典型的输入噪声级来产生多个输出,并选择降噪和细节保留之间的最佳平衡点。其次,大多数真实图像中的空间变异噪声是依赖于信号的。在这种情况下,我们首先对不同颜色的几个典型区域进行采样。对于每个典型区域,我们采用5区间的不同噪声级,通过观察去噪结果来选择最佳噪声级。然后从典型区域的噪声水平中插值其他区域的噪声水平,构成近似的非均匀噪声水平图。我们的FFDNet专注于非盲去噪,并假设噪声级图是已知的。在实际应用中,可以采用一些先进的噪声级估计方法[62]、[64]来辅助噪声级图的估计。在我们接下来的实验中,除非另有说明,我们假设真实的噪声图像具有空间不变噪声。

由于真实噪声图像不存在地真图像,因此采用视觉比较的方法来评价FFDNet的性能。我们选择BM3D进行比较,是因为它被广泛接受作为去噪应用的基准。给定一个噪声图像,对BM3D和FFDNet使用相同的输入噪声级。另一种基于cnn的去噪方法DnCNN和一种盲去噪方法[56]进行了比较。注意,除了针对特定噪声水平的非盲DnCNN模型外,盲DnCNN模型(即, DnCNN-B)噪声级范围为[0,55]也用于灰度图像去噪。对于彩色图像的去噪,采用盲的CDnCNN-B进行比较。

图8对比Noise Clinic、BM3D、DnCNN、DnCNN- b、FFDNet对RNI6图像的灰度图像去噪结果。可以看出,Noise Clinic减少了大量的噪声,但也产生了许多算法诱导的伪影。BM3D, DnCNN和FFDNet产生了更令人愉悦的视觉效果。非盲神经网络模型在去除非awgn真实噪声方面表现较好,而盲神经网络模型在去除非awgn真实噪声方面表现较差。这一现象清楚地说明了非盲模型比盲模型具有更好的泛化能力,可以控制噪声去除和细节保留之间的权衡。值得注意的是,对于含有结构噪声的图像构建,Noise Clinic和BM3D无法去除这些结构噪声,因为结构噪声符合Noise Clinic和BM3D中采用的非局部自相似先验。相反,FFDNet和DnCNN在不丢失底层图像纹理的情况下成功地消除了这些噪声。

图9为噪声诊所、CBM3D、CDnCNN-B、FFDNet对RNI15五幅彩色噪声图像的去噪结果。可以看出,CDnCNN-B对于像图像“Frog”这样带有awgn类噪声的噪声图像效果非常好,仍然无法处理非awgn噪声。值得注意的是,从"boy"的去噪结果来看,CBM3D仍然是结构化的颜色噪声,而FFDNet成功地删除了这种噪声。我们可以得出结论,虽然非局部自相似性在帮助消除随机噪声方面有所帮助,但它阻碍了结构噪声的删除。相比之下,CNN的隐式学习能够消除随机噪声和结构化噪声。

图10进一步显示了FFDNet在RNI15的其他9幅图像上的可视化结果。可见FFDNet可以处理各种各样的噪声,如JPEG有损压缩噪声(见图像Audrey Hepburn)和视频噪声(见图像电影)。

图11示出了更具挑战性的示例,以证明FFDNet用于对具有空间变化噪声的噪声图像进行去噪的优点。 我们选择五个典型区域来估计噪声水平,包括两个背景区域,咖啡区域,牛奶泡沫区域和镜面反射区域。在我们的实验中,我们手动和交互地设置σ= 10用于牛奶泡沫和镜面反射区域,σ= 35用于具有高噪声的背景区域(即绿色区域),并且σ= 25用于其他区域。然后,我们基于估计的五个噪声水平对整个图像插入非均匀噪声水平图。 可以看出,虽然具有小的均匀输入噪声水平的FFDNet可以恢复具有低噪声水平的区域的细节,但是它不能消除强噪声。 另一方面,具有大均匀输入噪声电平的FFDNet可以消除强噪声,但它也可以消除低噪声区域中的细节。 相比之下,具有适当的非均匀噪声水平图的去噪结果不仅保留了图像细节,而且还消除了强噪声。

最后,根据对真实噪声图像的上述实验,我们可以看到用未量化的图像数据训练的FFDNet模型在8比特量化的实际噪声图像上表现良好。

F. Running Time

表VI列出了BM3D,DnCNN和FFDNet的运行时间结果,用于去除尺寸为256x256,512x512和1,024x1,024的灰度和彩色图像。 评估在Matlab(R2015b)环境中在具有六核Intel(R)Core(TM)i7-5820K CPU @ 3.3GHz,32GB RAM和Nvidia Titan X Pascal GPU的计算机上进行。 对于BM3D,我们通过对噪声水平为25的图像进行去噪来评估其运行时间。对于DnCNN,灰度和彩色图像去噪模型分别具有17和20个卷积层。Nvidia cuDNN-v5.1深度学习库用于加速DnCNN和FFDNet的计算。 CPU和GPU之间的内存传输时间也会计算在内。 注意,DnCNN和FFDNet可以用单线程(ST)和多线程(MT)CPU计算来实现。

从表VI中,我们得到以下观察结果。 首先,与灰度图像相比,BM3D花费更多时间去除彩色图像的去噪。 原因在于,与灰度BM3D相比,CBM3D需要额外的时间来对亮度 - 色度颜色变换后的色度分量进行去噪。其次,虽然DnCNN可以从GPU计算中受益以实现快速实现,但它具有与BM3D相当的CPU时间。 第三,FFDNet几乎同时用于处理灰度和彩色图像。 更具体地说,具有多线程实现的FFDNet比CPU上的DnCNN和BM3D快大约三倍,并且比GPU上的DnCNN快得多。 即使使用单线程实现,FFDNet也比BM3D快。 考虑到去噪性能和灵活性,FFDNet在实际应用中非常具有竞争力。

V. CONCLUSION

在本文中,我们提出了一种新的CNN模型,即FFDNet,用于快速,有效和灵活的判别式去噪。 为了实现这一目标,在网络设计和训练中使用了几种技术,例如使用噪声水平图作为输入并在下采样的子图像空间中进行去噪。 使用AWGN对合成图像的结果表明,当输入噪声水平与地面实况噪声水平相匹配时,FFDNet不仅可以产生最先进的结果,但也有能力稳健地控制降噪和细节保存之间的权衡。具有空间变化AWGN的图像的结果验证了FFDNet用于处理不均匀噪声的灵活性。真实噪声图像的结果进一步证明了FFDNet可以提供感知上吸引人的去噪效果。最后,运行时间比较显示FFDNet的速度比其他竞争方法(如BM3D)更快。 考虑到其灵活性,效率和有效性,FFDNet为CNN去噪应用提供了实用的解决方案。

 

  • 3
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值