APP下载

基于多尺度和循环生成对抗的连接式去雨网络

2023-11-08郎晓奇张娟

数据与计算发展前沿 2023年5期
关键词:条纹尺度雨水

郎晓奇,张娟

上海工程技术大学,电子电气工程学院,上海 201620

引 言

众所周知,恶劣天气对于采集的图像和视频质量有一定程度的影响,相较于正常天气而言,其会导致图像和视频质量的下降。主要原因在于恶劣的天气条件易对传感器造成干扰,如遮挡摄像头和折射光线等,进而导致采集到的图像和视频质量下降。对于降雨天气来说,雨水会对图像和视频中信息的获取造成干扰。在使用这种情况下获得的图像和视频进行一系列的计算机视觉任务时,由于雨水条纹信息的存在,会导致所需要进行任务最终结果的精度降低甚至失败,例如目标检测[1]、图像识别[2]、显著性监测[3]和自动驾驶等。因此,如何有效地去除图像和视频中的雨水作为一个重要的研究课题,已经成为其他相关应用和算法中必不可少的步骤,在计算机视觉和模式识别领域得到越来越多的关注。

从数据格式的角度划分,去除雨水的方法可分为两类,基于视频的去雨方法[4-7]和单幅图像去雨方法[8-13]。基于视频的去雨方法当中,可以利用雨水的时间冗余和动态等信息达到清除雨水条纹的目的。与基于视频的方法相比,单幅图像去雨方法缺少参考信息,导致任务难度提升。由于现实中雨水条纹的不规则性和不确定性,单幅图像去雨仍然具有一定程度的挑战性。具体来说,单幅图像去雨的主要任务可以由以下物理模型[9]进行解释,通过去除雨天图像中的雨水条纹,得到清晰的背景图像,公式如下:

为解决这一问题,人们提出了许多不同的方法。早期的单幅图像去雨方法大多基于模型驱动,通过对雨水条纹或背景信息的统计分析进行去雨。基于模型驱动的单幅图像去雨方法包括字典学习[8]、高斯混合模型(Gaussian Mixture Model)[14]和低秩模型(low rank model)[15]。然而,在真实场景当中,雨水条纹的存在会对背景产生一定程度的覆盖并且会对光的折射产生影响。也就是说,雨水条纹信息和背景信息是一个复杂的物理模型,而不仅仅是简单的线性叠加。因此,模型驱动的方法对单幅图像去雨的效果并不理想。

近几年来,深度学习方法在计算机视觉各项任务中的表现优异,发展迅速,与传统方法相比具有显著优势。由于神经网络模型展现出优越的提取特征和重建能力,基于深度学习的图像去雨方法取得了显著进展,逐渐成为了目前用于解决单幅图像去雨任务的主流方法。Yang 等[16]提出了一种联合雨水检测去雨模型。Zhang等[17]使用条件GAN(Generative Adverarial Network)增强无雨图像的色彩和对比度分析,以此恢复清晰的图像。许多不同的方法都通过估计雨水条纹恢复无雨图像,但这些方法[16-20]忽略了物理模型可以用于去雨任务的先验指导。由于雨滴在不同的尺度和位置具有不同的特征,多尺度方法可以被用于更好地提取雨水条纹特征。DCSFN(Deep Cross-scale Fusion Network)[21]和MSPFN(Multi-scale Progressive Fusion Network)[22]使用多尺度信息对结果进行改善,这些方法通过改变感受野(Receptive Field),将不同尺度间的信息有效交换,进而捕捉雨水条纹的不同状态。

