注意力残差网络的单图像去雨方法研究

2020-06-05 12:18徐爱生唐丽娟陈冠楠
小型微型计算机系统 2020年6期
关键词:残差条纹卷积

徐爱生,唐丽娟,陈冠楠

(福建师范大学医学光电科学与技术教育部重点实验室,福建省光子技术重点实验室,福州350007)

(福建师范大学福建省科技厅光电传感应用工程技术研究中心,福州350007)

1 引 言

具有雨条纹的图像通常由户外监控设备拍摄得到,直接使用这些照片作为计算机视觉系统的数据集,往往会降低其性能,还可能给一些多媒体应用带来糟糕的视觉体验.因此在计算机视觉和多媒体应用领域,自动去除雨条纹已经变成一种至关重要的研究任务,而且对单个图像自动去除雨条纹还可以应用到很多其他领域,例如视频监控领域、自动驾驶领域中的目标检测和追踪、基于内容的图像编辑领域等.

在视觉上对图像除雨的研究可以追踪到十几年前,针对研究主题的不同,可以分为视频序列的除雨方法和单张图像的除雨方法.早期研究关注静态摄像机拍摄的视频序列的雨条纹去除,主要是通过利用连续帧之间的时序相关性来解决除雨问题,因此从视频中去除雨条纹相对简单,然而对单个图像除雨而言,由于缺少时序信息,所以更具挑战性.本文关注的是单个图像除雨任务.对于单图像除雨而言,传统的方法主要在探索雨条纹在物理特性上的先验信息,然后将除雨看成是信号分离问题.例如基于字典学习,文献[1]将雨图像的高频部分分解成有雨和无雨的部分.文献[2]基于图像块提出判别稀疏编码框架.在[3]中,高斯混合模型被用作一种先验将雨图分解成背景层和雨条纹层.文献[4]利用雨条纹的低秩特性分离这两层.文献[5]结合这三种图像的先验.由于这些方法是固定的雨条纹先验假设,他们往往只能处理有特定形状、尺度和强度的雨条纹,会破坏图像中和雨条纹类似的图像细节.

近年来,由于卷积神经网络的强大的特征表示能力及端到端的数据推断能力,基于深度学习的图像除雨研究取得了显著的性能提升.文献[6]首先将深度学习的方法引入到图像除雨领域,和[1]类似,他们也将雨图像分解成高频和低频部分,然后使用深度残差网络将高频部分映射到雨条纹层.文献[7]提出一种强度感知的多级连接的卷积神经网络架构,可以同时估计雨条纹的强度和去除雨条纹.在[8,9],提出注意力递归网络用于单张影像雨滴去除任务.以上是卷积神经网络的方法,由于生成对抗网络的的对抗性,一些方法将此应用到图像除雨领域,文献[10,11]使用生成对抗网络来防止从雨图中提取背景图像时导致的背景图像变质,他们还利用了感知损失来确保图像的视觉质量.

尽管和传统的方法相比,基于深度学习的方法已经取得了很大的进步.但是在卷积神经网络中,卷积层是在局部小区域中建立像素之间的相关性,而长范围的相关性是通过深度堆叠卷积层实现的,如果想要在一张特征图上,对距离比较远的位置进行信息传递,就会很困难,这种直接堆叠卷积层的操作在计算上效率低而且很难训练.基于这一问题,本文充分利用注意力机制在长范围相关性上的优势,提出将注意力模块与深度残差网络相结合,对于输入的特征图而言,分别进行通道维度和空间维度的注意力模块操作,最终得到精细化的特征输出图,该模块不会改变特征图的大小,但是能够自适应调整通道上特征的权重和捕获空间维度上雨条纹像素之间的相关性,更有利于从有雨的图像中得到干净的背景图.

2 单个图像去雨方法

2.1 雨模型

在图像去雨的研究中,雨模型是被广泛使用的[2],它将观察到的雨天图像O 定义成干净的无雨的背景图像B 与雨条纹层R 的叠加:

由公式(1)式可知,从观察到的雨图O 中去除雨条纹层B,便可以获得无雨的背景图像.

2.2 网络架构

图1 整体架构结构图Fig.1 Overall architecture of our proposed methods

近年来大多数方法都是学习从有雨图像直接到干净的背景图像的映射.但是由于雨条纹层有很多区域的像素值接近0,所以和背景图像相比,它更具有稀疏性,这种性质的好处是降低了网络学习的难度,还可更快收敛,减少训练间.基于该思想,本文网络整体架构如图1所示,网络输入是单张有雨图像,然后使用一个卷积层将图像转换到特征空间,接着将特征图送入到一系列堆叠的残差注意力模块(ResBlock+CBAM)中进行特征提取与变换,之后通过一个通道数为3 的卷积层将特征图变换到图像域.其中不同的注意力残差模块数量对最终的性能有不同的影响,但鉴于残差网络采用18 个卷积层即9 个残差模块堆叠,所以将模块数固定为9,重点讨论注意力机制对除雨性能的影响.此外,最终所需的干净的背景图是通过网络输入的有雨图像逐像素减去网络的输出获得的,因此网络只需学习雨条纹的结构分布.网络的中间部分由残差模块和注意力模块组合而成,详见后续介绍.

