1. 引言
雨水作为恶劣天气现象之一,在该天气下获取到的图像存在模糊,清晰度低,图像细节受损等问题。这些问题不仅导致图像感知质量的退化,而且对依赖高质量图像输入的计算机视觉任务产生严重影响,尤其是智能驾驶,目标识别等关键应用场景中。因此,单幅图像去雨成为计算机视觉任务中具有极大挑战性的研究课题之一。
雨水对视觉信息捕获过程的影响主要体现在两个方面,一个是以观察者视野内密布的雨线形态出现,另一个是通过直接滴落在视觉辅助装置(如汽车前挡风玻璃或防雨罩)表面上的雨滴形式展现。近年来,针对这两种雨水去除的算法有很多,一些早期的去雨算法基于先验知识实现。Kang等人[1]从图像分解的角度提出一种去雨方法。该方法通过字典学习和稀疏编码将含雨图像中的高频部分分解为含雨和无雨部分,从而实现雨线的去除。Kim等人[2]从雨线的特性和图像处理角度出发,基于丰富的先验知识计算并检测出雨线信息,再采用非局部均值滤波来修复雨线所在的区域。
得益于深度学习在计算机视觉任务中的不断发展,基于多尺度特征融合的深度学习算法在单幅图像去雨任务中展现出出色的能力。Zhang等人[3]提出一个基于密度感知的多流密集连接卷积神经网络,该网络能够有效利用不同尺度的特征更好地表征不同形状的雨线,根据估算的雨线密度信息引导网络消除雨线。Yasarla等人[4]提出一种不确定性引导的多尺度残差学习网络,该方法通过学习多尺度下的降雨计算确定出雨线位置,同时还引入一个置信度来学习网络权值协助网络模型获取清晰度更高的去雨图。Zhang等人[5]在图像去雨任务中引入生成对抗式网络,该网络主要由密集连接网络构建的生成器和利用全局和局部信息来判断图像真假的多尺度判别器,同时增加一个改进的感知损失来解决GAN网络训练时引入伪影的问题。Yang等人[6]提出一种上下文扩张网络架构,该结构显著扩大了网络模型的感受野并高效聚合上下文信息,实现在多尺度雨线信息的学习,同时引入循环结构完成雨线的检测和去除。Jiang等人[7]提出一种多尺度渐进融合去雨网络,通过将原始输入图像缩放至不同尺度来构建多尺度金字塔结构,从而捕获全局纹理。Zamir等人[8]采用多阶段、渐进式的架构逐步精准地学习并恢复降级输入图像中的特征信息,每一阶段都专注于解决不同尺度的雨纹影响,从而实现图像的恢复任务。Qian等人[9]通过结合GAN和注意力机制的方法关注图像中雨滴及其周围区域,实现图像清晰度的恢复。尽管上述算法在对图像中的雨线和雨滴产生较好的去除效果,但是依旧存在问题。虽然多尺度特征对于图像中分布散落不同大小的雨线与雨滴可以从不同尺度进行识别并去除,但是大多算法采用的均为由粗到细或是由细到粗的信息流向。然而不同尺度间的单一方向传递容易忽视下游尺度中的图像信息,造成有效信息的丢失。Wang等人[10]提出的一种多尺度融合与分解网络,该网络通过设计一种混合特征提取块来实现图像信息分解与交互,获得不同尺度下的雨纹信息和无雨信息并直接采用按通道连接的方式融合,继而造成了图像信息的冗余。因此,对多尺度特征图像的处理方式也很重要。针对上述问题,本文提出一种基于轻量级密集连接和跨尺度特征融合的去雨算法(cross-scale feature fusion lightweight dense network, CFFLDNet)。该算法设计了一个跨尺度特征融合模块(cross-scale feature fusion module, CSFFM),充分利用相邻尺度中所包含的不同信息并进行融合。同时网络模型以该模块为界分割为由粗到细与由细到粗的不同信息传递方向的两部分,双向流动可以充分利用下游尺度中的信息,避免有效信息的丢失。
除此之外,本文还设计了一种轻量级的密集连接模块(lightweight dense connectivity module, LDCM)来提取图像特征信息。自2017年Huang等人[11]开创性地提出密集连接网络(DenseNet)架构以来,该网络凭借其独特的网络结构和优秀的性能被广泛应用在图像分类、目标检测、语义分割等多个领域内。然而随着网络深度的加深,密集连接带来的参数量也随之增多,由此引起模型复杂度的问题却不可忽视。因此,对DenseNet的优化改进也在持续进行。Wang等人[12]将输入数据分为两部分,一部分通过密集连接模块进行传递,而另一部分按通道维度直接与输出相融合,以此来降低计算量;Kim等人[13]通过增加增长率而减少深度来拓宽网络模型。而本文正是受这两种改进思想的启发,提出一种轻量级密集连接模块,旨在提高模型特征学习与表征能力的同时降低模型计算负担。
2. CFFLDNet去雨方法
2.1. CFFLDNet的整体网络结构
Figure 1. Network structure
图1. 网络结构
本文方法的网络结构如图1所示,该去雨网络结构由三个并行的、结构相同的尺度特征提取网络组成,并通过插入跨尺度特征融合模块获得不同尺度下的信息融合,以挖掘潜在的干净信息,获取更全面的多层次细节与特征。同时跨尺度特征融合模块将网络分割为图像特征提取与图像细节重构两部分,前后两部分采用不同信息流向从而实现高效且细致的去雨效果。
对于初始输入的含雨图,分别将其下采样至1/2和1/4尺度,得到一组金字塔图像,并以该金字塔图像作为去雨网络的多输入,对该输入分别使用3 × 3卷积获取浅层次特征图像并传递至由多个特征提取子模块(feature extraction submodule, FESM)堆叠组成的深层次特征提取子网。跨尺度特征融合模块插入在网络中,被用来实现相邻尺度间信息的交互,显著增强网络对图像信息的全面捕捉能力,同时还将深层次特征提取子网巧妙地分为图像特征提取与图像细节重构两部分。图像特征提取部分遵循了一种由粗到细的信息流动路径,随着处理尺度的逐渐细化,特征图在保持图像全局结构信息的同时,逐渐提炼出更为精细的特征表示。而图像细节重构部分遵循了由细到粗的逆向特征传递策略,不仅有助于恢复图像中的低频细节信息,还确保了重建图像在全局结构上的连贯性与一致性。二者的结合实现了图像信息的双向流动,解决了单向信息流动中下游信息难以有效利用的问题, 能够更好地应对复杂雨线噪声带来的干扰,形成更加灵活和全面的特征表示。对于双向流动中首端的输入图像与末端输出图像在不同尺度上的融合,本文采用与参考文献[14]一致的处理方法。
2.2. 特征提取子模块(FESM)
2.2.1. 网络结构
采用从频域角度补充信息的方法被广泛应用在图像复原任务中,该方法大大提升了特征提取能力。因此,为了更好地去除含雨图像中的复杂雨迹,使去雨后的图像与无雨图尽可能相似,本文引入Mao等人[15]设计的Res FFT-ReLU Block,并提出一种从频域角度补充卷积模块获取信息的特征提取子模块,如图1所示。输入图像由Res FFT-ReLU Block和LDCM相继作特征提取处理,旨在利用两种不同模块提取特征的能力与特征复用优势,实现对图像去雨任务的高效处理。前置的Res FFT-ReLU Block模块通过将输入图像在空间域与频域的转换,从全局的角度快速定位并识别图像中由雨线造成的干扰。而LDCM作为去雨网络的核心模块,其网络中每一层都能直接访问到前面所有层的特征图,极大增强了特征复用能力和信息的高效流通,从而充分挖掘图像局部细节信息。两种独特的特征提取模块通过串联的方式衔接,Res FFT-ReLU Block作为前置处理模块,为后续的LDCM提供了丰富的全局上下文信息,使得LDCM在局部特征提取时能够更加精准。
这种全局特征与局部特征的巧妙结合,不仅加速了图像去雨处理的速度,还极大提高了去雨效果与图像质量,使得整个网络在保持高性能和低复杂度的同时,有效减少了计算资源的消耗,实现了效率与性能的双重优化。
在卷积神经网络中,特征图的每个通道都承载着特定且各异的特征信息,这些特征对于网络模型来说,其重要性并非均等,为了能够有效区分对图像去雨任务相对重要与相对次要的通道,本文在Res FFT-ReLU Block和LDCM串联的末端还增加了一个CA模块[16]。该通道注意力模块通过对通道权重的动态调整,促使网络更加聚焦于那些对去雨任务贡献显著的通道,同时相对削弱非关键或冗余特征的影响,以此帮助网络在训练过程中更好地适应数据,提高模型的泛化能力。最终特征提取子模块的输出还将与初始输入采用残差连接的方式融合在一起,公式如下所示:
(1)
式中:
和
分别表示第
个特征提取子模块的输出图像与输入图像,
,
和
分别表示Res FFT-ReLU Block,LDCM和CA,
为堆叠的特征提取子模块的个数。
2.2.2. 密集连接模块(LDCM)
虽然密集连接的方式常用在深度学习中,但是大多数方法都是沿袭DenseNet最初提出通过不同大小的增长率与不同深度的网络丰富特征提取信息,而本文的LDCM采取加深宽度、减少深度的方法有效提升特征提取的能力。如图1所示的LDCM,舍去了常用来降低通道数的1 × 1模块,直接将每一层卷积模块的输出增加到后续连接的卷积块上,使得通道数随卷积层数呈指数级增长。其数学表达式为:
(2)
式中:
表示当前卷积层的通道数,
表示上一层卷积层的通道数,
、
分别为当前层数和一个LDCM中总的卷积层数。虽然通道数呈指数上升的方法能够丰富图像信息,但是必然会引入大量参数,随着尺度的减小,输入图像通道数的持续增加,在后续模块中的参数量势必会更为巨大,因此,与常规密集连接模块直接将输入图像参与后续多个卷积模块级联方式不同的是,该模块将输入图像
以通道维度按比例分为
和
两部分:
(3)
(4)
式中:
、
分别为
和
两部分的通道数,
为分割比例,
为输入图像的通道数。其中
部分参与后续卷积模块的级联,
部分经由空洞卷积处理后与前一部分的输出图像在通道维度进行融合,如下式所示:
(6)
(7)
(8)
式中
,
和
分别为
与
两部分的输出图像和LDCM的输出图像,
和
分别为空洞率为2的3 × 3空洞卷积和卷积核大小为1的卷积块,
为按通道维度融合,
为ReLU激活函数,
为密集连接。
一部分参与密集连接中的卷积,另一部分参与空洞卷积的特征提取,既保留了密集连接中特征复用的特点,又能够使未参与密集连接卷积的部分在更大的感受野上获取信息进行补充,降低输入图像完全参与密集连接带来过大的参数量,最终同样将输入图像再次以残差连接的方式与输出图像相融合,得到一种轻量级的密集连接模块。
2.2.3. 跨尺度特征融合模块(CSFFM)
不同尺度的特征图往往采用简单的通道融合或是逐像素相加的方式融合,无法完全利用不同尺度中的特征信息。为了避免不同尺度特征中有效信息的浪费,本文提出一种跨尺度特征融合模块,如图1所示,以全尺度和1/4尺度大小的特征图为基准,分别融入均与二者相邻的1/2尺度的特征图信息,并得到两组新的尺度特征图。具体而言,不同尺度的三个特征图作为该融合模块的输入,首先采用上下采样的方法将1/2尺度特征图统一至被补充信息尺度的分辨率大小和通道数。并基于这两组特征图分别对全尺度和1/4尺度特征图作相同的处理进行信息补充。以全尺度特征图
为例,由1/2尺度特征图上采样得到的
与
经由1 × 1卷积、ReLU激活函数和3 × 3卷积的串联组合,实现冗余信息的去除并进一步提取特征信息;经过卷积处理后的
经由tanh激活函数作非线性变化后与同样经过卷积处理后的
相乘得到初步特征输出图像,该图像再次经由1 × 1卷积和ReLU激活函数的组合完成图像信息的有效融合。多次的卷积处理易导致原尺度特征图中信息的丢失,因此对融合特征图像添加一个残差连接保留输入图像中的细节,具体如下式所示:
(9)
式中:
为全尺度特征图经过该模块处理后的输出,
为tanh激活函数,
为1 × 1卷积、ReLU激活函数和3 × 3卷积的串联组合。
2.3. 损失函数
CFFLDNet采用由Charbonnier损失
[8]、边缘损失
[7]和频率损失
[17]组成的混合损失函
数实现训练过程中的监督学习,通过综合考虑像素值、边缘特征和频率信息,生成更加自然与清晰的去雨图像。计算公式如下:
(10)
其中:
为混合损失函数,
、
和
为各个损失函数的权重值依照经验分别设置为1,0.05,0.01 [18]。
3. 实验与结果分析
3.1. 实验细节介绍
本文选用Python3.8作为网络模型的编程语言,并在PyTorch1.11.0深度学习框架下使用单张NVIDIA RTX4090D显卡实现图像去雨模型的训练与验证,实验环境为Ubuntu20.04,CUDA版本为11.3。本文实验的训练轮次为400轮,批次大小为3,训练过程中将输入图像裁剪成256 × 256大小的图像补丁,学习率采用余弦退火衰减策略且初始值设置为5 × 10−4,最终减小至1 × 10−6。CFFLDNet中的FESM的数量
在三个尺度上均设置为3,且LDCM中的卷积层数
和分割比例
设置为3和0.5。同时采用水平翻转和垂直翻转作数据增强处理。
3.2. 数据集介绍
成对的无雨图像与有雨图像在现实世界中难以获取,因此本文采用Rain200H [19]和Rain200L [19]两组雨线合成数据集和RainDrop [9]一组雨滴数据集实现对去雨网络的训练与验证。其中Rain200H中的雨线相较于Rain200L更为复杂且分布更为密集,二者均包含1800对图像的训练数据集和200对图像的验证数据集。而RainDrop为现实世界的半真实数据集,该数据集的摄影师分别透过一块喷洒水滴的玻璃和干净的玻璃拍摄出完全相同场景的图像对,获得1168对含雨滴图像和无雨滴图像的样本对,其中861对用来训练,58对用作验证。
3.3. 实验结果分析
3.3.1. Rain200H和Rain200L数据集
本文采用PReNet [20],MPRNet [8],DualGCN [21],SPDNet [22],Restormer [23],IDT [24]和DRSformer [25]七种去雨算法与本文提出的去雨算法在Rain200H和Rain200L数据集上进行对比实验,同时采用峰值信噪比PSNR (peak signal to noise ratio) [26]和结构相似度SSIM (structure similarity) [27]作为客观评价指标。八种去雨算法在Rain200H和Rain200L数据集上的PSNR值和SSIM值如表1所示,其中最好的结果用粗体表示,次优的结果用下划线表示。从表1中可以看出本文所提出的CFFLDNet去雨算法的PSNR值和SSIM值均优于其他去雨算法。其中在Rain200L数据集上的优势更为明显,与基于CNN的DualGCN和基于Transformer的DRSformer去雨算法相比较,CFFLDNet在评价指标PSNR值上分别提高了0.88 dB和0.38 dB。值得注意的是,在目前去雨算法大多都基于Transformer的潮流中,本文所提出基于CNN的CFFLDNet算法不仅能够保持较高的去雨效果,而且超过基于Transformer的主流方法。
Table 1. Comparison results with other methods on the Rain200H and Rain200L datasets
表1. 在Rain200H和Rain200L数据集上与其他方法的对比结果
数据集 |
Rain200H |
Rain200L |
评价指标 |
PSNR/dB |
SSIM |
PSNR/dB |
SSIM |
基于Transformer
的方法 |
Restormer [23] |
31.17 |
0.9268 |
40.18 |
0.9887 |
IDT [24] |
32.10 |
0.9344 |
40.74 |
0.9884 |
DRSformer [25] |
32.17 |
0.9326 |
41.23 |
0.9894 |
基于CNN的方法 |
PReNet [20] |
28.87 |
0.8921 |
37.48 |
0.9812 |
MPRNet [8] |
30.42 |
0.9149 |
39.77 |
0.9815 |
DualGCN [21] |
31.15 |
0.9125 |
40.73 |
0.9886 |
SPDNet [22] |
31.28 |
0.9207 |
40.50 |
0.9875 |
CFFLDNet |
32.21 |
0.9355 |
41.61 |
0.9900 |
Figure 2. Different results of different algorithms on Rain200H dataset
图2. 不同算法在Rain200H数据集上的不同结果
合成雨线数据集中Rain200H由于其图像中的雨线更加密集,因而更加具有挑战性,本文从中选取一张图像作为合成雨线数据集的代表进行直观的可视化对比,如图2所示。其中,图2(a)和图2(b)分别为含雨图和无雨图,图2(c)至图2(j)分别为本文算法与对比算法在Rain200H数据集上的去雨图像。由图2可知,对比算法中基于Transformer的去雨方法在整体图像上的雨线去除效果和背景细节恢复程度都要优于基于CNN的去雨方法,但是从局部放大图中可以看出基于Transformer的去雨图像中均存在一条与背景中草丛相重合的透明雨线残留,未能彻底去除的残留在一定程度上影响了图像的视觉质量,而本文所提出的CFFLDNet去雨图像并不存在这样的情况且能够恢复出更优质的细节背景。相比之下,CFFLDNet展现出更为优异的性能。同时,基于两种不同方法的去雨算法对图像中的细节处理呈现出不同程度的恢复效果。具体而言,PReNet去雨图像中对较大的雨线去除效果较好,但是对小雨线的去除存在局限性,同时清晰度也较低。MPRNet,DualGCN和SPDNet三个基于CNN的去雨图像中不存在任何雨线的存在,但是细节恢复较差,对应的局部放大图像中关于桥体侧边的砖缝凸起部分未能有效恢复。而在图2(h)到图2(j)展示的基于Transformer的去雨图像中,均可以从局部放大图中观察到去雨算法对桥体侧边砖缝凸出具有不同程度的有效恢复,但是与图2(c)展示的本文去雨图像相比较,本文去雨方法恢复的更加完整。在展示的不同算法去雨图像中,本文算法的去雨图像不仅能够完全去除输入图像中不同大小的雨线干扰,而且对图像细节恢复的把控更加接近无雨图。
3.3.2. RainDrop数据集
本文还在雨滴数据集RainDrop上进行图像去雨的训练与验证,并采用Chen等人[28]对比实验中的对比结果与本文算法在RainDrop数据集的验证集Set-A上作比较,为了对比的公平性,本文算法在该验证集上的去雨图像与Chen等人开源代码中评价指标的计算方法保持一致,结果如表2所示,其中最好的结果用粗体表示,次优的结果用下划线表示。由表2可知,本文去雨算法虽然在SSIM评价指标上作为次优结果,比 UDR-S2Former去雨算法低了0.1%,但是在PSNR值上表现出更优异的性能,不仅超越了其他去雨算法,而且还比UDR-S2Former去雨算法高了0.03 dB。
Table 2. Comparison results with other methods on the RainDrop dataset
表2. 在RainDrop数据集上与其他方法的对比结果
算法 |
PSNR/dB |
SSIM |
Eigen’s model [29] |
21.31 |
0.757 |
Pix2Pix [30] |
27.20 |
0.836 |
AttenGAN [9] |
31.59 |
0.917 |
Quan’s network [31] |
31.37 |
0.918 |
CCN [32] |
31.34 |
0.929 |
IDT [24] |
31.63 |
0.936 |
UDR-S2Former [28] |
32.64 |
0.943 |
CFFLDNet |
32.67 |
0.942 |
为了进一步展现本文去雨算法对不同密度雨滴的去除效果,本文从RainDrop验证集Set-A中取出三对不同密度分布的雨滴图像与其对应的去雨图像,如图3所示。图3(a)至图3(c)按雨滴密度由大到小排列含雨图像,图3(d)至图3(f)与图3(g)至图3(i)分别为对应的无雨图与去雨图。由三张去雨图可以看出,本文去雨算法对不同密度的雨滴干扰均有较好的去除效果,但是对于雨滴覆盖下的背景信息的恢复能力还有待提升。具体而言,从主观角度观察,得益于本文去雨模型优异的雨滴去除以及细节恢复能力,小密度与中密度的去雨图中的背景信息基本恢复的与无雨图一致,但是中密度去雨图像的整体色调与无雨图相比偏亮,对于大密度的雨滴去除后,原先被雨滴遮掩的背景信息由于雨滴分布密度较大,去雨模型难以完全恢复出原先的信息,存在一定的模糊。从客观角度观察,小密度和大密度的去雨图像的PSNR值分别能达到33.19 dB和31.41 dB,但是中密度仅能达到26.30 dB,同时三种不同密度的去雨图像的SSIM值都能达到较好的水平。
综合来看,本文提出的方法在雨迹的两种表现形式——雨线和雨滴上均展现出了卓越的去除效果,并且对背景细节信息也展现出出色的恢复能力。
Figure 3. Different results of CFFLDNet with raindrop maps of different densities on the RainDrop dataset
图3. CFFLDNet在RainDrop数据集上不同密度雨滴含雨图的不同结果
3.4. 消融实验
为了验证FESM的图像特征提取能力,以及CSFFM在图像去雨中的有效性,本文在Rain200H数据集上进行了消融实验。同时 LDCM中的分割比例
与FESM的堆叠数量
也会对去雨算法的效果与模型复杂度产生影响。因此本文进行了多组实验探究其对图像去雨算法的去雨效果以及参数量的影响。
3.4.1. 不同模块对去雨效果的影响
如表3所示,综合使用LDCM和Res FFT-ReLU的网络与单一模块相比获得了更高的PSNR值,仅采用本文设计的LDCM与仅引用Res FFT-ReLU作特征提取模块的网络相比高出1.16 dB,由此可见LDCM强大的特征提取能力。在通道注意力模块CA的帮助下,由LDCM、Res FFT-ReLU和CA组成完整的FESM的网络模型能够针对不同通道在去雨任务中实施差异化关注,从而显著增强了其去雨性能。同时CSFFM有效利用了相邻尺度间的图像信息,进一步提升了网络模型对雨线的去除能力以及背景细节恢复能力。
Table 3. Ablation results on Rain200H
表3. 在Rain200H上的消融结果
FESM (LDCM) |
FESM (Res FFT-ReLU) |
FESM (CA) |
CSFFM |
PSNR/dB |
× |
√ |
√ |
√ |
30.70 |
√ |
× |
√ |
√ |
31.86 |
√ |
√ |
× |
√ |
32.17 |
√ |
√ |
√ |
× |
32.11 |
√ |
√ |
√ |
√ |
32.21 |
3.4.2. 分割比例r对去雨效果和参数量的影响
由表4可以看出,LDCM中分割比例
的取值不同,网络的去雨效果和参数量也随之变化。其中,
取值为0.25时,虽然模型参数量与
取值为0.5的网络模型比较相对较低,但是对应的PSNR值也低了0.56 dB;而取值为0.75时,不仅模型变得更加复杂,而且去雨效果也未能得到提升。
Table 4. Effect of split ratio
on PSNR and params
表4. 分割比例
对PSNR和Params的影响
|
PSNR/dB |
Params/M |
0.25 |
31.65 |
17.00 |
0.5 |
32.21 |
26.17 |
0.75 |
31.93 |
42.84 |
3.4.3. FESM的数量N对去雨效果和参数量的影响
同时,不同的串联模块数量也会对网络去雨效果与模型复杂度产生影响,
的不同取值在模型上的效果如表5所示。随着数量
的增大,网络模型参数量显著增大,去雨效果也随之更高,但是当
取值增加到4时,PSNR值出现了负增长。
Table 5. Effect of number
of FESM on PSNR and params
表5. FESM的数量
对PSNR和Params的影响
|
PSNR/dB |
Params/M |
2 |
31.83 |
18.19 |
3 |
32.21 |
26.17 |
4 |
32.07 |
34.14 |
4. 结论
本文提出一种基于轻量级密集连接和多尺度特征融合的去雨算法。网络充分利用轻量级密集连接模块与基于频域模块的不同特征提取能力,根据通道注意力模块让网络对不同通道间的信息有所侧重,有效去除含雨图像中的雨线与雨滴,通过跨尺度特征融合模块充分利用相邻尺度间的信息,双向信息流动避免了下游有效图像信息无法利用的问题,消融实验充分验证了LDCM有效去除雨迹的能力,以及CSFFM融合相邻尺度间信息的能力。本文所提出的去雨模型在Rain200H、Rain200L和RainDrop验证集上的PSNR值分别达到32.21 dB,41.61 dB和32.67 dB,在客观与主观角度都获得了优异的成绩,并优于主流算法。