本文提出了一种基于雨水条纹检测和图像修复的连接式图像去雨方法。具体来说,本文中的方法通过多个多尺度信息交换模块的叠加有效地传播和交换多尺度信息,从而预测雨水条纹信息。此外,使用门循环单元(Gate Recurrent Unit,GRU)连接这些多尺度模块,GRU能够保留并且利用前面阶段提取出的特征。实验表明,多尺度信息交换模块能够有效地估计雨水条纹。然而,通过多尺度信息交换模块得到的初步去雨后图像与真实图像相比在色彩和一些细节方面仍然存在一定程度的差异。因此,本文在图像修复部分使用循环生成对抗网络,对之前阶段获得的图像进行进一步处理。实验表明,循环生成对抗网络能够提高最终的去雨效果,使最终的图片质量提高。本文所提出的主要贡献如下:

(1)通过多尺度信息交换模块,能够更好地检测雨水条纹信息,使初去雨的图像所含的雨水信息尽可能地减少,便于后续生成对抗网络进行处理。

(2)将循环生成对抗网络与多尺度信息模块连接,通过增加色彩损失,对初去雨图像的色彩信息和细节进行修复,进一步提高去雨性能。

(3)通过在合成数据集和真实图像数据集上进行的大量实验表明,本文方法在单幅图像去雨任务上效果较好。

1 相关工作

1.1 图像去雨

基于视频的降雨方法能够在连续帧之间使用时间信息,与之不同的是单幅图像去雨方法是一个高度不适定问题。无参考的图像去雨只能利用先验知识分析降雨图像,通过建立物理模型获得去雨图像。Kang 等[8]作为单幅图像去雨的先驱,设计了一种基于模型的方法从降雨图像当中提取高频层,并使用字典学习稀疏表示描述雨水条纹的特征。从此出现了许多基于模型的图像去雨算法[8,10,14,23]。在基于模型驱动的图像去雨方法中,认为图像中的雨水噪声主要存在于图像的高频分量当中,低频分量中也存在少量的雨水噪声。Kang 等[8]使用双边滤波器对降雨图像进行分解,将其分解为高频部分和低频部分,高频部分中的“无雨分量”由稀疏编码和学习字典表示,该方法可以有效地去除雨水条纹,但同时会使图像模糊。Luo等[9]对稀疏编码方法进行了改进,将互斥引入区分性稀疏编码当中,使雨水条纹层和背景层的分离得到进一步优化,更好地保留了明显的纹理特征,然而在雨水分布密集的去雨仍然存在雨滴。Zhu 等[10]在背景层提出了两个新的先验,一个基于集中备件表示(centralized spares representation, CSR),另一个基于估计的降雨方向。这些先验知识可以提高去除雨纹的性能,同时保留背景细节;然而,由于算法的局限性,需要手动调整过多的参数才能得到满意的结果。Li 等[24]提出了一种自适应高斯混合模型(GMM)[14]模拟雨水条纹层和背景层,背景层的高斯混合模型是从不同场景的真实图像和清晰图像中推导出来的,选择无背景纹理信息的雨水条纹对高斯混合模型进行训练,该方法可以根据雨的方向和大小检测雨水条纹。总的来说,这些方法可以消除中小型雨水条纹,但不能处理大而尖锐的雨水条纹。

近几年来,随着深度学习广泛应用于计算机视觉任务中,并在图像识别、目标检测和视频处理方面取得了优异的效果,基于神经网络的图像去雨模型发展迅速,许多方法[16,21,25-29]达到了较好的去雨效果。Fu 等[25]提出了用于单幅图像去雨的DetailNet,在DetailNet 中,使用低通滤波器将雨天图像分解为高频和低频图像层,然后在细节(高通内容)中对其进行训练,DetailNet可以直接学习雨水条纹层和背景层之间的映射关系,该方法在实验中取得了很好的效果,但恢复的背景图像并不完美。Yang 等[16]提出联合雨水检测和清除网络,其中雨水检测网络经过训练,通过检测雨水条纹的位置来捕获二元遮罩,而递归神经网络经过训练以清除降雨图案和雨水积累,它在大雨中工作得很好,但它可能会错误地删除垂直纹理信息,并产生令人不快的照明效果。Ren等[30]基于ResNet 开发了一个简单有效的基线。为了从不同尺度提取雨水条纹特征,许多研究者[21,26-28]还开发了一些基于多尺度的去雨方法。多尺度网络可以有效地降低网络在推理和训练过程中的复杂度,并在保持网络深度不变的情况下对结果进行改进。Guo 等[31]将反馈机制与密集跳跃连接相结合,以融合不同级别的特征,获得去雾图像。Jiang等[22]提出了一个多尺度去雨网络,该网络将高尺度信息持续传输到低尺度,并可以在预测雨水条纹时结合不同尺度的特征。

