融合注意力机制和空洞卷积的滑坡图像检测

2022-05-05 13:37刘学虎张伟劲杜雪垒
计算机与现代化 2022年4期
关键词:空洞滑坡注意力

刘学虎,欧 鸥,张伟劲,杜雪垒

(成都理工大学计算机与网络安全学院(牛津布鲁克斯学院),四川 成都 610059)

0 引 言

滑坡作为一种常见的自然灾害现象,给自然环境、人们的生命财产安全造成不可估计的重大损失。滑坡是指斜坡上的岩土体部分受到某些因素(如降雨、地下水活动、地震等)的影响,在重力作用下沿着一定层面所发生的滑移地质现象。在滑坡灾害发生后如何快速进行大面积检测和识别滑坡区域、提取滑坡相关数据信息是格外重要的。目前滑坡识别及其提取方法主要是基于滑坡的基本要素和在遥感图像上的特征,基于色彩比率、纹理和阴影的综合使用,以及根据独特的滑坡特征形成的几何图案判定滑坡[1]。

随着遥感成像技术的不断发展,由于其及时性、覆盖范围的广泛性和经济性,在监测自然环境灾害方面有着明显的优势。黄汀等人[2]以“高分一号”卫星数据为基础,通过面向对象的分析技术提取滑坡信息,并采用多尺度分割算法,结合滑坡特征对经验式参数提取方法进行优化,再构建分类规则对滑坡进行检测。闫琦等人[3]提出了一种基于灾后高分辨率遥感影像的地震滑坡体自动提取算法,将高分辨率遥感影像的光谱、形状和纹理等特征用于滑坡识别,基于多特征阈值分层次逐步剔除干扰地物,实现地震滑坡体的自动提取。郭加伟等人[4]将迁移学习(TL)特征和支持向量机(SVM)引入滑坡自动解译模型构建,提出一种TL支持下的高分影像滑坡灾害解译模型,并利用“5·12”汶川地震及“4·20”芦山地震后无人机航拍图像进行大面积高分影像快速山地滑坡灾害定位及检测。文献[5]利用多时序遥感图像滑坡区域植被恢复缓慢和非滑坡区域植被恢复较快的特点,使用多时相RapidEye卫星遥感图像,对吉尔吉斯斯坦南部地区多次滑坡进行自动检测与识别。方教勇[6]在雷达图像等多种卫星数据基础上,完成汶川震后滑坡分布研究。Othman等人[7]利用遥感影像完成震后次生灾害提取工作。贺素歌[8]以玉树地震后的PALSAR图像采用的改进的SHIFT算法配准震害信息进行滑坡信息的提取。

在利用目标检测算法识别滑坡图像方面也有相关研究,文献[9]使用CNN和注意力机制模型对遥感滑坡图像的DEM数据进行滑坡图像的目标检测。Piralilou等人[10]将基于物体的图像分析与3种机器学习方法结合起来,并结合多尺度的分割方法用于滑坡检测。Can等人[11]将卷积神经网络的滑坡图片自动检测方法应用于城市科学和地理信息数据的质量评价中。Ghorbanzadeh等人[12]分析了不同数量的卷积层,以及对不同尺寸和不同通道数输入的滑坡图像数据进行检测。基于深度学习的目标检测算法有很多,目前基于CNN的目标检测算法可以分为2类。第1类是两阶段目标检测算法,如R-CNN[13]、Fast R-CNN[14]、Faster R-CNN[15]、FPN[16]、Mask R-CNN[17]等。两阶段的算法通常在第1阶段找出目标出现的位置,得到建议框;第2个阶段对建议框进行分类。第2类是一阶段目标检测算法,如SSD[18]、YOLO[19]、RetinaNet[20]等一阶段算法直接在一个阶段内确定物体位置与类别。因此,两阶段目标检测算法拥有更高的精准度,一阶段目标检测算法拥有更快的检测速度。

