Single Image Deraining: From Model-Based to Data-Driven and Beyond

本文详细探讨了深度学习在图像去雨任务中的进展,包括基于模型和深度学习的方法。从稀疏编码到深度神经网络,尤其是卷积神经网络和生成对抗网络的应用,展示了技术的进步。然而,真实降雨图像的获取困难和模型对复杂降雨条件的适应性不足仍然是挑战。未来的研究方向包括结合物理模型和真实图像,改进雨滴建模以及开发更准确的评估方法。

深度学系虽然在区域的效果上取得了很大的进步,但是他们都是用全监督训练网络,但是却很难找到成对的有雨和无雨图片对,作为训练数据。一般的做法是,使用合成数据进行训练,但是合成雨和真实雨的差异让模型难以达到最好的效果。后来,提出了半监督的和全监督的方法,引入真实降雨图像作为训练数据。

 

 

雨滴的亮度主要是由折射决定的,雨滴主要是通过雨滴的折射产生的。

合成与模型:

1.叠加模型:

O = B + S,
 
2. 屏幕混合模型
O = 1- (1 - B) (1 -S) = B + S S B S,
考虑到在视觉上,雨和背景是相互影响的
3. 雨模型
 
A - 全球大气光照 ,α - 大气折射率 ,s- 雨线层数
同时考虑雨条纹和雨累积(雨雾)
 
4. 遮挡与模型
 
R 依赖映射, β 是否为遮挡雨
将雨条纹分为两种类型:添加到背景层的透明雨条纹和完全遮挡背景层的不透明雨条纹(使用依赖映射表示)
 
 

去雨挑战:

1. 降雨图像建模的困难

在现实世界中,雨可以以多种不同的方式出现。雨带可以在大小、形状、规模、密度、方向等方面有所不同。同样,雨水的积累也取决于不同的水粒子和大气条件。此外,雨的外观也很大程度上依赖于背景场景的纹理和深度。这些都给雨的外观建模带来了困难,从而使得绘制真实的雨图像成为一项复杂的任务。

2. 背景恢复

即使使用只考虑雨条纹的简单降雨模型,从退化的图像中估计背景场景也是一个不确定的问题。原因是我们只有携带雨和背景场景融合信息的光产生的像素强度值。更糟糕的是,在某些情况下,背景信息可能会被雨带或密集的雨点或两者都遮挡住。

3. 很难找到合适的先验信息。

由于rain和背景信息在特征空间中可能会重叠,因此将它们分离开来并不简单。背景纹理可能被错误地认为是雨,导致不正确的deraining。因此,强烈的背景纹理和雨的先验是必要的。然而,找到这些先验是困难的,因为背景纹理是多样的,而且有些与雨点或雨点积累的外观相似。

4. 真实的雨图像与干净的图像对

大多数深度学习方法依赖于成对的雨水和干净的背景图像来训练它们的网络。然而,获取真实的降雨图像及其对精确的干净的背景图像是困难的。即使是静态背景,照明条件也总是变化的。这种困难不仅影响深度学习方法,也影响评估任何方法的有效性。目前,对于定性评价,所有方法都依赖于人对恢复图像是否良好的主观判断;而对于定量评价,目前所有的方法都依赖于合成图像。不幸的是,到目前为止,在合成图像和真实图像之间存在着巨大的差距。


单幅图像的去雨方法

基于模型的方法

稀疏编码

将输入向量表示为基向量的稀疏线性组合。这些基向量的集合称为字典,用于重构特定类型的信号,在去雨问题上的降雨条纹和背景信号。Lin等人[4]通过形态学成分分析对图像进行分解,首次尝试对单幅图像进行去雨。通过字典学习和稀疏编码,将初始提取的雨图像高频分量进一步分解为雨分量和非雨分量。这项开拓性的工作成功地消除了稀疏的小雨条纹。然而,它严重依赖于双边滤波预处理,从而产生模糊的背景细节。

  在后续的工作中,Luo等人[5]加强了雨的稀疏性,并在区分稀疏编码(DSC)中引入了互排他性,以便于精确地将雨/背景层从其非线性复合材料中分离出来。得益于互斥特性,DSC保留了干净的纹理细节;然而,它显示了一些剩余的雨条纹在输出,特别是大的和密集的雨条纹。为了进一步提高建模能力,Zhu等[7]构建了一个迭代层分离过程,从背景层中去除雨纹,并使用特定层的先验从雨纹层中去除背景纹理细节。在定量上,该方法在一些合成数据集上的性能与同期发布的基于深度学习的方法(JORDER[1]和DDN)相当。然而,定性地说,在真实图像上,这种方法往往无法处理暴雨情况,因为雨条纹可能向不同方向移动。

