基于生成对抗网络的图像去雾算法
2022-02-25赵书斌
杨 杰,赵书斌,王 强
(江苏自动化研究所,江苏 连云港 222061)
雾是一种常见气象,大雾天气时空气中存在大量水汽凝结物,光线在水汽凝结物表面产生散射使得物体的反射光线发生衰减,同时相机接收到大气光与物体反射光发生混合,造成图像模糊及特征信息损失。当前目标检测、语义分割等视觉任务受到雾气、大雨等环境干扰时性能会急剧下降,例如Yolo v5目标检测预训练模型在加雾后的COCO数据集上出现了14%的精度损失。如图1所示,即使在低浓度雾的情况下单幅图像也出现了两类8个目标的漏检。图像去雾旨在从退化的有雾图像中恢复清晰的图像,因此其在实现恶劣天气条件下自动驾驶环境感知、能见度估计等方面具有广泛的实际意义。
1 图像去雾
作为各类视觉任务的预处理步骤,学者们对去雾已经进行了广泛深入的研究,且通常使用大气散射模型来表示有雾图像,表达式如下:
()=()()+[1-()]
(1)
其中,()和()分别是退化的有雾图像和目标清晰图像。是全球大气光,()是介质透射率,如
GTHazeLable Bench101 Bicycle323 Chair111 Handbag101 Person131014 Car9710 Backpack111 Total7/295/217/31图1 Yolo v5模型目标检测对比
果全球大气光均匀,则()表达公式如下:
()=-()
(2)
其中,()为场景深度,为大气散射系数。由于已知信息只有(), 透射率()和大气光都是未知的,显然求解清晰图像()是一个不适定问题,这也是一个非常具有挑战性的问题。
目前去雾算法主要分为两类:基于先验知识方法和基于深度学习方法。基于先验知识的方法依靠大气散射模型,利用先验知识设计全球大气光和透射率()的评估方法,典型的有暗通道先验和颜色衰减先验。颜色衰减先验利用了雾的浓度与亮度和饱和度之差呈正相关且退化图像饱和度急剧降低的先验,使目标图像的局部对比度最大化。暗通道先验则利用无雾图像中局部区域像素中至少有一个颜色通道的亮度值非常低来解算透射率(),暗通道先验最经典,当前应用也最广泛,在其基础上衍生了很多性能优异的改进算法。然而先验知识并非适用所有场景,比如暗通道先验在面对大面积的天空时会因先验不成立而存在严重的颜色失真,因此这类算法鲁棒性较差难以广泛适用。基于学习的图像去雾算法又分为两类,早期学习的方法仍然基于大气散射模型恢复无雾图像,区别于传统方法依靠先验知识,此类方法是数据驱动的,通过深度神经网络估计物理散射模型中的透射率()和大气光。文献[3] 结合了四种传统方法设计深度CNN网络用于大气退化模型中透射率()的估计,并提出了一种新的非线性激活函数,提高了恢复图像的质量。然而,这类方法估计的透射率()和大气光存在一定的偏差,导致恢复图像与清晰图像之间存在较大的重建误差,误差的累积最终会产生伪影影响恢复效果。为了解决累计误差问题,近几年涌现出多类端到端方法,此类方法不再依赖大气散射模型,直接通过深度神经网络学习特征,回归得到雾图和清晰图像的残差或最终图像。与传统方法相比,端到端的去雾算法具有卓越的性能和鲁棒性,且能够轻松嵌入其他视觉任务深度网络模型中。文献[4] AOD-Net就是通过轻量级CNN直接生成干净图像,该算法实现了理想的恢复效果,且轻量化的设计使得AOD-Net易于嵌入其他模型中。文献[5]提出了端到端门控上下文聚合网络GCANet,该算法采用最新的平滑膨胀技术在附加少量参数的情况下去除了广泛使用的膨胀卷积带来的网格伪影,并直接恢复最终的无雾图像。文献[6]首次将CycleGAN引入图像去雾领域,该网络不需要成对的雾图和相应的真实图片进行训练,通过循环一致性损失和感知一致性损失提高纹理信息恢复的质量并生成视觉上更好的无雾图像。
本文提出了一种端到端的生成对抗网络用于图像去雾,不需要成对的雾图和真实图片进行训练,网络以模糊图像为输入直接生成无雾图像。在生成器中,考虑雾在图像不同区域分布不均匀以及不同特征通道包含信息的影响不同,将注意力模块融入编解码网络中,并将通道注意力和像素注意力相结合,提出了一种新的特征关注模块。注意力模块对不同的特征通道和像素区域生成权重系数,扩大了网络的表征能力,也为网络处理不同类型的信息提供了灵活性。在鉴别器中,考虑高低频信息在雾图中的不同影响,将高低频分别处理,提高真图鉴别以生成更真实的去雾图像。最后对损失进行了优化,添加结构损失保证循环一致性,融合鉴别器高低频损失。实验结果表明,网络能够实现良好的性能指标并有效减少颜色失真和伪影,提高主观视觉效果。
2 循环生成对抗网络
本节详细介绍采用的方法,包括整体的循环生成对抗网络、生成器的编解码网络、鉴别器网络以及损失函数的设计。
循环生成对抗网络如图2所示,分别由两个生成器G1、G2,两个鉴别器D1、D2组成。G1利用有雾图像生成无雾图像,G2利用清晰图片生成有雾图像,G1、G2形成循环并最小化循环损失保证生成一致性,减少网络扰动。鉴别器D1用于区分真实图片和生成无雾图像,鉴别器D2负责区分真实雾图和生成雾图。
图2 基于CycleGAN的循环对抗去雾网络结构示意图
2.1 生成器
不同于大气散射模型估计中间参数,生成网络需要利用输入雾图直接生成清晰图像。因此生成去雾网络需要获取足够多的有效特征信息,在除雾的同时尽可能地保留图像内容和恢复细节。去雾网络结构分为四部分:编码网络、残差网络、特征融合网络以及反卷积解码网络。
如图3所示,输入图像首先通过两层卷积网络提取特征后编码生成特征图,然后通过下采样进入残差网络模块提取不同级别特征,残差网络后置特征融合模块,聚合增强残差网络不同级别特征,最后通过反卷积将增强后的特征图解码回原始图像空间,得到雾霾残差,将残差输入原始图像得到最终的无雾图像。Basic块为基础的残差块,由两个卷积层、ReLu激活函数和注意力模块组成。特征融合模块先从不同残差层中提取特征图,并将其输入回归网络生成不同的权重系数。最后,将来自不同层级的特征图与回归权重系数线性组合。
图3 生成器网络结构示意图
由于远景物体反射光散射损失严重,雾的浓度与深度、亮度和饱和度之差呈正相关,雾霾的分布不均匀。当前多数基于学习的去雾网络,没有区分提取不同通道和区域的特征,而是采取统一的操作。文献[7]中提出的视觉注意力模块能够有效聚合空间信息,聚焦重要通道和重点区域的信息。本文的注意力模块由通道注意力和像素注意力两部分组成,对不同的特征通道和像素区域进行了不平等的处理,能够灵活地处理不同类型的信息。注意力模块的核心就是为每个特征通道和像素特征生成不同的权重,通过权重系数处理特征信息。如图4所示,首先对输入特征分别进行全局平均池化和最大池化,通过卷积网络和激活函数后再做组合,将通道的全局空间信息转化为通道描述符。
图4 注意力网络结构
(3)
其中,表示特征通道,(,)表示特征通道在(,)位置的值,特征图从××变为×1×1。最大池化编码了最显著的特征部分,平均池化编码了全局的统计信息。因此,这两个特征被同时使用,提升了通道注意力的有效性。卷积网络部分公式如下:
=(((())))
(4)
其中为sigmoid函数,为ReLu函数。最后,按元素顺序将输入和信道的权值相乘。
(5)
像素注意力部分,输入特征先通过一层卷积和ReLu函数的组合,再通过一层卷积和sigmoid函数生成像素特征系数,公式如下:
=(((())))
(6)
最后将权重系数与输入特征卷积,得到特征图,公式如下:
(7)
如图5所示,注意力模块能够有效捕捉到雾浓度较大的区域。
图5 过程可视化示意图
2.2 鉴别器
与清晰图像相比,有雾图像的对比度显著下降,尤其在远景雾浓的区域边缘轮廓信息模糊,文献[8]将频率信息作为基本先验和附加约束加入鉴别器中。作者借鉴这一思想,将高低频信息融入鉴别器中。
高频和低频是图像的基本特征,且有雾图像和清晰图像的高低频分量具有明显的区别。高频信息表示图像中强度变化迅速的部分,能够有效表征图像的边缘、纹理和细节部分,有雾图像相比原图会损失许多纹理和细节等高频信息。低频信息表示图像中强度值变化缓慢的区域,即平滑区域,相较于高频信息,低频更加强调图像的亮度、颜色和对比度信息,这也使得低频的颜色比较更加容易。因此,高频和低频可以帮助鉴别器区分有雾和无雾图像之间的边缘、纹理和主要颜色的差异。
首先利用高斯滤波器去除高频细节提取低频信息,再用拉普拉斯算子从图像中提取边缘和纹理等高频信息。再将高频分量、低频分量和图像分别输入鉴别网络中,将三个输入的输出结果附加权重信息求和,得到最终鉴别器的输出。假设输入图像为,公式表达如下:
=⊗
=Laplace()
=()+()+()
(8)
2.3 损失函数
假设输入有雾图像为,清晰图像为,则生成器的输出分别为()、(())、()、(()),则循环一致性损失为
(9)
其中‖(())-‖表示1-范数,循环一致性损失保证了经过两个生成器的图像尽可能逼近输入图像,从而保证生成图像的稳定性。
文献[6]在CycleGAN的基础上,提出了感知一致性。对于本文的网络,我们优化了感知一致性损失,保证了特征空间中的感知相似度:
(10)
其中()在=1,2,3时分别表示第二个、第六个残差块的特征图和融合模块增强后的特征图。
在利用感知一致性对图像特征进行监督的基础上,为保证循环网络的结构一致性,进一步增强生成稳定性,本文加入SSIM(结构相似性)损失:
=(())
=(())
(11)
=1-(,)
(12)
由于传统的GAN目标函数在模型训练时不稳定且生成图片质量不高,所以本文选用最小二乘GAN中的目标函数设计对抗损失:
=[(())]+[(()-1)]
(13)
最后,作者将循环损失、感知损失、结构损失和对抗损失结合,对去雾网络进行正则化:
=∂+∂+∂+∂
其中、、、权重系数。
3 实验及结果
3.1 数据集和评价指标
由于收集真实世界有雾图像以及对应无雾图像难以实现,因此去雾算法需要大量的合成雾图。常用的合成方法基于大气散射模型,选择合适的散射系数和大气光强生成有雾图像,作者选择了文献[9]提供的RESIDE数据集进行训练。RESIDE数据集包括合成和真实世界的有雾图像,其中室内训练集(ITS)包含总共13 990张模糊的室内图像,由散射系数∈[0.6,1.0]和大气光∈[0.7,1.0]的清晰图像生成,清晰图像来自室内深度数据集NYU2和米德尔伯里立体数据库。RESIDE的户外训练集(OTS)共包含296 695张模糊的户外图像,由8477张散射系数∈[0.04,0.2]和大气光∈[0.04,0.2]的清晰图像生成。测试集采用了REISDE测试集中的综合目标测试集(SOTS),SOTS由500幅室内模糊图像和500幅室外模糊图像组成,作者同样采用在RESIDE中广泛采用的PSNR和SSIM作为客观质量评价指标。此外,合成图像难以完全还原真实雾图场景,当前大多去雾算法在处理真实世界有雾的性能明显低于合成雾图,本文对真实世界的有雾场景也进行了测试。
3.2 训练过程
我们使用PyTorch 框架实现网络搭建,训练使用配有NVIDIA GeForce GTX 3070Ti GPU的PC上进行。对于去雾模块,我们应用了SGD 优化器,其学习速率为1.2×10,动量为0.9,权重衰减为4.5×10。对于鉴别器,我们使用Adam优化器,学习速率为1×10,=0.85,=0.98。
生成对抗网络使用缓存历史图像训练生成器能够有效减小训练时的震荡,且无需成对匹配的有无雾图。为了提升性能、加速训练,我们先用合成雾图和对应真实图片分别对生成器和鉴别器进行预训练。根据文献[10],训练生成对抗网络时使用BN,会使图像间相互影响生成模糊图片,因此使用IN代替BN。初始学习率设置为1×10,损失函数分别下降到2×10和5×10训练结束。
3.3 实验结果
本节将本文的方法与DCP、GridDehaze、FFANet、GCANet等几种方法进行了比较。 作者使用这些方法的开源代码分别在合成综合目标测试集(SOTS)和真实世界图像上进行了评估,并使用了NTIRE18挑战赛的评估工具包,测试结果如表1、2所示。
表1 不同方法在SOTS上的性能评估对比
如表1所示,文章采用的方法在室内和室外都实现了良好的峰值信噪比(PSNR)和结构相似性(SSIM)指标。虽然相比GCANet网络结构相似性有落后,但是我们具有更高的峰值信噪比和更少的颜色失真。如表2所示,本文模型在NTIRE18上也实现了良好的性能指标。
表2 不同方法在NTIRE18评估结果
图6为不同方法在合成数据集上的去雾结果,其中第一列由左至右为合成雾图、第二列为真实无雾图像,第三列的DCP算法因为利用先验假设,所以各个子图都存在严重的颜色失真;第四列GridDehaze算法在第五、六两行的室内场景具有良好的去雾效果,但在第四行室外场景去雾效果有限;第五列FFA算法的去雾结果较为模糊且存在明显失真,前三行的子图同原图相比部分区域亮度值明显两极分化;第六列GCANet算法倾向于输出高亮度、高对比度图像,第一行子图存在一定的颜色失真。 最后,文章采用的方法在有效去雾的同时几乎没有颜色失真,在各个子图上都有较好的主观视觉质量。
图6 不同方法在合成数据集上去雾结果对比图
图7为不同方法在真实有雾场景的去雾结果对比,第二列DCP算法由于先验条件在天空区域不成立,所以存在严重失真;第三列FFA算法第一、三、六行子图去雾效果不明显,其他图像则有明显的黑色斑点;第四列GridDehaze算法在第二行子图中人脸部分存在斑点,第三、四、五、六行子图颜色则与真实世界不符;第五列MSBD算法还原度较高,但部分子图去雾效果有限,鲁棒性不足;第六列GCANet有效解决了网格伪影,去雾效果明显,但是第五行子图失真明显同样存在鲁棒性问题。最后,本文的算法去雾不存在网格伪影,并且更贴近真实场景,具有较好的鲁棒性和主观视觉质量。
图7 不同方法在真实世界有雾场景去雾结果对比图
3.4 消融实验
为了验证本文优化的模块能否有效提升模型性能,我们对于主要模块进行消融实验研究。主要考虑以下3个方面:1)注意力模块(AB);2)高低频融合鉴别(FD);3)结构一致性损失(LS)。
如表3所示,每个优化模块都能够有效提升网络模型的性能。其中,注意力模块能够显著提升峰值信噪比和结构相似性,高低频融合鉴别同样能够有效提升两个指标,最后结构损失则显著提升了结构相似性。实验结果表明:如果充分利用好每一个模块,文章采用的方法能够实现较好的指标,与之前的去雾方法相比具有良好的竞争力。
表3 在合成数据集上模块消融对比结果
4 结束语
本文提出一种端到端的图像去雾网络,引入视觉注意力机制、高低频融合鉴别和结构损失,不仅有效地提升了模型在各类测试集上的峰值信噪比和结构相似性指标,还能有效提高主观视觉效果减少颜色失真和网格伪影。此外,由于我们的网络能够有效恢复图像的色彩和纹理细节,后续可能在图像去噪、去雨以及生成超分辨率图像等其他视觉任务中实现应用。