一种基于Transformer的城市降雨预测方法转让专利

申请号 : CN202310740598.7

文献号 : CN116824372B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 俞茜李娜王艳艳王静王杉韩松张念强丁志雄王明阳

申请人 : 中国水利水电科学研究院

摘要 :

本发明公开了一种基于Transformer的城市降雨预测方法,所述方法包括以下步骤:步骤1、获取目标区域降雨数据;步骤2、构建基于Transformer的降雨预测模型并训练;步骤3、利用训练完成的降雨预测模型对目标区域进行降雨预测。本发明所述方法克服了现有技术在城市降雨预测方面的不足,实现了对城市降雨的快速、准确预测。本发明利用人工智能方法进行大量数据学习,相对于雷达预测方式来说,本发明所述方法的空间分辨率高,能够预测实时降雨数据,准确度高,可扩展性强,为城市洪水预警系统提供数据支撑。

权利要求 :

1.一种基于Transformer的城市降雨预测方法,其特征在于,所述方法包括以下步骤:步骤1、获取目标区域降雨数据:获取目标区域的真实降雨数据与合成降雨数据,所述真实降雨数据包括拍摄获取的真实降雨图像与雨量站获取的相应雨强值,所述合成降雨数据包括由网络搜集的原始图像与算法模拟不同雨强的降雨掩膜合成得到的合成降雨图像、相应的降雨掩膜以及雨强值;

所述的网络搜集的原始图像是通过搜索引擎、电子地图以及社交APP途径搜集获取,且网络搜集的原始图像不含有降雨;

所述的合成降雨图像的具体合成过程为:

1)输入一张网络搜集的原始图像,分别进行光照信息估计与姿态信息估计;

2)采用粒子系统,输入设定的不同的雨强值,得到相应的雨滴的模拟效果图像,即降雨掩膜,所述输入的雨强值根据目标区域的历史降雨数据设定;

3)根据输入的原始图像的光照信息,对雨滴进行渲染得到雨水图像;

4)根据输入的原始图像的姿态信息,融合得到最终的合成降雨图像;

步骤2、构建基于Transformer的降雨预测模型并训练:构建基于Transformer的降雨预测模型,所述模型的输入为降雨图像,输出分别为降雨掩膜与雨强值;

所述的降雨预测模型包括编码器和解码器两部分,所述编码器由多个Transformer模块组成,所述解码器包括融合模块、卷积层、池化层以及第二MLP层;

所述Transformer模块用于对输入的降雨图像进行处理得到输入图像的多尺度特征图;所述融合模块用于融合多尺度特征图,所述融合模块包括第一MLP层、上采样层以及特征拼接运算块,所述第一MLP层用于统一多尺度特征图的特征维数,所述上采样层用于统一多尺度特征图的空间尺寸,所述特征拼接运算块用于对统一特征维数及空间尺寸后的多尺度特征图在特征维度进行拼接得到融合特征图;所述卷积层用于对融合特征图进行卷积操作;所述池化层用于对融合特征图进行平均池化操作;所述第二MLP层用于对池化后的特征向量进行降维操作;

将获取的真实降雨数据划分为训练集数据与测试集数据,将合成降雨数据全部作为训练集数据,利用训练集数据对模型进行训练,利用测试集数据对模型进行验证,训练过程中调整模型参数反复训练,直至模型收敛且通过验证,完成训练;

步骤3、利用训练完成的降雨预测模型对目标区域进行降雨预测;采集目标区域当前真实降雨图像,将采集的真实降雨图像输入训练完成的降雨预测模型,得到相应的雨强值,实现对目标区域的降雨预测。

2.根据权利要求1所述的一种基于Transformer的城市降雨预测方法,其特征在于,步骤1中所述的真实降雨图像由手机、监控设备拍摄获取。

3.根据权利要求1所述的一种基于Transformer的城市降雨预测方法,其特征在于,步骤2中所述的对模型的训练过程为:

1)输入一张降雨图像,经由编码器的多个Transformer模块处理得到多个不同尺度的特征图;

2)设置模型参数,包括特征数、块嵌入层参数、多头自注意力层参数,所述块嵌入层参数包括卷积核大小、步长、填充;所述多头自注意力层参数包括自注意力头数,自注意力特征维度;

