Gated Context Aggregation Network for Image Dehazing and Deraining

abstract

图像去雾旨在从模糊图像中恢复未损坏的内容。 我们提出了一种端到端的门控上下文聚合网络,以直接恢复最终的无雾图像,而不是利用传统的低级或手工图像先验作为恢复约束,例如暗通道和增强的对比度。 在这个网络中,我们采用最新的平滑扩张技术来帮助消除由广泛使用的扩张卷积引起的网格伪影,其中可忽略的额外参数,并利用门控子网络融合不同级别的特征。 大量实验表明,我们的方法可以在数量和质量上大大超越以前最先进的方法。 此外,为了证明所提方法的一般性,我们进一步将其应用于图像去雨任务,这也实现了最先进的性能。

1. Introduction

在本文中,我们提出了一种新的端到端门控上下文聚合网络(表示为“GCANet”),用于图像去雾。由于扩张卷积被广泛用于聚合上下文信息的有效性而不牺牲空间分辨率[41,25,36,15,9],我们也采用它来帮助通过覆盖更多邻居像素来获得更准确的恢复结果。然而,原始的扩散卷积将产生所谓的“网格伪影”[36,15],因为当扩张率大于1时,输出中的相邻单元是从输入中的完全独立的集合计算的。最近,[37]以组合方式分析了扩张卷积,并提出平滑扩张卷积,这可以大大减少这种网格伪影。因此,我们也将这一想法融入我们的上下文聚合网络中。如[42,27]所示,融合不同级别的特征通常对低级别和高级别任务都有益。受此启发,我们进一步提出了一个门控子网络来确定不同级别的重要性,并根据它们相应的重要性权重对它们进行融合。 [32]也在其网络中使用门控融合模块,但它们直接融合了不同衍生输入图像的去雾结果而不是中间特征。
为了验证所提出的GCANet的有效性,我们将其与最近的去雾基准数据集RESIDE [23]中的先前最先进的方法进行了比较。 实验表明,我们的GCANet在性质和数量上都大大优于所有以前的方法。 此外,我们进行全面的消融研究,以了解每个组成部分的重要性。 为了显示所提出的GCANet的一般性,我们还将其应用于图像去除任务,该任务还可以获得优于先前最先进的图像去除方法的性能。
总而言之,我们的贡献如下:
我们提出了一种用于图像去雾的新的端到端门控上下文聚合网络GCANet,其中平滑的扩张卷积用于避免网格伪像,并且应用门控子网络来融合不同级别的特征。
实验表明,GCANet可以在性质和数量上获得比先前所有最先进的图像去雾方法更好的性能。 我们还提供全面的消融研究,以验证每个组件的重要性和必要性。
我们进一步将我们提出的GCANet应用于图像去除任务,该任务也优于以前最先进的图像去除方法并展示了一般性...

2. Related Work

我们提出了一种用于图像去雾的端到端门控上下文聚合网络,但与这些方法不同,我们提出的GCANet旨在直接回归模糊图像和目标清洁图像之间的残差。 此外,我们的网络结构明显区别于以前的网络结构,它非常轻巧但可以获得比以前所有方法更好的结果

3.Method

在本节中,我们将介绍所提出的门控上下文聚合网络GCANet的体系结构。 如图1所示,给定一个模糊的输入图像,我们首先通过编码器部分将其编码为特征图,然后通过聚合更多上下文信息并融合不同级别的特征而不进行下采样来增强它们。 具体地,利用平滑的扩张卷积和额外的门子网络。 最终将增强的特征图解码回原始图像空间以获得目标雾度残留。 通过将其添加到输入的模糊图像上,我们将获得最终的无雾图像。


图片.png

平滑扩张卷积
现代图像分类网络[21,33,18]通常通过连续汇集和子采样层来整合多尺度的文本信息,这些图层会降低分辨率,直到获得全局预测。 然而,对于像分割这样的密集预测任务,矛盾是在下采样期间所需的多尺度上下文推理和丢失的空间分辨率信息。 为了解决这个问题,[41]提出了一种新的扩张卷积层,它支持感受野的指数扩展而不会损失分辨率或覆盖范围。 在一维情况下,给定1-D输入f,具有内核大小k的常规卷积层w的输出为:


图片.png

其中一个输出点覆盖总k个输入点,因此感受野为k。 但是对于扩张的卷积,它可以被视为“带有扩张滤波器的卷积”,可以表示为:
图片.png