基于上述研究,本文设计一种融合注意力机制与空洞卷积进行特征提取的网络结构。采用Faster R-CNN目标检测方法对遥感滑坡图像进行检测,利用不同的注意力进行特征提取验证其对于滑坡遥感图像检测的有效性,通过注意力机制对滑坡图像进行二次采样与检测目标的强化,再融入空洞卷积来增大滑坡目标感受野进行滑坡图像特征提取与检测,进一步提高滑坡遥感图像检测模型性能。

1 相关算法

1.1 目标检测Faster R-CNN

常规的目标检测方法是使用不同大小的矩阵框扫描整幅图片,然后对每个框中是否存在感兴趣的主体进行筛选,即检测出主体出现的位置Bounding Box (BBox)。BBox也可以称作感兴趣区域(RoI),表示只对当前区域的内容有“兴趣”,这个区域主要是用矩形框的左上角坐标与右下角坐标或左上角坐标与矩形框长宽表示,并给出所检测物体的类别。

R-CNN算法是在使用Selective Search方式获得候选框BBox后,利用CNN算法代替传统手工设计特征方法提取对应区域的特征。而Fast R-CNN相比于R-CNN进行了以下改进:1)共享卷积。将整幅图送到卷积网络中进行区域生成,虽仍采用Selective Search方式,但计算量大幅减少。2)RoI Pooling。利用特征池化方法对图像进行特征尺度变换,这种方法可以输入任意大小图片,使训练过程更加灵活、准确。3)多任务损失。将分类与回归网络一起进行训练,并且使用Softmax函数进行分类,避免了如同SVM分类器一样有着单独训练与速度慢的缺点。但之后的Faster R-CNN提出了使用RPN[21]网络来代替Selective Search,利用Anchor机制将区域生成与卷积神经网络联系到一起,使检测速度进一步提升。

如图1所示,Faster R-CNN分为4个部分:

图1 Faster R-CNN结构示意图

1)卷积层。采用卷积、池化、激活等操作提取图像特征图(Feature Map),其特征图被用于RPN层与全连接层。

2)区域推荐网络RPN(Region Proposal Networks)。生成推荐区域,并将所生成区域输入Softmax层以判断其锚框区域属于前景还是背景,再使用绑定区域回归函数修正锚框区域,以获得更精确的判断。

3)RoI。RoI层搜集特征图和推荐区域,并将其信息综合之后提取具有推荐性质的特征图,再输入全连接层进行目标检测识别。

4)Classifier层。采用推荐性质特征图进行计算判断推荐区域类别,并使用绑定框回归函数获得检测框的准确位置。

1.2 空洞卷积

空洞卷积[22](Dilated Convolution),又称扩张卷积。其是指可以在不降低图像尺寸的情况下增大神经网络感受野,使每个卷积输出都包含较大范围的信息。传统图像分割算法通常使用池化层增大感受野,同时缩小特征图尺寸,再利用上采样方式还原图像尺寸。而特征图的缩小再放大过程会造成图像精度缺失,因此需要一种可以在增加感受野的同时还要保持特征图尺寸不变,以便代替池化与上采样操作的方法。空洞卷积的方式能够满足上述要求。

空洞卷积结构如图2所示,即卷积核中带有一些洞,跳过一些元素进行卷积。如图所示,同样一个3×3的卷积,可以起到5×5、7×7等的卷积效果。假设空洞卷积的卷积核大小为k,卷积核扩张率为d,空洞数为d-1,则等效卷积核大小k′计算如式(1)所示。

(a) 3×3卷积核 (b) 3×3卷积操作响应示意图 (c) 3×3空洞卷积核 (d) 3×3空洞卷积核操作响应示意图

k′=k+(k-1)(d-1)

(1)

可以得出,空洞卷积在不增加参数量扩大感受野的情况下,也能保持特征图分辨率不变,从而使得物体图像的定位更加精确。

1.3 注意力机制

注意力机制(Attention Mechanism)通常由一个连接在神经网络之后的额外神经网络实现,整个模型是端对端的,因此注意力模块能够和原模型一起同步训练。假设每个神经网络层的输出是一个结构化的表示:

b={b1,b2,…,bn}

(2)