其中,自注意力特征维度(dhead)=特征数/自注意力头数(H),即特征数能够被自注意力头数整除;

通过设置不同的模型参数输出不同空间尺寸的特征图;

3)多个不同尺度的特征图经过解码器的融合模块的第一MLP层和上采样层处理后得到大小统一的特征图,并在特征维度进行拼接,进而得到融合特征图;

4)将得到的融合特征图执行掩膜预测分支任务:进行卷积操作,然后采用归一化指数函数,得到预测掩膜,通过掩膜损失函数评估预测掩膜与掩膜真值之间的误差,所述掩膜损失函数为交叉熵函数;

具体的,掩膜损失函数的计算公式为:

式中,MGT[i]为输入的雨水图像对应的掩膜图像在像素i的值且MGT[i]∈[0,1],MPred[i]为预测的掩膜图像在像素i处的值且MPred[i]∈[0,1],N为掩膜图像的像素数目;

5)将得到的融合特征图执行雨强预测分支任务:通过平均池化操作进行空间降维,再经过第二MLP层对池化后的特征向量进行降维操作,得到预测雨强,通过雨强损失函数评估预测雨强与雨强真值之间的误差,所述雨强损失函数为L2范数;

具体的,雨强损失函数的计算公式为:

2

雨强损失=(IGT‑IPred)

式中,IGT为输入的雨水图像对应的真实雨强值,IPred为预测的雨强值;

6)计算整体损失函数,由掩膜损失与雨强损失组成整体损失函数为:整体损失=掩码损失+λ*雨强损失

式中,λ为雨强损失的权重;

通过不断优化模型参数来降低整体损失,直至整体损失函数收敛至小于设定阈值,完成训练。

4.根据权利要求3所述的一种基于Transformer的城市降雨预测方法,其特征在于,所述Transformer模块的具体执行过程为:

1)以卷积的方式执行块嵌入层;

2)执行层归一化、多头自注意力层,并以残差形式进行加和运算;

3)执行层归一化、前馈神经网络层,并以残差形式进行加和运算。

说明书 :

一种基于Transformer的城市降雨预测方法

技术领域

[0001] 本发明属于降雨预测技术领域,尤其涉及一种基于Transformer的城市降雨预测方法。

背景技术

[0002] 研建城市实时动态洪水风险分析或内涝预警系统对防汛预警和应急调度决策工作有非常重要的作用,但是受限于缺乏高时空分辨率的城市降雨数据等原因,导致此项工作还未能在全国各主要城市全面铺开和应用。城市降雨的时空分布特征会显著影响城市洪水的分布特征,例如不同区域的淹没水深、范围等,一般情况下,可以通过降雨设备监测或者模型模拟等方式来获取降雨数据。降雨监测一般包括地面雨量站、天气雷达和卫星遥感等,其中地面雨量站能够准确地监测降雨数据,但由于城市站点数量有限,因此降雨数据的空间分辨率较低;天气雷达可以利用电磁波的散射效应对降雨强度进行高时间分辨率的预测,但降雨垂直分布不均匀、电磁波异常传播、高层建筑等因素会影响天气雷达的进场方式,导致无法保证数据精度。此外,由于许多国家的地面雷达站数量很少,因此这种方法所能提供的空间范围有限。相比之下,卫星遥感监测可以提供大空间覆盖的降雨预测,但在城市尺度上的时空分辨率往往较低。
[0003] 目前国内外研建了不少天气预报系统,例如美国的中尺度数值天气预报模式WRF、全球气候模型GCM、中国的全球预报系统GRAPES等,但是这些系统通常无法提供城市尺度的高时空分辨率的精确降雨估计。因此,亟需一种城市降雨预测方法,能够对实时监测数据进行有效利用和挖掘,实现对城市降雨的快速及准确预测。

发明内容

