APP下载

基于先验知识的单幅图像雨雾去除方法

2021-06-03梁楚萍冯一箪谢浩然魏明强燕雪峰

浙江大学学报(理学版) 2021年3期
关键词:单幅雨雾先验

梁楚萍,冯一箪,谢浩然,魏明强,*,燕雪峰

(1.南京航空航天大学计算机科学与技术学院,江苏南京 210016;2.模式分析与机器智能工业和信息化部重点实验室,江苏 南京 210016;3.香港岭南大学 电脑及决策科学学系,中国 香港 999077)

0 引言

在室外场景图像中,空气中的混浊介质是导致图像质量下降的常见环境因素[1],根据空气中介质的物理性质以及所产生的视觉效果类型,可将其分为平稳介质(烟、雾和霾)和动态介质(雨、雪和冰雹)两类[2]。此外,在糟糕天气条件下取景时,场景光被不同介质吸收和分散,降低了图像的对比度和色彩逼真度,影响室外取景图像的质量,如将其直接用于图像处理算法,会影响分析效果。

图像去雾和去雨都是计算机视觉中具有挑战性的课题,在摄影学和图像处理,如视频监控、自动驾驶、图像识别和目标检测等中均具重要应用。目前已出现了许多效果显著的图像去雨算法和去雾算法,但缺少高效的单幅图像去雨雾技术。由于在自然条件中,降雨环境必然存在一定的雾气和水汽,因此,在真实拍摄的雨雾图像中,除雨痕造成的图像噪声外,还存在平稳介质对环境细节的遮挡和干扰。真实环境中,含雾场景的能见度取决于雾的浓度和分布,雾层越浓,该区域灰度图像的像素强度越高。

雨雾图像的场景能见度还与成像距离有关,一般来说,离摄像机越近的场景,受雨滴的影响越大,而远离摄像机的场景主要受雾气的干扰,即雨滴的能见度与场景深度有关。图1 给出了图像像素强度I随雨滴与相机距离z变化的函数。对于距离相机较近的雨滴(z<zm),I的变化与z无关。对于距离相机较远的雨滴(z>zm),I与z成反比。当雨滴与相机的距离z>Rzm(R为常数)时,因I太小无法被相机检测到。因此,雨水的视觉效果仅存在于z<Rzm的区域,此为雨水可视区域,超出该区域的雨滴积累则会在图像上形成类似雾或霾的遮罩层,称为雨累积。靠近相机镜头的雨滴在成像时因动态降落形成一道道方向、形状各异的雨痕,这类雨痕在自然情况下随机分布,密度与降水情况和相机参数有关。通常,雨痕分布与场景细节相互缠绕。

图1 图像像素强度随雨滴与相机距离变化的函数[2]Fig.1 The function of pixel intensity and camera distance

尽管图像去雨技术已取得很大进步,在处理微雨图像时有很好的去噪效果,但大多数方法仍无法有效保留糟糕天气室外场景的背景图像细节。目前尚无一种能完全适应各种情况的去雨通用技术,现有方法往往在雨痕去除和细节维护之间进行折中,导致输出图像模糊和存在伪影等。在含雾条件下,由于手段的局限,模糊和遮挡干扰的程度更甚。

图像去雾的原理与去雨不尽相同,仅通过单种方法难以提高去雨雾图像的质量。因此,针对单幅图像去雨雾的难题,本文设计了一种基于先验知识的单幅图像去雨雾框架,该框架分阶段处理输入图像的雾和雨痕,再通过条件生成对抗网络(conditional generative adversarial network,cGAN)修复图像细节,以提高去雨雾后的图像质量。

本文的创新点:

(1)提出了一种新型的单幅图像去雨雾方法,能适应雾浓度和雨分布变化情况;

(2)引入了一种改进条件对抗网络,对去雨雾后的图像进行细节修复,不仅能恢复去雨雾过程中丢失的细节,还能近似生成和填补原图中被浓雾或密集雨痕遮挡的场景;

