1. 引言
大气河(Atmospheric River, AR)是位于对流层下层的一条狭长的水汽传输路径 [1] ,通常长度会有几千公里,而宽度却只有几百公里,形似一条长河而得名。它经常出现在低纬度至中纬度地区的海洋上方 [2] ,同时也会伴随着海洋性气旋、低空急流和锋面活动。一条大气河所携带的水量甚至可以超过地球上最大的河流——亚马逊河 [3] ,因此其在全球水汽分布的影响中起着非常关键的作用,故而经常作为地区降水的一个重要考量因素。由于大气河经常会引起极端降水,而造成洪涝灾害 [4] ,因此研究大气河的识别具有重要的意义。描述大气河的物理量通常有两种:1) 水汽输送(Integrated Water Vapor Transport, IVT),它能够显示大气河中水汽的运输情况;2) 水汽含量(Integrated Water Vapor, IWV),它能够显示大气河中的水汽总量。由于IVT拥有更好的方向性,能在全球范围内应用,同时也是产生强降雨和洪水的关键因素 [5] ,因而IVT是更加常用的物理量,包括本文的数据集也是基于IVT的。
随着人们对大气河的了解,越来越多的人开始关注并研究大气河的识别方法 [6] 。现有的大气河识别方法主要是基于IVT和IWV两个物理量来判定 [7] ,此外,还要根据大气河的形状,如长、宽,方向等来辅助判定。现有方法可以大致分成三个大类:1) 基于单个观测点或者模型网络单元的低层风和IWV值,无需考虑大气河的几何形状特征。这种方法适合研究小的、局部地区的大气河登录 [8] 。2) 先确定研究区域的预选面积,跟踪流经这个截面水汽的空间特征,再根据大气河的强度、长度、方向来实现对大气河的识别,由于需要预先选择特定的区域,因此这种方法适用于指定区域内大气河登陆的研究,而不适用对全球范围内的大气河识别 [9] 。3) 充分地考虑大气河的地理形态,包括给定区域内任何位置大气河的长宽特征,这类方法适用于大气河在大区域空间内的分布研究 [10] 。这些大气河识别算法都可以有效地识别出符合条件的大气河,但还是存在着一些不足:1) 泛化能力较差。不同的算法对大气河确定的阈值条件和几何标准也不尽相同,这会导致不同的算法对大气河的识别结果也不完全相同,使得算法的泛化能力不强。2) 大气河识别过程较为复杂。它们通常需要计算IVT/IWV的具体数值,然后将IVT/IWV阈值化,还要计算IVT的方向,甚至大气河持续的时间,满足这些条件之后,还要计算它们的几何特征是否符合要求等。
鉴于现存算法的局限性,我们想要简化大气河识别的过程,同时增强算法的泛化能力,因此将大气河识别看成一个语义分割的问题,创新性地提出了结合大气河特征的SAR-UNet网络模型,使用深度学习的方法来识别大气河。本文的主要贡献如下:1) 根据大气河的特性提出了一种新颖的基于深度学习的大气河识别方法;2) 简化了大气河识别的过程并增强了大气河识别算法的泛化能力。
本文的其他部分组织如下:第二节概括了相关工作;第三节描述了数据集的相关情况;第四节描述了使用的模型结构;第五节是实验部分;第六节对文章内容进行总结。
2. 相关工作
现存的大气河识别算法多种多样,它们有的是针对全球区域内的大气河,有的是针对特定的区域,但大部分都是通过计算一些物理量是否满足条件来判定的,其中对IVT/IWV值有相对量和绝对量之分。如Ralph等人 [11] 提出的算法要求是每小时的IWV值大于等于2 cm,并且至少持续12小时,每个IWV的通量大于等于20 cm m/s (相当于IVT值为250 kg/m/s),这是针对局部地区的方法。Wick等人 [12] 也提出了一种基于IWV的算法,不同的是,还需要考虑大气河的形状。该算法需要满足的三个基本条件是:1) IWV含量 > 20 mm;2) 长度 > 2000 km;3) 宽 < 3000 km。Rutz等人 [13] 在2014年提出了基于IVT的算法,他们对大气河的标准定义为长度 ≥ 2000 km,IVT ≥ 250 kg/m/s,不考虑大气河的曲率,同时也不依赖于持续时间。在2015年,Guan等人 [14] 提出了一种针对全球区域的基于IVT的大气河识别方法,这个算法的标准是IVT的强度要高于每个季节和网络单元计算机的85百分位IVT,约为166~254 kg/m/s,最小的限制为100 kg/m/s,同时平均IVT方向要在45˚以内,除此之外,大气河的长度要大于2000 km,长宽比大于2。
相比于地球上其他地区(如北美和欧洲),东亚地区的大气河研究还处于初步阶段,甚至还难以找到一个可适应东亚地区独特而又复杂的气候条件的大气河识别追踪算法。在2020年,Pan等人 [15] 研发了适用于东亚地区的大气河识别追踪算法,这个算法包括6个步骤:1) 基于高斯平滑算法和两步阈值法的潜在大气河区域提取;2) 平滑大气河轨迹的生成;3) 大气河多维度特征的归纳与计算;4) 非大气河引起的强水汽传输现象(如热带气旋)的识别与过滤;5) 不同天气系统所控制的大气河片段的分割和识别;6) 大气河全生命周期(life cycle)的识别与追踪。使用不同的阈值标准得到的大气河识别结果不同,从而给理解和量化大气河带来不确定性。对此,Ohanuba等人 [16] 提出了新的方法,他们将拓扑数据和机器学习结合起来,利用数据拓扑分析为大气河提供形状特征,并且作为大气河分类任务的特征描述符,联合查找算法跟踪IWV场中拓扑结构的变化,再把生成的特征描述符利用支持向量机分类器进行训练,最后使用极端气候事件分析的并行工具包(TECA)识别的结果作为真实值评估分类器的性能。这种方法为研究大气河的识别带来了新的思路,分类的精度最高也可以达到91%,但是分类器的性能容易受到训练数据质量的影响,我们需要高质量的真实数据 [17] 。
3. 数据集
本文的数据集来自欧洲中期天气预报中心(ECMWF)的ERA-Interim气候再分析数据的第一版,网格分辨率是1.5*1.5。它涵盖了1979年1月1日至2019年8月31日的数据,每日有四次数据,间隔时间为6小时,分别是00UTC、06UTC、12UTC和18UTC。我们根据原始ERA-Interim数据库中的整层积分水汽输送量值(IVT)生成了IVT的分布图,一共生成了59,412张图片,图片的大小为1024*1024,如图1所示。我们通过Guan、Wailser [18] 提出的大气河识别算法对图像进行标记,并邀请了研究大气河识别的专家对标记的结果进行核验。有了准确的标签,也可以使得我们训练出更好的模型。用这种方式,我们得到了59,412张尺寸为1024*1024的大气河标记图,如图2所示。
Figure 2. Marked atmospheric river image
图2. 标记的大气河图像
通过裁剪和resize函数将原始图片和标记图片的大小均缩放为256 × 256,通过缩放后的原始图片如图3所示,标记图片如图4所示。为了全面准确地评价模型的性能,同样将数据集划分了训练集、验证集和测试集三个部分。把2018年到2019年的2432张图片作为测试集,剩余的从1979年到2017年的56,980张图片按17:3随机划分为训练集和验证集。具体划分结果如表1所示。
4. 模型介绍
我们把大气河的识别看成是图像分割的问题,因此我们可以使用深度学习的方法来解决 [19] 。UNet [20]
是图像语义分割的一个经典模型,在各种应用场景都有着优秀的性能表现,比如生物医学界、工业界以及航空航天等领域。它是编码器解码器的完全对称结构,通过拼接的方式融合深层和浅层的信息,使用跳跃连接的架构,在每个阶段都允许解码器学习在编码器中丢失的相关特征,最后在上采样时采用转置卷积。UNet模型结构简单且分割效果良好,经常作为语义分割任务的baseline与其他模型对比 [21] 。
本文提出的SAR-UNet模型把UNet模型作为基本的框架,UNet是一个U型对称结构,左边的部分可以看成一个编码器,右边的部分对应解码器。UNet整体结构可如图5所示。
为了使得模型更好地提取大气河的特征,我们把UNet的编码器部分换成了更适用于提取大气河特征的网络结构。我们利用VGG16网络 [22] 来提取大气河的位置信息,并通过空间注意力机制 [23] 更好地提取到大气河的局部特征;防止网络模型过度的关注局部区域特征而忽略整体特征,使用残差网络结构 [24] 来提取深层的整体特征,然后再把局部特征和整体特征进行融合,得到5个不同尺寸的特征层,最后将这5个特征层进行上采样和跳跃连接。基于SAR-UNet的大气河识别方法的整体概况可如图6所示。
本文模型可以大致分为四部分:第一部分是提取局部特征,第二部分是提取整体特征,第三部分是特征融合,第四部分是上采样和跳跃连接。接下来我们分别对每个部分进行详细的介绍:
1) 提取局部特征
使用VGG16作为提取大气河区域位置的网络,这个网络主要使用卷积操作和最大池化,同时引入空间注意力机制对每个位置分配注意力权重,使得网络更加的关注目标区域 [25] ,从而更好地提取大气河的局部信息,把这个结构称为SA-VGG16,具体如图7所示。
Figure 7. Network structure of SA-VGG16
图7. SA-VGG16网络结构
给定一张待识别的大气河图片
(其中H、W和
分别为图片的高度、宽度以及通道数),使用两次卷积
来提取特征
:
其中,第一次特征提取的通道数为64。该卷积能够简单快速地将图片映射到一个更高的维度,从而方便添加空间注意力机制模块(Spatial Attention Module),经过一次注意力模块
过后,便得到了浅层特征
:
接着从浅层特征
中提取更高维的深层特征
:
其中,
包含四次升维过程,该过程由最大池化、卷积和空间注意力模块组成(其中第一次卷积层数为2,剩余三次卷积层数为3)。每次升维其特征通道数就会翻倍,最终通道数会变成512,而特征图大小会缩小为原来的一半,最终特征图大小会变成初始图片大小的1/32。
本文使用的空间注意力机制模块(Spatial Attention)的实现过程如图8所示。首先对输入进来的特征层,在每一个特征点的通道上取的最大值和平均值,分别得到Feature 1和Feature 2,再把这两个特征层进行堆叠。堆叠之后的结果利用一次通道数为1的卷积调整通道数,然后取一个sigmoid获得输入特征层每一个特征点的权值(在0到1之间),这些权值代表了网络模型对这块区域的关注程度,权值越大,关注度越高,因此在加入了空间注意力机制后,经常出现大气河的中高纬度地区会更多地被网络模型关注,从而提高识别大气河的精度。
2) 提取整体特征
使用残差网络提取大气河的深层整体特征,经过ResNet同样获得五个不同大小的特征层。残差网络是由一系列残差块组成的,残差块分成直接映射部分和残差部分,如图9所示。
残差结构的处理分成两个部分,左边的F(X)以及右边的X,最后的结果为两者相加。右边部分不会对X做任何处理,没有可学习的参数;左边部分F(X)是学习特征的部分,这个结构学习的其实是输出结果与输入的差值。完整的残差网络由多个残差快组成,使用残差网络除了可以提取到图像的深层整体特征,还可以在一定的程度上解决深层神经网络中由于网络层数太深而产生梯度消失的问题。
Figure 8. Spatial Attention module
图8. Spatial Attention模块
3) 特征融合
由于深层特征分辨率较低,图片比较模糊,可以得到目标区域大致的位置,往往容易忽略一些细节信息;而低层特征的分辨率较高,能体现更多的细节,具有更多的语义信息。因此,我们把整体特征和局部特征进行了一个融合,这样可以更好地利用不同特征的特性,融合特征之间的优点,从而可以达到提升模型性能的目的。通常特征融合的方式有concat和add这两种方式,concat的方式是系列特征融合,直接将两个特征进行连接。两个输入特征x和y的维数若为p和q,输出特征z的维数为p + q,也可以看作是通道数的增加。而add使用的是并行策略,将这两个特征向量组合成复向量,对于输入特征x和y,z = x + iy,其中i是虚数单位,即特征图相加,特征的信息量增多了,但是通道数不变。在这里使用的特征融合方式是add,这样可以更好地融合大气河的特征。
4) 上采样和跳跃连接
在这部分我们利用主干特征提取网络特征融合后得到的五个特征层进行上采样,并且concat的方式进行特征融合,最后得到一个最终的特征层。为了让网络更好地进行构建以及使它有更好的通用性,我们在上采样时直接进行两倍的上采样,再进行特征融合,使最终获得的特征层和输入图像的高宽相同。
5) 预测部分
我们利用最终获得的有效特征层再经过一个1*1的卷积对每一个特征点进行分类,也就是对图像进行像素级的分类,使用的激活函数是softmax。
5. 实验部分
5.1. 评价指标
在本文中,我们使用像素准确率(PA)、平均像素准确率(MPA)、平均交并比(MIOU)和频权交并比(FWIOU)作为我们的评价指标。假设有k + 1类(包括k个目标类和1个背景类),Pij表示本属于i类却预测为j类的像素点总数,称为假阳性(FP)。同样地,Pii表示真阳性(TP),Pji表示假阴性(FN),Pjj表示真阴性(TN)。
像素准确率(PA)表示分类正确的像素点数和所有像素点数的比例,可以表示为真阳性(TP)和真阴性(TN)之和除以真阳性(TP)、真阴性(TN)、假阳性(FP)和假阴性(FN)之和,即PA = (TP + TN)/(TP + TN + FP + TN),完整的公式如下:
平均像素准确率(MPA)是计算每一类分类正确的像素点数和该类的所有像素点数的比例,然后再求平均,具体如下:
平均交并比(MIOU)是语义分割中常用的评价指标,交并比(IOU)是真实值和预测值两个集合的交集和并集之比,它可以表示成真阳性(TP)和真阳性(TP)、假阳性(FP)和假阴性(FN)之和的比值,即IOU = TP/(TP + FP + FN)。平均交并比(MIOU)是对每一类求IOU后再求平均,具体计算公式如下所示:
频权交并比(FWIOU)是根据每一类出现的频率设置权重,权重乘以每一类的IOU并进行求和,计算公式如下所示:
5.2. 实验参数设置
为了更好地评价模型检测的结果,对比了PSPnet [26] 、SegNet [27] 、FCN [28] 和DeepLabv3+ [29] 三个模型。这些模型都在语义分割中有着重要的地位,也在不同的场景中展示出了较高的性能。PSPNet通过全局均值池化操作和特征融合实现引入更多的上下文信息,对不同区域的语境进行聚合,让模型拥有理解全局语境信息的能力。本文使用resnet50为PSPNet的主干网络进行实验。SegNet的主要结构和自编码器类似,通过编码解码复原图片上的每一个点所属的类别,也是对图片进行像素级的分割。SegNet在编码部分的最大池化操作时记录了最大值所在位置(索引),节省了内存空间,然后在解码时通过对应的索引实现非线性上采样,这样在上采样的时候就不需要学习。FCN是语义分割的开山之作,是非常经典的一个分割模型。它将CNN网络最后面的全连接层换成了卷积层,因此该网络的输入可以是任意尺寸。DeepLabv3+为了融合多尺度信息,DeepLabv3+引入了语义分割常用的编码–解码结构,在这个结构中引入可任意控制编码器提取特征的分辨率,通过空洞卷积平衡精度和耗时。和之前的语义分割模型相比,其最大的特点就是引入了空洞卷积 [30] ,在不损失信息的情况下,加大了感受野,让每个卷积输出都包含较大范围的信息。
我们为这些模型设置了相同的参数,并且都使用了预训练的权重,具体如下:batch size设置为8、优化器使用的是Adam,损失函数则由Cross Entropy Loss和Dice Loss组成,其中Cross Entropy Loss在Softmax对像素点进行分类时使用。Dice Loss定义为1-Dice,其中Dice系数是一种集合相似度的函数,用于计算两个集合之间的相似度,取值范围是0到1之间。假设有X和Y两个集合,Dice系数和Dice Loss的计算公式如下:
迁移学习就是把已经训练好的模型(预训练模型)参数迁移到新的模型来帮助新模型的训练 [31] 。因为神经网络主干特征提取部分所提取到的特征是通用的,所以我们可以将在良好数据集上已经学到的模型参数通过某种方法分享给新模型,从而加快模型训练的速度以及优化模型 [32] 。实现迁移学习有三种方式,分别是Transfer Learning、Extract Feature Vector和Fine-tuning [33] ,在本文的实验中我们都通过Fine-tuning来实现迁移学习,并且我们的预训练权重都是在Pascal VOC数据集上训练得到的。
当冻结靠近输入这部分的卷积层时,学习率设置为1e−4,epoch为30,解冻之后,学习率设置为1e−5,epoch为20,总共训练50个epoch。
5.3. 实验结果
表2展示了这几种模型的定量对比结果,可以看出,UNet模型在我们的数据集上表现的最好,MIoU值达到83.00%,在各项评价指标上都要优于其他几个模型。
Table 2. Quantitative comparison results of basic models
表2. 基础模型定量对比结果
为了更直观地展示实验对比结果,我们还把分割的结果可视化出来和真实值作对比,如图10所示。图10(f)是UNet模型识别大气河的结果,识别效果非常不错,几乎检测出了所有的大气河,形状也最接近真实值,在测试集的平均准确率也高达92.43%,MIoU值则达到83.00%。图10(b)、图10(c)分别是PSPNet和SegNet的检测结果,它们在测试集的各项指标相较UNet都有所下降,尤其是PSPNet的平均准确率下降了将近10个百分点,MIoU值只有70.90%。这两个模型的分割结果相比其他模型都要粗糙一些,没有其他模型分割结果那么光滑。图10(d)和图10(e)则是FCN和DeepLabv3+得到的实验结果,它们的各项指标也都比较高,但相比UNet的各项指标还是下降了几个百分点,这可能是因为它对大气河特征的提取能力不如UNet。
Figure 10. Visual comparison results of basic models
图10. 基础模型可视化对比结果
通过这些模型的实验对比结果,最终选择了UNet作为基本网络结构。为了更好地结合大气河的特性,我们加入了一些特定结构后得到了SAR-UNet,同时使用相同的实验参数也做了一个对比实验。同样地,我们给出了定量的对比结果,如下表3所示。从我们的结果可以看出,SAR-UNet的MIoU值提高了2个百分点,达到了85.22%,同时其他评价指标也有所提升。
Table 3. Quantitative comparison results
表3. 定量对比结果
为了更加直观地展示他们之间的差异,随机选择了三个时刻的大气河图像来进行更细致的对比,图11是我们给出的可视化对比结果。我们可以清楚地看到,SAR-UNet对大气河的细节处理得更好,相比UNet的识别结果,SAR-UNet少了一些冗余信息。这说明,SAR-UNet在能正确识别大气河的同时,比UNet更加地注重大气河的局部信息,因此达到了更精确的识别效果。
5.4. 未来工作
根据我们的数据集和我们在测试集上的检测结果,我们发现,大气河具有时间连续性,大气河的发生、发展和消亡具有一定的周期性。同一天的大气河,它的位置都差不多,只有较小程度的演变,如图12展示了2018年1月1日的大气河的变化。因此,我们想在未来加入时间序列的模块,希望可以通过引入时间序列进一步提高大气河检测的精度。
Figure 11. Comparison of UNet and SAR-UNet visualization results
图11. UNet和SAR-UNet可视化对比结果
Figure 12. Atmospheric river on January 1, 2018
图12. 2018年1月1日的大气河
6. 总结
本文提出了一种新的深度学习的方法对大气河进行识别,我们利用语义分割中的UNet模型作为基础网络,提出了SAR-UNet模型,从而对大气河进行像素级的识别。我们通过用几个比较经典的语义分割模型和我们的模型进行对比,验证了我们的模型更适合用来识别大气河,我们为大气河的识别提供了一个全新的思路。在未来,我们会考虑针对大气河的周期性加入一些时间序列结构,从而实现对大气河更精细的分割。
基金项目
四川省科技计划项目(编号:2023YFQ0072, 22QYCX0082)。