[0004] 本发明的目的在于提供一种基于Transformer的城市降雨预测方法,以解决上述技术问题。
[0005] 为实现上述目的,本发明提供如下技术方案:
[0006] 本发明提供了一种基于Transformer的城市降雨预测方法,所述方法包括以下步骤:
[0007] 步骤1、获取目标区域降雨数据:获取目标区域的真实降雨数据与合成降雨数据,所述真实降雨数据包括拍摄获取的真实降雨图像与雨量站获取的相应雨强值,所述合成降雨数据包括由网络搜集的原始图像与算法模拟不同雨强的降雨掩膜合成得到的合成降雨图像、相应的降雨掩膜以及雨强值;
[0008] 步骤2、构建基于Transformer的降雨预测模型并训练:构建基于Transformer的降雨预测模型,所述模型的输入为降雨图像,输出分别为降雨掩膜与雨强值;
[0009] 将获取的真实降雨数据划分为训练集数据与测试集数据,将合成降雨数据全部作为训练集数据,利用训练集数据对模型进行训练,利用测试集数据对模型进行验证,训练过程中调整模型参数反复训练,直至模型收敛且通过验证,完成训练;
[0010] 步骤3、利用训练完成的降雨预测模型对目标区域进行降雨预测;采集目标区域当前真实降雨图像,将采集的真实降雨图像输入训练完成的降雨预测模型,得到相应的雨强值,实现对目标区域的降雨预测。
[0011] 进一步的是,步骤1中所述的真实降雨图像由手机、监控设备拍摄获取。
[0012] 进一步的是,步骤1中所述的网络搜集的原始图像是通过搜索引擎、电子地图以及社交APP途径搜集获取,且网络搜集的原始图像不含有降雨。
[0013] 进一步的是,步骤1中所述的合成降雨图像的具体合成过程为:
[0014] 1)输入一张网络搜集的原始图像,分别进行光照信息估计与姿态信息估计;
[0015] 2)采用粒子系统,输入设定的不同的雨强值,得到相应的雨滴的模拟效果图像,即降雨掩膜,所述输入的雨强值根据目标区域的历史降雨数据设定;
[0016] 3)根据输入的原始图像的光照信息,对雨滴进行渲染得到雨水图像;
[0017] 4)根据输入的原始图像的姿态信息,融合得到最终的合成降雨图像。
[0018] 进一步的是,步骤2中所述的降雨预测模型包括编码器和解码器两部分,所述编码器由多个Transformer模块组成,所述解码器包括融合模块、卷积层、池化层以及第二MLP层;
[0019] 所述Transformer模块用于对输入的降雨图像进行处理得到输入图像的多尺度特征图;所述融合模块用于融合多尺度特征图,所述融合模块包括第一MLP层、上采样层以及特征拼接运算块,所述第一MLP层用于统一多尺度特征图的特征维数,所述上采样层用于统一多尺度特征图的空间尺寸,所述特征拼接运算块用于对统一特征维数及空间尺寸后的多尺度特征图在特征维度进行拼接得到融合特征图;所述卷积层用于对融合特征图进行卷积操作;所述池化层用于对融合特征图进行平均池化操作;所述第二MLP层用于对池化后的特征向量进行降维操作。
[0020] 进一步的是,步骤2中所述的对模型的训练过程为:
[0021] 1)输入一张降雨图像,经由编码器的多个Transformer模块处理得到多个不同尺度的特征图;
[0022] 2)设置模型参数,包括特征数、块嵌入层参数、多头自注意力层参数,所述块嵌入层参数包括卷积核大小、步长、填充;所述多头自注意力层参数包括自注意力头数,自注意力特征维度;
[0023] 其中,自注意力特征维度(dhead)=特征数/自注意力头数(H),即特征数能够被自注意力头数整除;
[0024] 通过设置不同的模型参数输出不同空间尺寸的特征图;
[0025] 3)多个不同尺度的特征图经过解码器的融合模块的第一MLP层和上采样层处理后得到大小统一的特征图,并在特征维度进行拼接,进而得到融合特征图;
[0026] 4)将得到的融合特征图执行掩膜预测分支任务:进行卷积操作,然后采用归一化指数函数,得到预测掩膜,通过掩膜损失函数评估预测掩膜与掩膜真值之间的误差,所述掩膜损失函数为交叉熵函数;
[0027] 具体的,掩膜损失函数的计算公式为:
[0028]
[0029] 式中,MGT[i]为输入的雨水图像对应的掩膜图像在像素i的值且MGT[i]∈[0,1],MPred[i]为预测的掩膜图像在像素i处的值且MPred[i]∈[0,1],N为掩膜图像的像素数目;
[0030] 5)将得到的融合特征图执行雨强预测分支任务:通过平均池化操作进行空间降维,再经过第二MLP层对池化后的特征向量进行降维操作,得到预测雨强,通过雨强损失函数评估预测雨强与雨强真值之间的误差,所述雨强损失函数为L2范数;
[0031] 具体的,雨强损失函数的计算公式为:
[0032] 雨强损失=(IGT–IPred)2
[0033] 式中,IGT为输入的雨水图像对应的真实雨强值,IPred为预测的雨强值;
[0034] 6)计算整体损失函数,由掩膜损失与雨强损失组成整体损失函数为:
[0035] 整体损失=掩码损失+λ*雨强损失
[0036] 式中,λ为雨强损失的权重;
[0037] 通过不断优化模型参数来降低整体损失,直至整体损失函数收敛至小于设定阈值,完成训练。
[0038] 进一步的是,所述Transformer模块的具体执行过程为:
[0039] 1)以卷积的方式执行块嵌入层;
[0040] 2)执行层归一化、多头自注意力层,并以残差形式进行加和运算;
[0041] 3)执行层归一化、前馈神经网络层,并以残差形式进行加和运算。
[0042] 本发明的有益效果是:本发明所述方法克服了现有技术在城市降雨预测方面的不足,实现了对城市降雨的快速、准确预测。
[0043] 具体来说,本发明的优点在于:
[0044] (1)空间分辨率高:在城市地区,雷达站密度普遍较低,在空间覆盖方面存在限制,因此使用雷达数据准确预测降雨强度的空间范围受限,难以捕捉整个城市地区的降雨情况。本发明利用人工智能方法进行大量数据学习,可以提高降雨数据的空间分辨率。
[0045] (2)降雨预测实时性:通过直接采集降雨图像分析降雨雨强,可以预测实时降雨数据。这对于城市洪水预警系统是非常重要的,因为及时准确的降雨预测可以提前采取必要的措施来减轻洪水风险。
[0046] (3)预测准确度高:基于天气雷达回波图的雨量预测,极易受到电磁波传播异常、地面杂波干扰,高层建筑遮挡等因素影响,导致预测的准确度下降。本发明所述方法通过移动设备等终端直接采集降雨图像进行雨强预测,准确度高。
[0047] (4)可扩展性强:使用道路监控设备和移动手机采集数据的方式具有很大的可扩展性。随着技术的不断进步和城市设施的增加,可以随时添加更多的数据采集点,从而进一步提高降雨预测的准确性和覆盖范围。
[0048] 下面结合附图及实施例对本发明作进一步详细说明。

