基于雷达影像的洪水监测技术方法详解

2024-02-27 11:20

本文主要是介绍基于雷达影像的洪水监测技术方法详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        洪水发生时候大多数是阴雨天气,光学影像基本上拍不到有效影像。雷达影像这时候就能发挥其不受天气影像的优点。现在星载的雷达卫星非常多,如高分三号、陆探一号、海丝一号(巢湖一号)、哨兵1号等。本文以哨兵1号L1地距(GRD)产品来介绍在洪水监测中的处理技术,其他雷达数据处理类似。

1 数据情况

因为要进行前后对比,因此需要两个时相哨兵1数据:

1、2023年8月2日:S1A_IW_GRDH_1SDV_20230802T214703_***.

2、2023年7月21日:S1A_IW_GRDH_1SDV_20230721T214702__***.

注:下载数据时候一般有三种格式下:SLC、GRD、GRD(COG),这里下载GRD即可。

2 处理流程

如下图为处理流程,可根据实际情况进行修改。

整个流程可分为两部分:SAR图像预处理和洪水信息提取。其中洪水信息提取采用的是分类后处理对比,即采用一种分类方法获取水灾前后的水面积信息,然后对两时相提取的水面积信息做对比得到水面积变化信息,增加部分就是洪水淹没部分。

3 SAR图像预处理

SARscape中提供流程化处理工具:/SARscape/Basic/Intensity Time Series Workflow。也提供分步式处理工具,本文使用分步处理工具来介绍。

在处理之前,为SARscape选择一套适合哨兵1数据的默认处理参数:Toolbox中单击/SARscape/Preferences,在打开的界面中,单击Load Preferences,选择Sentinel TOPSAR。

3.1 数据导入

SARscape5.6之后版本直接支持哨兵1的压缩包格式,因此导入数据的时候不需要解压缩。

(1)Toolbox中,打开SARscape/Import Data/SAR Spaceborne/Single Sensor/Sentinel-1。

(2)数据输入面板(Input Files):选择两期压缩包文件。

(3)可选文件面板(Option file):可以选择一个矢量文件对SAR数据进行裁剪,这里不选择。

(4)参数设置面板(Parameters):按照默认。

(5)数据输出面板(Output Files):选择一个输入目录。

(6)点击Exec执行处理。

得到两个时相、两个极化四个SAR图像。

3.2 图像配准

由于是两个时相SAR数据,使用自动SAR图像配准工具进行配准处理。

(1)在Toolbox中,选择/SARscape/Basic/Intensity Processing/Coregistration。

(2)在打开的Coregistration面板中:

  • 数据输入(Input Files)面板:选择一个SAR数据作为基准(Input Reference File)。其余的数据作为待配准影像(Input File List)。
  • 可选文件(Optional Files)面板:

 DEM File:选择一个DEM数据可以提高配准精度,特别是高分辨率SAR数据和地形起伏较大区域,以及配准不同入射角图像的配准。由于该地区为平原,这里不选择DEM数据。

  • 参数设置(Parameters)面板:按照默认参数。

注:设置Global->Generate Quick Look:False,不输出快视图,能提高一点处理速度。

  • 数据输出(Output Files)面板:选择输出目录。

(3)单击Exec按钮执行配准过程。

执行完之后生成一个后缀为_meta的索引文件,每一景数据的配准结果作为一个波段在该文件中,类似于一个多波段数据,以及一个.series时间序列文件。

配准精度基本能达到亚像素,如下为配准效果图。

3.3 图像滤波

斑点类似噪音信号特征,一般产生于相干系统,比如SAR和激光雷达系统。表现为随机的“椒盐”散落在图像上。

SARscape提供两大类滤波,用于单波段雷达图像的滤波和多时相雷达图像滤波。本例子中使用多时相雷达图像滤波,效果比卷积滤波要好。

(1) 在Toolbox中,选择/SARscape/Basic/Intensity Processing/Filtering/De Grandi Spatio-Temporal Filtering。

(2) 打开De Grandi Spatio-Temporal Filtering面板

  • 数据输入(Input Files)项:选择配准好的四个数据。
  • 参数设置(Parameters)项:按照默认。

注:设置Global->Generate Quick Look:False,不输出快视图,能提高一点处理速度。

  • Output Files面板,数据输出路径和文件名按照默认。文件名自动添加_fil后缀。