(3)利用峰值信噪比(peak signal-to-noise ratio,PSNR)和结构相似性(structural similarity,SSIM)2 个常用指标对本文方法进行量化评估,实验表明,在所用的合成数据集中,本文方法较其他基准方法更具优越性。将本文方法应用于真实雨雾图像恢复,结果表明,本文方法在真实雨天场景中具有更好的鲁棒性。

1 研究现状

1.1 图像去雨技术

根据输入数据,一般可将图像去雨技术分为单幅图像导向和视频导向2 类。前者只利用单幅图像进行雨水噪声检测,提供的数据信息较少,不同图像的场景差异增加了算法的难度。后者则不仅要考虑单帧画面的雨水噪声分布,还需要计算各帧特征的时空相关性,但由于对同一场景输入视频的图像是连续多张的,因此,利用深度学习方法能获得较好的效果。本文主要关注单幅图像的雨水去噪问题。

1.2 单幅图像去雾技术

使单幅图像恢复场景光亮的主要方法有2 类:先验知识导向方法和数据驱动机器学习方法。传统方法是计算近似大气散射模型,并基于先验知识估计大气光成分和光照透射率2 个雾遮挡因素。

TAN 等[7]提出,无雾图像的对比度高于含雾图像,并建立了最大化输入图对比度模型,试图通过提高对比度达到去雾效果;何凯明等[1]提出了通过暗通道先验检测透射率图的方法;ZHU 等[8]提出了一种简单又有效的颜色衰减先验方法,通过建立模糊图像场景深度的线性模型,能较好地恢复场景深度信息;TANG 等[9]通过构建回归学习框架,系统地探究了一系列与去雾关联的先验知识,得到最佳的先验组合。然而,先验知识毕竟是根据物理模型和观察提出的准则,对雾笼罩的真实场景图仍不具有鲁棒性,因此,大多情况下实验效果远达不到模型预期。

近年来,机器学习在图像处理领域取得了巨大进展,涌现了不少基于机器学习的去雾方法。此类方法不依赖先验知识,直接估计输入图的大气光成分和透射率。CAI 等[10]提出基于卷积神经网络的端到端去雾模型(DehazeNet),通过学习得到透射率,进而恢复为无雾场景。类似地,REN 等[11]通过学习模糊图像与其对应的传输图之间的映射关系,提出了一种将多尺度深层神经网络用于单图像去雾;LI等[12]则重构了传统的大气散射模型,利用改进的卷积神经网络(AODNet)学习含雾图与干净图之间的映射函数;REN 等[13]则建立了一个由编码器和解码器组成的端到端神经网络。

1.3 单幅图像去雨技术

单幅图像去雨技术同样可分为先验知识导向方法和数据驱动机器学习方法。对于雨图模型O=B+R,通常假定雨痕R稀疏且方向相似,基于此假设,可将输入图像O分解为无雨干净场景B和雨痕层R。