1.2 生成对抗网络

生成对抗网络[32]是目前一种较为流行且使用广泛的深度网络结构体系,它由两个相互对抗的子网络组成,通过GAN 能够有效地生成更加真实的图像。目前,大多数现有的基于GAN 的模型都需要成对的训练数据,获取成对的信息这一需求导致在实践过程中所需要的代价较高。为了解决这一问题,Zhu 等[33]提出了无监督的CycleGAN,CycleGAN使用未成对的图像进行训练,将图像从原域转换到目标域。基于GAN 的方法在各种视觉任务当中取得了较为广泛的应用,例如图像去模糊[34]、图像去雾[35]和图像超分辨率[36]等。

针对图像去雨任务,一些基于GAN 的研究方法也获得了较好的效果。Zhu等[18]提出了一种基于GAN 的无监督端到端对抗性去雨网络,称为Rain Removement GAN(RR-GAN),它仅使用未配对的图像生成逼真的无雨图像。RR-GAN主要包含一个多尺度注意记忆发生器以及多尺度监督鉴别器,因此其结构类似于基于监督的GAN方法。Pu等[37]提出了CycleGAN去雨方法,该方法通过添加反向映射,干净图像生成器能够在保留背景的情况下去除雨水条纹,并添加了通道注意力模块(squeeze-and-excitation module,SE)[38]以过滤出更有效的特征。Qian等[39]提出了一个专注生成对抗网络,通过在生成和判别网络中引入视觉注意力,达到单幅图像去雨的目的。

2 多尺度和循环生成对抗的连接式图像去雨方法

本文提出了一种连接式图像去雨方法将降雨图像转换为相应的无雨图像,通过将多尺度信息交换模块来估计雨水条纹,然后使用循环生成对抗网络对去雨结果进行优化。图1 展示了本文提出方法的整体框架,在生成对抗网络部分当中,G 为初去雨图像转换为清晰图像的生成器,Dy为对应的判别器,F为清晰图像转换为初去雨图像的生成器,Dx为对应的判别器。下面将介绍本文提出的模型结构以及相应的损失函数。

图1 连接式去雨网络网络结构Fig.1 Structure of connected derain network

2.1 多尺度和循环生成对抗的连接式去雨网络

本文将循环生成对抗网络与多尺度融合模块相结合,提出了一种连接式图像去雨方法。本文先使用多尺度信息交换模块,通过添加跨尺度信息通信通道,允许信息在不同尺度上流动,从而更有效地融合多尺度信息;然后,初步的去雨图片进入了一个色彩增强的循环生成对抗网络。

为了提高图像恢复效果,在多尺度信息交换模块的特征传播过程中,本文将每个尺度的信息共享到所有其他尺度。为了获得更高效的多尺度共享结构,多尺度共享降低了网络参数的数量和计算复杂度。在这项工作中,任何中间尺度都可以接收相邻尺度学习到的特征。多尺度卷积函数公式如下所示:

其中,Fi,Yi表示不同尺度的输入和输出,U和P分别代表上采样(up-sampling)和池化(pooling)操作,以便在特定尺度中保持连接。

多尺度共享结构可以使信息在不同尺度间的交换更为流畅,使得每一层的感受野相对更大,能够捕捉更多的信息,并通过增加少量内存和计算复杂性提升相邻尺度之间进行特征共享的性能。随着网络深度的增加,在交换不同尺度的特征时,会导致中间层内部的协变量发生偏移,本文采用了批量归一化层来解决权重分布变化的问题,使得网络更加稳定并且易于收敛。在多尺度信息交换模块之后,通过分析雨纹在不同尺度上存在分布差异,雨纹特征注意融合模块使用雨水空间注意力模块和雨水通道注意力模块,进一步优化不同尺度特征,进而得到初步去雨后的图像。