为了对雨纹方向和稀疏性进行建模,Deng等人[17]提出了一个方向群稀疏模型(DGSM),该模型包含三个表示雨纹内在方向和结构知识的稀疏项。能有效去除模糊的雨纹,但不能去除尖锐的雨纹。

高斯混合模型

Li等人[6]使用高斯混合模型(GMMs)对雨和背景层进行建模。背景层的GMMs是从不同背景场景的真实图像中离线获取的。提出从输入图像中选取一个没有背景纹理的雨斑来训练雨层的GMMs。该方法能够有效去除中小尺度的雨纹,但不能处理大的、尖锐的雨纹。

基于深度学习的方法

深度神经网络

深度学习去雨时代从2017年开始。Yang等[1]构建了联合降雨检测与去除网络。它可以处理暴雨、重叠的雨带和雨水积累。该网络可以通过预测二值雨掩膜来检测雨的位置,并采用递归框架来逐步去除雨纹和清除积雨。该方法在暴雨情况下取得了较好的效果。然而,它可能会错误地移除垂直纹理并产生曝光不足的照明。

同年,Fu等人[18,19]尝试通过深层细节网络(DetailNet)去除雨纹。该网络仅以高频细节信息为输入,预测雨图和干净图的残差。研究表明,去除网络输入中的背景信息是有益的,因为这样做可以使训练更容易和更稳定。然而,这种方法仍然不能处理大而尖锐的降雨条纹。

继Yang等人[1]和Fu等人[18,19]之后,许多基于CNN的方法被提出[8,10,20 23]。这些方法采用了更先进的网络结构和注入新的降雨相关先验。在数量上和质量上都取得了较好的效果。但是,由于全监督学习范式的局限性,即使用人工降雨图像,他们在处理一些在训练中从未见过的真实降雨情况时,往往会失败.。

生成对抗网络

为了捕捉一些无法建模和合成的雨的视觉属性,我们引入了对抗式学习来减少生成结果与真实干净图像之间的区域差距。典型的网络架构由两个部分组成:生成器和鉴别器,其中鉴别器试图评估生成的结果是真的还是假的,这提供了一个额外的反馈来规范生成器,以产生更视觉上令人满意的结果。Zhang等[24]直接将条件生成对抗网络(CGAN)应用于单幅图像去雨任务,如图5 (a)所示。CGAN能够捕获信号保真度以外的视觉属性,其结果具有更好的光照、色彩和对比度分布。然而,CGAN有时可能会产生视觉伪影,如果测试的雨图像背景与训练集背景不同

Li等人[13]提出了一种结合物理驱动网络和敌对学习优化网络的单幅图像去去雨方法,如图5 (c)所示。第一阶段从合成数据中学习并估计物理相关成分,即雨条纹、传输和大气光。在第二个细化阶段,提出了深度引导的GAN来补偿丢失的细节,并抑制在第一阶段引入的伪影。

通过对真实降雨数据的学习,这些方法得到的结果的一些视觉属性得到了显著的改善,即更彻底地消除了降雨积累,实现了更均衡的亮度分布。但是,基于gan的方法不能很好地捕捉到细粒度的细节信号,因此这些方法也不能很好地模拟真实雨纹呈现的多样性。

 

半/非监督学习方法

最近,半监督和无监督学习方法尝试通过直接从真实降雨数据中学习来提高通用性和可扩展性。Wei等[25]提出了一种利用合成成对数据和未成对真实数据先验的半监督学习方法,如图6 (a)所示。将输入雨图和网络输出的去雨图之间的残差表示为一个特定的参数化的雨纹分布。在降雨条纹分布模型的指导下,对合成的成对降雨图像进行训练,使模型适应于处理真实场景中的多种降雨。然而,该方法并没有表现出有效的去雨结果,特别是对于真实的降雨图像。这可能是由于他们在训练过程中对网络施加了松散的损失功能。