(3) 单击Exec执行。

多时相滤波阈值斑点噪声的效果还是非常好的,如下图所示。

3.4 地理编码&辐射定标

这一步将前面配准、滤波处理得到的结果进行地理编码和辐射定标,得到各个时相数据的雷达强度图像或者后向散射系数图像。

该步骤可选择DEM数据参与地理编码提高几何精度,这里使用/SARscape/Import Data/DEM Extraction/ALOS World 3D 30m 工具自动下载SAR图像范围内的DEM,操作比较简单这里不详细介绍。

(1)在Toolbox中,选择/SARscape/Basic/Intensity Processing/Geocoding/Geocoding and Radiometric Calibration。

(2)打开地理编码和辐射定标面板(Geocoding and Radiometric Calibration)。

  • Input file:鼠标单击Brower按钮,按住shift键,将上一步滤波得到的4景数据全选,点击打开,数据列在Input File List列表下。
  • Optional Files面板,Geometry GCP File和Area File(应用于选择"True area"后向散射系数反演方法时候)这两个文件是可选项,这里不使用这两个文件。
  • DEM/Cartographic System面板,输入DEM文件或投影信息。若是输入DEM数据,最后输出结果默认以DEM投影参数为准。如果不输入DEM数据,则设置Output Projection。这里输入DEM文件
  • Parameters面板,主要参数(Principal Parameters)
    • 像元大小(X Grid Size):15
    • 像元大小(Y Grid Size):15
    • 辐射定标(Radiometric Calibration):Ture

注:这里辐射定标为后向散射系数,如果采用雷达水指数方式提取水体,这里建议定标为后向散射系数。其他水体提取方法看情况来定。

  • 散射面积(Scattering Area):Local Incidence Angle
  • 辐射归一化(Radiometric Normalization):False
  • 辐射归一化方法(Normalization Method):True
  • 局部入射角(Local Incidence Angle):False
  • 输出类型(Output type):dB

注:输出类型linear和Db的关系为: =10*log

注:其他参数按照默认,绝大多数情况下使用默认参数就能得到较好的结果。

  • Output Files面板,输出路径和文件名按照默认,自动添加了_geo后缀。

(3)单击Exec执行。

在生成结果中,默认会生成带有坐标、tif格式的快视图(* _ql.tif),如果后面采用目视解译的方法提取水体信息,可以直接使用该快视图图像。如下图为生成的快视图。

注:背景透明显示了。

4洪水信息提取与成果整理

在SAR图像上,有水体的地方一般显示黑色。可选择很多方法来提取水体信息。

在应急情况下,其实手动提取水面积是最快,精度也最高的方式。当然如果事先有利用大量样本训练好的深度学习模型,深度学习方法也是效率很高的一种方法。如下为几种方法的总结:

方法

说明

阈值分割法

在平原区域效果良好,几乎不需要人工编辑,但是在山区,阴影同时都被提取出来了。需要使用分类后处理的工具进行人机交互处理。

决策树分类方法

加入DEM,可有效避免山区阴影的混淆,对于坡度大的区域效果显著。后期仍然需要一定量的人工编辑,但工作量较阈值法小。

深度学习方法

效果良好,需要前期进行充分的影像水体特征分析,表现为选择若干有代表性的子区域,可有效区分山体阴影和水体,前期工作量较大,优势是训练好的水体提取模型可以用于同类型多幅影像,多个地区的水体提取,适用于批量处理。

面向对象方法

可直接获取水域边界,加入DEM作为辅助数据,对山体阴影的抑制也有作用。

人工+魔术棒

精度最高,需要人工参与。

下面简单介绍ENVI中人工+魔术棒的方法。

(1)打开地理编码中得到的TIF快视图。

(2)工具栏中打开ROI Tool,按住Ctrl+鼠标左键,在水域地方点击鼠标。

(3)打开魔术棒工具栏,同时也在SAR图像上选择了一部分区域。

  • 把Use Pyramids 去掉,单波段的SAR图像可以不使用金字塔来识别,如果使用金字塔图像识别,有可能会在低分辨率的图层上识别。
  • 根据情况来设置Threshold大小,这个阈值越大可识别的范围越大,精度可能越低。

注:按住Ctrl键可以同时识别多个地方

(4)右键有四个菜单。

  • Accept Multi Part:接受本次识别。
  • Clear Multi Part:取消本次识别。
  • Select Part:选择一个分块。
  • Remove Holes:移除中间的洞,这个视情况来使用。