由于雨水条纹在不同尺度上分布存在一定程度的差异,雨水空间注意力模块通过合并时调整不同尺度上特征的位置,从而使雨条纹的空间信息更加准确,进一步提高了不同尺度之间的特征融合能力。雨水通道注意力模块在特征融合过程中通过从高频通道提取雨水条纹信息,更好地检测高频细节和雨水条纹。

对于经过多尺度信息交换模块初步去雨后的图像,色彩效果以及细节部分相比于真实标签存在一些差异,因此将得到的图像送入后续的循环生成对抗网络中进行进一步地增强。循环生成对抗网络由以下部分组成:(1)两个U-net构成的生成器(两个生成器共享权重);(2)两个由ls-GAN构成的判别器(两个判别器共享权重)。通过循环生成对抗网络将初去雨图像X转换为最终的去雨图像Y。

2.2 损失函数

本网络中损失函数分为两个部分:多尺度信息交换模块部分和循环生成对抗网络部分。在多尺度信息交换部分当中,使用均方误差(MSE loss)作为雨水条纹的主要损失函数,能够获取到粗略的无雨结果和相应的雨水条纹遮盖图像。对于雨水条纹检测:

其中,为估计的雨水条纹遮盖;X,T分别表示输入的有雨图像以及与其相对应的无雨图像真实标签。

均方误差在单幅图像去雨网络中经常使用。然而,由于平方惩罚[40],通常会导致产生过度平滑的视觉效果,因此导致生成模糊的图像。由于真实标签中部分无雨图像块与雨水条的纹理或颜色存在一定程度的相似性,导致相应的平方误差很小,因此很难从这些区域中去除雨残留物。为了有效地降低这种影响,本文添加了新的结构相似性指数(SSIM)损失函数。首先使用与之前相同的均方误差;其次,通过使用SSIM损失促进对于图像当中的高频特征和纹理信息的恢复效果。SSIM损失的计算是通过比较两幅图像之间的结构相似性,而不是通过逐像素计算评判两幅图像之间的差异,并且SSIM 损失对于图像中的高频细节和图像边缘信息更加敏感。损失函数分别表示为:

其中,T,Y分别表示无雨的真实标签和初步去雨后的无雨图像;μT,μY分别表示T,Y的平均值;σT,σY分别表示T,Y的方差;σTY表示T,Y的协方差。c1和c2是SSIM 计算中用于维持稳定的常数。当两张图片完全一样时,SSIM 的值为1,因此LSSIM的值随着相似度的降低而增加。

此部分的总体损失函数为:

在循环生成对抗网络中,损失函数包括对抗损失(adversarial loss)和循环一致性损失(cycle consistency loss)。对抗损失主要应用于两个映射函数当中,以其中一个映射函数G:X→Y及其相对应的判别器DY为例,对应的公式如下:

映射函数G试图生成与目标域Y中的真实样本类似的图像G(X),而判别器DY的目的是区分生成的样本G(X)以及原有的真实样本Y。映射函数G希望通过优化减小的项目与映射函数F希望优化增大的项目相对抗,用公式化的形式可以表现为minGmaxDYLGAN(G,DY,X,Y),对于另一个映射函数G类似表示为minFmaxDXLGAN(F,DX,Y,X)。

通过对抗训练可以学习到映射函数G和映射函数F,使其生成与目标域Y和目标域X相似的样本。然而,当一个网络拥有足够大的容量时,此时输入任何随机排列的图片,它都可以映射到与目标图片相匹配的输出分布。因此说明单独依靠对抗损失得到的映射函数不能使每个单独的输入xi映射到期望得到的输出yi。为了使训练得到的函数映射空间减小,通过训练得到的函数应该具有循环一致性,即数据域X中的每一个样本x在循环周期中能够恢复至原始图像,公式表达为x→G(x)→F(G(x))≈x,对于数据域Y亦是如此。循环对抗损失公式表示为:

循环对抗生成网络部分总体损失为:

其中,σ为确定的数值。

为了使图像的色彩和细节部分恢复的效果得到增强,在对抗损失中增加色彩损失函数(color loss)[41]替代其中原本的单一的均方误差损失函数。色彩损失函数公式如下:

其中,Xb和Yb分别表示X和Y的模糊图像,计算方式为:

二维高斯模糊算子由下式可得:

其中,A=0.053,μx,y=0,σx,y=3。

新的对抗损失函数如下:

3 实验与分析

3.1 训练环境和参数设置

在本文实验中,将提出的方法与一些相关方法进行比较。网络在pytorch 框架下搭建,在NVIDIA GeForce 2080显卡上进行训练。多尺度信息交换模块部分多尺度水平设置为4,通过下采样到1/2、1/4,1/8,初始学习率为0.0005,在第900 和第1,200 个epochs 时以1/5 速率更新两次。总共有1,500 个epochs。超参数设置为:λ1=2,λ2=1,λ3=0.1。循环生成对抗网络部分初始学习率设置为0.0002。超参数设置为:σ=10,μ1=0.2,μ2=1。

3.2 数据集和评价指标

本文实验主要使用合成数据集和真实数据对提出的方法进行评估。合成图像数据集包括:(1)Rain100L[16],包含1,800 对用于训练的小雨图像,200 对用于测试的小雨图像;(2)Rain100H[16],包含相同数量的暴雨图像,用于训练和测试;(3)Rain800[17],包含700 对训练图像,100 对测试图像;(4)Rain12000[42],数据集中包含12,000 张训练图像和1,200 张测试图像。Rain12000 中的有雨图像类型包括大雨、中雨和小雨。为了进一步评估本文方法在真实世界的有雨图像上的性能,本文还收集了一些真实世界的有雨图像进行进一步的实验以评估所提出方法的性能。

对于有真实标签的合成数据集,在对每个图像结果进行评估时采用两种常用的定量指标,即峰值信噪比(PSNR)和结构相似性系数(SSIM)。对于没有真实标签的真实世界有雨图像,只提供视觉效果体现本文方法的性能。

3.3 消融实验

为了验证所提出方法的效率以及对于单幅图像去雨的有效性,本文中设置了几组实验验证本文方法的有效性,所有消融实验均基于Rain100H数据集。

在对雨天图像进行雨水条纹特征提取时,随着网络深度不断加深,单独使用卷积模块可能会导致雨水条纹特征的丢失,因此使用了剩余密集残差块(Residual Dense Block,RDB)加深网络深度,密集连接能够有效地使梯度消失问题得到缓解,还能够增强特征传播,鼓励特征重用,同时能够有效地减少参数量。为了验证有效性,将卷积、剩余残差与多尺度信息交换分别结合用于消融实验,实验结果如表1所示。通过实验结果不难看出,使用RDB进行特征提取时效果最好。

表1 不同特征提取模块组合的消融实验结果Table 1 Ablation experimental results of different feature extraction module combinations

在循环生成对抗网络部分,实验使用色彩损失和均方误差损失进行对抗损失和循环一致性损失函数的计算,因此对于损失函数的消融实验集中在连接式网络的第二部分,本文使用Color loss、MSE loss以及其组合进行了消融实验,最终结果如表2所示。通过对实验结果进行对比,当MSE loss 与Color loss 组合使用时的去雨结果更好。

表2 不同损失函数组合的消融实验Table 2 Ablation experiments with different loss function combinations

本文还设置了关于多尺度信息交换模块和循环对抗生成网络模块的消融实验。实验通过使用单一模块和两个模块连接使用进行实验对比。M1为多尺度信息交换模块,M2为循环对抗生成网络模块。实验结果如表3 所示。通过实验结果可以看出,当多尺度信息交换模块与循环生成对抗网络模块连接使用时去雨结果更佳。