在[12]中,通过引入自监督约束以及从未配对的rain和clean图像中提取的内在先验,提出了一种无监督去雨的生成对抗网络(UD-GAN),如图6 (b)所示。设计了两个协同模块:一个模块用于检测真实雨图像(真实背景图像)与生成雨图像(生成背景图像)的差异;另一个用来调整生成结果的亮度,使结果更加美观。该方法能够从降雨图像中去除真实的降雨,但不可避免地会丢失一些细节,特别是当降雨条纹密集时。

 

基准

Li等人[26]使用一个新提出的大规模数据集对现有的单一图像去deraining算法进行了广泛的研究和评估,该数据集包括具有各种降雨类型(如雨纹、雨滴和薄雾)的合成和真实降雨图像。基准还包括范围广泛的评价标准,包括不同方法在数量和质量上的结果。

去除附着雨滴

粘在相机镜头上的雨滴会严重降低图像中背景场景的可见度。附着雨滴去除的目的是检测和去除输入图像中的雨滴。去雨不同于附着的雨滴去除,因为雨滴图像并不总是遭受粘附雨滴的影响,反之亦然:,粘附雨滴图像并不总是遭受雨线或雨水的累积影响。然而,为了使调查的完整性,我们在这里简要地讨论一下。

在[57]中,Yamashita等人开发了一种立体系统来探测和去除雨滴。随后,以图像序列代替立体视频,构建了[58]方法。You等[59]提出了一种基于运动的雨滴检测方法,并应用视频补全来去除检测到的区域。Eigen等[27]首次尝试解决单图像雨滴去除的问题。用雨滴退化图像和相应的干净图像对三层CNN进行训练。它可以处理相对稀疏和小的雨滴和灰尘,但它对大的和密集的雨滴不能产生清晰的结果。

最近,Qian et al.[28]通过将视觉注意力注入生成和鉴别网络,开发了一种专注性GAN (AttGAN)[28],如图5 (b)所示。视觉关注不仅能引导判别网络更多地关注恢复后的雨滴区域的局部一致性,还能使生成网络更多地关注雨滴区域周围的上下文信息。

技术发展回顾

在这一节中,我们从网络架构、基本块、损失函数和数据集的角度总结了现有深度存储方法的发展。这些方面显著影响网络的学习能力,从而决定网络的失链性能。

网络结构

自基于深度学习的去雨发表以来[1,19],一系列的方法旨在通过特定的假设/约束和图像处理的一般知识,设计出更有效的网络架构。

Deraining假设/约束

专门针对特定问题的特定网络通常比一般网络表现得更好。为了创建这些特定的网络,需要注入一些关于问题的约束或假设。为了消除偏差,这些假设可以与雨、背景场景或其他信息相关。通过纳入这些假设,一个网络有望更好地了解降雨的特征,从而使雨层与背景层更加牢固地分离。

Fu等[19]假设一幅雨图像可以分解为细节层和基础层,其中细节层包含图像纹理和雨纹(图7 (a)),基础层主要包含背景和雨的积累。因此,提出的网络尝试去除细节层,然后将该层与基础层融合,以获得无雨输出。

Yang等[1]构建了如图7 (b)所示的联合降雨检测与去除网络,依次检测降雨位置、估计降雨密度和预测降雨,提高了网络对降雨和非降雨区域的不同处理能力。Li等[20]对降雨条纹的尺度多样性进行了研究。构建如图7 (c)所示的由并行子网络组成的尺度感知网络,使其能够感知不同尺度的雨条纹,对真实图像具有更好的去雨性能。Zhang等[22]提出了一种密度感知的雨去除方法(DID-MDN),如图7 (d)所示,自动检测雨密度作为连续脱扣的引导信息。

除了与降雨相关的假设,还有一些与背景场景相关的假设。Hu等[16]分析了真实雨中复杂的视觉效果,建立了与场景深度相关的雨成像模型。建立如图7 (e)所示的端到端深度神经网络,提取深度注意特征,并回归残差图,用于预测干净图像。在[23]中,给出了如图7 (f)所示的双CNN,其中两个分支学习对目标信号的两部分的估计:结构和细节。