式(2)中的每个元素代表输入信息中某个空间向量进入下一个神经网络层进行运算的输入。而注意力机制是在上一层的输出向量之上叠加一个新的函数,用以对卷积层之间的输出进行权重计算。

(3)

Spatial Attention与Channel Attention是注意力机制的2种实现形式,分别从图像和维数方面添加注意力机制。Spatial Attention是指在输入图像的基础上叠加一个可以被微分计算和能够接受模型梯度反向传播的权重矩阵,矩阵的作用在于能够与输入图像的特征值进行矩阵计算。Channel Attention则为在通道维度的基础上对图像进行加权计算,针对不同的通道特征,给予每个维度一个强行施加的注意力模型来影响输出。Hu等人[23]提出SENet来学习信道间的相关性,通过网络的全局损失函数自适应地重新矫正通道之间的特征相应强度。Zhang等人[24]将注意力机制引入超分辨率重建任务中,通过注意力机制来区别对待不同的通道,从而提高网络的表征能力。而Woo等人[25]设计的卷积块注意模块(Convolutional Block Attention Module, CBAM)是一种结合了空间和通道的注意力机制模块,相比于SENet这种只关注通道的注意力机制的模型可以取得更好的效果。CBAM模型的结构如图3所示。

图3 注意力机制CBAM

2 基于Faster R-CNN目标检测模型的改进

卷积神经网络是一种采用一系列的卷积层去学习从原始输入到指定标签或区域的复杂非线性映射的高效深度学习方法。本文研究的重点是采用目标检测的方式从光学遥感图像中检测滑坡,以便识别潜在滑坡并对滑坡进行相关探测工作和数据记录。针对滑坡多样性及复杂性,为了提升从图像中提取特色的滑坡特征和提高滑坡位置范围检测的准确率,本文在传统的Faster R-CNN模型的基础上进行改进,通过融合注意力机制与增加感受野的空洞卷积方式进行滑坡遥感图像检测。

图4为Faster R-CNN模型,在特征提取阶段使用了ResNet50[26]网络生成特征图,生成的特征图输入到RPN模块对特征图进行候选区域的生成,之后将RPN生成的候选区域和特征图一起输入到RoI Pooling层中,进行候选区域特征图的生成;最后将结果输入到全连接层,进行Softmax分类和bbox_pred候选区域位置回归。

图4 Faster R-CNN网络结构

在目标检测任务中,使用边框回归算法(Bounding-box Regression)来对Faster R-CNN算法中提取出来的候选区域进行微调,使其与真实标记区域更加接近,让定位更加准确。对于一个窗口,采用一个4维向量(x,y,w,h)表示窗口的中心点坐标、宽、高。如图5所示,给定预测框A和真实框G。

图5 边框回归

A=(Ax,Ay,Aw,Ah)

(4)

G=(Gx,Gy,Gw,Gh)

(5)

寻找一种变换F,使得:

F(Ax,Ay,Aw,Ah)=(G′x,G′y,G′w,G′h)

(6)

其中:

(G′x,G′y,G′w,G′h)≈(Gx,Gy,Gw,Gh)

(7)

其中,Ax,Ay,Aw,Ah为预测框的中心点坐标、宽、高;Gx,Gy,Gw,Gh为真实框的中心点坐标、宽、高;G′为预测框映射的结果,G′x,G′y,G′w,G′h为预测框映射结果的中心坐标、宽、高。

通过先平移再缩放的方式得到变换F:

G′x=Awdx(A)+Ax

(8)

G′y=Ahdy(A)+Ay

(9)

G′w=Awexp(dw(A))

(10)

G′h=Ahexp(dh(A))

(11)

此时,学习目标参数为:

dx(A),dy(A),dw(A),dh(A)

(12)

给定输入的特征向量X,学习一组参数W,使得经过线性变换后的结果与真实值接近,在任务过程中,φ是输入(经过CNN提取得到的特征图),同时定义了初始预测值A与真实标记之间的变换量:

(tx,ty,tw,th)

(13)

损失函数:

(14)

函数优化目标:

(15)

