遥感影像云检测-传统算法:Improved FMask(Improvement and expansion of the Fmask algorithm: cloud, cloud shadow)
2021/10/18 11:10:20
本文主要是介绍遥感影像云检测-传统算法:Improved FMask(Improvement and expansion of the Fmask algorithm: cloud, cloud shadow),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Improvement and expansion of the Fmask algorithm: cloud, cloud shadow, and snow detection for Landsats 4–7, 8, and Sentinel 2 images
- 1.概述
- 1.1.对于LandSat卫星
- 1.2.对于Sentinel卫星
- 1.3.本文贡献
- 2.算法改进和扩展
- 2.2.算法改进
- 2.2.算法扩展
- 2.2.1.针对LandSat8的算法
- 2.2.2.针对 Sentinel 2的算法
论文地址
1.概述
1.1.对于LandSat卫星
LandSat8卫星包含两个传感器:操作陆地卫星成像仪(OLI)和热红外传感器(TIRS)。这颗新卫星具有陆地卫星TM和ETM的所有光谱波段,并且还具有一些新波段)。新的短波红外(SWIR)波段(波段9)(1.36–1.38μm)特别有助于探测高海拔云,例如卷云(为了简单起见,本文将这种新的SWIR波段称为“卷云波段”)。由于该特定波段的强吸水性,高海拔地区的云层将具有较小的云上双向水汽路径长度,这将使卷云带相对明亮。另一方面,对于大多数环境中的低空云和地球表面,双向水汽路径长度通常相当大,这将使卷云带通常变暗。然而,干燥环境或高海拔(如极地或高山)的明亮表面在卷云带中也可能具有相对较高的反射率,并可能被误认为是云*。*为了减少这种调试误差,需要相对较大的卷云带阈值,但这也将排除一些薄卷云。**目前的1级LandSat卫星8号图像包括一个质量评估(QA)波段,该波段还提供卷云置信度信息。
1.2.对于Sentinel卫星
Sentinel 2上的传感器从可见光到SWIR有13个光谱带,包括6个与陆地卫星TM和ETM波段类似的波段。在Sentinel 2发射之前,为其设计一种自动云、云阴影和雪检测算法非常重要。与陆地卫星TM和ETM相比,Sentinel 2具有卷云波段的优势,但没有热波段,热波段也是云探测的重要波段。大多数云检测算法严重依赖于热波段,因为云像素比晴空像素冷得多。此外,大多数云阴影检测算法也需要热波段来估计云高。因此,为Sentinel 2图像设计一个好的云和云阴影检测算法将是一个相当大的挑战。
1.3.本文贡献
Fmask算法最初是为LandSat卫星4-7的云、云影和雪而开发的。通过使用基于对象的云和云阴影匹配算法,它能够为每个单独的图像提供云、云阴影和雪遮罩。
本文首先介绍了Fmask算法的主要改进。然后,利用卷云带,将Fmask算法扩展到LandSat卫星8场景。最后,开发了一个版本的Fmask,可用于基于LandSat卫星8上可用波段的Sentinel 2图像。因此,对于Sentinel 2方案,使用了光学波段和卷云波段。为Sentinel 2和Landsat 8设计的大部分Fmask算法与最初的Landsat 4–7版本保持相同。只有当两个新传感器的光谱波段与陆地卫星4-7场景不同时,才会发生变化。
本文考虑了三个主要问题:
- 如何更好地利用陆地卫星8号和哨兵2号上的新卷云带进行更好的云探测?;
- 当没有可用的热波段(哨兵2)时,我们还能准确地探测云及其阴影吗?;
- 哪种方案(LandSat卫星4-7、哨兵2或LandSat卫星8)在云检测方面效果最好?
2.算法改进和扩展
2.2.算法改进
- 云检测
在最初的Fmask算法中,如果像素的云概率高于99%,则直接将其标记为云,而不进行任何光谱测试。然而,这个标准倾向于高估云量,因为有明亮、白色和寒冷的晴空像素,具有较高的云量概率值(例如,高空雪)。为了防止这种误差,从新的Fmask算法中删除了该准则。 - 水上云检测
最初的Fmask算法使用固定阈值(云概率为50%)进行水上云检测,该阈值适用于大多数水体,但可能不适用于水像素既冷(与陆地像素相比)又亮(例如浑水或含有高浓度沉积物的水)的地方。在新的Fmask算法中,用于水域中云检测的阈值是一个动态阈值,通过将**所有清水像素的云概率上限(82.5%)与常数0.2相加得出,**这一统计得出的阈值能够在水域提供更好的云检测。 - 潜在云阴影检测
基于云阴影在近红外(NIR)波段通常较暗的假设,原始Fmask算法使用NIR波段和相同NIR波段的flood-fill变换之间的差异来提取潜在云阴影)。此方法适用于大多数地方,但当NIR波段中有许多暗对象时,它会将太多像素标记为潜在云阴影,这可能会导致匹配云和云阴影的步骤出现问题。由于SWIR波段的云阴影也较暗,在新的Fmask算法中,我们使用NIR波段和其中一个SWIR波段(中心为1.65μm)来提取潜在的云阴影。因此,在这个新的Fmask算法中,对NIR和SWIR波段都使用了flood-fill变换。如果NIR和SWIR波段的flood-fill变换图像减去原始图像都大于0.02,则该像素标记为“潜在云阴影”。 - 云阴影检测
Fmask算法基于相似性度量将云与其阴影进行匹配,该算法将云高从最小可能高度迭代到最大可能高度,并计算不同云高下云和云阴影之间的相似性。传统FMask算法中,如果相似性增加或没有减少到最大测量相似性的98%,云高测试将继续进行;否则,将停止对云高度的搜索,并以最大相似性匹配云阴影。然而,有时迭代可能会提前停止,就像在相似性达到最大相似性之前一样;局部最大值可能比相邻云高的相似性测量值大2%。在改进的Fmask算法中,**云和云阴影匹配不会停止,除非相似度值降低到最大相似度值的95%。**这一简单的更改通过防止在搜索最佳云高度时过早停止而导致的错误,改进了云和云阴影的匹配。 - 雪检测Ⅰ
最初的Fmask算法使用温度阈值来最小化对温暖明亮非雪表面上雪的错误检测,其中选择了277 K的阈值。最近的结果表明,一些暖雪像素的亮度温度也可能高于277 K,在MODIS积雪覆盖算法的集合5中,使用了283 K的更高温度阈值。因此,在新的Fmask算法中,如果存在可用的热波段,则选择更高的温度阈值283 K用于雪检测。 - 雪检测Ⅱ
在Fmask算法中,云和云阴影周围的像素被遮罩,因为这些像素中的许多仍然可能受到云及其阴影的薄边的影响)。根据许多用户对Fmask算法的反馈,雪周围的像素也可能部分受到雪的影响,并且可能会给遥感活动带来问题。因此,在新的Fmask算法中,我们将雪周围的像素在8个连通方向上放大一个用户指定的距离(可以是基于用户偏好的任何正整数)。从该扩展中移除的像素将包含在Fmask结果中的雪遮罩中。
2.2.算法扩展
最初的Fmask算法只能为陆地卫星4–7的图像提供云、云阴影和雪遮罩。新的Fmask算法还能够为Landsat 8和Sentinel 2图像提供云、云阴影和雪遮罩。OLI传感器和Sentinel 2中包含的卷云带为更好地探测薄卷云提供了机会。由于Sentinel 2图像没有热波段,为Sentinel 2图像设计的新Fmask算法与为Landsat 8图像设计的算法不同。由于陆地卫星8号有两个热波段,我们将使用波长(波段)较短的波段(B10),因为在这个波段大气影响和“重影问题”更少
2.2.1.针对LandSat8的算法
大多数Fmask算法与陆地卫星4-7号图像完全相同,但应用卷云带的地方除外。卷云带用于第一次生成潜在云层,其中卷云测试用于更好地识别潜在云像素(PCP)。卷云测试非常简单:如果卷云带的TOA反射率大于0.01,此像素标记为PCP。请注意,此处使用的阈值远低于MODIS云检测算法使用的阈值。
MODIS云检测算法使用的阈值为0.03,这是由以11μm为中心的另一个SWIR带的能量泄漏引起的。这种串扰迫使MODIS云检测算法使用更高的阈值,以减少检测卷云时的误报错误。对于陆地卫星8号图像,没有观察到串扰问题,可以使用较小的阈值来改进对TOA反射率小于0.03的薄卷云的检测
卷云带也用于计算云概率。由于卷云带仅对高海拔云(主要是卷云)具有高TOA反射率,因此新的Fmask算法使用卷云带的TOA反射率值来计算卷云概率,并将此新概率添加到原始Fmask算法计算的原始云概率中。通过结合识别薄云和厚云的旧云概率和识别大部分卷云的新卷云带概率,这种新的云概率能够提供更好的云概率,特别是对于薄卷云较多的地方(详情见第3节)。卷云概率是根据卷云带TOA反射率的大小来计算的。卷云概率随卷云带TOA反射率线性增加,当TOA反射率等于0.04时,卷云概率为1。如果卷云带TOA反射率大于0.04,卷云概率将继续随卷云带TOA反射率线性增加
在卷云带的帮助下,这个新版本的Fmask算法能够检测厚云和薄云;包括陆地卫星8号图像中的一些极薄卷云)。基于云和云阴影方法,这种新的Fmask算法还能够检测一些非常薄的卷云投射的云阴影。
2.2.2.针对 Sentinel 2的算法
除了热波段,Sentinel 2图像具有陆地卫星4-8的所有光谱波段。由于缺少热带,无法使用作为陆地卫星Fmask一部分的若干测试。然而,有了额外的卷云带,陆地卫星8号使用的相同卷云测试可用于生成潜在云层的第一次过程的Sentinel 2数据。
因此,哨兵2场景的新云概率按照公式(2)或公式(3)计算。其中brightness概率和变异概率的计算与原始Fmask算法相同,卷云概率的计算与为陆地卫星8号图像设计的新Fmask算法相同(等式1)。如果是水像素,则新的云概率是亮度概率和卷云概率的组合(等式2)。如果是陆地像素,则新云概率是白度概率和卷云概率的组合(等式3)。
对于云阴影检测,原始Fmask算法在两个位置使用了热波段:预测云高度范围和构建三维云对象。在为Sentinel 2设计的新Fmask算法中,预测的云高范围固定在200 m和1200 m之间,每个云对象被视为压平的二维,而不是三维云对象,用于预测云阴影位置。对于雪检测,最初为了减少错误被用于表达温度的**热红外波段在于Sentinel 2图像中不再使用。**虽然Sentinel 2图像中没有可用的热波段,但有了额外的卷云波段,这个新版本的Fmask算法仍然可以捕获多种云,包括非常薄的云,并与它们的阴影相匹配(有关详细信息,请参见第3节)。对于云阴影检测,如果云很厚,匹配的阴影可能与实际云阴影的形状不同。对于雪检测,缺少温度估计可能会导致更多的调试错误,但也会减少一些暖雪像素的遗漏错误。
这篇关于遥感影像云检测-传统算法:Improved FMask(Improvement and expansion of the Fmask algorithm: cloud, cloud shadow)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24MongoDB资料:新手入门完全指南
- 2024-12-20go-zero 框架的 RPC 服务 启动start和停止 底层是怎么实现的?-icode9专业技术文章分享
- 2024-12-19Go-Zero 框架的 RPC 服务启动和停止的基本机制和过程是怎么实现的?-icode9专业技术文章分享
- 2024-12-18怎么在golang中使用gRPC测试mock数据?-icode9专业技术文章分享
- 2024-12-15掌握PageRank算法核心!你离Google优化高手只差一步!
- 2024-12-15GORM 中的标签 gorm:"index"是什么?-icode9专业技术文章分享
- 2024-12-11怎么在 Go 语言中获取 Open vSwitch (OVS) 的桥接信息(Bridge)?-icode9专业技术文章分享
- 2024-12-11怎么用Go 语言的库来与 Open vSwitch 进行交互?-icode9专业技术文章分享
- 2024-12-11怎么在 go-zero 项目中发送阿里云短信?-icode9专业技术文章分享
- 2024-12-11怎么使用阿里云 Go SDK (alibaba-cloud-sdk-go) 发送短信?-icode9专业技术文章分享