2.3 残差模块

图2 残差模块结构图Fig.2 Structure of resblock

残差模块的堆叠形成残差网络[12],残差网络在图像分类的应用中表现出优越的性能.残差模块的结构如图2 所示,给定一个特征图,首先经过一个带有激活函数为Relu 的卷积层,然后再次经过一个卷积层得到特征图,给定的特征图和经过两次卷积层的特征图进行相加并通过Relu+得到模块的最终输出.其过程可通过公式(2)表示:

其中x 表示输入特征图,y 表示输出特征图,F(x,{wi})表示中间卷积层,{wi}表示要训练的参数.

残差模块的核心思想是跳转连接的操作,它可以解决在反向传播时梯度消失的问题,从而为训练大型的深度网络提供了可能.

2.4 注意力模块

通常注意力模块在通道和空间两个维度上进行建立.在CBAM[13]中的注意力模块如图3 所示,(a)(b)分别是通道和空间注意力模块.对于空间注意力模块,在给定的特征图上,首先获得每个通道上最大和平均像素值来表示该通道,然后分别将他们作为一个两层的全连接网络的输入来自适应调整不同通道的权重,之后通过相加的方式进行特征融合,最后经过一个sigmoid 函数将所有的值归一化在0 到1 之间得到通道注意力图,其过程可用公式(3)表示:

其中x 表示输入的特征图,W1和W0分别表示多层感知机的权重,×表示逐像素相乘.

图3 注意力模块结构图Fig.3 Structure of attention module

对于空间注意力模块,在给定的特征图上沿着通道方向计算出最大值和平均值,然后将他们再沿着通道方向拼接在一起,之后通过一个卷积核大小为7×7 激活函数为Relu 的卷积层来自适应的学习出不同位置之间的相互依赖关系,接着经过sigmoid 函数将空间上的值归一化在0 到1 之间得到空间注意力图,最后将输入的特征图和空间注意力图相乘来调整特征图上的值.过程可表示为公式(4):其中σ 表示sigmoid 函数,f7×7表示卷积核大小为 7×7 的卷积操作,×表示逐像素相乘.

2.5 注意力残差模块

对单图像除雨问题来说,通过注意力模块,可以使网络相对于背景图而言更高效的集中在雨条纹的特征提取和重建上.因为卷积是通过卷积核在整张图像上按一定规则进行窗口式滑动完成加权和的操作,这种局部操作的局限性是很难得到图像的全局信息,但是在很多情况下,全局信息至关重要.近年注意力机制得到越来越多研究人员的关注,一种通过注意力机制的思想可以在一定程度上解决卷积操作固有的缺陷,提高卷积的表示能力.

本文将注意力模块和残差模块相结合,构成注意力残差模块单元,这有利于堆叠成深度模型来提高网络性能.如图4所示,特征图经过两个卷积层后依次通过通道注意力模块和空间注意力模块,最后通过相加的方式将输入特征图直接传递到输出部分并和残差模块一样通过激活函数Relu 后输出.其过程可表示为公式(5):

由于标准的一个卷积层有一定的通道数,每一个通道自适应的学习特定的某个特征,在除雨的过程中,雨条纹的特征比其它如背景图的特征要重要很多,通过通道注意力模块可以在每一个卷积层中促进雨条纹特征的学习而抑制其它特征的学习.经过一系列的操作,每一个通道得到最终的权重,将输入的特征图和所得权重相乘,可以让网络集中在所需的特征上,抑制不需要的特征.

图4 注意力残差模块Fig.4 Residual attention module

与通道注意力机制不同的是空间注意力机制是基于每一个特征图的空间像素值的相关性程度不同而建立的.由于雨条纹内在相关性强于雨条纹与背景图之间的相关性,所以通过空间注意力机制可以让网络集中于有雨的位置,这有利于网络对雨条纹进行重建.

2.6 损失函数

本文的损失函数定义为L1+LSSIM的和,表示真实图像与网络输出结果图像之间的误差.L1损失函数可以测量网络输出的图像像素值的准确性,LSSIM[14]可以衡量两幅图像结构的相似性.L1损失函数可表示成公式(6):

其中H,W,C 分别表示图像的高度、宽度和通道数.^I 和I分别表示网络输出的图像和相应的无雨图片.

SSIM 可表示如下:

其中 μI和是图像I 的均值和方差和是图像的均值和方差是图像和 I 的协方差,k1,k2为常数项,避免分母为0.

LSSIM损失函数表示如下:

3 实 验

3.1 数据集与网络配置

本文首先用合成数据集Rain100L 和Rain100H[8]来训练和测试所提的方法,并且用真实的雨天图像评估训练好的模型.Rain100L 是小雨数据集,用图像处理软件在背景图上添加单一的雨条纹,其数据集包括200 对训练图像和100 对测试图像.Rain100H 是大雨数据集更具挑战性,人工添加5 种不同方向不同强度的雨条纹,其数据集包括1800 对训练图像和100 对测试图像.最后真实世界的雨图由文献[8]提供,可用来评估所提方法的有效性.