输入特征图φ函数优化目标使得网络的输出与真实的变换量尽可能接近,通过学习到的参数来修正预测框的位置。通过在图4中的Backbone部分添加空洞卷积与注意力机制模型,结合卷积层进行卷积操作来进行改进,改进添加部分的结构如图6所示。

图6 空洞卷积与注意力机制融合结构

卷积层部分注意力机制模型是在不同的卷积层之间叠加一个额外的权重模型,这个权重模型通过Hard或Soft模式的参数给图形向量打分,即一个预处理的权重计算过程,作用在于告诉下一层的神经网络,哪些向量值得关注,哪些不值得关注。从图6中可以看到CBAM在输入端和输出端之间分别加载了Channel Attention和Spatial Attention。首先,Channel Attention通过不同的压缩方式将平面压缩成一个点,之后经过全连接变化对特征进行重新组合和求积运算得到输出结果。其中MaxPool和AvgPool分别对输入值进行全局池化,之后使用2个全连接层对特征进行提取,经过Sigmoid函数激活后,将提取后的值重新连接作为输入权重与输出值进行内积运算,用以生成Spatial Attention模块需要的输入特征。将Channel Attention的运算输出特征值作为Spatial Attention模块的输入值,继续使用MaxPool和AvgPool在空间面积上做池化运算,再使用Concat将结果进行连接。卷积层的作用是将维度降为1以方便下一步进行Sigmoid归一化计算,然后将权重维度和Spatial Attention模块的输入做乘法计算,得到最终生成的特征值。最后将两者融合后的CBAM模块作为辅助模块嵌入到ResNet网络中作为一个加载了注意力机制的模型使用。通过在卷积层部分添加空洞卷积的操作增大目标感受野和CBAM模型的结合的方式嵌入到ResNet中就形成了一个新的目标检测模型。

该改进方法中的损失函数与原Faster R-CNN中的损失函数相同,包含分类损失(cls loss)和回归损失(bbox regression loss),公式如下:

(16)

(17)

式(17)表示目标与非目标的对数损失,为典型的二分类交叉熵损失。

(18)

其中,Lbb-reg见式(14),而R为SmoothL1损失函数:

(19)

3 实验过程与结果分析

3.1 实验环境

本文实验采用Windows 10平台,基于Python编程环境,在CUDA10.0上使用Pytorch深度学习框架进行训练测试。实验数据集采用武汉大学遥感中心的滑坡遥感图像数据集,包括岩崩、少量岩屑滑坡等770幅滑坡图像;在实验过程中,从中选取300幅左右滑坡特征明显的图像按比例1∶10进行数据增强得到3000幅滑坡图像,再将滑坡图像数据按照训练集、验证集和测试集为6∶2∶2的比例进行训练测试。训练中设置epoch为100、初始学习率为0.001进行训练。

本文在Faster R-CNN模型下使用ResNet50作为基础网络,分别对初始状态,只加入注意力机制,只增大感受野的空洞卷积、融合注意力机制和空洞卷积进行训练。实验过程中,当检测结果与真值边界框的IoU[27-28]超过0.5时即可认为检测正确,采用召回率(Recall, R)、精确率(Precision, P)以及mAP值标准实验评测指标来进行客观分析。其公式定义为:

R=TP/(TP+FN)

(20)

P=TP/(TP+FP)

(21)

(22)

其中,TP为真正例的图像个数;FN为假负例的图像个数;FP为假正例的图像个数。召回率是指所有正确检测图像占所有应该检测图像的比例,召回率的值越高,表示其中检测正确的图像越多;精确率指的是所有被检测为正例的图像中,符合对应图像类别的比例,精确率的值越高,表示算法模型效果越理想。由于召回率和精确率两者之间存在一定影响,因此加入mAP的值来进行综合分析算法模型的效果。

3.2 实验结果对比与分析

为了验证注意力机制对特征提取网络的有效性,分别对只加通道注意力、空间注意力以及融合通道与空间注意力的CBAM模型进行特征提取训练。

