胡富杰,吕伟才*,周福阳,郭晓慧,卢福康
(1.安徽理工大学 空间信息与测绘工程学院,安徽 淮南 232001;2.安徽理工大学 矿区环境与灾害协同监测煤炭行业工程研究中心,安徽 淮南 232001;3.安徽理工大学矿山采动灾害空天地协同监测与预警安徽普通高校重点实验室,安徽 淮南 232001;4.东华理工大学 测绘与空间信息工程学院,江西 南昌 330013)
滑坡是一种典型的地质灾害,对人们生命财产安全和自然环境造成了严重的威胁。因此,如何在短时间内对滑坡进行精确提取已经成为当下研究的热点问题。滑坡地质灾害在贵州和四川等地发生尤为频繁,该地区内的滑坡范围大、持续时间长、崩塌速度快,这些问题是快速提取滑坡的难点之一。此外,由于滑坡主要发生在背景复杂的山体地区,滑坡现场土质疏松、碎石多,且受到覆盖密度较大的树木和地形的影响,调查人员难以到达灾害发生地点,所以准确提取滑坡已成为国家自然灾害等部门快速救援的巨大难题。
遥感技术作为实时、动态的新型滑坡提取手段,不仅可以对滑坡进行监测分析,而且还可以对灾后滑坡进行范围估算。但是对于较为精细化的滑坡提取,卫星遥感由于时间、环境等条件限制,提取滑坡的时效性很难达到对滑坡应急的需求。以往遥感技术提取滑坡的方法可以归纳为监督分类和面向对象分类法。针对于监督分类的方法,傅文杰等[1]提出了支持向量机方法的原理和滑坡提取的过程,为后期滑坡的灾害建设提供了一定的理论基础。牛全福等[2]利用监督分类、密度分割和面向对象的技术,分析了不同时期,即地震前和地震后的数据,进行遥感应用快速提取滑坡。许冲[3]基于ENVI平台,对湔江流域的一部分SPOT5影像用最大似然法进行了滑坡的自动提取,结果显示正确率达到35.52%。基于最大似然法所提取到的滑坡精度普遍较低,陈勇国等[4]结合TM影像和数字高程模型(Digital Elevation Model,DEM)数据,通过决策树模型提取了3期滑坡灾害,相比于最大似然法,分类在精度上有了明显提高。黄维江[5]通过基于监督分类的支持向量机方法、基于规则的多尺度分割方法和基于三维分析技术3种提取滑坡手段进行研究区滑坡提取,其中多尺度分割方法识别滑坡百分比达到了94.3%,三维分析技术方法经过2期的DEM数据变化检测,直观显示了滑坡变化区域范围。但监督分类的方法由于以像元的光谱信息为根本依据,难以表达同一地物本身的光谱特性而不能满足遥感信息快速提取的需要。针对上述问题,许多研究人员提出了大量面向对象的分类方法,如闫琦等[6]根据改进otsu算法,利用2008年汶川地震后ADS40航空遥感影像的光谱、形状和纹理等特征进行滑坡的提取,在时间和精度上都满足地震灾害应急的要求。宿方睿等[7]基于ENVI5.1和eCognition软件平台,采用面向对象分类法利用高分辨率World View-2以及Landsat遥感卫星数据进行处理并同时提出GVI模型,为判别古滑坡和新滑坡提供了理论依据。上述传统方法虽然利用了影像的光谱、纹理和形状等信息,但并未对该信息进行深层次挖掘,无法提取滑坡的高级语义信息,从而导致对滑坡的提取精度不高,边缘分割不准确。
相比之下,深度学习方法不仅能够提取滑坡的浅层特征和高级语义信息,而且还能精确地检测滑坡以及分割滑坡边缘,在实践中表征出较高的识别准确度。其中常用的深度学习方法都是通过卷积神经网络(Convolutional Neural Network, CNN)进行特征提取的,如SU-Net[8]、E-Unet[9]。为了验证CNN所能提取到滑坡的精度,Bragagnolo等[10]使用U-Net模型在尼泊尔喜马拉雅地区进行山体滑坡检测,F1得分最高为67%。针对样本数据的不足和方法的创新,付萧等[11]以2013年4月20的芦山地震区域为研究区,自制标签样本库,引入迁移学习的方法进行滑坡的提取,总体精度(Overall Accuracy,OA)值达到了87.2%,仅仅耗时0.8 h,为滑坡的提取提供了具体的新型解决思路。许濒支[12]以四川芦山、九寨沟的地震区为研究区,构建了完整的样本数据库,设计了合理的数据扩充方法,提出了多尺度深度注意力模型和一种评价指标,结果显示在评价指标中其模型的精度优于FCN-16s、U-Net、ResNet50等模型,验证了模型的合理性。由于滑坡结构复杂,困难样本提取较多,姜万冬等[13]以毕节滑坡数据集实验并用天水地区震区数据验证,针对困难样本进行数据增强并将困难样本输入到Mask R-CNN网络进行滑坡精细检测分割,平均准确率达到了90.3%,验证了算法的可行性。
然而CNN中卷积操作本身感受野有限,不能很好地利用全局信息,局部信息中远距离像素依赖关系不足。为了解决CNN的局限性,Transformer模型在处理语义分割领域表征出巨大的广泛应用。Transformer[14]是一种基于自注意力机制的模型,不仅对全局建模有极大的优势,而且在大规模的预训练中,体现出对下游任务优越的可转移性。针对CNN的局限性,Dosovitskiy等[15]基于自注意力机制提出改进的Transformer 模型ViT,其结构框架方面与 Transformer 相同,该模型的提出在图像识别领域达到先进水平。同年Carion 等[16]基于Transformer提出了DETR(一种端到端目标检测),其性能取得了与 Faster R-CNN 相当的水平。Esser 等[17]构建了VQGAN模型,将 Transformer 和 CNN 结合应用,进一步解决了感受野受限的问题。
本文针对传统滑坡提取中滑坡边缘信息不足、提取效果差且自动化程度低的现状,采用CNN和Transformer融合的流对齐TransUNet(Flow Alignment TransUNet,FATransUNet)模型,创新性在于基于传统的Transformer中多头自注意力(Multi-Head Self-Attention,MSA)优化为高效多头自注意力(Efficient Multi-Head Self-Attention,EMSA)及流对齐模块(Flow Alignment Module,FAM)的引入,有效地将模型提取到的局部信息与全局信息结合,实现高低分辨率特征图的融合,从而获得更深层语义信息并进行滑坡的分割。为了验证FATransUNet提取滑坡的性能,本文对5种模型以及模型的参数量和推理时间等理论性能指标进行对比实验。
本文采用毕节滑坡公开数据集作为实验数据,来验证各模型的泛化性。研究区位于中国贵州省毕节市,面积约26 853 km2,海拔450~2 869 m,采集数据时间为2018年5—8月,该数据集遥感影像由TripleSat(北京二号)卫星采集,影像分辨率0.8 m。其中包含770幅滑坡图像和2 003幅非滑坡图像。
由于毕节滑坡数据集只有770个滑坡样本,为了避免数据量过少导致模型在训练过程中出现过拟合,同时提高模型的泛化性和鲁棒性,本文采用数据增强的方式来进行数据扩充。数据增强由4种图像变换组成:① 水平和垂直翻转;② 旋转215°;③ 像素亮度值在50%~150%变化;④ 对比度在50%~150%变化。数据增强后最终获得3 850个滑坡样本,为了避免样本之间的相似度过高对模型训练的影响,本文对增强后的数据进行随机打乱,将总数据集中80%用于模型的训练和验证,20%用于测试。由于毕节滑坡数据集大小并不统一,本文利用填充和剪切的方法,将图像设置为统一大小256 pixel×256 pixel。
Transformer块中MSA的内存和计算量与空间维度或嵌入维度(即通道数)成二次方关系,导致训练和推理开销较大。与此同时MSA中每个头只负责嵌入维数的一个子集,这可能会损害网络的性能,基于传统的Transformer中MSA优化为EMSA。原始的跳跃连接、特征拼接和解码阶段中的上采样操作较为复杂,FAM既简化了运算过程,又有效融合了浅层中的高分辨率信息。针对以上不足,提出一种改进的FATransUNet模型。
1.3.1 FATransUNet网络结构
FATransUNet的整体架构如图1所示,该模型是一个结合了CNN和Efficient Transformer的改进混合架构模型。FATransUNet模型受到UNet结构的启发,同样采用编码-解码结构。
图1 FATransUNet网络结构Fig.1 FATransUNet network framework
FATransUNet编码阶段由两部分组成,分别是CNN局部信息提取部分和Efficient Transformer全局信息提取部分,其中CNN部分采用ResNet-50架构。Efficient Transformer部分中,在二维序列输入到Efficient Transformer Layer之前,网络会在序列中加入位置编码,保留各个图像块的空间信息。之后将序列输入到改进的12层的Efficient Transformer模块中进行全局信息的提取。Efficient Transformer编码器由EMSA和多层感知器(Multi-Layer Perceptron, MLP)块组成。对于Efficient Transformer编码的第L层,假设输入为Zl-1,输出为Zl,则其计算公式为:
(1)
(2)
式中:LN表示实例层归一化算子,Zl表示编码的图像。
FATransUNet解码阶段的效果是将编码器处理得到的特征图的尺寸恢复成输入图像的同样大小尺寸,实现端到端的网络结构训练。将编码阶段输出的序列进行reshape后,通过一个卷积层将特征图通道数由768转换为512,之后进行3次FAM模块和3次上采样操作,最后经过一个Segmentation Head层,将特征图通道数转换为类别数,得到分割结果。
FAM模块如图2所示,将高分辨率特征图和低分辨率特征图结合生成语义流场,利用语义流场将低分辨率特征图转化为高分辨率特征图。
图2 FAM结构Fig.2 FAM framework
具体为给定2个相邻的特征图F2和F1具有相同的通道数,本文通过双线性插值层将F2上采样到与F1相同的大小,然后将它们拼接在一起,并将拼接后的特征图作为包含2个卷积层的子网络的输入,卷积层的核大小为3×3,之后进行一个无参数的变形过程的融合输出进行新特征图的叠加产生。
变形过程如图3所示,采用的是可微双线性采样机制,对于空间网格上的每个位置通过加法操作映射后的点线性插值(左上、右上、左下和右下)的值来近似FAM的最终输出。与普通的双线性上采样特征相比,变形特征在结构上更加整洁,并导致滑坡更一致的表示。
图3 变形过程Fig.3 Warp process
1.3.2 网络训练参数
本实验平台采用Windows 11 64位操作系统;AMD R7-5800H@3.20 GHz 八核处理器,16 GB内存;NVIDIA®GeForce RTX 3060 6 GB显卡。在软件环境方面,本文以PyTorch作为后端的深度学习框架,使用CUDA11.3版本的GPU运算平台以及对应的CUDNN深度学习GPU加速库。
在训练过程中,本文使用相同的数据集对6个模型进行训练,模型均采用相同的训练方案,并未使用迁移学习方法(预先训练的权重)。所有模型在训练过程中使用同一组超参数,超参数是经过测试,并考虑每个模型的训练情况确定的。优化策略、批次大小、初始学习率、权重衰减系数和训练次数分别为Adam、4、0.000 1、0.001和60。学习率衰减策略采用PyTorch中的StepLR方法。目前常见的损失函数是交叉熵损失函数(Lce),由于滑坡数据集正样本相比负样本所占比例较小,本文为了避免模型对样本较少的类别产生偏向性,以交叉熵损失和Dice损失(LDice)构建的混合损失函数(Ltotal)来更新网络的权重,混合损失函数见式(3)。交叉熵损失函数从全局上考察模型训练情况,计算量较少,有助于网络稳定拟合。Dice损失函数则从微观上将逐像素拉近,减轻了样本的不平衡。交叉熵损失函数和Dice损失函数公式为:
Ltotal=0.5Lce+0.5LDice,
(3)
(4)
(5)
1.3.3 精度评价指标
本文选取精确度(Precision,P),召回率(Recall,R),平均交互比(mIoU)和F1-score(F1)四种常用的语义分割评价指标来全面客观地评估分类结果,同时验证分割模型的准确度和有效性。
(6)
(7)
(8)
(9)
式中:TP、FP、FN、TN分别表示滑坡正确分类的像素点数量、背景错误识别成滑坡的像素点数量、滑坡分割被识别成背景的像素点数量、背景正确分类的像素点数量。
4种评价指标的取值均为[0,1],数值越接近1,代表分割结果越显著。
FCN、U-Net、SegNet、DeepLabV3+、TransUNet和FATransUNet的训练过程如图4所示。图中U-Net的训练损失最先在第20个epoch趋于平稳且收敛;其次是FATransUNet的损失第25个epoch左右收敛;FCN和DeepLabV3+的损失随着epoch的增加逐渐降低,均在第30个epoch左右上下浮动;TransUNet和SegNet的损失变化较慢,在第40个epoch左右时才趋于稳定。由于FATransUNet模型训练过程中迭代的参数较多,但是收敛速度仅次于U-Net,同时FATransUNet是基于TransUNet的改进且收敛速度快于TransUNet,证明了EMSA和FAM两个模块在改善收敛速度上的有效性。
图4 训练集和验证集损失变化Fig.4 Loss variation of training dataset and validation dataset
为了验证该模型在滑坡提取方面的显著效果,本研究进一步使用FCN、U-Net、SegNet、DeepLabV3+和TransUNet五种语义分割模型来对比评估FATransUNet模型的性能。对比实验结果如表1所示,FATransUNet模型滑坡提取的精度最高,其次是DeepLabv3+、TransUNet、SegNet、U-Net,精度最低的为FCN,同时FATransUNet模型识别滑坡的精确度、召回率、F1评分和mIoU分别比FCN模型高0.210、0.138、0.175和0.149。由于FCN网络是首个端对端的针对像素级预测的全卷积网络,其原理是通过将VGG16网络结构中的全连接层替换为卷积层,将图像经过下采样后再通过双线性插值方法上采样回原始图像分辨率,但受到卷积层固有的局限性,造成图像下采样过程后无法保留高分辨率信息,从而导致对较小物体的边界分割效果较差,如图5(c)所示,在U-Net、SegNet和DeepLabV3+网络结构中,由于引入了空洞卷积层和跳跃连接,不同程度地减缓了下采样过程中特征图高分辨率信息的损失,因此对滑坡边缘的分割效果较好,DeepLabV3+存在提取少量空洞现象,U-Net边缘角点提取效果略差、容易模糊,如图5(d)~图5(f)所示;对于较为复杂的滑坡,TransUNet的边缘效果很差,如图5(g)所示,SegNet和TransUNet 的结果“椒盐效应”较为明显,存在大量误提和漏提,田地等与滑坡颜色属性相近的区域容易形成不确定区域;如图5(h)所示,FATransUNet网络是将CNN卷积和Transformer注意力机制进行了融合,因此FATransUNet能够学习到图像的全局语义交互信息,不仅对于全局建模有极大的优势,而且在大规模的预训练中,体现出对下游任务优越的可转移性,提取到的滑坡信息保留较完整,特征提取稳定,因此滑坡提取更接近真实滑坡。
表1 不同模型指标对比结果
图5 模型预测结果Fig.5 Model predict results
实验表明FATransUNet效果优于其他几种模型,能有效、合理、准确地提取到滑坡的细节信息,提取较为稳定,细节保留度高。考虑到滑坡已经形成较长时间,滑坡附近植被居多,有些滑坡已经被植被覆盖,显示为绿色,所以其滑坡特征并不突出,想要准确地分离滑坡和植被不太容易。由于这种类型的滑坡过于复杂,根据这6种模型来看滑坡的识别效果,除了FCN提取效果较差,其他5种较优,FATransUNet模型可以分解为从周围植被的特征来看滑坡,进行边界的精细化分割。
对于滑坡发生期间,往往按照区域受灾面积、受灾程度进行不同优先级的决策,时间上的有效性和精度上的准确性是应急部门开展应急救援的重要保障,因此实验分析了训练时间、推理时间和参数量,尽管FATransUNet在泛化能力上是最好的模型,但是由于12个Transformer层的堆叠,导致训练时间和参数量的增长。性能统计如表2所示,可以看出,FATransUNet的训练时间、推理时间和参数量处于中间水平,其中训练时间、推理时间分别是FCN的2.3倍和3.1倍,但是参数量低于FCN,是DeepLabV3+参数量的5.9倍,表征出FATransUNet在滑坡提取中的应用还是有很大的创新潜力。
表2 时间和参数量分析结果
TransUNet的提出最早用于医学图像分割,并取得了较高的分割性能[17]。针对该模型在提取全局信息和局部信息的优势,能对图像中的较小目标实现精确度检测和分割,许多研究人员基于该模型进行变化检测、医学图像分割和滑坡检测等方面的研究,取得了不错的效果[18-20]。本文将CNN和改进的高效Transformer结合的混合架构模型——FATransUNet应用于滑坡提取,以毕节滑坡数据集为样本,使用FCN、U-Net、SegNet、DeepLabV3+和TransUNet五种传统的CNN进行对比实验,评估了FATransUNet的滑坡提取性能。实验表明FATransUNet模型的F1评分和mIoU达到了91%,均高于其他5种CNN模型。此外,本文进一步通过数据集数量和模型的参数量、训练时间和推理时间来评估该模型在滑坡提取中的实用性。FATransUNet相比其他5种模型能有效克服了样本边缘信息不足的问题,有效提升了高分辨率遥感影像中滑坡的提取精度,具有一定的实用性。
尽管FATransUNet模型的滑坡提取精度要比基于CNN的模型高,但在训练时间和推理时间方面并没有优势,这是由于利用了ResNet结构和Transformer模块的多层堆叠,使得模型参数量较大,导致模型的训练和推理速度较慢。如何在准确性和推理速度之间达到最佳平衡,设计专门用于快速准确的语义分割模型是至关重要的。在今后的工作中,将进一步改进CNN和Transformer的混合模型来减少模型的参数量,使模型的推理速度能够得到提高。