赵金龙,李剑萍,李万春
(1.中国气象局旱区特色农业气象灾害监测预警与风险管理重点实验室,宁夏 银川 750002; 2.宁夏气象防灾减灾重点实验室,宁夏 银川 750002)
汛期降水天气较多,持续暴雨会导致湖泊、河流、水库水位上涨,严重时会引发漫滩、洪涝等自然灾害,威胁人民群众生命财产安全。利用卫星遥感技术及时有效地掌握滞洪区水体时空动态变化对防洪、防汛措施制定乃至科学利用洪水资源具有重要意义。传统水体信息遥感提取方法主要有单波段阈值法、谱间关系法和指数法等,其中指数法提取精度较高,使用较为广泛。例如:Mcfeeters[1]利用归一化差异水体指数(normalized difference water index,NDWI)提取了内布拉斯加州西部地区的水体信息;徐涵秋[2]在NDWI的基础上提出了改进的NDWI(modified normalized difference water index,MNDWI),可以有效抑制建筑物的干扰;Feyisa等[3]通过在世界各地选取不同类型水体进行大量试验构建了自动水体指数(automated water extraction index,AWEIsh)。
随着机器学习、人工智能技术在遥感影像智能解译领域的应用,水体信息提取逐渐由传统方法向智能化、自动化方向发展。传统机器学习算法如支持向量机、随机森林等,存在调参过程复杂、人工筛选特征烦琐、精度有限等不足,相较于传统算法,深度学习人工神经网络能够自动挖掘目标潜在特征,并建立自下而上、由浅层到深层的特征间相互联系。近年来,U-Net卷积神经网络模型(以下简称“U-Net模型”)在房屋建筑物提取[4]、城市绿地分类[5]、农林植被分类[6]等方面的广泛应用,为遥感影像水体语义分割提供了新思路,但受地形、生态环境以及数据源空间分辨率等因素影响,经典U-Net模型在不同场景的适用性有待探究。
本文基于Sentinel-1合成孔径雷达卫星(以下简称“Sentinel-1卫星”)和Sentinel-2多光谱卫星(以下简称“Sentinel-2卫星”)协同的全天候、高分辨率观测优势,针对经典U-Net模型在贺兰山东麓滞洪区水体提取中存在的过拟合、泛化能力不足等问题,通过引入残差块并简化网络结构,提出了一种适用于贺兰山东麓滞洪区水体信息提取的卷积神经网络(water body information extraction U-Net,WEU-Net)模型,以期为贺兰山东麓防洪措施制定以及洪水资源科学利用提供参考。
贺兰山东麓(105°45′39″E~106°27′35″E,37°43′0″N~39°5′3″N)南起中卫市沙坡头区黑山嘴沟,北至石嘴山市麻黄沟,西自宁蒙省界,东至黄河,面积为5371km2[7],属于典型的大陆性气候[8],多年平均径流量为0.645亿m3,汛期(6—9月)降水量占年降水量的74.23%[7]。
近年来,宁夏持续加强贺兰山东麓重点防洪区域监测站网建设,对区域农业灌溉、湖泊湿地、水产养殖、生态环境改善意义重大。本文选取贺兰山东麓重点滞洪区为研究区,面积约777.96km2,重点水体为星海湖、镇朔湖、沙湖(图1)。
图1 研究区Sentinel-2卫星影像
以Sentinel-1和Sentinel-2卫星影像为数据源。Sentinel-1和Sentinel-2卫星由欧盟和欧洲空间局“哥白尼计划”研制,各有A、B两颗星,双星组网重访周期分别为6d和5d。Sentinel-1卫星搭载一台5.404GHz的C波段合成孔径雷达,最大幅宽为400km,包含SM、IW、EW和WV成像模式。Sentinel-2卫星携带一台多光谱成像仪,含13个较窄波段,能够更好地区分地物的光谱响应特性差异[9],影像幅宽为290km。
基于Google Earth Engine(GEE)云平台对Sentinel-1和Sentinel-2卫星影像进行预处理。其中,Sentinel-1卫星影像选择地距影像(GRD)产品数据集(COPERNICUS/S1_GRD),该数据集经过了热噪声去除、辐射校正、地形校正处理,本文在此基础上对GRD产品中的BVV、BVH后向散射数据进行Refined Lee斑点滤波和区域裁剪、数据类型转换处理。Sentinel-2卫星影像选择云量小于1%并经过sen2cor大气校正的L2A级地表反射率数据集(COPERNICUS/S2_SR),选取其中空间分辨率为10m的蓝(Band2)、绿(Band3)、红(Band4)和近红外(Band8)波段,并对其进行区域裁剪、数据类型转换处理。Sentinel-1和Sentinel-2卫星影像起止日期为2019年4月1日至10月31日。
经典U-Net模型是由Ronneberger等[10]于2015年提出的一种改进的全卷积网络(fully convolutional network,FCN)模型。模型由两部分组成:左侧为编码部分,由卷积层和下采样层组成,用于特征提取;右侧为解码部分,由卷积层和上采样层组成,用于恢复特征图的维度。编码器与解码器进行4次长跳跃连接,使得模型在编码器部分学习的细粒度特征能够用于解码器部分构建图像。该模型最初是面向生物学领域的,主要研究对象为透射电子显微镜图像中的细胞分割。
由于卫星影像与显微镜图像存在较大的空间尺度差异,图像特征信息不匹配。本文针对经典U-Net模型在卫星遥感图像水体语义分割方面的不足,提出WEU-Net模型,模型结构如图2所示(图中D表示随机失活层处理结果)。左侧编码过程中,输入图像大小为256×256像素,参照经典U-Net模型结构,在卷积和残差块操作后,采用修正线性单元函数(rectified linear unit,ReLU)进行激活,采用2×2最大池化方法进行下采样。右侧的解码过程中,逐层进行2×2上采样,并通过跳跃连接与左侧对应层级的特征图进行融合。同时借鉴文献[4-5]的方法,在每层网络的卷积操作后增加批标准化(batch normalization,BN)处理,规范网络层的输入。在网络第4层2个残差块后分别添加概率为0.25的随机失活层,通过丢弃25%概率的神经元减少数据过拟合现象。在网络最后一层采用1×1卷积和softmax激活函数得到与输入图像空间分辨率一致的输出图像。
图2 WEU-Net模型结构
本文提出的WEU-Net模型较经典U-Net模型的主要改进之处:①减少了原始网络结构中编码器与解码器的跳跃连接;②对每层卷积核数量减半以简化模型;③采用引入残差块增强特征提取的策略以实现对模型编码过程的优化。
Sentinel-1卫星具备在云雾干扰天气条件下的监测优势。由于Sentinel-1卫星后向散射数据有限,考虑到深度学习模型对数据特征的挖掘能力较强,借鉴文献[11-12]的方法,构建了适用于贺兰山东麓滞洪区的Sentinel-1水体指数,并将构建的水体指数与BVV、BVH后向散射数据融合,以丰富原始数据特征。Sentinel-1水体指数计算步骤如下:
a.光学遥感水体指数筛选。采用Sentinel-2卫星影像数据计算NDWI、MNDWI、基于蓝光的NDWI(normalized difference water index based on blue light,NDWI-B)[13]、AWEIsh、增强型水体指数(enhanced water index,EWI)[14],并对比筛选适用于贺兰山东麓水体提取的指数。
b.Sentinel-1后向散射指标计算。对原始BVV、BVH后向散射指标进行数学变换,得到4种衍生指标BVH2、BVV2、BVV×VH、BVV+VH。
c.Sentinel-1水体指数构建。根据水体表面在Sentinel-1和Sentinel-2卫星影像上颜色、亮度差异特征,以6种Sentinel-1后向散射指标为自变量,以Sentinel-2水体指数为因变量,利用逐步回归法,采用通过显著性检验的指标构建Sentinel-1水体指数。
选择2019年4—10月覆盖贺兰山东麓重点滞洪区的Sentinel-1和Sentinel-1-2卫星影像作为WEU-Net模型构建的数据源。由于Sentinel-2卫星影像上水体轮廓易于人工判识,因此首先采用Adobe Photoshop 22.1.0和GDAL 3.3.1通过目视解译方法对Sentinel-2卫星影像中的水体进行标注,并对每个影像和标签组合随机裁剪。数据增强对于训练模型所需的不变性和鲁棒性至关重要[10],因此对裁剪后的图像进行几何变换增强(水平翻转、垂直翻转、对角镜像),最终得到8400个Sentinel-2卫星影像和标签组合。按照3∶1∶1的比例划分为训练集、验证集和测试集,建立基于Sentinel-2卫星影像的WEU-Net模型。从模型预测结果中选取与Sentinel-1卫星影像相同或相近日期的图像作为Sentinel-1卫星影像的水体标签,采用与Sentinel-2卫星影像相同的处理方式获得9600个Sentinel-1卫星影像和标签组合,建立基于Sentinel-1卫星影像的WEU-Net模型。基于Sentinel-1和Sentinel-2卫星影像建模所选影像日期如表1所示。
表1 建模影像日期和标签日期
试验平台采用Intel(R)Xeon(R)Gold 6126 CPU@2.60GHz 2.59GHz 24核双处理器,配置256G内存,搭载NVIDIA Tesla P100-PCIE 16GB显卡。在软件环境方面,采用Windows Server 2012 R2 Standard 64位操作系统,使用Python 3.6编程语言,采用TensorFlow 1.9后端的深度学习框架Keras 2.1.6作为模型搭建工具,使用CUDA 9.0版本的GPU运算平台以及NVIDIA深度神经网络库cuDNN 7.6.5训练模型。cuDNN是经GPU加速的深度神经网络基元库,可大幅优化用于前向传播和反向传播的卷积层、池化层、归一化层和激活层的运算效率。
在模型预测过程中,为防止内存溢出,一般将待分类图像裁剪为多幅较小的图像分别输入网络进行预测。借鉴文献[4]的方法,采用忽略边缘预测的策略,即有重叠地裁剪图像进行预测,再按照裁剪的顺序将预测结果图像逐个拼接,拼接时忽略相邻图像重叠部分的像素得到最终结果图像。研究表明,当进行拼接的图像面积占实际裁剪图像面积的比例(r)为0.5(即相邻裁剪图像的重叠比例1-r1/2为30%)时,模型预测精度最佳[4],因此设定重叠率为30%。
学习率是神经网络训练中重要的超参数,控制了权重更新的幅度,以及训练的速度和精度。学习率太大容易导致目标(代价)函数波动较大从而难以找到最优解,而学习率太小则会导致模型收敛慢、耗时长。经反复试验,发现当初始学习率设定为0.00001,并采取当3次迭代后验证集的损失值不再降低、学习率减少75%的调整策略时,获得的模型预测效果最佳。
为定量评估水体提取精度,采用总体精度(POA)、F1分数(PF1)作为模型精度评价指标。总体精度表示对每一个随机样本,所分类的结果与参考数据所对应区域的实际类型相一致的概率[4],计算公式为
(1)
式中:xi为图像中像元正确分类的个数;N为图像中像元总数。
F1分数是反映精确率(precision)与召回率(recall)的综合评价指标,反映模型对正负样本的识别和区分能力[5],计算公式为
PF1=(1+β2)PpPr/β2(Pp+Pr)
(2)
式中:Pp为精确率,表示正确预测为正例的样本像元数在正例像元真实总数中所占的比例;Pr为召回率,表示正确预测为正例的样本像元数在全部被预测为正例像元总数中所占的比例;β为权重,反映精确率和召回率对F1分数的重要程度,本文取β=1。
将5040幅256×256像素的Sentinel-2卫星影像及标签作为训练数据,1680幅256×256像素的Sentinel-2卫星影像及标签作为验证数据,输入经典U-Net和WEU-Net模型,取学习率为0.00001,批处理尺寸(batch size)为16,使用Adam优化算法进行后向传播迭代200次,逐层优化模型参数,经过多次迭代试验,得到最优参数结果,并输出1680幅256×256像素水体预测结果图用于评估模型预测精度。从WEU-Net模型在Sentinel-2卫星影像数据集迭代过程的精度变化曲线来看,准确率(图3(a))在前10次迭代整体呈快速增大趋势,经过60次迭代逐渐平稳,训练集和验证集准确率分别趋于0.990和0.975;损失值(图3(b))在前20次迭代整体呈明显下降趋势,经过50次迭代训练集损失值逐渐趋于平稳,最小值在0.025左右,验证集损失值在0.08左右平稳波动。而经典U-Net模型的训练集准确率与损失值变化趋势与WEU-Net模型相似,准确率曲线趋于平稳后甚至高于WEU-Net。但从验证集曲线来看,经过20次迭代后,损失值由下降迅速转为上升趋势,模型出现过拟合,说明引入批标准化层、随机失活层和残差块的WEU-Net模型可以有效防止过拟合,模型的鲁棒性和泛化能力明显增强。从模型训练效率和预测精度看(表2,图4),与经典U-Net模型相比,WEU-Net模型的训练时长缩短了49.30%,并且模型预测总体精度为98.19%、F1分数为0.9469,分别较经典U-Net模型提高了0.3577%和0.9488%,对于水草、农田等干扰区域的预测结果更好。此外,与几种常用的水体指数提取结果相比,WEU-Net模型的预测精度更高,对于鱼塘、水渠等细小水体的分割更完整。虽然卷积神经网络模型在初期模型训练阶段需要大量样本输入,耗时较长,但从模型的可迁移性和遥感图像智能解译的有效性、发展趋势来看,卷积神经网络模型较传统水体指数法更具有优势。
表2 不同水体提取方法精度对比
图3 经典U-Net模型与WEU-Net模型迭代过程准确率和损失值变化曲线
图4 不同水体提取方法提取结果
首先筛选适用于研究区的光学遥感水体指数。由于近红外波段对水体具有较强的吸收作用和敏感性,因此采用指数法识别水体时,适宜选择含有NIR、SWIR1、SWIR2波段的指数。
最大类间方差法(Otsu)[15]是一种无参数、无监督的阈值分割算法[16],在水库[17]、河流漫滩[18]、城市地表[19-20]等水体信息提取方面应用广泛。赵金龙等[21]研究发现,Otsu阈值分割算法在提取水体时,对无植被生长以及土壤湿度和盐分环境复杂区域的剔除效果较好,因此本文采用Otsu阈值分割算法对Sentinel-2水体指数进行二值化阈值分割,得到水体提取结果。表3对比了5种水体指数在Sentinel-2卫星影像上提取星海湖、沙湖、黄河石嘴山部分河段的总体精度。多数光学遥感水体指数易混淆的地物类型为工厂房屋、桥梁、沙地、农田、水陆边界、芦苇、河心岛、细小河道、池塘、盐碱地等。但NDWI和MNDWI对非水体离散像元的抑制性更强,对水体的识别总体精度较其他指数更高,总体精度最大值分别为91.00%和84.00%。因此,初步确定NDWI和MNDWI为适用于研究区的光学遥感水体指数。
表3 研究区典型水体提取结果总体精度
尽管合成孔径雷达卫星具有全天时、全天候观测优势,但由于C波段单极化合成孔径雷达数据的噪声特性,使Sentinel-1卫星在水体分类方面误差高于光学卫星[22-23]。许多研究表明,Sentinel-1和Sentinel-2卫星协同观测在洪涝区制图[24]、淹没河段长度估算[25]、河流流量监测[26]中发挥了重要作用。为充分利用合成孔径雷达卫星不受云雾影响的优势,弥补光学卫星观测能力的不足,获取汛期滞洪区高频次、高精度水体空间分布数据,本文将水体分类精度较高的Sentinel-2卫星影像与高时间分辨率Sentinel-1卫星影像融合,构建Sentinel-1水体指数。使用的Sentinel-1卫星后向散射指标,除原始的BVV、BVH外,还包括由BVV、BVH相加、相乘得到的4个衍生指标。图5为研究区不同后向散射指标样例图,可以看出,BVH(图5(a))、BVV(图5(b))、BVV+VH(图5(f))在水体区域呈深色调,非水体区域为浅色调,而BVH2(图5(c))、BVV2(图5(d))、BVV×VH(图5(e))与之相反。
图5 研究区不同后向散射指标样例
分别以Sentinel-2水体指数NDWI、MNDWI为因变量,以BVH、BVV、BVH2、BVV2、BVV×VH、BVV+VH后向散射指标为自变量,利用逐步回归法选取通过p<0.01显著性检验的因子建立Sentinel-1水体指数S1-NDWI(R2=0.4698)、S1-MNDWI(R2=0.6077)回归模型如下:
I1=(ρgreen-ρNIR)/(ρgreen+ρNIR)
(3)
I2=(ρgreen-ρSWIR)/(ρgreen+ρSWIR)
(4)
I3=-0.0727041+0.0154083BVH+0.0775993BVV+0.0038813BVV×VH
(5)
I4=-0.0822525-0.0516677BVH+0.0008788BVV2+0.0029097BVV×VH+0.0651039BVV+VH
(6)
式中:I1、I2分别为Sentinel-2水体指数NDWI、MNDWI;I3、I4分别为Sentinel-1水体指数S1-NDWI、S1-MNDWI;ρgreen、ρNIR、ρSWIR分别为Sentinel-2绿光波段(Band3)、近红外波段(Band8)和短波红外波段(Band11)的反射率。
通过对比,最终选取R2较大的S1-MNDWI作为融合特征构建Sentinel-1卫星水体提取数据集。此外,从研究区S1-MNDWI图像(图6(a))及其像素值频率分布直方图(图6(b))看,虽然研究区非水体像素占比较大,干扰因素较多,但经过指数计算后背景地物类型相对单一区域的水体轮廓得到明显增强,表明本文建立的水体指数S1-MNDWI不仅可用于卷积神经网络模型的特征融合,还为复杂天气条件下仅利用Sentinel-1卫星单极化数据和Otsu阈值分割算法开展滞洪区水体快速识别创造了有利条件。
图6 研究区S1-MNDWI图像及其像素值频率分布直方图
将5760幅256×256像素Sentinel-1卫星影像及标签作为训练数据,1920幅256×256像素Sentinel-1卫星影像及标签作为验证数据,输入WEU-Net模型,经后向传播迭代200次,得到模型准确率(图7(a))、损失值(图7(b))变化曲线,并输出1920幅256×256像素水体预测结果图用于评估模型预测精度。从整体趋势来看,融合S1-MNDWI前后模型精度变化趋势基本相似,在迭代初期均表现为准确率快速升高、损失值快速降低的变化趋势。但从稳定性来看,与BVV、BVH单波段后向散射数据集相比,融合S1-MNDWI后,虽然模型训练时长增加了1.91%(表4),但模型收敛速度更快,训练集和验证集的准确率、损失值分别在45次迭代和50次迭代后趋于稳定,预测总体精度和F1分数分别提高了0.51%和3.16%(表4),模型的鲁棒性、稳定性得到增强,对于水体边缘的识别效果更好(图8)。
表4 不同数据集模型训练时长与预测精度对比
图7 水体指数融合前后迭代过程准确率和损失值变化曲线
图8 不同数据集对应的水体提取结果
本文针对经典U-Net模型在贺兰山东麓滞洪区水体识别中适用性不足的问题,基于Sentinel-1和Sentinel-2卫星影像提出了一种适用于贺兰山东麓水体信息提取的模型——WEU-Net模型。通过减少编码器与解码器的跳跃连接及卷积核数量实现网络结构简化,同时在编码阶段引入残差块增强特征提取能力,避免因连接层和卷积核数量减少可能导致的模型泛化能力降低的风险。在此基础上,试验对比了提出的WEU-Net模型与经典U-Net模型在Sentinel-2卫星影像上的水体提取精度,同时针对Sentinel-1影像特征丰富度有限的问题,构建了水体指数S1-MNDWI,并作为融合特征提高了Sentinel-1卫星影像水体提取精度。与经典U-Net模型相比,WEU-Net模型的鲁棒性和泛化能力明显增强,可以有效防止过拟合,测试集总体精度和F1分数较经典U-Net模型分别提高了0.3577%和0.9488%,训练时长仅为原来的50.70%;融合S1-MNDWI后,WEU-Net模型测试集总体精度和F1分数较融合前分别提高了0.51%和3.16%。