多尺度密集时序卷积网络的单幅图像去雨方法

2020-05-22 11:24赵嘉兴王夏黎王丽红曹晨洁
计算机技术与发展 2020年5期
关键词:无雨尺度卷积

赵嘉兴,王夏黎,王丽红,曹晨洁

(长安大学 信息工程学院,陕西 西安 710064)

0 引 言

图像去雨属于图像去噪研究范畴,核心工作是从包含噪声图像或者残缺图像中复原相对干净图像,为后续的机器视觉处理工作提供一个干净的数据源。在雨天拍摄的图像包含有雨滴或者雨线,由于雨噪声的存在使图像模糊,会造成在户外工作的计算机视觉系统工作异常。

近年来,图像去雨引起了许多研究者的关注,已有多种图像去雨方法被提出来,这些方法大致可分为两类:基于视频的图像去雨方法和基于单幅图像的去雨方法。其中基于视频的图像去雨算法在要求目标基本不变,通过大量时空冗余相关特征信息可以去除图像雨噪声,因而对雨噪声的检测和去除相对较为容易。与之相比,单幅图像去雨算法的困难在,图像只包含某一时刻的影像信息,缺少雨噪声的时空特性,但相较于前者,单幅图像去雨的应用灵活性更高,也更具有挑战性,成为当前研究的难点与热点。

去雨,实际上是把图像看成是雨水层和无雨层的叠加,然后在含雨噪声图像中提取无雨层。现如今,在单幅图像去雨研究中,效果比较理想的主要有三种方法。

一种是基于稀疏编码字典学习和分类器的去雨方法[1]。Kang等根据雨噪声多分布于图像高频信息部分,首先通过双边滤波器分离图像高低频信息,然后在图像高频信息中通过字典学习雨噪声图和干净图像的映射关系,最后将保留的非雨成分和低频部分综合,得到去除雨噪声后的图像。Huang等[2]在此基础上利用上下文相似信息亲和传播聚类的方法对雨噪声进行判别,提升了算法去雨效果。Luo等[3]提出了一种判别性稀疏编码,用于将雨条纹与图像背景分开,不足的地方是该方法去完雨后的图像上仍有雨条纹残留。第二种是文献[4]提出的基于图像处理的去雨雾算法,适合在一些不包含天空的图像中去雾、去少量雨条纹,但在包含天空或者大量雨条纹的图像上存在去雨不完全、丢失图像细节等问题。造成上述状况的原因是,上述两类算法只利用图像的低级特征来分离图像中的雨条纹和物体,当雨条纹与图像物体结构的颜色与方向区分度明显时,效果很好,但是当雨条纹和背景图像区分度不明显时,雨噪声在很难从图像信息中分离出来的同时保留物体的结构信息。

最后一种是基于卷积神经网络的去雨算法。近10年硬件发展很快,显卡运算力也在快速增长,助推深度学习的快速发展,同时COCO,PASCAL VOC与ImageNet等大型图像数据集也不断出现。相比于其他方法,卷积网络在复杂机器视觉任务上取得了优异的效果,例如动作识别[5]、目标检测[6]等。而应用在图像去噪[7-8]、图像复原[9]、图像去雨雾[10-14]等底层任务上,也取得了很好的效果。

CNN去噪方法[11-14]可以利用大量自主学习的卷积核针对不同情景提取图像特征,但随着网络深度的加深,提取的特征越来越高级,从底层的颜色、边缘特征等到纹理细节等特征,会逐层丢失大量的低级特征,导致雨条纹在图像中区分不明显时,网络在去雨后会留下微小的雨痕。文中采用多尺度密集卷积网络块在网络传播过程中将低级特征与高级特征合并。每个密集网络块之间进行纵向连接,再用时间传播序列将每一个密集网络块以横向方式直接连接起来,使低级特征可以直接传播到深层网络中,提出了多尺度密集时间卷积(DenseTimeNet)网络进行图像去雨。

1 基于DenseTimeNet去雨模型

基于卷积网络的单幅图像去雨工作的核心在于设计出一个有雨图像端到无雨图像端的复杂映射模型。在深度学习中,越深的网络越难训练,同时也会存在着梯度爆炸和消失的问题,最近的工作表明,如CNN(convolutional neural network)在输入与输出之间存在更多的连接时,底层特征便能够直接传播到深层,可减轻梯度弥散问题,也可以增强特征深度延展,提高特征利用率。ResNet[15]和DenseNet[16]都在网络输入输出之间加入了连接,ResNet按残差块为单位添加网络隐含层的连接,DenseNet在每层添加连接,从特征的角度考虑,通过特征重用和旁路(Bypass)设置,既大幅度减少了网络的参数量,又在一定程度上缓解了梯度弥散问题的产生。但是带来的问题是网络对权重参数很敏感,易引发蝴蝶效应,通常权重一个微小的变化就能引起输出的巨大变化,且DenseNet由于网络结构借助于反复的拼接(Concatenation)操作,将之前层的输出与当前层的输出拼接在一起,然后传给下一层,内存利用就很低。