在传统方法中,KANG 等[14]首先用双边滤波器将图像分解为低频部分和高频部分,然后通过字典学习和稀疏编码,将高频部分分解为“雨分量”和“非雨分量”,从而既保留了细节,又从图像中去除了雨痕;LUO 等[15]提出一种基于强互斥性字典学习的单幅图像去雨算法;LI 等[16]提出,背景层和雨层均使用简单的基于区域块的高斯混合模型先验知识,以适应雨痕的多个方向和尺度;ZHU 等[17]首先检测雨痕所在的主要区域,然后将检测到的区域作为引导图,以帮助从背景层中分离雨痕层;ZHANG 等[18]提出了一种学习卷积低阶滤波器的新算法,该算法直接处理整幅图像,无须将图像分割成重叠的块后再学习局部词典;FU 等[19]提出用深度细节网络缩小从输入到输出的映射范围,在训练过程中,利用先验图像域知识聚焦高频细节,去除背景干扰,使模型聚焦于图像中的雨结构;ZHANG 等[20]利用cGAN 强大的生成建模能力,实施附加约束,即去雨后的图像须与其对应的地面真实干净图像极其近似;YANG等[21]通过添加一个定位雨痕区域的二元映射,提出一种迭代信息反馈(IIF)网络,对常用的雨痕层和背景层线性组合模型进行修正;LI 等[22]提出了一种基于深度卷积和递归神经网络的深度网络结构;ZHANG 等[23]提出了一种用于去雨的密度感知多流连接网络;FAN 等[24]提出了一种新的基于残差特征的融合网络ResGuideNet,用于逐步预测高质量的单张去雨恢复图像,残差网络对单幅图像的去雨能力得到证实;LIU 等[25]提出了一种“对偶残差连接”的新残差连接类型,充分发挥了成对操作的潜力;YANG 等[21]将去除雨痕作为一项单独任务;与此相异,HU 等[3]和LI 等[26]将物理公式融入网络体系结构;为使去雨技术在真实图像集中有更好的效果,WANG 等[27]构建了现实世界的雨水数据集,并将空间感知机制纳入网络设计;WEI 等[28]通过最小化雨残差与参数化分布之间的KL 距离,将监督的图像对和无监督的真实多雨图像纳入网络训练。WANG 等[29]将基于编码器-解码器的网络解释为条件生成器,并且通过优化生成器输入的残差学习分支,提高去雨算法的性能。

为集中讨论单幅图像去雨技术的方法变迁和对比算法效率,YANG 等[30]调研了已有的图像去雨方法,讨论了基于模型的传统方法和数据驱动的学习方法这两大类去雨方法,对本领域的相关工作、研究思路进行了总结、整理,对已有算法的性能进行了评估,同时还得到了一系列常用合成雨数据集。

1.4 生成对抗网络在图像恢复中的应用

近年来,生成对抗网络(generative adversarial networks,GAN)[31]研究取得了重大进展,在计算机视觉领域应用广泛,受GAN 在图像转换和图像修复上出色表现的启发,涌现了一批利用GAN 生成恢复含雾图或去雨图的研究。ISOLA 等[32]提出了一种在图像转换领域通用的改进条件对抗网络(pix2pix);QU 等[33]将该网络用于图像去雾,并在其基础上增强了细节修复能力,通过加入2 个增强块和引入感知损失函数,提高了原网络对图像细节的敏感度。LI 等[26]提出了针对重雨环境的室外图像学习框架,在最后阶段将深度图作为条件进行对抗学习,以恢复前阶段去除雨雾过程中丢失的图像细节。

2 基于先验知识的雨雾去除方法

2.1 雨雾模型

单幅图像去雾的难点在于无法根据无限制条件的单张输入图得到准确的深度信息。传统去雾方法主要基于大气散射模型[1-2]:

其中,I为观测到的雾图像,t为透射率(medium transmission),A为大气光成分(global atmospheric light),J为场景光反射图像,即需要恢复的目标无雾环境。等式右边第1 项为直接衰减因子(direct attenuation),第2 项为大气光(airlight),如果大气是均匀的,则透射率t可表示为

其中,β为大气散射系数。式(2)表明,随着场景深度d的增加,场景亮度呈指数衰减。

靠近相机的雨滴在取景平面上的投影在图像空间产生随时间变化的动态随机场,形成纠缠的密集线状纹理,此类雨点或雨线统称为雨痕,在图像中一般表现为高像素强度值的短线和点痕。与平稳介质或雨累积形成的遮罩层不同,雨痕在图像中的分布更为随机和堆叠,除雨痕自身对场景的遮挡外,由动态模糊和未对焦等造成的光晕也会对周边像素产生干扰。

仅靠传统物理模型检测并不能去除所有潜在雨痕,近年来,基于神经网络的去雨方法取得了巨大进展[30],但是针对真实雨图中雨水方向形态多变的情况,神经网络在学习和修复雨图时仍需要加入更多的限制和增强手段,尤其是对含浓雾的雨图,有雾存在的区域对雨痕特征的学习会产生干扰。

考虑雾和雨痕在图像中的分布特性,综合其物理性质,笔者对传统的大气散射模型和雨图模型进行了改进,提出基于深度图的新雨雾模型:

其中,t|d表示基于深度图的透射率估计,Si为雨雾图中第i层雨痕。

考虑雨雾在不同图像、不同频率时雨痕层分布不同,将图像分解为多重雨痕在雾环境中的成像,并用深度图估计透射率,避免因浓雾在场景中深度分布不均造成的去雾失真。

2.2 暗通道先验知识

基于暗通道先验知识(dark channel prior,DCP)[1]的去雾是最经典的图像去雾方法之一,源于对无雾室外场景图的观察:在多数无雾覆盖的区域,有一些像素至少在一个颜色通道上拥有非常低的强度,即此类区域的最低强度值很小。因此对于一张无雾室外图,图像的暗通道是指像素点在其邻域各颜色通道中最小的强度值(见式(1))。

一般来说,雾图的暗通道拥有更高的强度值,而在视觉上,暗通道的强度近似于雾的厚度。通过计算输入图的暗通道,可近似得到雾的分布和浓度。HE 等[1]给出了基于暗通道去雾的基本方法:假设对于任意像素x,图像局部块Ω 的透射率为常数,则对雾图的颜色通道c,有以下公式:

根据暗通道先验知识,无雾场景的暗通道的强度趋于零:

因此,局部块区域的透射率为

2.3 残差网络学习

残差网络(ResNet)是为解决在传统神经网络中因网络过深出现退化现象这一缺陷而提出的,网络过深,其训练效果反而比浅的差[34]。研究表明,滥用网络层数并不能有效提高网络的学习能力,实际上,更深层的网络出现的错误率更高(见图2)。因过深的网络加大了优化难度,浅层中学习到的特征也难以在深层网络中继续传播。

图2 不同层次深度学习网络训练和测试错误率比较[35]Fig.2 Comparison of training and test error rates of different levels of deep learning networks

因此,HE 等[34]提出了利用残差网络学习的ResNet 方法,每个残差块中均存在一个捷径连接(shortcut connection),捷径连接跳过一层或多层,为梯度增加了一条恒等映射通道。残差块的加入能使网络学习非线性变换部分,这不仅能降低整体训练的难度,也能大大提升梯度下降算法的训练速度,且更利于网络传播。

2.4 生成对抗网络

GAN 由生成器和判别器组成。通过引入判别器提高生成器的学习能力,并促使生成器产生判别器无法辨别真假的数据。训练时,判别器试图最大化准确判断真实数据的概率,而生成器则要求生成非真实数据的概率最小,优化该极小化极大算法的函数为

其中,G为生成器,通过学习输入数据的分布生成相似的假样本,D为对应判别器,用于估计输入样本来自真实数据集的概率,给出真假判断。

由于GAN 在图像处理中的出色表现,近年来,在图像转换[35]、风格迁移[36]、图像合成[32]、图像修复[37]等领域涌现了不少基于GAN 的高效方法,本文也在去雨雾框架的最后阶段引入cGAN,用以修复去雨雾过程中损失的细节,填补被雨雾过分遮挡的场景。为避免GAN 对图像产生过量原结构以外的填补,本文将GAN 的处理过程置于残差网络之后,并限制其在图像小区域进行精细化修补。

3 基于先验知识的单幅图像去雨雾方法

现有的图像恢复方法试图通过使用适当的损失函数或从大规模数据集的学习中保持图像细节。然而,现有的大多网络仍无法处理雨痕高度密集且完全遮挡场景背景的饱和区域,此区域的场景细节易丢失。为此,本文提出一种新的基于先验知识的单幅图像去雨雾框架,框架主要分为3 个阶段:保持细节的去雾技术、基于雨痕特征的残差网络以及图像细节修复网络。

3.1 框架算法

本文整体去雨雾方法和2 个子网络的综合损失函数可以表示为其中,λ 为L1 损失的系数,训练中设为100。

3.2 保持细节的去雾技术

