基于双流Transformer的单幅图像去雾方法

2024-04-29 02:42李岸然方阳阳程慧杰张申申阎金强杨国为
计算机与现代化 2024年3期
关键词:集上先验编码器

李岸然,方阳阳,程慧杰,张申申,阎金强,于 腾,杨国为

(1.齐鲁工业大学(山东省科学院)山东省科学院激光研究所,山东 济宁 272000;2.济宁科力光电产业有限责任公司,山东 济宁 272000;3.青岛大学电子信息学院,山东 青岛 260000)

0 引 言

早期的图像去雾研究主要依赖于对模糊图像的物理特征进行分析,以确定先验信息,例如暗通道先验[1]、颜色衰减先验[2]等。然而,使用这些先验估计参数的准确性较低,也不能在各种真实模糊场景中始终有效,因为这些先验是基于人类观察得出的,无法完全适应不同的模糊情况。

随着卷积神经网络(CNN)在视觉任务中的应用,相关研究已经提出了几种方法来估计透射率和大气光,以提高图像去雾的准确性[3-5]。然而,这些参数的不准确估计可能导致输入图像的过度去雾或不足去雾。基于CNN[6]的其他方法则跳过了估计透射率的步骤,通过使用有雾图像和无雾图像对的端到端学习,将去雾问题转化为直接预测无雾图像[7-8]。这些方法在去雾结果上取得了显著的改进,尤其是在合成数据集上。然而,由于训练数据中的图像对多数是合成的,因此在处理真实模糊图像时,去雾性能通常会下降。此外,传统的CNN 以局部方式处理图像,通常使用具有小感受野的卷积滤波器,因此它们对长程依赖的建模能力有限。

Transformers[9]最初应用于自然语言处理(NLP)任务[10-11]。最近,已经有一些新的尝试将Transformers 扩展到计算机视觉任务,并取得了更好的表现。例如Liu 等人[12]提出了将Shifted Windows 应用于Transformer 的Swin-Transformer,并在减少计算量的同时,在基于视觉的物体检测中取得了改进的效果。最近,Chen 等人[13]将图像处理Transformer(IPT)应用于去噪、超分辨率和去雨等任务,并展示了Transformer在低级计算机视觉任务中的优势。

首先,雾霾图像是由于大气中的雾霾的衰减和散射效应而形成的,这意味着带有雾霾的图像隐含着一系列共同的物理特性。然而,由于缺乏来自物理方面的先验知识,有雾图像和无雾图像对的端到端学习无法捕捉到所有必要的特征,因此将传统的基于先验的方法整合到广泛使用的深度学习框架中具有较强的必要性。其次,由于雾霾密度与图像深度成比例,图像去雾在图像滤波方面需要适应图像内容变化的滤波器尺寸。相比之下,Transformer 利用自注意机制[14]能够捕捉图像中像素之间的长距离依赖关系。在图像去雾任务中,这种注意机制可以帮助模型聚焦于图像中与雾霾更加明显或集中的相关区域,从而更好地理解和处理复杂的图像结构,这种全局上下文理解可以带来更好的去雾结果。鉴于以上分析,本文提出一种双流Transformer 去雾网络,它在传统的编码器-解码器结构中添加了一个基于先验的子网络,用于特征增强模块的开发,以整合原始雾霾图像网络和基于先验的去雾结果网络的各自优势,实现对去雾方法的改进。方法的总体概述如图1所示。

图1 本文的网络结构

1 去雾方法

如图1 所示,本文提出的去雾网络架构包括一个双编码器的多尺度Transformer U 型网络和一个特征增强模块,该网络将物理先验知识融合到基于学习的去雾框架中,以突显物理和正向贡献特征对于无雾图像恢复的重要性,同时开发了一种新颖的多尺度特征增强模块,能够从2个子网络流中分别融合和增强纹理和结构特征,从而有助于解码器实现无雾图像的恢复。

1.1 网络概述

众所周知,随着网络层级加深,高级特征不断累积,而低级特征逐渐消失。在图像去雾任务中,低级特征对于恢复无雾图像的细节非常重要,因此充分利用来自不同层级的特征非常必要。因此,在本文的网络中,选择采用U 型网络[15-16]的形式,并引入一个双解码器结构,分别从雾化图像和先前结果中提取不同层次的特征。为了方便起见,本文用IH和IP来代表雾化图像、先验结果和清晰图像。编码器的提取过程总结如下:

式中,GEnc-u表示u 型编码器的特征提取过程,GEnc表示先验编码器的特征提取过程。i表示从有雾图像中提取的特征,j表示从先验结果中提取的特征。is、js分别表示从有雾图像和先验结果的中提取的浅层特征,id、jd分别表示从有雾图像和先验结果的中提取的深层特征。2 个编码器不同层级的特征经过特征增强模块进行融合。该模块可表示如下:

式中,Genh表示特征增强模块的函数。Fl和Fh是特征增强模块的输出,分别包含输入图像的结构和纹理信息。传统的单图像生成过程可以表示为式(5)。通过跳跃连接,增强特征用于补充解码器特征进行图像去雾。使用增强特征的图像生成可以表示式(6)。

式中,J表示生成图像,in表示传统网络提取的特征,GDcc表示通过解码器生成图像的过程,C是附加条件。

1.2 主干网络

众所周知,不同层级的CNN 在对输入图像进行编码时强调的信息不同[17]。自注意机制已在低级视觉任务中被证明是有效的[13,18-19]。因此,本文采用了U 型网络[18-19]中CNN 的替代方案,即基于自注意力的Transformer模块,作为本文的主干网络来构建编码器-解码器框架。

如图1 所示,首先应用卷积层从有雾图像中提取浅层特征,然后将这些特征编码,输入到dehazeformer[19]的Transformer 模块中。自注意力计算公式如下:

解码器的结构与编码器相对称。上采样结果、编码器结果和通过跳跃连接增强的特征都被送入解码器阶段。通过融合更多的结构和纹理信息,增强了网络的转换能力。此外,网络的末端包括2 个分支,分别用于估计透射图和生成去雾结果。这2 个分支由不同的卷积层组成。

1.3 先验引导

传统去雾方法依赖于物理先验知识[22],当透射图的估计不准确时,可能导致去雾图像的某些区域(如天空区域)出现颜色失真或光晕伪影。相比之下,基于学习的方法[23]通常在这些区域表现更出色。基于学习的模型通常在合成数据集上训练,这可能引发域偏移问题,从而使模型在真实世界场景中无法很好地泛化。同时,基于先验的方法可以更有效地增强物体的物理特征,这与物理世界的实际情况密切相关。因此,本文利用先验结果的潜在信息帮助在合成数据集上训练的模型来更好地泛化到真实的雾霾数据集,进而实现更好的去雾效果。通过将传统方法和基于学习的方法的优势相结合,可以实现更出色的去雾效果。

模型从先验结果中提取特征,采用卷积层和具有残差结构的密集卷积[24-25]进行卷积。先验编码器的结构与主干编码器对应。先验编码器首先使用卷积核从基于暗通道方法去雾后的先验结果中提取浅层特征,然后使用密集卷积进一步提取特征。每个密集卷积包含3个残差块,残差块如下所示:

式中,α设置为0.1。

浅层特征通常关注图像细节,而深层特征则更强调图像的结构特征。本文还使用单独的编码器从暗通道先验结果中提取多尺度特征。编码器包括多个卷积层、分组归一化、ReLU激活和密集卷积。最后从这些层中选择特征作为解码器的额外引导,用以提供物理信息。

1.4 多尺度特征增强

由于雾霾图像中的不同区域对雾霾去除任务的需求明显不同,不准确的雾霾估计通常会导致过度或不足的去雾结果。因此,本文希望网络能够更有效地利用编码器特征,以避免信息丢失。首先,将相同尺寸的特征进行拼接,并使用1×1 卷积层进行特征压缩。然后,将得到的特征馈入多尺度特征精化模块的分支中,过程如下:

由于图像的对象分布引起的区域差异是影响去雾模型性能的主要因素,本文提出多尺度特征增强模块,以进一步优化对象边缘级别并明确图像纹理细节,重新组织的特征被输入到该模块中。该模块由3个并行分支组成,每个分支都包含多个具有相同核大小的空洞卷积,3 个分支的空洞率设置为[r1,r2,r3]=[1,2,3],每个分支的卷积核大小分别为3×3、5×5 和7×7,不同核大小的卷积核用于细化多尺度特征。然后,使用不同大小的卷积核细化的特征被拼接在一起。本文使用2 个分支分别处理纹理和结构特征,过程如下:

1.5 损失函数

为了提高模型在真实数据集中的性能,在重构损失的基础上,本文引入2 个基于先验物理知识的额外损失函数。

1)重构损失:采用简单的L1 损失作为框架的主要部分。

2)暗通道先验损失:暗通道先验是通过对雾图像进行统计得到的,它表示无雾图像的暗通道特征。暗通道先验损失定义为能量函数:

式中,t和t͂分别指代从暗通道先验和本文的网络结果估计的透射率。L表示类似拉普拉斯矩阵,λ是一个超参数。LDCP极大地改善了模型在真实数据集上的去雾效果,但也倾向于使生成图像的整体亮度变暗。

3)整体损失函数:整体损失函数定义如下:

式中,λL1和λd是权衡权重。

2 实 验

首先,本章展示网络的实现配置细节。然后,在基准数据集上与较先进方法进行比较,并验证了本文的网络在去雾效果上取得了显著改进。最后,进行消融实验,以验证网络组件的有效性。

2.1 实验细节

1)数据集。

目前,常用的合成雾数据集是RESIDE[26]。在先前的研究工作中,室内训练集(ITS)、室外训练集(OTS)和合成对象测试集(SOTS)通常被用于实验。为了便于比较,本文采用相同的配置。在本文中,从RESIDE 数据集中选取了ITS 和OTS,用于模型的训练,并在SOTS 上测试了训练完成的模型。ITS 包含13990 个室内图像,这些图像是合成的雾图像,并带有深度信息。OTS 包含313950 个室外场景中的图像对。SOTS是RESIDE的合成对象测试集,包含室内场景(500 个图像对)和室外场景(500 个图像对)。在训练过程中,将图像裁剪成一组256×256大小的补丁,并进行随机翻转。在ITS上进行300个epochs的训练,在OTS上进行30个epochs的训练。

2)实施细节。

本文首先使用基于DCP[1]方法的去雾算法对雾图像进行处理,作为先验引导输入。在实验中,本文使用PyTorch 框架和2 个NVIDIA GeForce GTX 2080Ti GPU来实现模型,并选择Adam[27]算法作为优化器,批大小为8,β1和β2的默认值为0.9 和0.999,初始学习率设置为0.0002,并采用余弦退火策略来调整学习率,最小值ηimin设置为初始学习率的0.01 倍。网络使用的损失函数的权重设置为λL1= 1,λd= 0.002。

2.2 性能评估

本文对提出的模型进行性能评估,并将其与基于手工制作的先验知识DCP[1],以及几个端到端的网络 AOD-Net[5]、DehazeNet[4]、MSCNN[28]、GFN[29]、GCANet[30]、PFFNet[31]、GDN[32]、DuRN[33]、MSBDN[7]、FFA-Net[8]、Dehazeformer[20]、AECR-Net[34]、D4[35]、MAXIM-2S[36]、UDN[37]、MSAFF-Net[38]进行比较。本文使用峰值信噪比(PSNR)和结构相似性指标(SSIM)作为评估恢复图像质量的标准。

1)合成数据集上的结果。

在表1 中比较了本文提出的网络与现有方法在合成数据集(SOTS 室内[27])上的表现。在表2 中比较了本文提出的网络与现有方法在合成数据集(SOTS室外[27])上的表现。通过PSNR 和SSIM 的数值可以看出,本文提出的网络模型表现出了最佳性能,在图2和图3中提供了视觉比较结果。

表1 不同方法在SOTS室内合成数据集上的定量结果

表2 不同方法在SOTS室外合成数据集上的定量结果

图2 在SOTS室内去雾数据集上不同方法的可视化对比

图3 在SOTS室外去雾数据集上不同方法的可视化对比