本文所提的方法所有卷积层的通道数设定为32,输入输出卷积层没有激活函数,通道注意力模块中共享权重的全连接网络的中间层的神经元个数为通道数的一半.

所提方法在开发工具Pycharm 平台上通过深度学习框架Pytrch0.41 实施,训练时采用随机水平翻转进行数据增强,输入为RGB3 通道彩色图像并随机裁剪成128×128 的图像块,批量大小设定为16,裁剪成图像块可以丰富数据集,提供相对大的感受野,减少硬件空间的消耗.使用Adam优化器来更新网络参数,初始学习率设置为0.001,总共训练 100 次,在第 30,50,80 次时,学习率乘以 0.2 衰减,优化器的其他设置保持默认,所有的实验是在一台win10 系统带有英伟达GTX1080Ti 显卡和英特尔 i7-8700 CPU 上完成.

3.2 对比实验

A)不同图像去除雨方法对比

鉴于合成数据集提供真实的无雨标签图像,本文采用峰值信噪比(PSNR)和结构相似度(SSIM)在客观数值上比较所提方法和 DDN[6],JORDER[8]以及 RESCAN[9]的性能.本文将RGB 图片转到Ycrcb 空间取Y 通道既亮度通道进行计算.PSNR 和 SSIM 结果分别总结在表1 和表2 中.PSNR 和SSIM 越大表示两幅图片越接近,从表中可以看出本文所提方法在PSNR 和SSIM 上都高于其他两种方法.

表1 在合成数据集上PSNR 的实验结果Table 1 Results on synthesized datasets in terms of PSNR

表2 在合成数据集上SSIM 的实验结果Table 2 Results on synthesized datasets in terms of SSIM

图5、图6 分别展示不同方法在合成数据集Rain100L 和Rain100H 上的主观视觉效果.小雨数据集上不同的方法整体上都可以有效去除雨条纹,但是在细节上即图中用矩形框标记出的区域本文的方法更具优势.大雨数据集上,JORDRER有明显残留的雨条纹痕迹,本文所提方法与RESCAN 相比视觉上图片更光滑自然,纹理和色彩上所提方法都更接近无图像,进一步说明所提方法性能的优越性.

图5 Rain100L 中不同图像去除雨条纹方法的视觉展示Fig.5 Visual comparison of rain-streaks removal results on Rain100L

图6 Rain100H 中不同图像去除雨条纹方法的视觉展示Fig.6 Visual comparison of rain-streaks removal results on Rain100H

B)注意力残差模块数量对性能的影响

图7 不同注意力残差模块数量的收敛性分析Fig.7 Training convergence analysis on PSNR of different modules

为了验证注意力机制对除雨性能的影响,以及训练次数与PSNR 的关系,本文给出了一组对比试验.本文将9 个堆叠的注意力残差模块替换成残差模块作为基准模型,用图7中的曲线1 表示;其次将靠近网络输出的注意力残差模块保留,其余8 个替换成残差模块作为对比模型,图7 中曲线2 表示;最后是本文所提的模型,用曲线3 表示.对比试验在合成数据集Rain100L 上训练与测试.

从图7 中可以看出对比模型较基准模型而言,性能提升明显,这说明基于注意力机制的模块对除雨性能提升贡献很大.这是因为注意力机制在长范围相关性上的优势,将注意力模块与深度残差网络相结合,对于输入的特征图而言,分别进行通道维度和空间维度的注意力模块操作,最终得到精细化的特征输出图,该模块不会改变特征图的大小,但是能够自适应调整通道上特征的权重和捕获空间维度上雨条纹像素之间的相关性,更有利于从有雨的图像中得到干净的背景图.通过图7 可以进一步证明所提方法的优越性.

C)真实的雨图测试

为测试不同图像除雨方法的实际效果,本文还在真实世界的雨天图像上测试来评估性能.先将所提的方法在合成数据集Rain100L 上进行训练并保存模型,然后用真实雨图直接进行测试来验证所提方法的有效性.图8 展示的是在真实的雨图的去雨效果.从图中可以看出,对于真实世界的有雨图像,本文方法可以恢复干净的背景图像,而且将本文所提的方法与 JORDER 相比,很大程度上还可以保持背景图像的纹理特性.

图8 真实雨图的效果展示Fig.8 Visual performance of our proposed methods on real-world rainy images

4 结 论

本文提出一种基于注意力残差网络的单图像去雨方法,网络中采用的注意力模块由通道维度和空间维度组成,它们可以自适应学习所需的雨条纹的特征,还可以在空间上捕获像素之间的相关性.通过在合成数据集小雨和大雨以及真实场景中的雨图进行实验,结果表明所提的方法可以有效去除雨条纹,与其他方法相比在主观视觉上和客观数值上均具有优越性.

猜你喜欢
残差条纹卷积
基于全卷积神经网络的猪背膘厚快速准确测定
基于残差-注意力和LSTM的心律失常心拍分类方法研究
融合上下文的残差门卷积实体抽取
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
基于残差学习的自适应无人机目标跟踪算法
基于深度卷积的残差三生网络研究与应用
谁是穷横条纹衣服的人
条纹回归