因雾和霾主要处于图像的低频部分,而雨痕特征和场景细节往往是图像的高频信息,因此应用滚动引导滤波[38]对输入雨雾图进行高、低频分离提取。滚动引导滤波能高效地平滑图像纹理和区域细节,同时保持场景物体轮廓,防止边界细节丢失。经滤波,可得到图像的低频部分,再对低频部分进行暗通道去雾,低频去雾能避免混合在雨痕中的高频场景丢失,同时能使雨痕密集区域更加清晰,有利于后续的雨痕学习。

在原始暗通道去雾方法中,尽管引入了调节参数ω来控制去雾程度,但从实验中仍可发现,对于雾聚集较浓的区域(往往是场景远处),无法通过恒定参数适应不同输入图的雾分布。且暗通道去雾方法容易造成场景颜色失真,因为仅通过暗通道的先验知识计算透射率,接近相机的较亮无雾区域也会受去雾的影响;对于与大气光强度相近的像素,在计算中会因透射率的计算值小于实际值产生去雾后过亮的问题。由于该现象往往出现在天空区域较多的室外场景图中,而本文场景需考虑雾分布的空间因素,因此不适合采用原始暗通道去雾方法。为此,引入图像的深度图作为引导,深度图是包含与视点的场景对象的表面距离有关的信息的图像通道,其能适应性地随场景深度调整局部块的透射率,从而控制去雾强度。对于不含深度图信息的数据集,WOFK等[39]提出了一种快速单目深度估计方法。

根据上述分析并结合式(3),将基于深度图的去雾方法分解为

其中,IL和IH分别为输入图I的低频和高频部分,由滚动引导滤波(rolling guidance filter,RGF)算法得到,t|d为基于深度图的透射率估计,t0为避免图像失真设定的透射率下限。分频去雾可避免滤波算法中出现场景边缘模糊现象,此外,深度图的引导能使暗通道去雾方法更适应输入图像中雾度随景深的分布变化。

3.3 基于雨痕特征的残差网络

以往工作证明,残差网络学习是图像去噪和恢复中的一项强有效的手段[22]。基于对雨痕特征的观察,文献[22]指出,雨痕特征较干净的图,场景特征更稀疏,因此,可利用残差网络学习以下函数:

其中,Si为第i层雨痕,B为无雨场景,O为雨图。该函数反映雨图O到雨痕特征之间的映射,即雨图是由干净无雨场景和处在不同特征层的雨痕堆叠而成的。

为去除主要存在于图像高频部分的雨痕,本文引入了雨痕特征残差网络,该网络通过训练学习已去雾的雨图到雨痕之间的映射,得到一张干净的去雨雾图。雨痕特征残差网络包括3 个卷积层和16 个雨残差块。其中,以第1 卷积层作为编码器,将雨图转换为特征图,后两层用于将特征图恢复RGB 通道图。为加强残差网络的学习效果,在残差块间嵌入压缩激发(squeeze-and-excitation,SE)模块,见图3,SE 模块能在统一卷积层中聚合特征图,通过充分利用空间上下文信息去除雨痕。

空间上下文信息被证明在单张图像去雨中具有一定效果[22,40],然而,在同一卷积层中,各特征通道是相互独立的,并且与之前的卷积运算无关。SE 模块则能建立不同特征通道之间的关系,因此,通过调整权重增强具有更多上下文信息的特征通道。相对而言,具有较少上下文信息的特征通道在训练时会被赋予较小的权重。在训练过程中,雨痕特征残差网络会自动地学习不同通道中所有的权重。文献[22]给出了现有残差网络与插入SE 模块后的对比实验,结果显示,插入SE 模块的残差网络能更好地提取图像特征信息。

雨残差块RRB 可表示为

其中,RRB 为雨残差块的输出,SE(•)和Res(•)分别表示图3 中的SE 模块操作和残差块,X0为输入信号。

图3 传统残差块与插入SE 模块的残差网络结构Fig.3 Traditional residual block and residual network structure with SE block added

3.4 图像细节修复网络

雨痕特征和场景细节本质上都是图像高频信息,尽管通常认为雨痕特征较场景细节更为稀疏,但两者在结构上具有相似性,因此,图像去雨通常会造成场景细节模糊。为恢复去雨过程中丢失的细节,本框架应用pix2pix[32]对去雨雾后的图像进行细节修复。

