DRCNN:超越高斯去噪:深度CNN图像去噪的残差学习

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

摘要-基于判别模型学习的图像去噪方法因其良好的去噪性能而备受关注。在本文中,我们通过研究前馈去噪卷积神经网络(DnCNNs)的构造向前迈进了一步,将非常深入的架构、学习算法和正则化方法融入到图像去噪中。具体来说,利用残差学习和批归一化来加速训练过程,提高去噪性能。与现有的判别去噪模型通常在一定噪声水平下训练特定的加性高斯白噪声模型不同,我们的DnCNN模型能够处理未知噪声水平的高斯去噪(即盲高斯去噪)。DnCNN采用残差学习策略,隐式去除隐层中潜在的干净图像。这个特性促使我们训练一个DnCNN模型来处理几种通用的图像去噪任务,如高斯去噪、单幅图像超分辨率和JPEG图像去噪。我们的大量实验证明,我们的DnCNN模型不仅可以在一些通用的图像去噪任务中表现出较高的有效性,而且可以利用GPU计算高效地实现。

I. INTRODUCTION

image去噪是低层次视觉领域一个经典而活跃的课题,因为它是许多实际应用中不可或缺的一步。图像去噪的目标是从有噪声的观测y中恢复一个干净的图像x,它遵循一个图像退化模型y = x + v。一个常见的假设是v是加性高斯白噪声(AWGN),标准差为σ。从贝叶斯的观点来看,当可能性已知时,图像先验建模将在图像去噪中发挥核心作用。在过去的几十年里,各种模型被用于建模图像先验,包括非局域自相似(NSS)模型[1]-[5],稀疏模型[6]-[8],梯度模型[9]-[11]和马尔可夫随机场(MRF)模型[12]-[14]。特别是,在BM3D[2]、LSSC[4]、NCSR[7]和WNNM[15]等最先进的方法中,NSS模型很受欢迎。

尽管去噪质量高,但大多数去噪方法通常存在两个主要缺陷。首先,这些方法通常在测试阶段涉及一个复杂的优化问题,使去噪过程耗时[7],[16]。因此,大多数方法在不牺牲计算效率的情况下很难实现高性能。其次,模型通常是非凸的,并且涉及到一些人工选择的参数,这为提高去噪性能提供了一定的余地 ......

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

我们将提出的去噪卷积神经网络称为DnCNN。DnCNN不是直接输出去噪后的图像@ @ x,而是用来预测残差图像@ @ v,即噪声观察图像和潜在的干净图像之间的差值。也就是说,所提出的DnCNN通过隐层中的操作隐式去除了潜在的干净图像。进一步引入批归一化技术来稳定和提高DnCNN的训练性能。结果表明,残差学习和批归一化可以相互促进,两者的融合可以有效地加快训练速度,提高去噪性能。

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

大量的实验表明,我们在一定噪声水平下训练的DnCNN比BM3D[2]、WNNM[15]和TNRD[19]等最先进的方法能够产生更好的高斯去噪结果。对于未知噪声水平的高斯去噪(即高斯盲去噪),单模型DnCNN仍能优于针对特定噪声水平训练的BM3D[2]和TNRD[19]。将DnCNN扩展到一些通用的图像去噪任务中,也能得到很好的结果。此外,我们展示了仅训练一个DnCNN模型对三种通用图像去噪任务的有效性,即盲高斯去噪、具有多个缩放因子的SISR和具有不同质量因子的JPEG去块

本文的研究成果如下:1)提出了一种端到端可训练的深度CNN去噪算法。相对于现存的基于神经网络的方法直接估计潜在清洁图像,网络采用残差学习策略从噪声观测中去除潜在清洁图像。2)我们发现残差学习和批归一化对CNN学习有很大的好处,因为它们不仅可以加快训练速度,而且可以提高去噪性能。对于具有一定噪声水平的高斯去噪,DnCNN在定量指标和视觉质量方面都优于最先进的方法。3)我们的DnCNN可以很容易地扩展到处理一般的图像去噪任务。我们可以训练单一DnCNN模型进行高斯盲去噪,并获得比针对特定噪声水平训练的竞争方法更好的性能。此外,它有望解决三种常见的图像去噪任务,即盲高斯去噪,SISR和JPEG去噪,只需要一个DnCNN模型。

......

III. THE PROPOSED DENOISING CNN MODEL