基于ResNet与DenseNet网络,为了丰富卷积网络在提取图像特征信息的能力,降低权重参数灵敏度和提高内存使用,文中设计一种基于DenseTimeNet网络去雨方法,网络模型如图1所示。该方法主要包含HSV颜色空间变化、多尺度扩张卷积技术(Dilated Convolutions)、DenseTimeNetBlock、Neg-mapping、网络训练5个部分。

图1 DenseTimeNet网络结构模型

1.1 HSV空间变换

图像去噪算法以颜色领域为视角来看,实际上是对一幅图像的色彩表示,颜色深浅,色彩明暗进行分析、去噪的一个过程,RGB颜色模型适用于显示器等发光体显示,所有的颜色信息由不同明亮的三基色加色混合而来,HSV模型是针对用户观感的一种颜色模型,H通道代表色彩,S代表深浅,V代表明暗,相比于RGB模型,在图像分割作用较大。如图2所示,分别对比含有大量雨噪声图像和干净图像在两个颜色模型的分布直方图,由图2(f,g,h)可发现RGB模型的3个通道直方图分布规律相似,直观的表现雨图相比真实图像更亮一些,而在HSV中,仅一个明暗分量(图2(d))就能表现。更重要的是相比RGB模型,HSV可以直接表现出有雨图像和无雨图像之间色调(图2(a))与颜色深浅差异(图2(c))。因此,文中不直接对RGB颜色空间进行分析,为了贴合实际情况,对输入图像进行HSV空间转化。

图2 有雨和无雨图像HSV与RGB颜色直方图

1.2 扩张卷积技术

图像雨噪声检测和修复不仅需要雨区域的特征还需要邻近区域特征。对图像上下文信息的相关利用很高。扩张卷积与普通的卷积相比,除了卷积核的大小以外,还有一个扩张因子df(dilated factors),主要用来表示扩张的大小。扩张卷积与普通卷积在CNN中训练参数不变,但具有更大的感受视野RF(receptive field)(见图3),计算公式如下:

RF=(2df+1-1)*(2df+1-1)

(1)

图3 感受野范围大小

1.3 多尺度DenseTimeNetBlock

如图1可见,DenseTimeNet主要由多个不同尺度DenseTimeNetBlock组成,而每一个DenseTimeNet Block由多个构件网络(图4)组成,每一个构件网络包含一个5层密集卷积网络块,一个时间序列层[17-18](TimeDistributed)和一个特征输出层。

图4 构件网络

1.3.1 密集网络块

密集卷积网络块比传统卷积神经网络需要更少的参数,每一卷积层都有从前继层额外输入,传递自己的feature map的信息,因此,第n层有n个输入,是所有前驱feature map块组成,这样的网络参数利用效率很高,并且直接刺激了网络的信息流动和梯度使其变得更容易训练。使得网络可以得到更深的监督,对更深网络的训练有帮助。进一步说,密集连接具有正则作用,它减缓在更小的训练数据集上过拟合,使网络的应用拓展性更高。

1.3.2 时间传播序列层

原始的高维空间中,深度地隐含大量冗余信息以及噪音信息,将在图像检测或者识别应用中造成误差,降低算法准确率。数据降维,不仅便于计算和可视化,更将数据以原始的组合向高维视角暴露,有利于筛选有效信息。在这一层中,将二维卷积转化为时域卷积,将二维图像数据转为最基本的一维时间序列数据,并在时域卷积上使用时间序列来进行张量操作。在多时域卷积特征进行共享参数。

1.3.3 降采样层

尺寸特征图越大,感受野越小,则适合检测越大尺寸的目标。为适应小雨、大雨等不同的天气情况,文中设计了多尺度的DenseTimeNetBlock,主要在降采样层进行尺度控制,3个DenseTimeNetBlock分别进行0次、1次、2次下采样,卷积核分别使用如图3(a)、图3(b)、图3(c)的膨胀卷积,分别输出尺寸为输入图的1/1、1/2、1/4大小的特征图。

1.4 Neg-mapping

主要受到ResNet与DenseNet的启发,图像特征在经过多尺度DenseTimeNetBlock后,已经从图像低级特征(如颜色特征、形状特征等)中提取并组合了图像高级纹理特征。但是传播中也降低了图像的基本特征信息,如色调信息、颜色深浅等,文中使用Neg-mapping(负映射):通过skip connection把输入直接加到最后一个隐含卷积层,跳过中间的多尺度卷积时间序列层。通过无损传播的方式将图像基本特征与图像高级纹理特征结合起来。Neg-mapping可以有效降低解空间,实现更好的从有雨图像到无雨图像的复原效果,使网络更容易训练。

1.5 网络训练

通过网络重建得到的预测图像和真实图之间的代价来不断调整网络参数。对于一组不含雨滴的理想恢复图像Y_P,Y_T和一组由网络重建得到的无雨图像,使用绝对值方差(mean absolute error,MAE)作为损失函数来估计网络参数。MAE的形式如下:

MAE(θ)=E(|Y_P-Y_T|)

(2)

优化器使用Adam[19]。

2 实验结果与分析

实验环境为Intel core i7 CPU 8750H,64位的Windows 10,内存16 G,显卡为GTX1050Ti 4 G。

2.1 训练样本的预处理及训练配置

用于训练的数据是Fu等[10-11]在无雨图像上进行人工合成生成的有雨图像。该数据集包含14 000张合成的有雨图像和1 000张真实的无雨图像。每张无雨图像合成14张不同方向、大小的雨条图像。训练时,选取数据集中的12 600张有雨图像作为神经网络的训练集,而剩余的1 400张有雨图像作为测试集,训练时随机选取输入图像(有雨和无雨图像),200×200像素大小的图像块作为一对样本输入到卷积神经网络中,batch_size为4,初始学习率大小设定为0.001,迭代64 000次。

2.2 网络深度的选择

为了研究网络深度对图像去雨效果的影响,在其他参数不变的情况下,设置模型构件网络数量为9、15、21,迭代次数为100 000,对比来自rainy_image_dataset下100张包含14种不同场景、不同方向、不同雨滴大小的图像的处理效果,如表1所示,其中评价指标为PSNR(peak signal to noise ratio,平均峰值信噪比)、SSIM(structural similarity index metric,结构相似性度量)和平均修复时间。

表1 不同深度条件下网络去雨质量评价对比结果

从表1可看出,在其他参数不变的条件下,网络加深可提升去雨效果,9个构件网络到17个,提升明显,且算法处理时间平均仅多了0.025 s,而25个相比于17个,去雨效果提升较小,处理时间几乎增多一倍。出于算法实时性考虑,文中采用17个构件网络组成的多尺度DenseTimeNet卷积神经网络。具体网络参数设置如图5所示。

图5 网络参数设置

2.3 多尺度与单尺度的对比

为了突出多尺度DenseTimeNet在去雨方面的优势,对单尺度DenseTimeNet和多尺度DenseTimeNet的网络进行同等条件下的训练,发现网络对在去除雨痕时,使用单尺度网络相较于多尺度网络,图像纹理细节稍微模糊一点。图6是单尺度网络与多尺度网络的去雨效果对比。在表2中,测试了单尺度网络与多尺度网络在处理结果图像的PSNR和SSIM对比。证明了多尺度网络去除雨噪声能力与图像细节保留能力都强于单尺度网络。

图6 单尺度与多尺度网络的去雨效果对比

表2 单尺度网络与多尺度网络性能对比

2.4 合成雨图上的测试

表3和表4列出了文中所提方法与暗通道的去雨雾算法[4]和Fu[10-11]方法在三个数据集的SSIM与PSNR的比较结果。可以看出,文中方法在两种评价指标上都要略优于暗通道去雨雾算法[4]和Fu[10-11]的方法。

表3 在3个数据集上的PSNR质量评价对比

表4 在3个数据集上的SSIM质量评价对比

图7 不同方法在合成图像的去雨效果对比

图7中,展示了4种方法在3幅合成图像上的去雨效果。从去雨的视觉效果来看,文献[4]仅能去除少量的雨噪声,图像失真严重,文献[10]保留了大量雨痕,文献[11]则含有少量雨痕,而文中所提方法去雨能力更强,图像细节保留更好。为了更清楚地对比不同方法的去雨效果,将图7第一幅图局部放大,如图8所示(白色框为放大区域),可看出文中方法能够干净地去除图像雨噪声。

图8 图7第一幅图像的局部放大效果图

2.5 真实雨景测试

图9是在真实雨天下拍摄的3组图像的去雨结果图,发现对第1,2幅雨量较少的雨景图去雨后,文献[11]方法在去除雨滴时,丢失图像细节,图像纹理模糊,而在第3幅雨景图中,文献[11]方法的去雨能力表现不佳,模型去雨后,还有少量的雨线存在。而从文中方法的处理图可见,从第1,2幅雨图对比,该方法在有效去除雨噪声的同时更好地保留了图像细节。第3幅雨景图,文中方法去雨能力更强。

图9 真实场景的去雨效果图

3 结束语

提出了一种基于多尺度DenseTimeNet卷积神经网络的单幅图像去雨方法。首先将含有雨噪声的图像转化为HSV颜色空间,借助多尺度密集时序卷积神经网络挖掘不同维度的特征信息关系进行去噪,最后将HSV颜色空间转化为RGB颜色空间,得到对应的无雨图像。实验结果表明,在合成雨图和真实雨图的测试中,模型在有效去除雨痕的同时防止了图像过度平滑、图像失真等情况,所提方法较现有方法去雨噪声能力稍强,也能更好地修复图像残损部分。

猜你喜欢
无雨尺度卷积
基于全卷积神经网络的猪背膘厚快速准确测定
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
论社会进步的评价尺度
沉默
寡言
等待
宇宙的尺度
诗人眼里的秋天