pix2pix 网络除对抗损失之外,还加入了传统的L1 损失(范数损失函数),衡量生成的虚假图像与真值图之间的距离,从而在训练中保证输入图像与输出图像的相似性。实验证明,在图像转换中,L1 损失相对于L2 损失(平方损失函数)能更好地避免出现模糊现象[32]。

在图像转移问题中,为在输入和输出之间共享大量不同层次的信息,一般希望整个网络能共享此类特征,比如图像尖锐的边缘结构位置。因此,本文所用生成器在编码器-解码器上遵循“U-Net”结构[41]的设计,通过添加捷径连接保留低层信息,减少下采样过程带来的空间信息损失。如图4 所示,UNet 结构在网络瓶颈的前后均建立特征的捷径连接,也能使训练时从浅层网络提取的特征传递到深层网络。用PatchGAN 架构判别器限制高频,其预设块区域直径之外的像素均相互独立,即判别器是对图像中每个N×N块进行的真假分类,通过在图像中卷积地运行,最后将所有的结果取平均,给出判别器D的输出。

图4 U-Net 的捷径连接[32]Fig.4 Shortcut structure of U-Net

3.5 基于先验知识的单幅图像去雨雾框架

基于先验知识的单幅图像去雨雾框架如图5 所示,其由3 个阶段构成,各阶段分别承担不同的功能。

图5 基于先验知识的单幅图像去雨雾框架Fig.5 Prior-based single image rain and haze removal framework

第1 阶段,利用暗通道先验知识对输入图的低频部分去雾,通过分频去雾使图像高频细节得以保留;第2 阶段,将已去雾的图像输入残差网络,学习雨痕特征,残差网络由编码的1 层卷积层、16 层插入SE 模块的残差层、2 层解码转换的卷积层构成,输出所学到的多层雨痕图,利用本阶段输入及其差值可得到去除雨雾的干净图;第3 阶段,采用cGAN 修复图像细节、填补被过分遮挡的场景,该网络由生成器和判别器2 个子网络组成,通过两者的对抗学习提升网络能力,其中生成器采用U-Net 结构,在瓶颈处前后建立高低层次的捷径连接,将真值图作为输入,在生成时起约束作用。

本文所提出的单幅图像去雨雾框架将传统先验知识与深度学习方法有效结合,针对性地为不同恢复目的设计了具体算法和网络结构。

4 实验与分析

为验证本文方法的有效性,在合成数据集和真实数据集上进行了对比实验,选取pix2pix[32]、RESCAN[22]、DAF-Net[3]等3 个已公开源代码的方法并进行对比。此外,还分析了本框架中间阶段的处理结果,以证明各阶段设计的有效性。

4.1 合成雨雾数据集

在现实中,同一取景地在雨前雨后难免存在场景物体变动(如行人移动、云层漂移、林叶位移等),且在不同时段拍摄的照片也难以保持相机参数在不同场景光下的成像色彩相近,因此构造纯粹真实的雨雾数据集难以实现,通常做法是采用一定的算法在干净真值图中合成雨雾环境,本实验采用此类合成数据集进行训练和评估。

常用于去雨训练的较新数据集有Rain 100、Rain 800、NYU-Rain 和RainCityscapes。前二者只加入了雨痕,且雨痕类型较少,难以与真实场景近似;NYU-Rain 采用深度图合成雨痕和雨积累,但雨积累层分布过于单一,雨痕类型较少;RainCityscapes 同样采用深度图合成雨雾图,在Cityscapes 高质量街景图的基础上添加了12 种不同方向和密度的雨痕,有3 种强度雾层,浓度分布取决于场景深度,经实验测试,参与人员对该数据集的真实度评分非常接近真实雨天照片[3],见图3。

为有效解决糟糕天气下雨雾图的恢复问题,同时使含有雨和雾元素且场景细节更丰富的RainCityscapes 数据集更适合作为本文方法的训练和测试数据,以验证本文方法对雨雾等干扰介质的高效去除能力。