注:魔术棒工具多使用体会,有很多的使用技巧。

(5)要想对已经接受并生成了ROI的图斑进行编辑,直接在ROI图斑右键选择编辑菜单即可。

(6)所有的识别都完成了,可以在ROI Tool中年,选择File->Export->Export to Shapefile,输出为矢量文件。

同样的方法可以对另外一个时相的SAR图像进行识别,对两个结果进行对比分析得到洪水区。

这篇关于基于雷达影像的洪水监测技术方法详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/752228

相关文章

MySQL 8 中的一个强大功能 JSON_TABLE示例详解

《MySQL8中的一个强大功能JSON_TABLE示例详解》JSON_TABLE是MySQL8中引入的一个强大功能,它允许用户将JSON数据转换为关系表格式,从而可以更方便地在SQL查询中处理J... 目录基本语法示例示例查询解释应用场景不适用场景1. ‌jsON 数据结构过于复杂或动态变化‌2. ‌性能要

postgresql使用UUID函数的方法

《postgresql使用UUID函数的方法》本文给大家介绍postgresql使用UUID函数的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录PostgreSQL有两种生成uuid的方法。可以先通过sql查看是否已安装扩展函数,和可以安装的扩展函数

Python实现终端清屏的几种方式详解

《Python实现终端清屏的几种方式详解》在使用Python进行终端交互式编程时,我们经常需要清空当前终端屏幕的内容,本文为大家整理了几种常见的实现方法,有需要的小伙伴可以参考下... 目录方法一:使用 `os` 模块调用系统命令方法二:使用 `subprocess` 模块执行命令方法三:打印多个换行符模拟

MySQL字符串常用函数详解

《MySQL字符串常用函数详解》本文给大家介绍MySQL字符串常用函数,本文结合实例代码给大家介绍的非常详细,对大家学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql字符串常用函数一、获取二、大小写转换三、拼接四、截取五、比较、反转、替换六、去空白、填充MySQL字符串常用函数一、

Java中Arrays类和Collections类常用方法示例详解

《Java中Arrays类和Collections类常用方法示例详解》本文总结了Java中Arrays和Collections类的常用方法,涵盖数组填充、排序、搜索、复制、列表转换等操作,帮助开发者高... 目录Arrays.fill()相关用法Arrays.toString()Arrays.sort()A

Python 字典 (Dictionary)使用详解

《Python字典(Dictionary)使用详解》字典是python中最重要,最常用的数据结构之一,它提供了高效的键值对存储和查找能力,:本文主要介绍Python字典(Dictionary)... 目录字典1.基本特性2.创建字典3.访问元素4.修改字典5.删除元素6.字典遍历7.字典的高级特性默认字典

Nginx安全防护的多种方法

《Nginx安全防护的多种方法》在生产环境中,需要隐藏Nginx的版本号,以避免泄漏Nginx的版本,使攻击者不能针对特定版本进行攻击,下面就来介绍一下Nginx安全防护的方法,感兴趣的可以了解一下... 目录核心安全配置1.编译安装 Nginx2.隐藏版本号3.限制危险请求方法4.请求限制(CC攻击防御)

MySQL 主从复制部署及验证(示例详解)

《MySQL主从复制部署及验证(示例详解)》本文介绍MySQL主从复制部署步骤及学校管理数据库创建脚本,包含表结构设计、示例数据插入和查询语句,用于验证主从同步功能,感兴趣的朋友一起看看吧... 目录mysql 主从复制部署指南部署步骤1.环境准备2. 主服务器配置3. 创建复制用户4. 获取主服务器状态5

python生成随机唯一id的几种实现方法

《python生成随机唯一id的几种实现方法》在Python中生成随机唯一ID有多种方法,根据不同的需求场景可以选择最适合的方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习... 目录方法 1:使用 UUID 模块(推荐)方法 2:使用 Secrets 模块(安全敏感场景)方法

一文详解如何使用Java获取PDF页面信息

《一文详解如何使用Java获取PDF页面信息》了解PDF页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环,下面我们就来看看如何使用Java语言获取这些信息吧... 目录引言一、安装和引入PDF处理库引入依赖二、获取 PDF 页数三、获取页面尺寸(宽高)四、获取页面旋转角度五、判断