基于卫星云图的大区域云层预测方法

2023-05-22 03:34:44顾轶韩潮刘建勋刘升刚邢炜
中国空间科学技术 2023年2期
关键词:拉普拉斯云层云图

顾轶,韩潮,刘建勋,刘升刚,邢炜

1.北京航空航天大学 宇航学院,北京 100191 2.北京空间飞行器总体设计部,北京 100094 3.北京航空航天大学集成电路科学与工程学院,北京 100191

1 引言

光学卫星对地面成像时,云层的遮挡对成像效果会产生很大的影响[1]。据有关部门统计,中国60%的光学卫星图像因为云层遮挡而无法成为有效的数据产品,这不仅不能满足用户需求,还对卫星资源造成极大浪费[2]。云层对于可见光卫星拍摄图像的遮挡情况,不同的文献给出了调研的结果。Adrien指出,根据天气预报的不同,运行中的卫星获取的高达50%的图像可能会因为云层过多而被丢弃[3]。Ju则指出,LandSat-7卫星传感器获得的图像中有35%被云层覆盖[4]。当观测目标被云层遮挡时,不仅成像质量受到很大影响,而且对该目标的成像观测会消耗观测时间窗口、卫星存储空间、卫星能量等资源,从而减少了对其他目标的观测机会。短期云层预测技术的实现,可以得到未来一段时间目标上空的云层遮挡情况,对地观测卫星可因此选择云层覆盖较少的区域进行成像观测,因此云层预测对对地观测卫星任务规划具有指导意义[5-6]。

数值天气预报是气象预报中最常用的方法,Roussel等指出,数值天气预报模型的计算量大,往往需要几个小时才能得到预报结果[7]。施行健等在研究短临降水问题时指出,数值天气预报模型更适用于长期预报[8]。以往与短期云层预测相关的研究工作多集中在太阳能辐照度预报领域。云的覆盖范围会直接影响太阳辐照度的变化,而太阳辐照度预测多采用基于地面采集的云层图像[9],图像采集时间间隔为1-6min。基于地面图像的云层预测研究中,目前还应用了自回归差分移动平均模型[10]、Lukas-Kanade光流算法[11]、自回归神经网络模型[12]、生成对抗网络[13]等方法。

太阳能辐照度预测关注于小区域的云层变化,多采用地面观察天空的云层图像,时间变化范围短,覆盖区域范围小。考虑到卫星成像的视场幅宽为数十公里到数百公里量级,这种小区域的云层预测并不能满足对地观测卫星任务规划的需要。因此,本文面向对地观测卫星任务规划[14-16]的实际需要,利用风云卫星的云图数据开展大区域短期云层预测研究[17]。本文对传统的光流算法进行了改进,引入拉普拉斯算子对云运动过程中的扩散现象进行刻画,并通过真实的云运动序列图像训练神经网络,采用反向传播算法对扩散因子进行优化。仿真试验结果表明,相比于传统光流算法,引入拉普拉斯算子的改进光流法能够获得更佳的云层预测效果。

依据忧思科学家联盟(UCS)的统计数据,截至2021年1月1日,全球共有在轨对地观测卫星917颗,其中光学对地观测卫星402颗,占对地观测卫星总量的43.8%。中国共拥有在轨对地观测卫星198颗,其中光学对地观测卫星85颗,占对地观测卫星总量的42.9%。由此可见光学卫星在对地观测卫星中的重要地位,但是对于光学对地观测卫星而言,云层覆盖的不确定性对观测任务的完成有显著影响,云覆盖被认为是导致卫星遥感图像失效的最主要因素之一[5]。依据国际卫星云气候学计划(international satellite cloud climatology project,ISCCP)提供的数据,在全球范围内,云层的平均覆盖率约为67%[18],广泛存在的云层会对光学对地观测卫星的成像产生了重要影响,遥感图像中含有的云区域会导致图像部分失效,进而将使得对地观测任务失败[19]。

云层预测属于时空序列预测问题,包括时间和空间两个方面,时间方面是指用被预测事物过去和现在的观测数据推测未来,空间方面指图片上的目标以及目标运动和变化的空间信息。

假设每时刻包含P个测量的一定空间区域的云层信息被记录在M×N的网格中。从空间上看,任何时刻的测量值都可以表示为X∈P×M×N,从时间上看,T个时间步长上的观测值形成观测序列X1,X2,…,XT。时空预测学习问题是在给定包括当前观测的先前J个序列长度的条件下,预测未来最可能的长度为K的序列。数学模型可以表示如下:

p(Xt+1,…,Xt+K∣Xt-J+1,…,Xt)

2 基于光流法的短期云层预测

2.1 算法框架

地球静止卫星的图像具有较高的时间和空间分辨率,是云层运动数据的来源,也是所提出的预报方法的基础。利用风云卫星云图进行云测预测的整体流程如图1所示。

图1 基于卫星云图的云层预测方法流程Fig.1 Flow of cloud forecasting method based on satellite cloud image

首先需要将卫星的图像提取为云灰度图像,然后依据连续的云层图像序列计算得到云运动矢量,假设接下来一个时间步光流不发生变化,利用此光流外推当前图像,得到预测的云层图像。本文引入拉普拉斯算子刻画云层运动过程中的扩散情况,对图像进行后处理以提升云层预测的精度。最后将预测的云图与真实的云图进行对比,采用均方误差(MSE)和图像结构相似性(SSIM)作为评价指标,对云层预测进行效果评估。给定两个图像x和y,两张图像的结构相似性可按如下公式进行计算:

2.2 光流法基本原理

光流定义了空间运动物体在成像平面上的像素点运动的瞬时速度,光流法是利用图像序列中像素在相邻帧之间的相关性来计算相邻帧之间物体运动信息的一种方法。

对于连续运动的图像,记图像上任一点在t时刻的亮度为E(x,y,t),同时该点在水平及垂直方向的运动速度为:

u=dx/dt

v=dy/dt

经过Δt的时间间隔后,记对应点的亮度为E(x+Δx,y+Δy,t+Δt),由Taylor展开可得:

忽略上式中的二阶小量,假设Δt较小,亮度恒定,即E(x+Δx,y+Δy,t+Δt)=E(x,y,t),则上式可转化为:

Exu+Eyv+Et=0

从而计算得到u和v的值。本文采用稠密光流法中的Farneback光流法,利用OpenCV中的函数calcOpticalFlowFarneback进行实现,Farneback光流法原理可参考文献[20],在此不再进行赘述。

通过在数据集上对Farneback光流法的参数进行调整和网格搜索,经过大量的参数测试,会发现不同参数下光流法的结果的差别并不大,进而可以确定Farneback光流算法的参数数值。

2.3 云运动矢量外推

在对云图进行预测时,可以利用通过不同数量的图像序列对光流进行初始化,参考文献[8]中的设定,本文将测试以下三种不同的光流外推方式:

1)Farne1计算最后两个观测帧的光流;

2)Farne2根据最后两个流场的平均值初始化速度;

3)Farne3通过对最接近的三个流场的加权平均给出初始化的光流,由于更接近于当前时刻的流场的影响会更大,参考文献[8]中的设置方式,将最接近的三个流场的加权系数依次设置为0.7、0.2和0.1。

随着每一步的云层预测结果,光流的值将依据生成的云图进行更新,由此可以实现多步的云层预测。

2.4 云层扩散现象的刻画

需要指出,光流虽然能刻画物体的运动,但是对于云这种流体具有的生成和扩散的特性,光流法不能对其进行刻画,这是光流法的局限之处。为了对云在运动中的扩散现象进行描述,本文采用拉普拉斯算子对云图的预测结果进行卷积滤波。

记图像的像素强度值为I(x,y),则其拉普拉斯算子L(x,y)可由下式给出:

L(x,y)可以使用卷积滤波器计算。由于输入图像表示为一组离散像素,因此必须找到一个离散卷积核,用来近似拉普拉斯算子定义中的二阶导数。由于卷积核设计会影响计算效率,本文选择了最简单和最经典的卷积核S形式,其定义如下。

其中参数λ∈R,λ>0为扩散因子。通过对输入图像进行拉普拉斯卷积,即可实现云层由中心区域向四周的传播。在对图像进行拉普拉斯卷积时,卷积核将对云层图像中的每一个像素都进行卷积,因此云层在一点处的扩散可以间接影响到更大的区域,这样就可以合理地刻画云层的扩散现象。

利用反向传播算法对扩散因子λ的取值进行优化。由于云层的扩散是在持续进行的,预测未来K步的云图结果将对应不同程度的扩散,即扩散因子的参数集合为:

通过深度学习框架PyTorch搭建神经网络的卷积层,利用真实的云层序列图像作为样本并制作数据集,确保每一张通过预测得到的云图都有对应时刻的真实云层图像,可以计算预测云图和真实云图的均方误差值MSE,将MSE作为神经网络训练时的损失函数,并利用反向传播算法对扩散因子参数进行优化。

3 仿真结果分析

本文利用风云二号卫星的云图序列数据,针对第一岛链和第二岛链中间某区域(北纬9.23°~24.23°和东经126.83°~141.83°)的云层情况进行研究,考虑到多数对地观测卫星为近地轨道卫星,轨道周期约为1.5h,因此本文将选择3h作为云层预测的时间范围,这样云层预测的结果将能为未来两个轨道圈次的卫星对地观测任务提供指导。云层图像每30min一张,则预测的时间步长K=6,本文共针对7980组序列图像进行预测。下面将分别从时间和空间角度对云层预测结果进行分析,然后将对比引入拉普拉斯算子前后的云层预测结果,并展现扩散因子λ在每一个预测步的取值。

3.1 时间尺度上的云层预测结果

在时间尺度上,可计算图像预测结果与真实云图之间的MSE和SSIM指标,对应的数值变化分别如图2和图3所示。

图2 三种外推模型预测结果的均方误差对比Fig.2 Comparison of the mean square error of the prediction results of three extrapolation models

图3 三种外推模型预测结果的结构相似性对比Fig.3 Comparison of the structural similarity of the prediction results of the three extrapolation models

随着预测步数从1增加到6,可以看到MSE的值会从30增加到300左右,SSIM的值会从0.87减小到0.5左右,这说明图像预测的准确性会随着预测步数的增加而逐渐降低。图2和图3中的图例采用三种标记代表不同外推方式,通过对比三种不同的外推方式的计算结果,可以看到三种方法下的云层预测结果存在一定的差异,试验结果在MSE和SSIM指标上表现出了很好的一致性,即在每一步的云层预测效果上,Farne2均优于Farne3,而Farne3均优于Farne1。在平均水平上,Farne1的效果最差,而Farne2和Farne3的表现效果相对更好。这主要是因为Farne1直接将上一步的云运动矢量作为当前时刻的结果,而现实中的云运动的速度大小和方向都可能会发生变化,Farne2和Farne3采用了前两步或前三步云层运动矢量结果的加权,考虑了不同时刻下运动矢量的变化,更加符合真实的云层运动情况。与Farne1和Farne3外推结果相比,基于Farne2外推的每一步的云层预测结果与真实图像的MSE最小,而SSIM最大,这说明Farne2的效果最优。由于Farne2的结果最佳,所以在后续的云层预测中,将主要展现基于Farne2外推方式的试验结果。

图4展示了两组云层预测的序列图像结果,其中黑色背景表示无云,白色区域表示云层覆盖。每组图像的三行从上至下依次为:输入的云图序列;真实的输出云图;预测的云图序列。通过对比预测云图和真实的云图,可以看出基于云运动矢量外推的方法能够预测云的整体运动趋势,在较短的时间步长内,能够达到一定的预测精度。

图4 卫星云图的两个预测实例Fig.4 Two prediction examples of satellite cloud images

同时从图像中也能够看到光流法的弊端,如图4(b)中的预测序列所示,随着预测步长的增加,图像左上角和右下角的黑色区域会增大,而在真实的图像序列中,对应区域一直为白色有云状态。这是因为随着云层运动,本区域周围的云层也会运动到当前区域,而光流法仅能提取当前区域的云运动情况,因此会出现预测图像边界上的黑色区域,对此问题将在文中后续进一步分析。

3.2 空间尺度上的云层预测结果

基于云运动矢量的云图预测方法存在空间上的边界效应,因此可以采用更大区域范围的图像进行云层预测,选取图像的中间部分作为预测结果,这样可以减少边界的影响,在一定程度上提升云层预测的效果。本文针对像素分辨率为100×100的图像进行云层预测,该图像区域对应经纬度范围为北纬9.23°~24.23°和东经126.83°~141.83°,该区域边界长度约为1680km×1680km。然后分别针对整个图像和图像中心的50×50的像素区域进行预测结果的计算和统计,对比结果如表1所示。

从MSE的对比结果可以看到,中间区域的平均MSE为28.839,远小于全部区域MSE的160.706。并且在每一个预测时间步上,中间区域的MSE和SSIM的结果都要优于全部区域的统计结果,这表明选取中间区域作为预测结果能够很好地避免有限边界的影响。因此在实践中,采用更大区域的图像预测中心小区域的云层情况是更有效的。