除了与降雨相关的假设,还有一些与背景场景相关的假设。Hu等[16]分析了真实雨中复杂的视觉效果,建立了与场景深度相关的雨成像模型。建立如图7 (e)所示的端到端深度神经网络,提取深度注意特征,并回归残差图,用于预测干净图像。在[23]中,给出了如图7 (f)所示的双CNN,其中两个分支学习对目标信号的两部分的估计:结构和细节。
在图7 (g)中,模型[29]通过逐像素置信图来学习降雨条纹。该映射用于对反向传播过程中错误估计的像素进行加权,使网络在训练过程中更加关注这些像素。表3中提供了在以前的工作中使用的解链边信息的摘要。

另一种约束是估计的背景层与地面真实值之间的残差的置信信息。在图7 (g)中,模型[29]通过逐像素置信图来学习降雨条纹。该映射用于对反向传播过程中错误估计的像素进行加权,使网络在训练过程中更加关注这些像素。表3中提供了在以前的工作中使用的解链边信息的摘要。在图7 (g)中,模型[29]通过逐像素置信图来学习降雨条纹。该映射用于对反向传播过程中错误估计的像素进行加权,使网络在训练过程中更加关注这些像素。表3中提供了在以前的工作中使用的去雨边缘信息的摘要。

 

图像处理的知识

图像处理文献中的一些思想也可以用于去deraining网络架构的设计,如:多尺度结构、拉普拉斯金字塔、小波变换等。无尺度网络[30]如图8(A)所示,它关注了真实场景中降雨条纹的尺度变化,通过将小波变换展开为递归神经网络,构建了无尺度去雨结构,可处理不同尺度下的各种降雨。以小波变换的层次表示为指导,构建了一个分两阶段的递归网络:1)低频分量的消雨;2)利用恢复的低频分量对高频分量进行周期性细节恢复。金字塔网[11]追求如图8(b)所示的一个轻的网络金字塔,从单一图像中去除雨水。将分解的高斯拉普拉斯图像金字塔与深度网络相结合。通过简化各金字塔层的学习范式,得到的网络变得更浅,参数更少。该模型非常轻量并能达到最先进的性能。

Li等人[31]提出了一种循环网络来逐步去除雨纹,如图8(c)所示。最后一次递归得到的中间结果作为下一次递归的输入,并由RNN单元(如GRU和LSTM)跨递归转发融合特征。Ren等[9]利用递归计算得到更有效的处理,如图8(d)所示。PReNet执行阶段操作,处理输入和中间结果,以逐步生成干净的输出图像。

 

基本块

使用现有的架构

DetailNet[18,19](图9 (a)和(b))引入了用于去除降雨的残差网络和级联CNN。AttGAN[28](图9 (d))利用U-Net作为生成器的基线,可以有效地融合不同尺度的信息,在保持局部细节的同时获取全局信息。RESCAN[31](图9 (h))引入了各通道的注意,以调整各通道之间的相对权重,以便更好地从背景层中分离雨纹。

多流密集网络[22](图9 (g))结合了密集块网络和卷积网络。残差密集网络[30](图9 (i))将密集块集成为残差网络。在[8]中(图9 (k)、(e)),基本块采用递归连接,其中输入特征也被转发到网络的中间特征。在[9]中(图9 (f)),残差块也采用递归的方式聚合,并选择LSTMs来连接不同的递归。

Multi-Path Architectures

多路径网络是一种常见的网络结构。如图9 (c)、(g)、(l)所示,网络具有不同的路径,处理不同的属性。例如:核的大小、膨胀因子和过滤方向,可以收集不同种类的信息。在图9 (c)和(e)中,不同的路径具有不同的接受野,从而既可以获得全局信息,又可以保持局部的结构细节。在图9 (l)中,空间冗余从不同方向聚集形成视觉注意。

递归结构

在[8,9,11,31]中,将递归块按递归方式进行嵌套和聚合,如图9 (f)、(k)、(e)、(i)所示。网络对输入和中间结果进行分段操作,逐步生成输出的干净图像。有时采用不同块的阶段间递归计算来跨块传播信息。

如图9 (j)所示的非局部增强型编解码器网络[10]将非局部操作合并到用于去雨的端到端网络的设计中。非局部操作将空间位置上的特征计算为特定位置范围上的特征的加权和。在[34]中,如图9 (l)所示的空间关注模块使用带有ReLU和单位矩阵初始化的递归神经网络,从四个方向累积全局上下文信息。它利用另一个分支来捕捉空间上下文,选择性地突出转换后的雨特征。

Loss Functions

在现有的去雨方法中,已经提出了几种损失函数来规范去雨网络的训练。

