多尺度沙漏结构的单幅图像去雨算法研究

2021-03-21 05:11马婧婧黄煜峰
小型微型计算机系统 2021年3期
关键词:残差沙漏尺度

马婧婧,黄煜峰,陈 翔

(沈阳航空航天大学 电子信息工程学院,沈阳 110136)

1 引 言

雨天环境下采集的图像容易受到雨水折射和遮挡影响,造成图像的模糊、颜色畸变和细节丢失等质量问题,严重影响图像检测、目标跟踪等后续处理.单幅图像去雨作为图像预处理的重要过程,得到广泛关注,具有迫切的应用需求.

近些年来,有很多学者对于单幅图像去雨进行深入研究,主流的研究方法有基于模型的去雨方法和基于深度学习相关数据驱动的去雨方法两类.基于模型的去雨方法是构建模型来模拟雨和背景间的关系,进而优化模型来实现去雨.基于模型的方法:Chen[1]采用低秩模型对雨进行建模,同时利用相关模型来约束背景图像信息.Li[2]等人利用高斯混合模型建立多个方向、尺寸的雨滴和背景模型关系实现去雨.有研究利用图像分解方法[3],把雨天图像分离为无雨和有雨图像,再利用粗糙和无雨图像拟合得到清晰图像.基于模型的方法,需要较多的先验知识,去雨效果容易受到模型的影响,建模不合适情况则对去雨效果影响较大,同时模型的泛化能力较弱,也是其制约因素.

深度学习方法[4]主要是利用数据驱动的方法构建网络框架来解决单幅图像去雨问题.Chen等[5]提出了一种多尺度残差网络实现去雨,Fu等[6]提出深度学习DerainNet来提取雨特征实现去雨,通过进一步研究提出Deep Detail Network(DDN)通过减小拓扑范围实现去雨.条件生成对抗网络[7,8]通过博弈的思想实现雨天图像的复原工作,Qian[9]在此基础上提取采用注意力机制优化条件生成对抗网络来优化去雨的效果.有学者采用门控上下文聚合方法Gated Context Aggregation Network(GCANet)[10]构建端对端网络,通过平滑扩张的方法从网络中提取雨滴信息.Li[11]等利用递归上下文扩张网络提取雨的信息,应用于去雨处理,取得较好效果.有学者[12]采用轻量化的金字塔网络Light weight Pyramid Networks(LPNet)来提取多尺度的雨特征,实现快速去雨.有研究构建PReNet[13]网络,利用残差网络[14]执行多级运算,同时利用长短期记忆网络层获取去雨图像.然而现有去雨算法较少利用多尺度的特征,对于特征的利用率较低,对于空间和分布复杂的雨图像处理效果较差.

通过上述分析,现有去雨算法存在雨线残留、细节纹理和信息复原能力差等问题,这大大的影响了单幅图像去雨算法的实际应用.为此,本文提出了基于多尺度沙漏结构的单幅图像去雨算法,通过多层不同尺度的沙漏结构提取雨线特征信息;其次,在沙漏网络内部引入残差密集注意模块,在较小的网络层数上传递和融合尽量多的特征信息,保证快速提取更多图像的细节和关键信息.实现复杂雨环境下的去雨处理,并尽量复原图像的细节和空间信息,减小色彩失真.

2 多尺度沙漏结构去雨网络

为提升雨天图像的雨线噪声去除效果,同时避免过分去雨导致的纹理细节损失和色彩失真.我们提出了基于多尺度沙漏结构的网络结构(见图1).下面我们将具体介绍本文提出的多尺度沙漏网络结构,残差密集网络及注意力机制.

图1 多尺度沙漏去雨网络结构Fig.1 Overall architecture of our proposed multi-scale hourglass network for single image deraining

2.1 多尺度沙漏网络结构

沙漏结构 是Newell[15]提出用于人体姿态检测和估计,因其结构中编码和解码的结构与沙漏相似,所以称为沙漏结构(见图2).沙漏结构是一个近似对称的结构,主要由下采样,上采样,池化层,卷积层和反卷积层组成.沙漏结构网络H可以定义为:

(1)

其中X为输入数据,Fd(X;θd)是对输入数据进行下采样过程,Fu(X;θu)是对数据进行上采样过程.i,j表示上下采样的层数.沙漏结构输出是上下采样处理得到特征和残差网络得到特征的融合.下采样层可以提高网络的关注区域,获取更高维度信息,有利于网络更好的区分不同景深和尺度的信息.上采样通过反卷积对于图像特征进行放大,形成跨层结构,能够较好的保留图像的细节和边缘信息.可以根据数据处理的需要,调整上下采样层的数目.引入残差网络,能够融合局部细节和高维深度信息,有利于图像的恢复.

图2 沙漏网络框架图Fig.2 Structure of hourglass network

多尺度沙漏网络结构 主要由3层平行沙漏网络结构组成(图1),输入图像通过第1级别(1×)的沙漏网络提取特征,通过第2级别(2×)下采样得到尺度为1/2的特征图,进一步通过第3级别(4×)下采样得到尺度为1/4的特征图.输入特征分别进行单级沙漏网络结构处理,提取不同尺度的特征.对于不同尺度的低维和高维信息,进行有效提取,低维信息保证了特征信息的准确性,高维信息能够更好的处理全局和景深信息.为了更好的利用多尺度的特征信息,我们采用卷积层对于不同尺度的特征进行融合,提高多尺度特征的利用率[16].

2.2 残差密集注意模块

特征提取过程是对于图像去噪复原等有非常重要的意义,是去雨算法研究的重点.为了更好的对于图像中雨线成分进行特征提取,复原出清晰的背景图像,我们引入了残差密集注意模块,主要包括残差密集模块和注意模块两个部分,其中注意力模块包含通道注意和空间注意,如图3所示.

图3 残差密集注意模块Fig.3 Detail structure of our proposed residual dense module

残差密集模块 是残差网络和密集连接网络构成,残差网络[17]能够有效的帮助特征信息传递给更深的网络信息,密集网络[18]从特征层的角度出发,把网络中任意两层进行连接,最大化网络中所有层的信息连接,使网络的每一层都能接收来自于其前面所有层的特征输入,能有效抑制训练过程中梯度消散的问题.因为密集网络实现了特征复用和传递,所以较少的特征也得到充分利用,模型尺寸也较小.结合以上两个网络的特点,残差密集网络可以定义为:

xl+1=xl+F(Gd([x0,…,xd]),[W0,…,Wd])

(2)

其中,xl和xl+1是残差密集网络的第l和l+1层,[x0,…,xd]和[W0,…,Wd]是残差密集网络中对应所有卷积层的参数和特征信息.F是残差网络特征提取处理,G表示密集网络.

注意力机制 有选择性的关注一些显著性的特征,可以更好的捕捉显著性差异,对于目标特征进行提取和表达,在图像处理领域有非常重要的应用,常用的注意力机制:通道注意和空间注意.

通道注意力机制通过对于深度特征图的通道进行提取和处理,得到不同类型特征的响应和相互关联信息.BCP[19]先验知识能够有效的处理不同通道的权重信息,提高图像的去模糊能力,在去雨研究[20]中发现基于通道注意的算法能够更好的保留像素特征.基于通道注意的特征图计算可表示为:

(3)

空间注意关注的是图像空间信息分布,图像场景中存在景深信息复杂,雨水位置和形状随机分别以及噪声等情况存在,添加空间注意能够对于空间维度上的特征进行加大权重,过滤掉不重要的信息,空间注意的计算可以表达为:

(4)

其中F∈R1×H×W是空间特征分别,F(i)是对应点的特征,C为所对应的通道.

2.3 损失函数

为了实现多尺度沙漏网络去雨,我们采用损失函数来评估去雨后图像和真实对照图像的差异,通过调整网络参数来优化去雨网络.

损失函数可以表示为:

L=LMSE+λLSSIM

(5)