表3 不同模块的消融实验Table 3 Ablation experiments of different modules

3.4 实验结果与分析

本实验对11 种方法进行了对比,其中DerainNet[25](2017)、DetailNet[43](2017)、JORDER[16](2017)、RESCAN[38](2018)、PReNet[30](2019)、SIRR[44](2019)是近几年来具有代表性的效果较好的去雨方法,MSPFN[22](2020)、CycleGAN[39](2017)、RR-GAN[18](2019)是本文提出方法的灵感来源,HINet[45](2021)是最新的在去雨方面取得了良好效果的方法,最后是本文中提出的方法。表4给出了本文所提出的方法与其他方法在4 个数据集上SSIM和PSNR的结果。表中加粗字体表示所有结果中的最优异的数据结果。相比于其他的图像去雨方法,本文的方法在各个数据集上的SSIM 和PSNR 结果均优于其他方法。通过表中的数据能够说明通过本文方法去雨后的图像更加清晰,图像的细节部分更加精细。

表4 不同方法在4个数据集上的SSIM和PSNR平均结果Table 4 The average SSIM&PSNR in four datasets of different methods

如图2所示,展示了不同方法在合成的去雨数据集上的结果。从左到右的图像包括输入图像、真实标签、JORDER、RESCAN、PReNet、MSPFN和本文中所提出的连接式去雨网络的实验结果。结果中对细节部分进行了放大处理以便于观察。通过对不同结果的观察,从去雨效果来看,JORDER 和RESCAN 的去雨效果较差,结果中仍然存在部分雨水条纹,PReNet、MSPFN和本文的方法能够较好地去除图像中的雨水条纹。通过对细节部分的放大观察,不难看出,JORDER、RESCAN、PReNet和MSPFN在图像的细节部分都存在不同程度的缺失,而通过本文方法进行去雨的结果图像在细节部分与清晰图像更为接近。也就是说,本文的方法能够在最大程度去除雨水条纹的情况下对图像信息较好地保留,所获得的图像视觉效果更佳。

图2 不同方法在合成数据集上的去雨结果Fig.2 Rain-sterak removal results on synthetic images

为了证明本文方法的可行性,还对真实世界中获取的雨天图像进行了实验,并取得了良好的效果。图3 展示了本文方法在真实世界雨水图像中的去雨效果和其他方法的去雨结果的对比,从左到右依次是输入图像、RESCAN、PReNet、MSPFN和本文的结果。

图3 真实世界降雨图像的去雨结果Fig.3 Results on real-world rainy images

4 结论

本文提出了用于单幅图像去雨的连接式去雨网络,网络中将多尺度融合网络作为网络的首个模块,通过多尺度信息交换模块提取雨天图像中的雨水条纹信息,通过不同尺度上信息的共享,高效地提取了雨水条纹信息。由于部分图像中雨水条纹对背景信息存在遮挡问题,因此由雨水条纹信息恢复出的图像会导致部分细节信息丢失和色彩信息变化。为了进一步减小初去雨图像与真实图像之间的细节和色彩差距,网络的第二部分使用了循环生成对抗网络,通过循环生成对抗网络模块可以有效地恢复图像纹理部分的丢失以及纠正图像色彩信息的变化。通过连接后的网络在图像恢复细节上更加精细和完善。在合成数据集和真实世界图像上的实验结果表明,本文方法具有较优越的性能。

利益冲突声明

所有作者声明不存在利益冲突关系。

猜你喜欢

条纹尺度雨水
农事 雨水
如果雨水先唤醒清明
财产的五大尺度和五重应对
谁是穷横条纹衣服的人
别急!丢了条纹的斑马(上)
别急!丢了条纹的斑马(下)
神奇的雨水
宇宙的尺度
雨水
条纹,条纹,发现啦