APP下载

基于生成对抗网络去除单张图像中的雨滴

2020-07-10蒙佳浩王东骥帅天平

软件 2020年5期
关键词:雨滴残差注意力

蒙佳浩,王东骥,帅天平

(1. 北京邮电大学 理学院,北京 100876;2. 中国科学院大学 人工智能学院,北京 100876)

0 引言

附着在挡风玻璃,相机镜头或者玻璃窗上的雨滴会妨碍图像背景场景的可见性,降低了图像的质量。主要是因为雨滴区域所包含的图像与没有雨滴的图像不同,从而发生了图像的退化。与非雨滴区域不同,由于雨滴的形状类似于鱼眼镜头,雨滴区域来自更宽环境的反射光线形成。此外,在大多数情况下,相机的焦点位于背景场景上,使雨滴的外观模糊不清。

给定带有雨滴的退化图像,模型的目标是去除雨滴并产生干净的背景图像。这将有益于图像处理和计算机视觉应用,特别是对于那些正在遭受雨滴,污垢或类似伪影的影响的人。为了解决类似退化问题[1-2],已经提出了一些方法来解决雨滴检测[3-4]问题,但这些方法并不能去除雨滴。部分学者采用视频[5]和专门设计的光学快门检测和探测雨滴,但这种方法并不适用于由普通相机拍摄的单个输入图像。

目前卷积神经网络在图像处理领域[6-8]表现出卓越的表现。Eigen等人[9]通过深度学习的方法去除单张图像上的雨滴或者污垢,然而该方法只能处理含有少量雨滴和污垢的图像,并且产生相对模糊的输出。Qian等人[10]在同样采用相似的深度学习方法,提出了注意力生成对抗网络,即Attentive GAN。该方法使得图像的还原效果更加出色,并且能够处理带有更多雨滴的退化图像,然而其生成的图像细节不够饱满。受到 Ledig等人[11]在图像超分辨工作上的启发,他们使用生成对抗网络进行自然图像的超分辨工作,提出感知损失,使得生成图像具有饱满的细节和纹理。由于去除图像中雨滴的工作与单张图像的超分辨工作具有类似的特点,那么感知损失同样能在去除雨滴的工作中产生优秀的结果。正如图1所展示出来的,分别是将我们的方法与目前最好的 Attentive GAN相比较,虽然两种方法都能够很好的去除图像中的雨滴,不过通过图像中树木的放大效果来看,我们的方法更好的对树木的色彩以及细节纹理更好的进行了还原,视觉很明显的可以感知到生成的树木颜色更加逼真,细节更加丰满。

图1 我们的方法与目前最好的Attentive GAN的效果对比Fig.1 Comparison of our method with the best attentive GAN

1 网络选取

目前,众多工作表明网络在图像生成,图像分类和特征提取等工作中表现出优秀品质,那么该网络在去雾去雨方面同样能有优秀的表现。其中,生成对抗网络[12]和残差网络[13]可以成功的应用于去雾去雨[14]的工作。

1.1 生成对抗网络

参考GoodFellow等人的工作,本文定义一个判别器网络 DθD,它与生成器网络 GθG交替优化,用来解决对抗最小最大问题:

其中θG和θD分别代表生成器和判别器的参数,IGT和Irain分别代表不带有雨滴的原始自然图像和带有雨滴的退化图像。该方法的总体思想是,它允许人们训练生成模型 G,其目的是欺骗能够区分真实图像和生成图像的鉴别器D。通过这种方法,生成器可以学习创建与真实图像高度相似的图像。这促使生成图像具有更高的视觉感知效果。

1.2 残差网络

该网络的主要思想是使用残差学习框架来缓解非常深层的网络的训练压力。令单个图像 x0穿过一个L层的卷积网络。每一层对应着一个非线性变换Hl(⋅),其中l代表层数的索引。令 xl作为第l层的输出。传统的神经网络通常将第l层的输出 xl作为第 l +1层的输入,可以表示为 xl+1= Hl+1(xl)。与传统的卷积神经网络不同,残差网络实现了一个残差块,该残差块将输入与该卷积层的输出进行加和,其中输出可表示为: xl+1= Hl+1(xl)+ xl。此过程可缓解训练过程中的收敛问题。残差网络的结构如图 2所示。

图2 残差块结构示意图Fig.2 Example of residual block

1.3 注意力网络

视觉注意力模型已经被应用于图像定位目标区域,从而捕获目标区域的区域特征,该想法被应用于视觉识别和图像分类[15-16]。该网络主要由残差块,卷积长短期记忆单元以及卷积层构成。其中残差块主要用来提取输入图像的特征,而卷积长短期记忆单元和卷积层则用来生成一张2维的注意力图像。残差块的主要思想和构成正如 1.2中所介绍的,卷积长短期记忆单元包括一个输入门tI,一个遗忘门tF,一个输出门tO以及一个状态单元tS。沿着时间维度,状态和每个门在时刻 t的交互可用下面的公式进行表示:

其中 Xt是经过残差网络提取得到的特征图,St将被输入到下一层的长短期记忆单元中, Ht则表示长短期记忆单元的输出。Si× Wi× Hi和b表示相应的权重和误差。运算符*表示卷积操作,运算符⊙表示逐像素点相乘。最终 Ht经过卷积操作,便得到了一张2维注意力图像。该网络可帮助模型捕捉图像中更加需要关注的信息。注意力网络的结构如图 4生成器左边部分所示。

2 方法

2.1 网络结构

本文将生成对抗网络作为主要的模型架构,残差网络和卷积的长短期记忆单元作为基本组成模块。生成器主要由两个子网络构成:带有注意力机制的递归网络和残差U-Net[17]网络。带有注意力机制的递归网络的主要目的是在输入图像中寻找需要引起注意的区域,在实验中我们将递归的次数设置为4次。这里我们主要参考了Qian等人的工作,在每一次递归模型中学习得到一个Mask,这是一个注意力图,它是一个值在 0-1之间的矩阵,值越大,对应着更大的注意力,它表示从非雨滴区域到雨滴区域递增的注意力,递增的注意力是非常有意义的,这些区域主要是雨滴覆盖的区域,以及雨滴覆盖区域周围的图像结构,这些区域是接下来残差 U-Net网络要去关注的区域。

在Qian等人的工作中,已经通过丰富的实验表明,注意力图对于去除雨滴具有相当重要的作用。然而,Qian等人在后续构造的自编码器仅通过卷积和反卷积的方式去除注意力图所标记出的雨滴区域,生成无雨滴图像。仅通过这种方式进行处理所达到的效果有限。U-Net被广泛应用于目标检测,图形分割等工作,取得了当前最好的效果。受到U-net模型的启发,我们构造了残差U-Net模型用于生成无雨滴的图像并取得了很好的效果。残差U-Net模型如图4(a)所示,构成残差U-Net模型的残差块如图4(b)所示。残差U-Net模型由两部分构成,一部分为下采样过程,另一部分为上采样过程。与之前U-Net模型不同,在上采样和下采样的过程中,我们不再只使用卷积网络作为基本单元,而是构造了残差块来加深网络结构,从而使得模型效果更加出色。为了防止模型出现过拟合情况,我们在残差块中加入Dropout[18]和BatchNorm[19],同时使用(1,1)的卷积核在跳跃连接处进行降维,这可以大大减少模型的参数防止模型过拟合,并加快了训练过程的收敛。在我们的实验中,进行了 3次下采样和 3次上采样,下采样方式使用步长为2的卷积,上采样方式是采用双线性插值。

图3 (a)残差U-Net结构(b)残差块Fig.3 (a) Residual U-Net (b) Residual block

判别器网络是由一些基本的卷积块,1024个神经元构成的全连接层和1个带有Sigmoid激活函数的神经元构造而成。其中每一个卷积块包含1个卷积层,1个BatchNorm层以及Leaky ReLU函数[20]。更加详细的模型细节可以从图3中看到,包括我们整个的生成器网络以及判别器网络。这个生成器模型可以接收带有雨滴的图画图像作为输入,并且通过不断优化生成器和判别器来提升图像质量。

2.2 损失函数

本文使用新的感知损失作为模型的损失函数,新的感知损失由L1损失,基于从预先训练的19层VGG网络[21]中提取高级特征的vgg19损失和对抗损失加权组成。当同时获得不带有雨滴的原始自然图像 IGT,与之相对应的退化图像 Irain,以及由生成器网络生成的预测图像 Ipre,此时感知损失可以定义如下:

图4 生成器网络和判别器网络的架构Fig.4 Architecture of generator and discriminator network

其中,L (IGT,Ipre)是L1损失,L(IGT,Ipre)是MVvgg19损失, L(IGT,Irain)是对抗损失。λ ,λGANMV和是λGAN超参数。在我们的工作中,将λM设为1,λV设为0.006,λGAN设为0.001。

L1损失是生成图像 Ipre和不带雨滴的原始自然图像IGT之间的绝对值距离。L1损失可以用公式表示如下:

其中SWH表示目标图像的大小。这个损失可以使生成图像获得更加平滑的纹理效果。

Vgg19损失是损失网络生成的特征图之间的欧几里得距离。当给定预训练的网络φ和一系列的卷积层C,并且C的每个卷积层上的特征图大小为Si× Wi× Hi,那么就可以定义vgg19损失函数如下:

其中, Si× Wi× Hi表示VGG网络中各个特征图的大小。

除了上述损失外,新的感知损失还将对抗损失添加到损失函数中。这有利于生成器生成的自然图像保留更多的纹理细节。它通过最小化基于D (G (Irain))定义的生成损失 L 来优化参数,θDθGGAN这意味着判别器可以区分出重建图像 G(Irain)是θG自然目标图像的概率:

通过一系列损失函数的加权求和,最终得到了新的感知损失函数。它可以帮助训练模型得到细节更加饱满,纹理更加清晰的图像。

3 实验

3.1 训练细节

本文的训练数据集来源于 Qian等人公开的雨滴数据集。该数据集中包含带有雨滴的图像以及相对应的不含雨滴的图像对,该图像对具有完全相同的背景资料。他们通过两块完全相同的玻璃,一块喷上水,另外一块是干净的,并且通过一系列专业的技术得到的这些匹配的成对图像。数据集总共包含1119组图像对,除去部分尺寸不符合的图像对,最终实验使用 860组图像对作为训练集,其余 200组图像对作为测试集。这与Qian等人分类数目和分类方法相同,因此具有相同的训练集和测试集,方便后面进行实验结果的比较。

模型的仿真实验是在带有 NVIDIA Tesla P100 GPU的机器上进行的,使用版本号为3.7的python和Pytorch[22]训练完成的。为了便于训练,我们将输入图像随机裁剪为96×96的图像小块,批训练的大小设为 4。注意,生成器模型可以应用于任意大小的图像,因为它是完全卷积的。使用ADAM优化器[23]来训练模型,并且将β1设置为0.9。学习率最初设置为0.0001,并在每50次训练后降低10倍。并不断地交替更新生成器网络和判别器网络,作用等同于Goodfellow等人使用的k=1。模型总共训练300个epoch,所需的时间大约为36 h,从而完成整个模型的训练过程。

3.2 模型评估

在表1中,本文提出的方法与最新的方法进行了比较,例如 Eigen13,Pix2Pix[24]以及 Attentive GAN。为了便于比较,同样采用峰值信噪比[25](PSNR)和结构相似性[26](SSIM)作为数值评价指标。我们提出的模型与其他模型相比在 SSIM数值上有了比较明显的提升。在图5中展示出了直观的视觉效果图像。从左往右,依次是原始的干净图像、对应的雨滴图像、Eigen方法的预测图、Pix2Pix方法的预测图、Attentive GAN方法的预测图以及我们的结果,从图像上可以直观感受到采用我们的方法不但成功去除了附着在背景图像中雨滴,并且清晰的还原了雨滴覆盖区域的背景图像的颜色和纹理细节,使得预测图像与最左侧的干净图像保持了高度的还原,表明我们的模型产生了十分优秀的预测结果。

表1 质量评估结果Tab.1 Quantitative evaluation results

图5 比较几种不同方法的结果。从左到右:干净图像,雨滴图像(输入),Eigen13,Pix2Pix,Attentive GAN和我们的方法。Fig.5 Results of comparing a few different methods. From left to right: clean image, raindrop image(input), Eigen13[1], Pix2Pix, Attentive GAN and our method

为了进一步验证我们在图像背景的可见性方面进行了增强,以及我们所做的工作对于计算机视觉应用中有帮助,我们使用目前最好的目标检测算法Mask R-cnn[27]来测试我们的输出是否可以提高识别性能。与没有通过我们的网络处理的原始雨滴图像相比,使用我们的输出,图像的一般识别效果显著增强,并且在图像背景目标物体的检测过程中,不会出现漏检、多检、错检的情况,目标物的检测更加准确和有效。

正如图6所示,在第一行图像检测中,由于车辆被雨滴遮盖,出现车辆的漏检,而处理之后的图像则以80%的概率值检测到了漏检的车辆;在第二行图像中则出现对雨滴和栏杆的误检和错检,将图像中的雨滴检测成球,将右侧栏杆则检测为水槽,而处理后的图像这避免了这些误检。这表明我们的结果不仅仅使图像变得更易观察,也同样会在实际问题中,比如车辆检测、行人检测、物体检测等实际问题中具有重要的实际应用价值。

图6 左侧为雨滴图像的目标检测结果,右侧为我们的方法去除雨滴之后的检测结果Fig.6 The left side is the target detection result of the raindrop image, and the right side is the detection result after removing raindrops by our method

4 结论

本文提出了一个非常深的带有注意力机制的递归生成对抗网络用于去除图像上的雨滴。该方法使用了生成对抗网络体系结构,其中生成器是一个深度递归网络以及一个U-Net网络,用来生成无雨滴图像。然后,判别器网络会在全局和局部评估生成器网络输出图像的真实性。通过两者不断地对抗,从而保持去除雨滴后图像的视觉质量,保持重构图像的准确性和在视觉感知方面真实性。通过在大量数据集上对该方法进行评估,结果表明我们提出的模型可以在单张图像去除雨滴方面中取得良好的效果。

猜你喜欢

雨滴残差注意力
基于双向GRU与残差拟合的车辆跟驰建模
让注意力“飞”回来
小雨滴
基于残差学习的自适应无人机目标跟踪算法
可爱的小雨滴
基于递归残差网络的图像超分辨率重建
小雨滴
“扬眼”APP:让注意力“变现”
平稳自相关过程的残差累积和控制图