其中r是扩张率,当r = 1时,扩张卷积将退化为规则卷积。为了以直观的方式理解扩张卷积,我们可以将其视为在两个相邻w的权重之间插入r-1个零。 以这种方式,扩张的卷积可以将原始感受野从k增加到r *(k-1)+ 1而不降低分辨率。
尽管扩张卷积的有效性,它将产生所谓的网格伪影,这在以前的论文中也被注意到[36,15]。 为了更清楚地理解这个问题,最近的一项工作[37]以组合方式分析了扩张卷积。 网格伪像的图示在图2中示出,其中分析了一个膨胀的卷积层的情况,其中r = 2,k = 3。 考虑下一层的四个相邻像素,它们和前一层中的相关单元分别用四种不同的颜色标记。 我们可以很容易地发现这四个neighor像素与前一层中完全不同的先前单元集相关。 换句话说,在扩张卷积中输入单元或输出单元之间没有依赖性。 这就是它可能导致不一致的原因,即网格伪像。
为了缓解它,[37]建议通过添加额外的内核大小卷积层(2r-1),在扩张卷积之后在扩展卷积或输出单元之间添加交互。 在本文中,我们选择默认添加输入单元的依赖关系。 需要注意的是,[37]采用可分离的共享卷积作为额外的卷积层而不是香草卷积层。 “可分离”表示来自[8]的可分离卷积概念,而“共享”表示所有通道共享卷积权重。 这样,这个特殊的卷积层具有恒定的参数大小(2r-1)2,它与特征通道号无关。 图2是平滑扩张卷积的一个例子。


图片.png

[37]中扩张卷积的网格伪影和提出的平滑扩张卷积的图示:下一层i中的四个不同点由不同颜色表示,可以看出它们与先前层的完全不同的单元集相关 ,这可能会导致网格伪影。 相比之下,平滑的扩张卷积在扩张卷积之前增加了输入单元之间的依赖性,具有额外的可分离和共享卷积层。
门控融合子网如[27,42]所示,融合不同级别的功能通常对低级别和高级别任务都有益。 为了实现这个想法,[27]使用特征金字塔来融合所有尺度的高级语义特征映射,[42]利用密集连接的网络。 在本文中,我们通过结合额外的门控融合子网络G采用不同的方式。具体地,我们首先从不同级别F l,F m,F h提取特征图,并将它们馈送到门控融合子网络中。 门控融合子网的输出是三个不同的重要性权重(M l,M m,M h),它们分别对应于每个特征级别。 最后,来自不同级别的这三个特征映射F l,F m,F h与回归的重要性权重线性组合。
图片.png

组合的特征映射F o将进一步馈入解码器以获得目标雾度残余。 在本文中,我们的门控融合子网仅由一个内核大小为3x3的卷积层组成,其输入是F l,F m,F h和输出通道号的串联。
网络结构遵循[20,10,9]中的类似网络设计原则,我们的整体网络结构也被设计为简单的自动编码器,其中在编码器和解码器之间插入七个残余块以增强其学习能力。具体地说,首先使用三个卷积层将输入的模糊图像编码成特征图作为编码器部分,其中只有
最后一个卷积层将特征映射下采样1/2次。对称地,使用具有步幅1/2的一个去卷积层来将特征图上采样到解码器部分中的原始分辨率,然后以下两个卷积层将特征图转换回图像空间以获得最终目标雾度残余。对于中间残差块,我们将它们称为“平滑扩张的重新分块”,因为我们已经用所谓的平滑扩张卷积层替换了所有原始的常规卷积层。扩张率
这7个残差块分别设为(2,2,2,4,4,4,1)。为了在性能和运行时间之间取得良好的折衷,我们将所有中间卷积层的通道数设置为64.注意,除了最后一个卷积层和平滑扩张卷积层中的每个额外可分离和共享卷积层,我们把每个卷积层之后的实例标准化层[35]和ReLU层。在实验部分,我们将显示实例标准化比图像除雾任务的批量标准化更合适。
如[10,9]所示,除了输入图像之外,预先计算输入图像的边缘并将它们作为辅助信息馈送到网络中对网络学习非常有帮助。 因此,默认情况下,我们也采用这个简单的想法,并将预先计算的边缘与沿着通道维度的输入模糊图像连接起来作为GCANet的最终输入。

损失函数在先前基于学习的图像去雾方法[3,31,22,24,42,44]中,采用简单的均方误差损失。 遵循相同的策略,我们默认使用这种简单的损失。 但与这些方法不同,我们的学习目标是无雾图像和输入模糊图像之间的残差:


图片.png

其中r和r分别是基本事实和预测的雾霾残留物。 在运行时,我们将r添加到输入模糊图像上以获得最终预测的无雾图像。 需要强调的是,设计更好的损失函数不是本文的重点,但我们提出的GCANet应该能够推广到更好的设计损失。 例如,[24,42,44]发现感知损失[20],并且GAN损失可以改善最终的除雾结果。 然而,即使只有上述简单的损失,我们的方法仍然可以达到最先进的性能。

你可能感兴趣的:(Gated Context Aggregation Network for Image Dehazing and Deraining)