表1 不同区域大小的云层预测结果对比

在对中心50×50的图像进行覆盖率误差的统计时,以10×10的像素分辨率为一个区域,采用阈值分割法计算云层覆盖百分比,取预测图像和真实图像覆盖率误差的绝对值进行统计,在7980组数据中分别选取50%和80%分位数,预测未来第3h的统计结果如图5所示。

图5 区域覆盖率误差的分位数统计/(%)Fig.5 Quantile statistics of regional coverage error/(%)

图(a)展示的区域覆盖率误差最大值约为9%,平均值约为6.8%,图(b)展示的区域覆盖率误差最大值约为16.5%,平均值约为11.7%,可知云层预测结果具有比较高的精度,同时,基于卫星云图的云层预测可以为对地观测卫星任务规划提供一定的指导。

3.3 改进光流法的云层预测结果

考虑到云层在运动过程中的扩散现象,引入了拉普拉斯算子对云层扩散进行刻画。本节分别针对三种光流外推方法,开展了加入拉普拉斯算子前后的云层预测结果的对比分析,拉普拉斯算子对云层预测结果的MSE和SSIM的影响分别如表2和表3所示,其中Farne1-N、Farne2-N和Farne3-N表示不加入拉普拉斯算子时的三种光流外推策略。

从对比结果可以看出,加入拉普拉斯算子后,云层预测的MSE值比没有加入时要明显降低,并且在每一个预测时间步上都会有效果的提升;同时云层预测结果的SSIM指标在进行拉普拉斯卷积后也会有所提升,并且提升效果的幅度会随着预测步长的增加而增大,因此对比结果很好地展现了拉普拉斯算子对云层预测效果提升的有效性。

表2 拉普拉斯算子对预测结果的MSE的影响对比

表3 拉普拉斯算子对预测结果的SSIM的影响对比

通过神经网络的反向传播算法对每个预测步的扩散因子λ进行优化,对λ的取值进行统计如表4所示。可以发现,随着预测步长的增加,λ的取值也会提升。λ的值越大表明云层扩散的效果越明显。因为随着预测时间增加,云层的扩散也会逐渐累积,扩散效果会更加明显,这与λ的取值能够很好地吻合,这反映出基于真实云图数据下,参数λ取值优化结果的合理性。

表4 扩散因子λ在每个预测步上的取值

4 结论

利用风云卫星的真实云图,采用基于Farneback光流法的运动矢量外推可以实现云层预测,从时间尺度上,云层预测的误差会随着预测步长的增加而增大,依据云图的对比效果可知光流法的结果能够近似预测云层的运动趋势;从空间尺度上,基于光流法的云层预测具有边界效应,即边界处云的移动无法得到周边云层的补充,因此工程上可以采用更大区域的云图计算光流来预测中间区域的云层情况;通过对比引入拉普拉斯算子前后的云层预测效果,可以发现增加对云层扩散的刻画,可以有效地提升云层预测的精度,通过对优化后扩散因子λ取值的分析,可以发现随着预测步长增加,云的平均扩散效果也是增加的,这也验证了拉普拉斯算子和扩散因子的有效性。

未来与展望:目前基于深度学习的视频预测方法已成为计算机视觉的研究重点之一,而且随着卫星技术的进步,目前也有大量的云图数据,未来可以考虑采用深度学习进行云层预测研究;此外,需要将云层预测的结果与对地观测卫星的任务规划结合起来,短期的云层预测可以给卫星任务重规划提供指导,未来的研究可以建立短期云层预测与对地观测卫星任务规划问题结合的框架,并研究设计基于云层预测的地面目标观测任务规划算法。

猜你喜欢
拉普拉斯云层云图
成都云图控股股份有限公司
中国农资(2019年44期)2019-12-03 03:10:46
乌云为什么是黑色的
穿透云层的月亮
民族音乐(2018年1期)2018-04-18 03:24:25
黄强先生作品《雨后松云图》
名家名作(2017年3期)2017-09-15 11:13:37
基于TV-L1分解的红外云图超分辨率算法
春日冰雹
滇池(2016年2期)2016-05-30 19:27:39
基于超拉普拉斯分布的磁化率重建算法
云图青石板
位移性在拉普拉斯变换中的应用
含有一个参数的p-拉普拉斯方程正解的存在性