火控系统中的可见光探测装备非常容易受到下雨天气的影响导致图像质量下降、背景场景变得模糊,这些图像退化现象将严重影响系统对目标的识别、跟踪等功能。 有效地去除图像中的雨纹信息,可以更好地保留图像细节信息。单图像去雨由于缺少视频帧之间的时域特征,去雨更具有难度,目前单图像去雨主要可分为基于模型和数据驱动两大类方法[1]。基于模型的去雨方法需要建立雨纹信息和背景信息的先验,然后构建代价函数并对其进行优化。文献[2]利用判别式稀疏编码从图像中的高频分量中学习无雨分量,然后与低频分量叠加得到雨纹去除后的图像。文献[3]在图像分解的基础上将图像分为背景层和雨纹层,通过高斯混合模型构建先验信息,该方法不易求取准确的高斯混合模型参数。文献[4]融合局部和非局部稀疏约束先验,利用降雨方向先验信息进行单图像去雨。
基于数据驱动的去雨方法利用深度网络自动提取层次特征,构建从雨图像到无雨图像的非线性映射关系。文献[5-6]首先通过导引滤波将雨图像分解为低频段和高频段,然后利用深度残差网络将高频信息映射到雨纹层,训练稳定、收敛速度快。文献[7]设计了一种深度循环扩张网络联合检测和去除雨纹。文献[8]使用生成对抗网络,捕获超出信号保真度的视觉特性,具有较好的光照、颜色和对比度分布。文献[9]利用注意力机制构建模型获得雨纹的密度和亮度特征,通过循环神经网络分时学习。文献[10]通过从局部到全局的注意力机制对去雨特征进行建模。文献[11]设计了一种新的多阶段卷积神经网络,该网络由几个并行的子网络组成,每个子网络都能感知不同尺度的雨条纹。文献[12]使网络本身能够自动确定雨密度信息,并根据估计的雨密度标签有效地去除相应的雨条纹。文献[13]对于不同位置的相似雨纹,采用了递归计算来获取全局纹理,通过空间维度上互补和冗余信息来表征雨纹。
从上述分析可知,目前基于数据驱动的单图像去雨方法所构建的去雨网络通常采用负残差、注意力机制、膨胀卷积学习像素到像素的空域映射关系,进而完成单图像雨纹信息的去除,但存在以下不足:
1) 上下文信息大多是基于空间域特征建立,频域特征的获取需要人工先验方法,弱化了雨图像中空域与频域之间特征的依赖关系,不易区分方向、密度随机分布的雨纹而导致背景信息的损失;
2) 卷积神经网络生成的特征图在空间映射中既包含图像的高频信息也包含低频信息,在空间维度中造成特征冗余,影响了网络的运行速度。
针对以上问题,在建立频域去雨模型的基础上,提出一种基于空-频域上下文联合卷积网络的去雨算法,结合有雨图像中的空间特征与频率特征来表示雨纹和无雨场景的空-频域关系;构建面向全局信息、多频特征映射的去雨网络,自动提取雨纹的空频域特征,在强化重要特征的同时兼顾网络运行效率;最后,通过序列模块迭代分解不同成分的雨纹特征,从而实现单图像的去雨,恢复去雨后图像的背景信息。
目前,在空间域中,去雨模型最直观的表示形式就是在将有雨图像X线性分解为无雨的同场景背景图像Y和雨纹图像R:
X=Y+R
(1)
在现实中,空气中的雨滴表观形式根据拍摄距离不同、空气中的衰减和散射等因素而形式多样,这就导致了雨纹的分布是不规则的,从而进一步增加了了雨纹亮度的多样性[9]。为降低模型的复杂性,同时考虑雨纹的亮度变换对背景图像亮度的影响,可将具有相同形状与深度的雨纹视为同一雨层Ri(i=1,2,…,n),有雨图像可表示为:
(2)
在频域中,有雨图像X的频率分布F(X)包含了图像中的高频信息和低频信息,即F(X)={FH(X), FL(X)}。将同场景的有雨与无雨图像对在频域中的频谱图进行对比,如图1所示,雨图频谱与无雨背景频谱相比,能量由低频部分向四周扩散,雨纹的频率信息分布R同时存在于频率空间的4个象限中,既有高频信息也有低频信息。
图1 雨图和无雨背景图的频谱图
Fig.1 Spectrum of rain image pairs
因此,雨纹的频率信息分布FR可表示为
FR=FH→H(X)+FL→H(X)
(3)
FH→H为存在于高频信息中的雨纹频率、 FL→H为存在于高低频带信息间的雨纹频率。则雨纹图像可由雨图像的频率特征表示为
R=F-1(FR)=F-1[FH→H(X)+FL→H(X)]
(4)
其中,F-1(·)表示频域到空间域的转换。
将式(4)代入式(2)中,有雨图像可表示为
(5)
由于传统频域去雨方法是将空域中建立的去雨模型通过傅里叶变换对[14-15]、小波变换[16]的方式进行空域和频域间的转换,无法主动学习雨纹特征在空-频域间的上下文信息,提出一种基于空-频域上下文信息联合的端到端去雨算法,简称空频域联合去雨网络。根据雨纹频率特点,本网络模型以深度卷积神经网络为基本框架,分为上下文信息聚合模块和多频特征映射模块。网络结构对应式(5)的去雨模型,将去雨过程分频、分步执行,迭代分解出具有不同特征的雨纹,提高了模型对雨纹的识别能力。
由于无法充分获取雨图像背景与雨纹之间的相关特征,以及无法充分获取雨纹像素区域间的上下文信息,导致去雨的同时背景区域内容被破坏,甚至出现过去雨的现象。根据频率原则[17],卷积神经网络将学习到的局部高频信息都集中在尺度较小的卷积核上,因此,本文中对雨图像背景与雨纹之间的相关特征进行建模,增加有用特征,弱化非重要特征,提高特征提取的针对性。
上下文信息聚合模块的输入特征为雨图像X的特征张量FX′∈Fc×h×w,输出特征张量FX∈Fc×h×w表示为
FX=FX′×s(g(FX′),W)
(6)
其中,g(FX′)表示对输入特征进行全局平均池化操作得到每个通道的特征全局信息;s(g(FX′),W)表示对每个通道的全局信息特征映射进行权重分配,通过两级全连接层和非线性激活层学习权重W[18]。
为实现式(4)中雨纹信息与图像中频率信息之间的映射关系,首次引入文献[19]的多频特征映射理论,将卷积算子分为低频部分和高频部分,每组频率特征信息更新的同时实现组间频率信息的交互。多频特征映射网络结构如图2所示。
图2 多频特征映射网络结构示意图
Fig.2 The architecture of multi-frequency feature mapping network
多频特征映射网络的输入为一幅有雨图像X的频率特征张量FX,由高频特征映射和低频特征映射组成,表示为其中FX∈Rc×h×w,h和w表示特征的空间维数,c表示特征映射数或通道数;为去除空间冗余信息,对低频特征映射进行降分辨率处理,令低频特征图高频特征映射为特征映射分配系数。
多频特征映射网络的输出对应雨纹频率张量表示高频特征内上下文信息更新,表示频带间上下文信息交互。对于高频特征映射表示为在空间位置点(p,q)进行常规卷积运算;对于频带间特征映射,可表示为对进行上采样卷积,则雨纹频率映射可表示为
(7)
Nk={(i, j)∶i={-(k-1)/2,…,(k-1)/2}, j={-(k-1)/2,…,(k-1)/2}}为(i, j)一邻域范围,卷积核W分成2个分量W={WH→H, WL→H}分别对和进行卷积,[·]表示向下取整运算。使用k×k的卷积核,相比传统卷积,感受野扩大了2倍,使每个卷积层更好地获得上下文信息,提高网络的识别性能,在去除雨纹的同时保留了图像背景。式(7)也可表示为
(8)
表示为使用W对进行卷积运算,upsample(X,k)为k近邻插值的上采样运算。
根据式(2),由于雨纹相互重叠,去雨过程需要分解成多个阶段,不同阶段的输入图像{X1,X2,…,Xn} 可看作是去除雨纹操作的一系列雨图像的序列,各阶段的输入图像与输出图像之间的关系可表示为
Xn=Xn-1-fMF(Xn-1)=
X1-fMF(X1)-…-fMF(Xn-1)=
(9)
其中, fMF(·)表示多频特征映射模块的输出,即雨纹频率特征。
去雨网络采用上下文信息聚合模块+多频特征映射模块作为每个序列的基本结构,网络将前一序列的特征输出作为当前序列特征的输入,通过序列去雨操作,最终得到去雨图像Y。其中,上下文信息聚合模块首先由卷积层提取图像多频特征,对每个通道进行平均池化得到特征全局信息,通过两级全连接+ReLU学习每个通道的特征权重。上下文信息聚合模块的输出频率特征输入到多频特征映射模块中,该模块对其频率特征进一步优化处理,对低频特征通过下采样进行降分辨率从而去除背景冗余信息,针对高频特征以及低-高频间特征进行学习映射雨纹频率特征。由于雨纹在方向、颜色和形状上的分布是不同的,整个去雨网络不进行批标准化处理[20],从而提高网络训练的稳定性。去雨算法整体结构如图3所示。
图3 去雨网络整体结构框图
Fig.3 The architecture of de-raining network
由于雨纹特征相比背景特征更具有稀疏性,所以本算法构建的去雨网络学习的是雨图像X到雨纹图像R的映射关系,其损失函数可定义为
其中, φ为网络参数,为第n个序列预测的全雨纹图。
提出了一种基于空-频域上下文信息联合的卷积网络去雨算法,该算法结合有雨图像中的空间特征与频率特征表示雨纹和无雨场景的空-频域关系,构建面向多频特征映射的去雨网络,突出重要特征,抑制冗余信息,简化网络结构,提高去雨效率。具体算法流程如下:输入:雨图像X(分辨率w×h)
输出:去雨图像Y(分辨率w×h)
1 对去雨图像X进行序列去雨;
for i in 1,2,3,4 do:
2 对序列雨图像Xi进行3×3卷积提取特征(w×h×48),平均池化得到特征全局信息,通过两级全连接+ReLU得到权重重新分配的特征;
3 对特征进行分频映射,低频特征降分辨率(0.5w×0.5h×24)处理,进行3×3卷积并且ReLu激活,高频特征(w×h×24)直接进行3×3卷积并且ReLu激活后,与低频特征上采样后合并得到雨纹频率特征;
4 将得到的雨纹图与序列雨图像Xi相减,
i= i+1;
end
5 得到去雨后的图像Y。
为验证算法在单图像去雨方面的有效性,分别选取文献[7]、文献[12]提供的合成雨图像对数据集和文献[21]、文献[22]提供的真实雨图像数据集进行实验。训练集共包括11 140张图像对,校验集共包括2 540张图像,测试集共包括1 320张图像。
为了定量衡量算法的去雨效果,采用峰值信噪比[23](peak signal noise ratio,PSNR)和结构相似性(structural SIMilarity,SSIM)作为评价指标。
利用Pytorch1.2搭建网络训练框架,编程语言为Python 3.7,Win10操作系统,计算机配置为64G内存、Inter(R) Xeon(R) Silver 4210 CPU @ 2.2 GHz 2.19 GHz、NVIDIA GeForce RTX 2080Ti GPU。训练过程中,从每对训练图像中各随机生成100个大少为64×64的图像块,序列个数为4,每个序列中卷积网络深度为4层,其中多频映射模块为2组,每组深度为1层。为兼顾计算效率和去雨性能,特征映射分配系数α=0.5[19],分频卷积核大小为3×3。为了抑制梯度方向锯齿问题,激活函数选用LeakyReLu,超参数为0.2[9],梯度优化算法选用ADAM,起始学习率为5×10-3,当迭代次数在15 000~17 500,学习率除以10。
为了验证网络结构中各模块对整个去雨网络的贡献,通过各模块的不同组合方式进行消融实验,结果如表2所示。表2中为单独使用上下文信息聚合模块与多频映射模块以及同时使用两模块(网络序列个数为4)时的实验结果。由去雨性能评价结果可知,不同结构下的SSIM指标基本保持不变,证明本算法能保证去雨图像的结构稳定性。对于PSNR指标,同时采用上下文信息聚合模块和多频特征映射模块时能分别提高约2.92 dB和4.91 dB。证明了本算法结构设计对于提高去雨图像质量的有效性。同时,在GPU下运行算法,运行时间没有受到影响。
表2 模块组合消融实验结果
Table 2 Ablation experiments of different modules about de-raining performance
测试图像上下文信息聚合PSNRSSIMTime/s多频映射PSNRSSIMTime/s上下文信息聚合+多频映射PSNRSSIMTime/s图像132.510.980.3530.150.980.3433.40.970.35图像232.730.820.3831.350.820.3734.770.820.38图像328.940.910.3326.620.920.3329.550.930.33图像431.680.950.3229.470.940.3135.20.930.31图像530.050.960.3628.360.970.3537.570.980.36平均值31.1820.9240.34829.190.9260.3434.0980.9260.346
将本文算法与DSC[2]、GMM[3]、CNN[5]、DNN[6] 、RESCAN[9] 、DID-MDN[12]和MSPFN[13]等7种典型去雨算法在合成雨图数据集RainTainH和Rain12600上进行定量分析,分析结果如表 3所示。实验结果表明本文算法能够取得较高的峰值信噪比和更好地结构相似性。与其他算法相比,峰值信噪比分别提高了0.3~13.36 dB和0.35~6.64 dB,结构相似度与其他算法相比分别提高了0.009~0.232和0.011~0.19。
表3 典型去雨算法在Rain12600和RainTainH的定量分析结果
Table 3 Quantitative comparison of typical de-raining algorithms in RainTainH and Rain12600
去雨算法Rain12600PSNRSSIMRainTainHPSNRSSIMDSC[2]24.150.75318.680.741GMM[3]29.480.84322.970.789CNN[5]23.180.87418.980.697DNN[6]28.410.88919.220.732RESCAN[9]36.240.96224.670.841DID-MDN[12]33.930.94124.310.876MSPFN[13]28.590.97624.970.814本文算法36.540.98525.320.887
数据集Rain12600是针对不同雨纹方向的合成雨图,如图4所示,GMM对于不同方向的雨纹只能去除少量雨线,其他对比算法均有一些明显的雨纹残留,图中一些细节信息由于去雨造成了信息的丢失。与上述算法相比,本文算法对于不同方向的雨纹去除具有较好的适应能力,在去除雨纹的同时可以将图像的细节和边缘信息保留。
图4 典型算法与本文算法在Rain12600上的去雨效果图
Fig.4 The results of various algorithms on Rain12600
数据集MPID是真实环境下采集的雨图像,实验结果如图5所示,对比算法对于较大的雨滴和较粗地雨纹的去除效果都不理想,对于较稀疏的雨纹去除效果较好,但是细节信息容易被抑制掉。本文算法对于较大的雨滴和较粗的雨纹的去除均取得了较好地去除效果,并可以较好地保存图像的细节信息,本文算法相比其他算法具有较好的鲁棒性。
图5 典型算法与本文算法在MPID上的去雨效果图
Fig.5 The results of various methods on MPID
为了进一步验证本文算法在去雨的同时细节信息的保留效果,通过SPA-DATA数据集进行验证,实验结果如图6所示,可以看出对比算法对于去除方向随机的雨滴和较粗的雨纹的效果不理想,并且破坏了细节信息,提出的算法对于方向随机的雨滴和雨线、形状较精的雨纹均好较好的去除性能,同时较好地保护了图像中的细节以及纹理信息。
图6 典型算法与本文算法在SPA-DATA上的去雨效果图
Fig.6 The results of various methods on SPA-DATA
在相同的计算机硬件配置下,本文算法与对比算法在运行时间上进行了比较,针对分辨率为512×512图像,去雨运行时间如表4所示,本文算法相比对比算法在运行时间上提高了0.02~12.13 s,进行一步验证了本文算法的网络结构节省了计算成本,提高了运行速度。
表4 典型算法与本文算法在在运行时间上的比较(s)
Table 4 Comparison between typical de-raining algorithms and our method in running time
DSC[2]GMM[3]CNN[6]DNN[7]12.3210.650.640.65RESCAN[10]DID-MDN[13]MSPFN[14]本文算法0.610.50.210.19
通过上下文信息聚合模块,对雨图像的全局信息重新分配权重,强化了重要特征;建立了空-频域去雨模块,提高了空-频域之间上下文信息的相关性;对重新分配权重的空域特征通过多频特征映射模块,采用下采样低频特征与频间信息交互的方式聚合了雨频特征,去除空间冗余,提高网络运行速度;构建序列去雨网络,有效地去除不同成分的雨纹信息。实验表明,算法对不同方向、不同形状的雨纹和雨滴的去除性能有很大提升,同时对于背景图像的细节与边缘信息也具有较好地保护作用,但是对于密度较大的积累雨去除效果仍需进一步提高。
[1] Yang W,Tan R T,Wang S,et al.Single image deraining:From model-based to data-driven and beyond[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2020,43(11):4059-4077.
[2] Luo Y,Xu Y,Ji H.Removing rain from a single image via discriminative sparse coding[C]//Proceedings of the IEEE International Conference on Computer Vision.2015:3397-3405.
[3] Li Y,Tan R T,Guo X,et al.Rain streak removal using layer priors[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.2016:2736-2744.
[4] Zhu L,Fu C W,Lischinski,et al.Joint bi-layer optimization for single-image rain streak removal[C]//Proceedings of the IEEE international conference on computer vision.2017:2526-2534.
[5] Fu X,Huang J,Ding X,et al.Clearing the skies:A deep network architecture for single-image rain removal[J].IEEE Transactions on Image Processing,2017,26(06):2944-2956.
[6] Fu X,Huang J,Zeng D,et al.Removing rain from single images via a deep detail network[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.2017:3855-3863.
[7] Yang W,Tan R T,Feng J,et al.Deep joint rain detection and removal from a single image[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.2017:1357-1366.
[8] Pu J,Chen X,Zhang L,et al.Removing rain based on a cycle generative adversarial network[C]//2018 13th IEEE Conference on Industrial Electronics and Applications (ICIEA).IEEE,2018:621-626.
[9] Li X,Wu J,Lin Z,et al.Recurrent squeeze-and-excitation context aggregation net for single image deraining[C]//Proceedings of the European Conference on Computer Vision (ECCV).2018:254-269.
[10] 韩冉,曾广淼,王荣杰.基于残差块网络的图像去雨算法[J].仪器仪表学报,2021,41(08):175-182.
Han R,Zeng G M,Wang R J.An image derain algorithm based on the residual block network[J].Chinese Journal of Scientific Instrument,2021,41(08):175-182.
[11] Li R,Cheong L F,Tan R T.Single image deraining using scale-aware multi-stage recurrent network[J].arXiv Preprint arXiv:1712,2017(13):49-56.
[12] Zhang H,Patel V M.Density-aware single image de-raining using a multi-stream dense network[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.2018:695-704.
[13] Jiang K,Wang Z,Yi P,et al.Multi-scale progressive fusion network for single image deraining[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition.2020:8346-8355.
[14] Barnum P,Kanade T,Narasimhan S.Spatio-temporal frequency analysis for removing rain and snow from videos[C]//Proceedings of the First International Workshop on Photometric Analysis For Computer Vision-PACV 2007.INRIA,2007.
[15] Garg K,Navar S K.Detection and removal of rain from videos[C]//Proceedings of the 2004 IEEE Computer Society Conference on Computer Vision and Pattern Recognition,2004.CVPR 2004.IEEE,2004,1:I-I.
[16] Zhen C,Jihong S.A New Algorithm of Rain (Snow) Removal in Video[J].Journal of Multimedia,2013,8(02):41-56.
[17] Xu Z Q J,Zhang Y,Xiao Y.Training behavior of deep neural network in frequency domain[C]//International Conference on Neural Information Processing.Springer,Cham,2019:264-274.
[18] Hu J,Shen L,Sun G.Squeeze-and-excitation networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.2018:7132-7141.
[19] Chen Y,Fan H,Xu B,et al.Drop an octave:Reducing spatial redundancy in convolutional neural networks with octave convolution[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision.2019:3435-3444.
[20] Ioffe S,Szegedy C.Batch normalization:Accelerating deep network training by reducing internal covariate shift[C]//International Conference on Machine Learning.PMLR,2015:448-456.
[21] Li S,Ren W,Wang F,et al.A comprehensive benchmark analysis of single image deraining:Current challenges and future perspectives[J].International Journal of Computer Vision,2021,129(04):1301-1322.
[22] Wang T,Yang X,Xu K,et al.Spatial attentive single-image deraining with a high quality real rain dataset[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition.2019:12270-12279.
Citation format:YANG Qing, YU Ming.Single image de-raining based on spatial-frequency context joint convolutional network[J].Journal of Ordnance Equipment Engineering,2022,43(08):275-282.