附图说明

[0049] 图1为本实施例所述方法流程图;
[0050] 图2为合成降雨图像的合成过程示意图;
[0051] 图3为网络搜集的原始图像;
[0052] 图4为生成的降雨掩膜;
[0053] 图5为最终得到的合成降雨图像;
[0054] 图6为降雨预测模型的结构原理图;
[0055] 图7为Transformer的执行过程示意图。

具体实施方式

[0056] 实施例一
[0057] 本实施例公开一种基于Transformer的城市降雨预测方法,如图1所示,所述方法包括以下步骤:
[0058] 步骤1、获取目标区域降雨数据:获取目标区域的真实降雨数据与合成降雨数据,真实降雨数据包括真实降雨图像与相应雨强值,真实降雨图像由手机、监控设备等拍摄获取,相应雨强值则由目标区域所在位置的雨量站获取。真实降雨数据通常有限,而Transformer需要大量的数据进行训练,因此需要合成降雨数据。
[0059] 合成降雨数据包括由网络搜集的原始图像与算法模拟不同雨强的降雨掩膜合成得到的合成降雨图像、相应的降雨掩膜以及雨强值。
[0060] 原始图像的搜集方式可以通过以下几种方式:
[0061] 1)搜索引擎:以目标区域(如需要预测降雨的具体城市或者河流)为关键字搜索得到;
[0062] 2)电子地图:利用电子地图app提供的街景等类似功能进行搜索;
[0063] 3)社交app:通过社交app提供的api接口等搜集图像数据。
[0064] 对于网络搜集的原始图像通常不含有降雨,在合成降雨图像的合成过程中也只采用不含有降雨的原始图像。具体的,如图2所示,合成降雨图像的合成过程为:
[0065] 1)输入一张网络搜集的原始图像,如图3所示,分别进行光照信息估计与姿态信息估计(即估计相对水平面的俯仰角)。
[0066] 2)采用公开的粒子系统,输入设定的不同的雨强值,得到相应的雨滴的模拟效果图像,即降雨掩膜,输入的雨强值根据目标区域的历史降雨数据来设定,以符合真实效果,图4所示的降雨掩膜是根据设定的雨强值20mm/h生成的。
[0067] 3)根据输入的原始图像的光照信息,对雨滴进行渲染得到雨水图像;
[0068] 4)根据输入的原始图像的姿态信息,融合得到最终的合成降雨图像,如图5所示。
[0069] 步骤2、构建基于Transformer的降雨预测模型并训练:构建基于Transformer的降雨预测模型,所述模型的输入为降雨图像,输出分别为降雨掩膜与雨强值。
[0070] 将获取的真实降雨数据划分为训练集数据与测试集数据,将合成降雨数据全部作为训练集数据,利用训练集数据对模型进行训练,利用测试集数据对模型进行验证,训练过程中调整模型参数反复训练,直至模型收敛且通过验证,完成训练。
[0071] 其中,降雨预测模型包括编码器和解码器两部分,编码器由多个Transformer模块组成,解码器包括融合模块、卷积层、池化层以及第二MLP层。Transformer模块用于对输入的降雨图像进行处理得到输入图像的多尺度特征图;融合模块用于融合多尺度特征图,融合模块包括第一MLP层、上采样层以及特征拼接运算块,第一MLP层用于统一多尺度特征图的特征维数,上采样层用于统一多尺度特征图的空间尺寸,特征拼接运算块用于对统一特征维数及空间尺寸后的多尺度特征图在特征维度进行拼接得到融合特征图;卷积层用于对融合特征图进行卷积操作;池化层用于对融合特征图进行平均池化操作;第二MLP层用于对池化后的特征向量进行降维操作。本实施例的降雨预测模型中,编码器模块由四个Transformer模块组成,模型结构原理图如图6所示。
[0072] 具体的,本实施例对模型的训练过程为:
[0073] 1)输入一张降雨图像,经由编码器的四个Transformer模块处理得到四个不同尺度的特征图;如图7所示,Transformer模块的具体执行过程为:
[0074] (1)以卷积的方式执行块嵌入层;
[0075] (2)执行层归一化、多头自注意力层,并以残差形式进行加和运算;
[0076] (3)执行层归一化、前馈神经网络层,并以残差形式进行加和运算。
[0077] 具体的,层归一化(layer normalization)的运算方式为:
[0078] 其中 为输入向量,维度为d,u跟α分别表示向量v的元素的平均值与标准差,即 γ跟β分别
表示可学习的缩放参数与偏移向量,
[0079] 多头自注意力层(multi‑head attention layer)的运算方式为:
[0080] Multi‑head(x)=Concatenate(head1,…,headH)WO
[0081]
[0082] 其中,x为输入特征 headi为第i个自注意力头的输出特征,Concatenate为将H个注意力头的特征维度进行拼接操作;dhead为自注
Q
意力头特征的维度且满足 为可学习的投影矩阵;Qi=xWi ,Ki=
K V Q K V
xWi,Vi=xWi,Wi 、Wi、Wi 为第i个自注意力头可学习的参数矩阵;softmax为归一化指数函数。
[0083] 需要说明的是,为了适用于处理不同大小的输入图像,并未使用位置编码,因此在前馈神经网络层通过卷积间接引入位置信息。具体的,前馈层的具体运算为FFN(x)=MLP(GELU(Conv3x3(MLP(x)))),其中GELU为高斯误差线性单元激活函数。
[0084] 2)设置模型参数,包括特征数、块嵌入层参数、多头自注意力层参数,所述块嵌入层参数包括卷积核大小、步长、填充;所述多头自注意力层参数包括自注意力头数,自注意力特征维度。
[0085] 其中,自注意力特征维度(dhead)=特征数/自注意力头数(H),即特征数能够被自注意力头数整除。
[0086] 通过设置不同的模型参数输出不同空间尺寸的特征图。
[0087] Transformer模块并不能降低特征的空间分辨率,因此为了得到多尺度特征图,需要通过卷积操作进行空间降维,其中第一个Transformer模块使用的是大小为7,步长为4的卷积核,其余Transformer模块均使用大小为3,步长为2的卷积核,从而得到尺度为{1/4,1/8,1/16,1/32}的多尺度特征图,即对于输入大小为(H,W,3)的降雨图像,经由编码器的四个Transformer模块处理得到的四个特征图大小分别为(H/4,W/4,C1)、(H/8,W/8,C2)、(H/16,W/16,C3)、(H/32,W/32,C4),如表1所示。另外,其通道数C1,C2,C3,C4分别为32,64,128,256;
融合特征的通道数C为256。
[0088] 表1
[0089]
[0090] 3)四个不同尺度的特征图经过解码器的融合模块的第一MLP层和上采样层处理后得到大小统一(H/4,W/4,256)的特征图,并在特征维度进行拼接,进而得到大小为(H/4,W/4,4*256)的融合特征图;
[0091] 4)将得到的融合特征图执行第一个分支任务即掩膜预测:进行卷积操作,然后采用归一化指数函数,得到预测掩膜,通过掩膜损失函数评估预测掩膜与掩膜真值(即已知的降雨掩膜)之间的误差,所述掩膜损失函数为交叉熵函数。
[0092] 具体的,掩膜损失函数的计算公式为:
[0093]
[0094] 式中,MGT[i]为输入的雨水图像对应的掩膜图像在像素i的值且MGT[i]∈[0,1],MPred[i]为预测的掩膜图像在像素i处的值且MPred[i]∈[0,1],N为掩膜图像的像素数目。
[0095] 5)将得到的融合特征图执行第二个分支任务即雨强预测:通过平均池化操作进行空间降维,得到(1,1,1024)的特征向量,再经过第二MLP层进行特征向量降维得到预测雨强,通过雨强损失函数评估预测雨强与雨强真值(即已知的雨强值)之间的误差,所述雨强损失函数为L2范数。
[0096] 具体的,雨强损失函数的计算公式为:
[0097] 雨强损失=(IGT–IPred)2
[0098] 式中,IGT为输入的雨水图像对应的真实雨强值,IPred为预测的雨强值。
[0099] 6)计算整体损失函数,由掩膜损失与雨强损失组成整体损失函数为:
[0100] 整体损失=掩码损失+λ*雨强损失
[0101] 式中,λ为雨强损失的权重;
[0102] 通过不断优化模型参数来降低整体损失,直至整体损失函数收敛至小于设定阈值,完成训练。
[0103] 具体的,首先用合成降雨数据进行网络训练,训练主要参数:输入图像大小为512x512x3(即H=W=512),学习率为1e‑4,训练迭代次数为50个循环,优化器采用AdamW;第二阶段用真实降雨数据进行微调,过程中做出以下改变:移除降雨掩膜预测任务分支,固定住整个编码器部分及解码器的融合模块对应的网络参数(即不进行参数更新),只微调解码器中的雨强预测任务分支对应的网络模块参数,学习率调整为5e‑5且只训练10个循环。该两阶段的训练方式的优点在于可以使得网络通过大量的合成数据较好的学习图像中雨水特征,进而在真实、准确但相对稀少的真实数据上精调以保证雨强的预测精度。至此,模型完成了训练,经过评估就可以部署应用了。
[0104] 步骤3、利用训练完成的降雨预测模型对目标区域进行降雨预测;采集目标区域当前真实降雨图像,将采集的真实降雨图像输入训练完成的降雨预测模型,得到相应的雨强值,实现对目标区域的降雨预测。
[0105] 在实际应用中,通过利用目标区域的道路监控摄像头的视频流中的图像作为输入,可实现对降雨强度的预测。此外,目标区域的居民也可以利用手机等移动设备拍摄并上传降雨图像至云端,由部署在云端的预测模型进行雨强预测。
[0106] 最后应说明的是,以上所述仅用以说明本发明的技术方案而非限制,尽管参照较佳布置方案对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。