在本节中,我们提出了提出的去噪CNN模型,即DnCNN,并扩展了它来处理一些一般的图像去噪任务。一般来说,训练一个深度的CNN模型,对于一个特定的任务,通常包括两个步骤:(i)架构设计和(ii)从训练数据中学习模型。在网络架构设计上,我们对VGG网络[26]进行了修改,使其适合于图像去噪,并根据最先进的去噪方法中使用的有效patch大小来设置网络深度。对于模型学习,我们采用残差学习公式,并将其与批归一化相结合,实现快速训练和去噪性能的提高。最后,我们讨论了DnCNN与TNRD[19]之间的联系,并将DnCNN扩展到一些通用的图像去噪任务。

A.网络深度

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

指出去噪神经网络的感受野大小与去噪方法[30]、[31]的有效贴片大小相关。此外,高噪声水平通常需要更大的有效补丁大小,以捕获更多的上下文信息恢复[41]。因此,通过确定噪声水平σ = 25,我们分析了几种主要去噪方法的有效贴片大小,以指导DnCNN的深度设计。在BM3D[2]中,在一个大小为25 × 25的局部寡妇中自适应搜索了两次非局部相似patch,最终得到有效patch size为49×49。与BM3D类似,WNNM[15]使用更大的搜索窗口,并迭代执行非局部搜索,导致相当大的有效补丁大小(361 × 361)。MLP[31]首先使用大小为39的patch ×39生成预测patch,然后使用大小为9 × 9的filter对输出的patch进行平均,其有效patch大小为47×47。五期CSF[17]和TNRD[19]共涉及10个卷积层,滤波器大小为7×7,有效patch大小为61×61。

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

B. .网络体系结构

DnCNN的输入是一个有噪声的观测y = x +v。判别去噪模型,如MLP [31],CSF[17]的目的是学习映射函数F(y) = x来预测潜在的清洁图像。对于DnCNN,我们采用残差学习公式训练残差映射R(y)≈v,得到x = y−R(y)。形式上,是期望残差图像与噪声输入估计残差图像之间的平均均方误差

1)深度结构:给定深度为D的DnCNN,有三种类型的层,如图1所示,有三种不同的颜色。(i) Conv+ReLU:第一层使用64个大小为3 × 3 × c的滤波器生成64个特征图,然后利用整流线性单元(ReLU, max(0,·))进行非线性处理。这里c表示图像通道数,即对于灰度图像c = 1,对于彩色图像c = 3。(ii) Conv+BN+ReLU:对于层2 ~ (D−1),使用64个大小为3×3×64的滤波器,并在卷积和ReLU之间添加批归一化[28]。(iii) Conv:最后一层使用大小为3 × 3 × 64的c滤波器重建输出。

综上所述,我们的DnCNN模型有两个主要特点:一是采用残差学习公式学习R(y),二是加入批归一化来加快训练速度,同时提高去噪性能。DnCNN将卷积与ReLU结合起来,通过隐藏层将图像结构与噪声观测逐渐分离。这种机制类似于EPLL和WNNM等方法中采用的迭代噪声去除策略,但我们的DnCNN是以端到端方式训练的。之后我们将对剩余学习和批归一化相结合的原理进行更多的讨论

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

C.残差学习与批归一化融合的图像去噪

图1所示的网络既可以训练原始映射F(y)预测x,也可以训练残差映射R(y)预测v。根据[29]可知,当原始映射更像是一个恒等映射时,残差映射将更容易被优化。注意,噪声观测y更像潜在的干净图像x,而不是残留图像v(特别是当噪声水平很低时)。因此,F(y)比R(y)更接近于一个恒等映射,残差学习公式更适合于图像去噪

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

实际上,可以注意到在高斯去噪中,残差图像和批归一化都与高斯分布相关。残差学习和批处理归一化很有可能相互受益高斯去噪。下面的分析可以进一步证实这一点:

一方面,剩余学习得益于批处理归一化。这很简单,因为批处理归一化为cnn提供了一些优点,比如减轻了内部协变量移位问题。从图2可以看出,即使没有批处理归一化的残差学习(绿线)收敛速度很快,但也不如有批处理归一化的残差学习(红线)。

另一方面,批处理规范化得益于剩余学习。如图2所示,在没有残留学习的情况下,批归一化甚至对收敛性有一定的不利影响(蓝色线)。有了残差学习,可以利用批归一化来加速训练,同时提高性能(红线)。注意,每个迷你浴都是一个小的图像集(例如,128)。在没有残差学习的情况下,输入强度和卷积特征与其相邻的输入强度和卷积特征相关,层输入的分布也依赖于每个训练小批中图像的内容。利用残差学习,DnCNN隐式去除潜在的干净图像

隐藏层。这使得每一层的输入都是高斯分布的,相关性较小,与图像内容的相关性较小。因此,残差学习还可以帮助批归一化减少内部协变量移位。

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

猜你喜欢

转载自blog.csdn.net/mytzs123/article/details/126841470
今日推荐