Fidelity-Driven Metrics

大多数研究需要使用信号可靠性驱动矩阵作为损失函数,如均方误差(MSE) (L2)、均方误差(MAE) (L1)和SSIM[41]。它们的定义如下:

其中x和x^分别为ground truth和预测值clean image。µxµx^分别是x和x的平均值。σxσx^分别是x和x的方差。c1和c2是稳定弱分母除法的两个数字。

Rain-Related Loss

将于相关的损失,使用网络的一些输出用于预测降雨相关的变量,例如,在[1]中,该条纹和二进制条纹映射连接到相应的损失如下

where s, sˆ, r and rˆ are the ground truth rain streak, predicted rain streak, ground truth rain mask, and predicted rain mask,
respectively. i indexes the spatial pixel location

 

Multi-Scale Loss

多尺度损失[28]约束不同尺度下的去雨网络

where si indexes the scale, and xsi and xˆsi are the down-sampled versions of x and xˆ with the scaling factor si.
 

Perception-Driven Loss

使用感知损失和对抗性损失[28]可以提高生成结果的感知质量。知觉损失被表述为:

其中F(·)是一个预先训练好的CNN变换。用于去雨网络的对抗性损失表示为:

D(·)是一个鉴别器网络,区分生成的xˆ和地面的真相。

 

Datasets

PERFORMANCE SUMMARY

FUTURE DIRECTIONS

物理模型和真实图像的集成

许多现有的基于学习的方法依赖于合成降雨图像来训练网络,因为获取成对的降雨图像及其精确的地面清洁度是非常困难的。这样的训练方案虽然取得了一定的成功,但为了提高性能,我们需要在训练过程中结合真实的rain图像;否则,网络将永远不会暴露在真实的降雨图像中,从而影响网络在测试阶段的有效性。然而,合并真实的降雨图像会带来问题,因为很难获得成对的干净背景图像。因此,网络学习没有任何损失。为了解决这个问题,我们可能依赖于基于物理的约束。[13]的尝试证明了这一方向的可行性。具体来说,它结合了物理模型和可生成的对抗网络的力量,可以接受不配对的ground-truths。未来将有更多的工作朝着这个方向进行,努力将物理模型与真实降雨图像相结合。

Rain Modeling

目前的合成雨模型只能覆盖有限类型的雨条纹,例如范围、形状、方向等。然而,在实践中,由于许多不同的因素可以影响降雨条件,例如3D环境、距离、风向/风速等,降雨条纹的外观是不同的。目前,在训练中,当捕捉到的雨条纹分布与合成图像不同时,这些方法往往无法很好地去除雨水。[12,25]的研究尝试通过生成模型和非配对学习来建模降雨的出现。然而,观察它们生成的降雨图像,可以明显地看到,它们不像真实的降雨那样多样化,而且它们明显不够真实。后者也会造成问题,因为这意味着在合成的降雨图像和真实的降雨图像之间有很大的差距。

Evaluation Methodology

随着移雨工程的迅速发展,衡量一种方法是否足够有效仍然是一个挑战。如5.2节所示,现有的质量评估方法还远远不能捕捉到人的真实视觉感知。因此,有一个潜在的方向,社区可以更加关注。雨水去除方法的质量评价可以从两个方面来考虑。首先,对于人类视觉而言,应设计度量来模拟降雨和脱轨方法造成的典型变形,并描述人类对不同脱轨结果的偏好。其次,对于机器视觉,我们可以考虑在雨条件下高级视觉任务的性能。MPID数据集通过构建任务驱动的流量检测评估集进行了初步尝试。在未来,我们希望有更多大规模任务驱动的评估集,在更多样化的降雨条件下有更多的应用。

More Related Tasks and Real Applications

当现有的去雨方法应用于实际应用时,有几个因素需要考虑。首先是方法的运行时。目前的方法远不能满足30帧/秒的实时处理要求。如何加速现有方法是未来的挑战。其次,真实的雨图像通常包含更复杂的视觉退化。例如,监控视频被压缩,还包括压缩失真,例如阻塞伪影。有效的去雨方法也需要处理这些问题。第三,存在可能涉及复合退化的情况,如夜间降雨条件、雨滴和雨纹的混合等。检测退化类型并在统一框架中自适应地处理它们将是非常有趣的。

 

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值