其中LMSE表示均方误差(MSE:Mean squared error)LSSIM表示结构相似性(SSIM:Structural SIMilarity),λ是平衡两个损失函数的常数项取值为0.2.

(6)

对于均方误差损失函数LMSE,Ii是输入的雨图像,G(Ii)是输出的去雨后的图像,Ji是对比的清晰图像,H,W代表图像的长宽尺寸,C为通道的个数.

(7)

3 实验结果和分析

为了客观的评估多尺度沙漏网络结构的去雨性能,我们与当前一些先进的去雨算法进行比较:GCANet[10],RESCAN[11],LPNet[12],和PReNet[13].评价指标选用峰值信噪比(PSNR[21])和结构相似度(SSIM[22])的数据量化体现出来.采用的代码均来自于官方代码,在相同的数据集和实验环境上进行训练和测试.

数据集:实验采用经典的3个合成数据集:Rain100L[23],Rain100H[23],Rain800[7]和Rain12[24],Rain100L有200张雨图像,其中100张用于测试,Rain100H有5种不同雨条纹图像,其中1800用于训练,100张用于测试.Zhang等提供的Rain800,其中700张用于训练,100张用于测试,其中Rain12不用于训练,仅用于泛化能力验证测试.真实雨图像来自于网络和已有数据集[25],数量为200.

3.1 训练配置和参数细节

本文提出的网络结构在方法部分已提到(见图1),整个网络运行在Pytorch框架下,Ubuntu系统18.04,显卡为NVIDIA Tesla V100 GPU(16 G).从训练图像数据集中随机裁剪大小为64×64像素的图像小块作为输入,采用Adam优化,初始学习率为1×10-3,Batch size为32,训练过程一共有100个周期,每25个周期学习率降低一半.对于损失函数,结构相似性损失函数的权重λ为0.2.

3.2 合成数据的测试结果

为了证明本文方法的有效性,在经典合成雨数据集上进行对比实验.我们可以看到在3个经典的雨图像合成数据集(Rain100L/H,Rain800)以及泛化测试数据集Rain12,测试结果与真实图像的PSNR和SSIM的结果,本文的方法结果加粗显示,如表1所示.

表1 不同去雨算法在测试数据集上图像质量 评估指标(PSNR/SSIM)对比表Table 1 Quantitative deraining results of average PSNR and SSIM on the synthesized datasets

可以看出对比去雨前的数据,5种方法在PSNR和SSIM结果上都有显著提高,说明算法在去除雨线和还原细节特征方面都有很大的提高.在Rain100L和Rain12上PSNR结果都超过30dB,说明在数据较少,雨类型比较单一的情况下,算法具有较好的去雨效果.当雨图像数目和类型增加,Rain100H可以看出,算法的评估指标都有所下降,只有我们的结果超过PSNR超过30dB,SSIM超过0.9.选取Rain12数据集验证本文模型在合成数据集上的泛化能力,测试结果表明本文的方法均取得优于其它算法的定量分析结果.一定程度上说明,在复杂的雨数据集上,本文的方法在去除雨线和保留细节方面有较好的处理能力,在更为复杂的Rain800数据集上对比更加明显.

