基于Himawari-8卫星数据利用深度学习进行对流短临预报(附代码)

2022-09-23 15:17:45 浏览数 (2)

近期Ryan Lagerquist等发表在《Monthly Weather Review》上的一篇文章,主要是基于Himawari-8卫星多个红外通道亮温观测以及雷达观测数据利用U-net及其变体模型(U-net ,Temporal U-net)并结合FSS评分指标作为损失函数进行对流覆盖区域的临近预报,并分析了卫星红外通道亮温观测的重要性

近几年利用天气雷达、静止卫星等观测数据结合深度学习进行对流/降水/闪电临近预报的研究比较多。提及此论文主要是考虑到以下因素:

  • 训练数据集的预处理
  • FSS指标作为损失函数
  • 滑动窗口推断方法

下面从数据,方法以及主要结论三个方面介绍一下此论文。

数据

本文利用的数据包括了Himawari-8静止卫星观测,台湾省气象局提供的雷达观测。这里数据集使用的2016-2018年逐10分钟的观测,数据集划分如下:

数据预处理

对于卫星资料,波段8中存在线性伪像(linear artifacts),利用了质控算法移除伪像。对于雷达资料,不同于以往的一些基于雷达观测的对流临近预报,本文的标签是基于3D雷暴标注算法的回波分类算法所生成的对流/非对流区mask数据。这也是为什么标题里给的是“the spatial coverage of convection”,这里强调的是对流区,而不是单纯的雷达回波。

这里需要注意的一点是,由于回波分类算法在筛选对流区时,设置的阈值较大,从而忽略了一些面积较小的对流区,这在对流初生和消散阶段的识别具有较大影响。这一点论文当中也提及了。

方法

本文所采用的模型主要是U-net及其变体模型(U-net 和Temporal U-net)。

关于U-net和U-net 这模型就不多做介绍了,网上相关内容很多。这里提到的Temporal U-net模型是Chiu等提出用来进行语义分割预测的模型。

Temporal U-net模型结构

相比于U-net和U-net ,Temporal U-net是单独提取每个时刻的特征,最后再将这些特征堆叠到一起通过一个时空卷积模块(3D卷积)进一步提取特征并进行预测,这样做主要是想考虑时间变化信息

模型训练

由于显存限制,文章当中将图像进行切片,构成了以雷达为中心的小图像,然后来训练模型。

这样做虽然可以解决显存限制的问题,一定程度上也能增加样本量,但是同样会带来其他问题。比如如果切片较小,一个对流会被分割为多个切片,可能导致预测结果不连续,并且无法考虑到周围环境的影响。

损失函数

这里重点提一下FSS损失函数。了解评估指标的可能知道FSS损失函数,主要是从空间尺度上评估预测和观测的相似程度。FSS的值在0-1,越大表示结果越好,对异常事件比较敏感。

计算FSS示意图

这里深灰色格点表示的是有降水,浅灰色表示没有降水。预测效果看起来很好,但是位置上向左偏移了一个格点。如果按照逐像素评估,就会出现因为网格偏移导致的双重惩罚。但是如果以5x5的窗口大小计算中心P的值,那么结果就是一样的。这就赋予了模型损失函数所谓的空间意识,即允许出现一定的位置偏移。FSS作为损失函数并不会过度惩罚微小的位置偏移

滑动窗口推断

本文之所以采用滑动窗口推断方法是因为在构建数据集时,考虑到显存不够,便对数据集进行了切片处理。而在推断时是预测整个台湾省的对流覆盖。这个问题可能在业务上比较重要。

滑动窗口方法

所谓滑动窗口推断理解起来比较简单,就是固定一个窗口大小,每次推断完成后,移动多少个网格到下一个窗口,可以理解为卷积运算的过程。对于重叠的区域则是直接求平均。但是这样直接计算平均,在概率图上有时会出现梯度特别大的地方,然后通过高斯平滑移除这些大梯度值

尽管本文通过滑动窗口推断方法解决了大区域预测的问题,但这里我们仍需要注意两个问题:

1)小尺寸图片训练的模型能否直接应用到大尺寸图片进行推断?答案当然是不能。这和深度学习领域低分辨率图像模型无法直接应用到高分辨率模型是一样的。尺寸的差异导致模型学习到的信息差异较大,直接应用结果可能会很差。

2)在气象领域,小区域和大区域(小尺度和大尺度)之间是相互影响的。仅在小区域上训练模型,然后通过类似滑动窗口推断的方法进行大区域的预测,这会导致忽略大尺度和小尺度的之间的相互作用,尤其是大尺度对小尺度的影响。这就延伸到了多尺度预测问题。我最近也在思考这个问题,欢迎感兴趣的小伙伴一起讨论交流~

结论

以下简要罗列一下本文的主要结论,更详细的分析结果可以去看论文:

1)U-net模型的结果最好,也就是说考虑了时间变化的Temporal U-net似乎并没有效果;这三个模型中,反而是最简单的模型实现了最好的效果

2)每个预报时间的最佳模型使用了至少2个时刻的预测因子,说明了时间序列信息是非常重要的

3)通过排列测试表明,相比于对流层上层的卫星观测而言,对流层下层的预测因子更重要

4)60min以内,U-net结果不及 persistence,尤其是在30min,而在60min之后,U-net优于 persistence。

文中提到了利用FSS作为损失函数赋予模型空间意识,惩罚模型预测结果出现的位置偏差。但是文中并没有对比FSS作为损失函数和其他损失函数(MSE等)有什么区别,是否能提高模型的预测准确率呢

另外一点,是文章当中提到的,在去除台湾省最北部的雷达数据之前,在验证集上U-net的效果是最差的,表明越复杂的结构(U-net 和Temporal U-net)拟合系统性误差的能力越强。这从侧面说明,数据集的质量对于模型的影响是非常大的

感兴趣的可以点击 阅读原文 下载论文详细阅读。后台回复「ml4convection」获取论文源代码。

0 人点赞