通道注意力与空间注意力分别是从图像的维数通道方面和图像表面添加注意力,都是对输入的图像进行二次采样并对目标进行强化。从表1中可以看出,单独添加通道注意力与空间注意力,结果都有明显的提升;考虑到滑坡遥感图像特征的复杂多样性,需要结合通道与空间注意力来进行特征提取,结果表明融合通道和空间注意力的CBAM模型在滑坡遥感图像的检测上有着明显的提升。

表1 注意力机制结果数据对比/%

为了验证空洞卷积对滑坡遥感图像检测的影响以及本文所提出的改进算法模型对滑坡特征提取的有效性,通过在传统ResNet50网络的基础上添加空洞卷积和本文所提出的融合注意力机制模型CBAM+空洞卷积的方式进行实验。在训练过程中分别对空洞卷积与注意力机制模型在卷积层添加位置的不同进行训练与输出的评测指标进行对比,综合选取实验检测结果最好的进行评价分析。

从表2中可以看出,在ResNet50的网络基础上分别添加空洞卷积,召回率与精确率都有一定程度上的提升。而通过融合注意力机制模型CBAM与空洞卷积的方式的实验结果中可以看出,相对于只添加注意力机制或空洞卷积,两者结合下,mAP值、召回率与精确率都有一定程度的提升。实验结果表明,本文融合注意力机制与空洞卷积结合的方法对于滑坡图像的识别检测相对于传统的Faster R-CNN的检测方式来说有着显著的效果提升。

表2 实验评估数据对比/%

3.3 检测结果展示

图7中显示了分别采用ResNet50、ResNet50+空洞卷积、ResNet50+CBAM和ResNet50+空洞卷积+CBAM的方式得到的滑坡遥感图像检测图。由于滑坡图像特征提取涉及色彩、纹理及阴影等众多因素,以及数据集图片数量与滑坡图像的复杂多样性,导致对于传统锚框方式进行目标检测来说是一个巨大的挑战。对于滑坡这类复杂多样且滑坡边界不规则的图像来说,检测结果除受图像质量、模型算法识别的影响外,也受进行实验准备前对滑坡图像锚框范围大小的影响。通过比较可知,本文提出的融合CBAM模型和空洞卷积的方式的检测图像,相对于传统只采用ResNet50和单独添加注意力机制与空洞卷积方法,滑坡图像中的预测框更准确、误检框更少,表明两者融合的方式在滑坡遥感图像检测中有着一定的效果提升。笔者深信通过深度学习的目标检测算法的不断改进与研究,对于采用传统锚框方式来进行滑坡图像的检测有着充分的研究价值;而对于本文检测中如何降低误检框的数量,提升滑坡遥感图像检测的召回率与精确率,以获得更高的滑坡图像检测效果,是后续努力研究的目标。

(a) 对照组1 (b)对照组2 (c)对照组3

4 结束语

目前基于深度学习的目标检测算法在滑坡遥感图像检测方面应用较少,对于自然灾害中的滑坡图像的识别检测问题,本文在基于传统目标检测算法的基础上,提出了一种融合注意力机制与空洞卷积结合的滑坡图像特征提取算法。通过空间注意力与通道注意力结合的CBAM来增加滑坡图像检测的特征的提取识别以及采用空洞卷积来增加滑坡目标感受野的方式来检测滑坡。实验结果分析表明,在传统目标检测算法Faster R-CNN的基础上,采用注意力机制与空洞卷积结合的方式,召回率与精确率有着显著的提升,表明基于深度学习的目标检测算法对于滑坡遥感图像及其它自然灾害图像的检测有着充足的应用与发展。

猜你喜欢
空洞滑坡注意力
2001~2016年香港滑坡与降雨的时序特征
让注意力“飞”回来
番茄出现空洞果的原因及防治措施
滑坡推力隐式解与显式解对比分析——以河北某膨胀土滑坡为例
如何避免想象作文空洞无“精神”
如何培养一年级学生的注意力
空洞的眼神
浅谈公路滑坡治理
A Beautiful Way Of Looking At Things
“监管滑坡”比“渣土山”滑坡更可怕