除定量分析外,实验随机选取若干测试结果,从视觉层面对比不同方法的去雨效能,见图4.为了更好地呈现细节对比结果,通过对图像的局部区域进行放大处理,来对算法的细节处理进行比对.如图4所示,GCANet算法处理图像中对于雨天图像中雨线较为粗重、密集的位置的处理效果较差,处理结果图中残留大量雨线(Rain100L/H,Rain800,Rain12),难以用于去雨处理.RESCAN图像中也有部分雨线残留,同时有颜色失真及模糊现象,如Rain800中存在大量斑点、Rain100L和Rain12中存在纹理失真.LPNet算法在处理多种雨线条件下效果不佳,并且引入不必要的模糊,在Rain100L/H、Rain800和Rain12中均有明显纹理失真导致的模糊.PReNet在多种雨线情况下,能够较好的去掉大部分雨线,但是存在细节丢失和色彩退化,如Rain800中墙砖部分存在局部色彩失真退化、Rain12 中电线杆存在纹理扭曲失真、Rain100L中存在纹理丢失(黑框).在Rain12数据集上,PReNet存在雨线残留及物体扭曲的情况,LPNet存在大量模糊,RESCAN存在图像细节失真及雨线残留,GCANet中雨线大量残留,去雨效果较差.总体上来讲,本文提出的基于多尺度沙漏结构的去雨算法,能够在多种复杂雨天图像上去掉绝大部分的雨线,尤其在大雨情况下也能取得较好的去雨效果,同时算法的另一个优势是能够较好的保留细节和颜色信息.与标定的真实无雨图像比较,能够发现我们的结果有效的去除了雨线,并且在细节和颜色上都与真实图像更接近.

图4 合成数据去雨效果图和局部区域放大图Fig.4 Visual quality comparisons of the deraining method on the synthetic datasets and zooming part of the Figure can provide a betterlook at the restoration quality

3.3 真实数据的测试结果

为了进一步测试去雨方法的实际应用效果,本文从网络和数据集中随机抽取部分雨天图像,用以测试真实雨图像的去雨结果.如图5所示,我们选取两张有代表性的真实雨场景图片,第1幅是具有一定近景和远景景深信息的大雨自然场景图像,第2幅是具有丰富细节的人像雨天图像.从去雨结果能够看出,类似于合成图像处理结果,GCANet具有大量雨线残留, 难以去除雨线; RESCAN算法中也存在雨线残留并对部分区域特征处理不好,导致部分区域纹理失真、图像模糊;LPNet算法中存在模糊和色彩失真,在人像雨天图像中存在大量絮状斑点;PReNet存局部雨线残留,对比方法在合成雨天图像中取得较好的去雨效果,但是在真实雨天图像中存在一定程度的雨线残留,尤其在景深图像中例如白色轿车轮上方区域明显具有雨线残留.在实际雨图像中,近景和远景的雨差异较大,这可能是造成对比方法结果较差的原因.同时由于过分平滑或者雨线遮挡,造成对比方法的去雨后图像存在纹理失真及图像模糊,严重降低图像的细节的保持效果.本文的方法能够比较好的去除大部分雨线,对于近景和远景的雨线都有较好的处理效果,同时有较少的细节丢失和颜色失真.

图5 真实数据去雨效果图和局部区域放大图Fig.5 Visual quality comparisons of the deraining method on the real word datasets and zooming part of the Figure can provide a better look at the restoration quality

4 结 论

本文提出了一种多尺度沙漏结构来实现单幅图像去雨的算法.针对现在去雨算法中存在的不同景深的雨线残留,细节丢失以及颜色失真的问题,首先采用多尺度的沙漏网络提取不同尺度的雨线特征信息,并且对这些特征进行融合.其次在特征提取模块中,利用残差密集网络实现了特征在层间的传递,在较小的网络规模下实现特征的综合利用和传递.同时把基于通道和空间信息的注意力机制加入残差密集模块中,针对雨线在空间和颜色上的不规则分布调节参数和特征权重,为了实际中处理更加复杂的雨分布图像提供了新的思路.实验结果表明,在合成和真实雨图都取得了较好的处理效果,定量分析结果表明在去雨和结构相似性上都取得较好的效果,并且模型具有较好的泛化能力.定性结果进一步佐证了模型能够有效去除雨线,并同时较好恢复图像的细节信息和颜色信息.

猜你喜欢
残差沙漏尺度
多级计分测验中基于残差统计量的被试拟合研究*
环境史衰败论叙事的正误及其评判尺度
基于残差-注意力和LSTM的心律失常心拍分类方法研究
用于处理不努力作答的标准化残差系列方法和混合多层模型法的比较*
融合上下文的残差门卷积实体抽取
沙漏
有趣的沙漏
DIY装饰沙漏
DIY装饰沙漏
以长时间尺度看世界