杨泞滔 聂勇
(1 中国科学院水利部成都山地灾害与环境研究所,成都 610299)
(2 中国科学院大学,北京 100049)
冰湖是冰川作用而形成的一种特殊的湖泊,它是淡水资源的重要组成,但又会发生溃决形成冰湖溃决洪水灾害[1]。我国的冰湖大部分分布在高海拔、难以到达的高山区域[2]。在全球变暖的背景下,冰川退缩,冰湖灾害风险上升[1],威胁着我国铁路、公路等基础设施[3]和人民生命财产安全[4-7]。川藏铁路沿线曾多次爆发严重的冰湖溃决洪水,如2020 年金乌错溃决洪水就发生在易贡藏布流域,对下游产生严重破坏[8]。为了提升主动防灾减灾的能力,需要识别潜在高危冰湖并对其开展监测预警,冰湖遥感制图与动态监测是冰湖灾害评估与监测预警的基础。
近年来,冰湖遥感调查方法和技术不断发展,深度学习方法为进一步提升冰湖自动制图的效率和精度提供了一个新的思路和途径。传统的冰湖遥感制图方法主要有:1)基于专家经验的目视手动数字化。该方法制图精度高,已被成功应用于喜马拉雅山中段[9]和青藏高原的冰湖调查[10],然而,该方法在大范围开展冰湖调查需要大量的人力和时间,难以实施。2)光谱指数阈值法。该方法主要选择水体指数作为关键参数,确定最佳阈值完成冰湖的制图,如文献[11]提出的归一化水体指数(NDWI)被广泛的用于提取湖泊等水体的边界信息,文献[12]将NDWI 指数与坡度阴影掩膜结合,通过迭代确定最佳阈值,构建自动提取喜马拉雅冰湖的算法。3)面向对象制图法。该方法综合利用冰湖的形态学特征和纹理特征可以有效的自动提取冰湖,被用于喜马拉雅山脉和青藏高原的冰湖变化研究[13-14]。由于地物光谱的复杂性,自动提取冰湖仍存在不少的错分和漏分,如何进一步提升冰湖自动提取的效率和精度,也是目前冰湖研究的难点。近年来,深度学习方法和技术快速发展,也被应用于冰湖遥感制图,展现出巨大的潜力。如UNet 深度学习方法被成功应用于卫星遥感影像[15],完成冰湖制图,也有学者进一步发展该模型,如引入NDWI 指数和注意力机制,构建了NAU-Net 模型[16]。也有学者使用HarDNet-MSEG 网络结构集成二阶注意力模块,提升了冰湖遥感制图精度[17]。深度学习模型和参数众多,现有的模型往往针对特定的区域进行训练与预测,有一定的适用局限性,如何提升模型的泛化能力,如何确定最优的模型和参数,仍需要开展相关研究。
为了提升模型的泛化能力,更好地检测与监测高危冰湖,本研究致力于开发一种新的冰湖遥感制图方法。通过对比分析PSPNet、DeepLabV3+和U-Net 三种经典深度学习模型,在U-Net 模型基础上引入极化自注意力机制,改进模型在特征融合过程中的性能,增强冰湖边界特征的识别能力。研究构建了一个覆盖面积广、类型齐全的冰湖数据集,用于深度学习模型的训练,最优模型被应用于高原铁路关键区,完成了2013—2022 年逐年的冰湖遥感调查。本研究可望为冰湖灾害评估和监测预警提供新的技术支撑。
本研究选择Landsat-8 陆地卫星覆盖的易贡藏布和帕隆藏布流域作为案例区(图1),卫星影像在全球参考系(Worldwide Reference System, WRS)中行列号分别为135 和039。案例区总面积1.59×104km2,东西长约189 km,川藏铁路贯穿案例区,该区域是在建川藏铁路的关键区,曾多次爆发冰湖灾害,如1988 年帕隆藏布上游光谢错溃决洪水阻断川藏公路半年,危及下游几十千米沿线居民生命财产安全;2020 年易贡藏布流域金乌错冰湖溃决,导致下游43 km 道路遭受毁坏。案例区主要河流包括易贡藏布和帕隆藏布,分别流向东南和西北,两江交汇后在案例区南部的最低点与雅鲁藏布江相汇。案例区受印度夏季风系统控制,是西藏东南部主要的暖湿气流通道之一,云雪覆盖率较高,北部为念青唐古拉山脉的主山脊,地形的屏障作用导致案例区降水充沛,主要集中在5—9 月,在高海拔区以降雪为主[18]。案例区有2 058.71 km2海洋性冰川,全球变暖背景下,冰川退缩,冰湖扩张,冰湖灾害风险呈增长趋势。研发冰湖遥感制图新方法,完成本区冰湖遥感调查,可为本区冰湖灾害评估、监测预警提供数据和技术支撑。
图1 案例区的分布Fig.1 Geographical location of the case area
本研究一共选择了53 景Landsat-8 影像用于深度学习模型的训练和冰湖遥感制图(图2 ,表1)。其中,24 景用于模型训练和模型比选,平均云量为3.54%,最小云量为0.21%,最大云量不超过19%,影像的分布覆盖了青藏高原主要冰湖分布区(图2),喜马拉雅山脉基本实现全覆盖,以期涵盖不同类型、不同颜色、不同形状、不同规模的冰湖,提升模型的冰湖制图能力与适用性。轨道号P135R039 的29 景影像用于案例区冰湖遥感制图,平均云量为22.63%,最小云量为1.02%,最大云量73.94%,由于云的干扰,在同一年选择了多期遥感影像以实现案例区的全覆盖。
表1 研究使用的陆地卫星遥感影像Tab.1 Landsat-8 remote sensing images used in this study
图2 模型训练与验证数据集的空间分布Fig.2 Spatial distribution of glacial lake dataset for model’s training and validation
本研究对比分析了三种经典的深度学习语义分割模型,及集成极化自注意力机制U-Net 网络模型的冰湖遥感制图结果,选择制图精度最佳的模型开展案例区冰湖遥感制图,完成模型改进和应用。
PSPNet 是一种利用金字塔池化的图像语义分割模型,能够捕捉多尺度上下文信息,理解图像内容,准确捕捉物体细节和全局信息。尽管在智能交通[20-21]和医学图像识别[22]等领域成功应用,但由于复杂性高,需大量计算资源和训练时间,且在处理小物体或细微边界时存在挑战。
DeepLabv3+基于深度卷积神经网络,利用残差网络和空洞卷积保留上下文和细节信息,采用全局平均池化和多尺度融合方法增强不同尺度目标的感知能力。该模型适用于实时应用场景如自动驾驶和疾病诊断[24-26]等。但DeepLabv3+模型参数量大,需要较大的计算资源且对细小目标的识别率较低。
U-Net 是一种基于卷积神经网络的图像分割网络,其结构如图3 所示,包括编码器和解码器,编码器提取图像特征,解码器映射特征回原图像大小得到分割结果。相较于PSPNet 和DeepLabv3+,U-Net 采用完全卷积网络,适用于小目标识别和边缘分割;利用特征跳跃连接保留细节和上下文信息,提高准确性;结构简单,训练速度快,适合小数据集。U-Net 模型最初用于医学图像分割[28],后逐步被应用于地理信息识别、自动驾驶等领域。然而,U-Net 在大目标和语义上下文弱关联目标的分割准确性较低;解码器上采样会降低图像分辨率。
图3 原生的U-Net 网络结构Fig.3 Original U-Net network structure
2.4.1 极化自注意力机制
极化自注意力机制(Polarized Self-Attention,PSA)源于极化滤波理论,极化滤波只允许正交于横向方向的光通过,从而提高图片对比度[29]。由于滤波过程中总光强度有损失,需要额外的手段恢复原始场景。注意力机制在一个方向上对特征进行压缩,然后对损失特征进行增强。极化自注意力机制能够联系上下文特征,保留空间和通道注意力特性,使拟合的输出更细腻。本研究中,极化自注意力机制由通道注意力机制和空间注意力机制两部分构成(图4),引入机制可以完善U-Net 网络跳跃连接中全局信息的获取,减少图像特征信息的损失,强化冰湖边缘信息,更好的自动识别冰湖。
图4 极化自注意力机制Fig.4 Polarized Self-Attention mechanism
本研究中,输入特征X(C×H×W)里的C用于表示输入图像或特征的通道数,H用于表示输入图像或特征的高度,W用于表示输入图像或特征的高度。空间注意力首先使用1×1 的卷积,将输入的特征X转换为特征Q和V,使用全局池化函数将特征Q的空间维度压缩为1×1 大小,特征V的空间维度保持为H×W。然后,利用Softmax 函数增强压缩后的特征Q,将特征Q与特征V进行矩阵相乘。最后,改变特征形状并利用Sigmoid 函数把特征所有的参数保持在0~1 之间[30]。类似的,通道注意力使用1×1 的卷积,将输入的特征X转换为特征Q和V,其中,Q的通道被完全压缩,V的通道维度被压缩为原来的一半。根据极化滤波理论,利用Softmax 函数增强特征Q。对Q和V进行矩阵乘法,进行1×1 的卷积运算和归一化,将特征的通道数恢复到原来的数量,并利用Sigmoid 函数保持特征所有参数在0~1 之间。
2.4.2 集成极化自注意力机制的U-Net 模型
本研究在原生的U-Net 网络结构基础上,引入极化自注意力机制,构建了改进的U-Net 冰湖遥感制图模型(图5)。研究在U-Net 网络每个跳跃连接部分加入一个极化自注意力机制,将从编码器得到的特征与通过自注意力机制增强后的特征进行矩阵相加,从而在解码器端增强还原图像的特征信息,即强化冰湖边界特征,以提高制图精度。同时,本研究在解码器部分使用ResNet-50 网络[31]作为解码器主干网络,该网络由卷积层、残差结构、平均池化和全连接层构成,残差结构能够避免潜在的梯度消失等问题,确保网络在层数增加或结构扩充之后性能稳定。
图5 改进的U-Net 网络结构Fig.5 The revised U-Net network structure
2.5.1 模型训练环境与参数设置
本研究相关模型均在Linux 系统环境下执行,采用PyTorch 深度学习框架, 使用显存为12 GB 的GPU。为了提高模型的可比性,PSPNet 和DeeplabV3+初始学习率均设置为5×10-4,原生的U-Net 和改进模型的初始学习率(learning rate)设置为1×10-4,其余参数保持一致,如,迭代次数(epoch)设置为200,批量规模(batch size)设置为8,实验的优化器选择Adam,这些参数经过多次实验测试后确定的最优配置,实验中卷积神经网络通常在200 个epoch 趋向拟合,由于GPU 显存限制,batch size 选择了理论上的最大值,相较于使用固定学习率控制模型拟合方向的SGD 优化器,Adam 优化器自适应计算每个参数的学习率,从而更适合处理大规模数据且收敛速度更快。
2.5.2 冰湖训练和预测数据集
本研究使用24 幅高品质的Landsat-8 卫星遥感影像和文献[32]发布的2018 年高亚洲冰湖调查数据,制作了高精度的冰湖制图模型训练数据集,作为每个模型训练验证阶段的冰湖标签数据,冰湖调查数据来源于国家冰川冻土沙漠科学数据中心(http://www.ncdc.ac.cn)。2018 年的参照冰湖数据依据每幅卫星遥感影像进行了全面的修订,训练数据集只保留影像上可以正确识别的冰湖,删除了之前错误提取的冰湖图斑。每幅影像和训练标签都被裁剪为512 像素×512 像素大小的红绿蓝三个波段数据样本和冰湖标签样本,像素空间分辨率为30 m,冰湖标签转化为二值栅格数据,冰湖赋值为1,其他赋值为0。研究对裁剪后的样本进行了旋转、镜像等数据增强处理[33],共获得8 137 个遥感影像样本及其对应的标签样本。样本按照8∶2 的比例划分为训练集和验证集,即训练集6 509 个样本,验证集1 628 个样本。训练和验证数据分别输入4 个模型,完成模型训练和精度评估,最终选择精度最高的改进U-Net 模型及其参数开展案例区冰湖遥感制图。案例区遥感影像也被裁剪为512 像素×512 像素大小,作为输入数据,开展冰湖遥感预测。
2.5.3 模型精度评估
研究选择经典的卷积神经网络模型评价指标,包括精确度P(Precision)、召回率R(Recall)、交并比I(Intersection over Union,IoU)、F1值(F1-score),评估训练模型精度。Precision、Recall 和IoU 等指标的计算公式如下:
式中 TP、FP、TN、FN 分别代表正样本被正确识别的数量、错误分类的负样本数量、正确识别的负样本数量及漏识别的正样本数量。本研究中,冰湖像素代表正样本,非冰湖像素代表负样本。
通过对比分析,研究选择训练好的改进U-Net 模型完成易贡藏布与帕隆藏布流域案例区冰湖遥感自动识别,经过后处理获得最终的冰湖遥感调查数据。后处理包括:1)将预测结果由栅格数据转换为矢量数据;2)设定最小制图为9 个像素(面积为8 100 m2),删除小于这个阈值的图斑并手工剔除非冰湖水体,如提取的河流、人工水库等;3)检查矢量数据拓扑错误并进行修正,如剔除重复图斑;4)以经过严格品质控制的Landsat-8 遥感影像提取的2020 年冰湖数据作为参考值[34],在案例区随机抽样200 个样点,其中180 个为冰湖点,20 个为非冰湖点,对提取的2013—2022 年冰湖数据开展精度评价。评价指标包括:生产者精度PA(Producer’s Accuracy)、用户精度UA(User’s Accuracy)、总体精度OA(Overall Accuracy)和Kappa 系数,计算公式如下:
式中N代表总样本数;冰湖的PA 与UA 计算公式分别与R和P含义相同;p0和pe分别代表正确提取样本数量与实际及理论样本的一致率。
训练模型的预测结果显示:改进的U-Net 模型精度最高,效果提升明显。本研究中,训练4 个模型使用了相同的卫星遥感和冰湖标签数据集,以保持模型的可比性。PSPNet、DeepLabV3+和原生的U-Net三种经典模型之间精度的差异较小(表2),DeepLabV3+模型的精度略高于原生的U-Net 和PSPNet 模型。U-Net 模型融合注意力机制后,在各个精度评估指标上都取得了显著的提升。相较于原生U-Net 网络,P、R、I和F1值分别提高了5.01%、6.05%、10.73%和5.53%,即使与DeepLabV3+相比,在每个指标也略有超越。
表2 训练模型精度的对比Tab.2 Comparison of the mapping accuracy of the training models
4 个模型预测的结果与验证数据集有较好的重合度,冰湖遥感制图的效果较好,也存在着差异。随机选择了4 个典型冰湖样区,展示不同模型冰湖遥感制图结果的差异。图6 中,除了第一列遥感影像外,白色代表提取的冰湖,黑色代表非冰湖。改进的模型与参照标签数据的匹配度最好,其次是DeepLabV3+的结果,原生的U-Net 和PSPNet 预测的结果略差。在A~D 样区,两个U-Net 模型对小冰湖的提取效果较好,DeepLabV3+和PSPNet 漏提了一些小冰湖;在B 样区,DeepLabV3+可提取出U-Net 漏提的一些冰湖;在D 样区,左上角冰湖受湖冰和阴影的影响严重,4 个模型都存在漏提的现象,表明深度学习模型对复杂环境冰湖的提取存在难点。通过训练模型结果的对比分析,本研究融合极化自注意力机制,改进了原生U-Net 网络模型,改进模型在各项统计指标和样区对比中都展现出明显的优势,冰湖的完整性和边界的准确性都有提升。因此,选择改进的模型在案例区进一步开展冰湖制图。
图6 不同模型在四个样本区提取冰湖结果的对比Fig.6 Glacial lake extraction results of each model on the validation set
本研究将改进的模型成功应用在高原铁路关键区,基于Landsat-8 卫星影像完成了案例区2013—2022 年逐年冰湖遥感制图,效果良好。案例区是藏东南主要的水汽通道,卫星遥感影像受云、云阴影、地形阴影、季节性积雪的影响严重,为了更好的提取逐年的冰湖数据,本研究采取一年内选择多期影像的方式以降低云雪等的干扰,完成逐年冰湖遥感制图。以文献[34]完成的2020 年案例区499 个冰湖作为参照真实值,总面积为51.73 km2,计算2013—2022 年冰湖提取重叠率。表3 的统计显示:1)本方法提取的冰湖数据与参照真实值的重叠率在不同年份存在明显差异,2020 年的重叠率最高,为96.66%,2014 年最低,为60.97%。2)2013—2022 年自动提取的冰湖在数量和面积上呈现较大的波动。2016 年冰湖数量最多,达到408 个,2019 年最少,仅为199 个。冰湖最大面积出现在2020 年,为50.01 km2,最小面积出现在2014 年,为33.70 km2。3)冰湖每年的重叠率与抽样计算的生产者精度、Kappa 系数(200 个样本)存在强相关性。经过检查分析,2013 年、2014 年、2018 年和2019 年等较低的重叠率和生产者精度主要是该年获取遥感影像受云雪等干扰严重所致,云、云阴影和积雪导致部分冰湖被覆盖,不能被自动提取,云阴影、冰湖表面结冰和地形阴影会增加了冰湖的误提率。2020 年遥感影像受云雪等干扰较小,冰湖制图精度最高,2020—2022 年自动提取冰湖结果较为接近,这主要得益于获取了高品质的卫星遥感数据。说明改进的冰湖遥感模型需要高品质的光学卫星影像作为数据源,从而获取高精度的自动提取冰湖结果。本研究提出的改进方法在高品质影像的支持下可以获得理想的冰湖遥感调查数据,对冰湖灾害识别和遥感自动监测具有重要意义,进而服务铁路公路等基础设施的防灾减灾实践。
表3 2013—2022 年基于改进模型获取的逐年冰湖数据统计Tab.3 Statistics of glacial Lakes mapped by the improved U-Net model
本研究基于原生的U-Net 网络结构,通过引入融合空间和通道注意力模块的极化自注意力机制,构建了一个改进的U-Net 冰湖遥感制图模型。对比分析三种经典语义分割模型,改进的冰湖模型制图精度有明显的提升。
改进的冰湖模型被成功应用于高原铁路关键区,完成了易贡藏布和帕隆藏布案例区2013—2020 年逐年的冰湖遥感调查,在高品质遥感数据保障的情况下,自动提取冰湖的效果较好。本研究提出的方法为冰湖遥感自动制图提供了新的选择,在冰湖灾害评估与监测预警方面有广阔的应用前景,也可以服务于铁路等重要基础设施的防灾减灾实践。