图6 各合成数据集中的样图Fig.6 Sample images in each synthetic dataset

4.2 合成数据集对比实验

4.2.1 评估准则及结果

采用峰值信噪比(PSNR)与结构相似性(SSIM)[42]2 个指标进行量化评估,将无雨干净场景图作为评判的真值,统计所有测试结果的表现。由于PSNR 是面向像素的计算指标,其数值不一定与图像品质直接挂钩,以往实验也证明,存在PSNR 较低但主观评价良好的结果,因为人眼视觉是对图像整体感知做出的评判而非基于逐个像素。SSIM 评价方法基于结构相似理论,认为自然图像信号是高度结构化的,在空间上具有相关性,因此,图像中场景和物体均具有一定的结构性,在对比图像质量时应考虑其结构信息。

尽管以上指标具有一定局限性,但一般来说,PSNR 和SSIM 越高,输出图与真值图越接近。

上述去雨雾方法在Cityscapes 测试集上PSNR与SSIM 的平均值见表1。由表1 可知,本文方法的PSNR 和SSIM 平均值均有更出色的表现。

表1 各方法在Cityscapes 测试集上PSNR 和SSIM的平均值Table 1 The average performance of PSNR and SSIM of different methods on dataset Cityscapes

4.2.2 可视化结果

图7 展示了pix2pix、RESCAN、DAF-Net 和本文方法4 种去雨雾方法的实验结果。输入图和输出图的像素为1 024×2 048,为便于展示,对图像进行裁剪。其中,本文方法在颜色保持、细节恢复、雨痕和雨雾去除方面均有更好的表现,对于浓雾区域和物体边界,本文方法也较少出现因光晕和模糊带来的失真,能有效保留图像结构。由图7 可知,本文方法恢复的场景较pix2pix、RESCAN、DAF-Net 3 种方法更干净。

图7 合成数据集测试结果对比Fig.7 Comparison of synthetic dataset test results

4.3 真实雨雾图实验

为展示本文方法对真实雨雾照片的鲁棒性,选取Google 搜索结果中质量较高的街景雨雾图进行实验(利用Cityscapes 数据集训练测试所用模型),见图8。由于所获得的真实图像大小各异,与训练输入数据不匹配,且雨痕形态与训练所用数据集存在差异,因此,人眼感知不如合成数据集测试结果干净,但仍能有效地去除场景中的大部分雨雾。

由图8 可知,本文方法在真实数据上依旧具有显著的去雨雾恢复效果,较好地去除了真实图像中的雨痕和雾(雨积累),场景中的街道和人物更接近无雨情况。实验证明,本文方法能在真实测试集上提供更干净清晰的输出图,也便于其他图像处理和模式识别算法的后续操作。

图8 本文方法在真实图像集上的测试结果Fig.8 Test results of our method on real images

4.4 各阶段设计分析

第1 阶段,利用暗通道先验知识对输入图的低频部分进行去雾;第2 阶段,将经去雾的图像输入残差网络学习雨痕特征,去除场景中随机分布的雨痕;第3 阶段,采用GAN 网络修复图像细节、填补被过分遮挡的场景。各阶段的恢复目的不同,具有针对性。从去除雨雾的恢复目标看,第1 阶段和第2 阶段去除任务不同,不可移除。从实验结果看,第3 阶段确实能提高图像与真值的PSNR 和SSIM值,具有修复作用。图9 为第2 和第3 阶段的输出图和真值图的PSNR 比较,可见,第3 阶段的cGAN能整体提高输入图与真值图的细节相似性。

图9 本文框架第2 和第3 阶段输出比较Fig.9 Comparison of the output of the 2nd and 3rd stages

为更直观地展现各阶段算法设计的意义,图10给出了输入图像在中间各阶段的输出结果对比,结果表明,本框架各阶段设计具有必要性。

图10 本文框架中间阶段输出Fig.10 The intermediate stage output of our framework