根据表1 和图2 的观察,先验方法DCP[1]在去雾过程中常常导致色彩失真。DehazeNet[4]的去雾结果也存在色彩偏移问题。同时,DehazeNet[4]和AODNet[5]的结果中仍可看到残留的雾霾。相比之下,基于端到端学习的方法[4-5,20]表现更佳,但在某些小区域仍会产生黑色伪影。与这些方法相比,本文模型结果中色彩失真较少,整体外观更好,更接近真实的无雾图像。

2)实际数据集上的结果。

为了验证本文的模型在真实的朦胧场景中的表现,本文根据NTIRE2018 图像去雾挑战的设定[39]来训练和测试本文方法,并使用I-Haze[40]和O-Haze[41]数据集。在表3 中展示了本文的训练结果并与其他现有方法进行了比较。结果显示,本文方法在真实的朦胧数据集上取得了改进的效果。图4 展示了去雾结果的视觉比较,可以看到本文方法在结构和细节方面产生了良好的视觉效果。

表3 不同方法在真实数据集上的定量比较

图4 O-Haze数据集上的视觉结果

2.3 消融分析

本节进行消融分析以进一步验证本文提出的方法的有效性。为了公平比较,本文采用与原始网络相同的设置来训练以下网络,并使用文献[39]中数据集进行训练和测试。

本文的消融研究重点放在2 个模块上,即先验引导模块和MFE 模块。此外,本文还探索了MFE 模块不同的连接方式对结果的影响,并继续使用SSIM 和PSNR作为评估指标。

为了验证本文所提出的网络模块的有效性,本文使用了不同的网络配置。所有网络配置都在RESIDE数据集的ITS(室内训练集)上进行测试。表4 展示了实验结果。本文的Baseline 模型采用Transformer 骨干网络,此外还进行了2 个改进:Baseline-Prior 和Baseline-Enhance。Baseline-Prior 通过先验引导模块提取特征,并将这些特征直接传递给解码器进行补充;而Baseline-Enhance 则使用模块来增强骨干网络编码器的特征,并将增强后的特征传递给解码器进行补充。从表4可以看出,这4种网络中,本文提出的模块进一步提高了网络的去雾能力。

表4 网络模块消融研究结果

本文的多尺度特征增强模块分别处理包含结构和纹理信息的不同层特征,这2 个分支会被连接到功能增强模块上。本文尝试2 种不同的连接方式:一种是默认配置,即在功能增强模块之后连接这2 个分支,如图5(a)所示;另一种是在功能增强模块之前连接这2 个分支,如图5(b)所示。本文在RESIDE 数据集的ITS(室内训练集)上训练了这2 种配置的模型,并将结果列示在表5 中。从结果来看,使用默认配置方式的模型在PSNR 和SSIM 上都取得了稍微优于在功能增强模块之前连接分支的模型的结果。这表示着在功能增强模块之后连接分支能够更好地整合和利用不同层特征的结构和纹理信息,从而提高了重建图像的质量。

表5 2种特征增强方式的消融研究结果

图5 特征增强的2种不同方式

3 结束语

本文提出了一种全新的端到端去雾方法。本文采用了广泛使用的基于Transformer 的编码器-解码器结构作为基线模型,但存在一个主要限制,即缺乏雾物理先验的指导,这可能限制了其在准确估计真实有雾场景中的雾密度方面的性能。为了解决这一问题,本文提出了双流编码器架构,该架构能够将来自有雾输入和基于先验的去雾结果的编码器特征集成在一起,从而使网络更加适应现实世界中的情况。此外,本文还提出了多尺度特征增强模块,该模块能够对纹理和结构层的特征进行单独的特征级融合,以提高模型在处理图像细节和边缘轮廓以补充去雾图像恢复方面的能力。最后,通过在真实和合成数据集上进行了大量的定量和定性实验分析,结果验证了本文方法的有效性和先进性。

猜你喜欢
集上先验编码器
Cookie-Cutter集上的Gibbs测度
链完备偏序集上广义向量均衡问题解映射的保序性
基于无噪图像块先验的MRI低秩分解去噪算法研究
基于FPGA的同步机轴角编码器
复扇形指标集上的分布混沌
基于自适应块组割先验的噪声图像超分辨率重建
基于PRBS检测的8B/IOB编码器设计
JESD204B接口协议中的8B10B编码器设计
基于平滑先验法的被动声信号趋势项消除
先验的废话与功能的进路