针对图像低频部分的暗通道先验去雾范围较大问题,虽一定程度上能恢复图像色彩,但因未施加限制条件,图像整体颜色与真值图不符,且仍存在残留雾的遮挡区域。残差网络虽在相当大程度上去除了图像高频雨痕,但在场景细节稀疏区域仍有残留,同时第1 阶段的雾遮挡也未能去除。cGAN 在第3 阶段很好地修复和填补了第1 和第2 阶段遗留的问题,精细化地恢复了干净场景。因此,本文框架的各阶段设计具有合理性。

4.5 方法缺陷

尽管当前实验结果表明,本文方法在雨雾去除上表现优越,但实验中,仍有许多人眼视觉评价极佳但PSNR 值偏低的输出,拉低了整体的平均水平。原因在于在部分极端输入样例中,过度浓厚的雾对图像真实场景造成完全性遮挡(如图11 所示)。

图11 过度浓厚的雾完全遮挡建筑物Fig.11 Excessively thick fog may completely obscures the buildings in test images

本文方法虽然在第1 阶段对雾遮挡进行了去除,但仅靠传统先验知识无法恢复整体场景结构,因此造成场景丢失。且由于遮挡区域范围过大,第3阶段的cGAN 无法大规模修复此类区域,即使能从训练提取的特征中感知地填补一些纹理,但其生成的像素仍为脱离真值的随机构图,像素颜色和物体结构易偏离,无论是人眼视觉还是评估指标均得不到有效提升。

在改进方向上,从图像修复[37,43]技术入手,将此类区域的丢失信息视作遮挡区域的填充问题(如图12 所示),通过在损失函数中加入与图像边缘或与结构有关的条件,实现对丢失区域的填补,从而提高图像修复质量。

图12 图像修复技术[44]Fig.12 Image inpainting

此外,由图8 可知,当雨滴直径较小时,真实雨雾环境中雨累积(雾)与雨痕区别模糊,本文的高低频分离方法并不能完全给出雨和雾的界限,从而使雨痕残差网络无法解决余雾问题,需要通过第3 阶段的修复提升雨雾残留区域图像的质量,可从加强细节修复网络角度进行改进。

最后,尽管本文所设计的3 阶段框架各有针对性,但在实际应用中仍不够高效,且缺乏整体性。今后通过充分运用先进的深度网络结构,整合可复用的模块,以减少整体网络的计算量和体量,甚至将其移植至移动设备,实现更多应用。

5 展望和设想

本文工作的出发点在于,现有去雨工作往往忽视雾层对雨天图像的影响,通常仅采用针对雨痕特征的方法除雨,使得在真实数据集上难以有优越的表现。因此,后续研究应注重考量自然成像的物理因素和图像特性,并将两者纳入模型构造。除此之外,现有的雨雾综合数据集仍较少,且未考虑雾在空间的浓度分布,HU 等[3]提供的合成雨雾数据集已能较好地模拟真实雨天场景,但仍缺少雨滴、地面积水等自然场景元素。由于同一取景地雨前雨后难免存在场景物体变动,获取真实雨雾数据集是一项难以完成的任务,若能充分利用现有科技手段模拟拍摄雨雾环境,构造含雨雾图和真值图的数据集,则能对本领域的研究做出重大贡献。

因此,单幅图像去雨雾技术仍有很大研究空间,无论是更高效的算法或是更真实的合成数据集,均有拓展的可能。同时,去雨雾技术还可推广至如霾、雪、冰雹、沙尘等更多同类型的天气场景,本文的单幅图像去雨雾技术对基于视频的同类研究、单幅低质量图像的恢复等亦有指导和借鉴意义。

猜你喜欢

单幅雨雾先验
基于改进大气散射模型的单幅图像去雾方法
基于CNN的轻量级神经网络单幅图像超分辨率研究
基于暗通道先验的单幅图像去雾算法研究与实现
先验想象力在范畴先验演绎中的定位研究
雨雾森林
一种考虑先验信息可靠性的新算法
雨雾小镇的公交车
夏天来了
陌上的风
先验的风