继上篇的Sentinel-1数据预处理,接下来讲一下应用部分,此文章主要讲的是如何使用Sentinel-1 SLC数据进行DEM生成,也就是基于InSAR的数字高程模型重建。其核心思想是通过两景具有时间或空间基线的雷达图像获取地表散射体的干涉相位,并通过相位差计算地形高程信息。
仅供学习使用,因为该文章实现了数字高程模型重建,但是精度还在计算阶段,可以根据三、可视化结果查看是否符合预期。
关于干涉相关的操作文章: ESA InSAR S1 IW,里面写得很全,该文章的目的是为新手和经验丰富的遥感用户提供使用 Sentinel-1 干涉宽幅带产品进行干涉处理的分步说明。文章我是在论坛里找到的,论坛如下:
Error unwrapping with the snaphu plugin - Microwave Toolbox / snaphu - STEP Forum
SNAP帮助文档:Online Help – STEP
帮助文档会介绍是如何实现该步骤的,以及一些参数的设置,输入的数据的条件以及建议。若是在某些步骤出错,建议详细查看文档或者是对应的论坛。
目录
② S-1 Enhanced Spectral Diversity
原始数据
数字高程重建需要用到2幅Sentinel-1影像,它们的范围是一致的,相隔12天。时间越接近,重建的DEM数据效果会更好。
一、Snap-Snaphu配置
这里使用的是Snaphu解缠方法,官网下载的SNAP软件没有该相位解缠需要的插件,所以这里需要下载SNAPHU插件。
关于SNAPHU也有一个帮助文档:SNAPHU – STEP
- 打开 【Tools】->【Plugins】
- 在【Available Plugins】标签页中,查找并安装 SNAPHU 插件,安装后重启SNAP
二、图像处理
关于预处理涉及的一些步骤(分别是Burst拼接、多视、地理编码),目的将不会再次书写,详见Sentinel-1 SLC数据预处理(SNAP软件)_asf data search数据预处理-CSDN博客
1、 子条带选择
这个步骤是必要的,因为后续必要的步骤【Back Geocoding】期望两个相同条带的数据(详见帮助文档)。没有Split的话做不了【Back Geocoding】。第二步是精密轨道,这里提到这个步骤是选做,做精密轨道一般可以得到较好的结果。
工具:【Radar】 -> 【Sentinel-1 TOPS】 -> 【S-1 TOPS Split】。
这里再介绍一种方法,直接搜索工具,会比较方便。位置在界面右上角。
在【S-1 TOPS Split】中,Directory选择输出路径,选择感兴趣区域IW2 VV波段(按需选择)。这里对两幅影像进行同样的操作(需要相同的子条带)。
2、 精密轨道
选择工具:【Radar】 -> 【Apply Orbit File】。
按照默认设置,输入的数据是Split的结果,输出的轨道由原来的16变成了45。同样的,这里需要对两幅影像进行同样的操作。
3、配准
① S-1 Back Geocoding
InSAR需要两幅SAR图像(主、从)的像元严格对齐。【Back Geocoding】利用参考DEM和卫星轨道数据,计算从图像中每个像元对应的主图像中的位置,消除因视角差异(基线)或地形起伏导致的几何畸变。地形起伏会导致SAR图像出现透视收缩、叠掩或阴影。通过反向映射,可以将从图像校正到主图像的几何坐标系下,确保后续相位解缠的准确性。
选择工具:【Radar 】-> 【Coregistration】 -> 【S1 TOPS Coregistration】-> 【S-1 Back Geocoding】。
这里通过【Add】输入两个已经进行精密轨道的的Sentinel-1数据。或者是先将前面的数据先关闭,留下两个精密轨道数据后,再打开【Back Geocoding】,选择【Add Opened】,将数据加载进来。推荐第二个步骤,关闭一些数据后续可能不是太卡顿。
② S-1 Enhanced Spectral Diversity
该步骤用于提高干涉SAR(InSAR)配准精度。它的核心作用是修正由于多普勒频移或卫星轨道误差导致的配准残差,从而提升干涉相位的质量,最终改善数字高程模型(DEM)或形变测量的精度。简单来讲,该步骤是精细化校正每个Burst的方位向(沿轨道方向)存在轻微的多普勒频移差异。
选择工具:【Radar】 -> 【Coregistration】-> 【S1 TOPS Coregistration】 ->【S-1 Enhanced Spectral Diversity】。
输入已经进行过Back Geocoding的影像。
前三步的结果如下图所示:
4、Burst拼接
选择工具:【Radar】 -> 【Sentinel-1 TOPS】-> 【S-1 TOPS Deburst】。
按照默认选项,输入的数据是上一步配准的结果。
结果如下图所示:
5、 干涉处理
该步骤的目的是通过两幅SAR图像的相位差生成干涉图(Interferogram),进而用于数字高程模型(DEM)重建。
这里还去除了平地相位,平地相位是由卫星几何构型(基线)和地球曲率引起的相位成分,即使观测目标是一个完全平坦的理想平面(无地形起伏、无形变),干涉图中仍会存在周期性条纹。
这里补充一下相位信息:
其中,
-
Φtop:与地形高程相关的相位(用于DEM重建);
-
Φflat:平地相位;
-
Φdef:地表形变引起的相位(如地震、沉降);
-
Φatm:大气延迟(水汽、电离层扰动);
-
Φnoi:噪声相位;
为了得到我们想要的Φtop,于是我们在这里在生成干涉图的同时去除Φflat(平地相位)。
选择工具:【Radar】 -> 【Interferometic】 -> 【Products】 -> 【Interferogram Formation】。
在【Processing Parameters】中勾选【Subtract Flat-Earth Phase】,其他保持默认,输入的数据是上一步Deburst的结果。
去平地效应和不去平地效应的结果如下图所示,不去除平地效应的相位图难以看出地势起伏状况,相位条纹密集且规律(尤其在平坦区域),去除平地效应后可以看出相位条纹更稀疏,更加突出局部形变或高程变化。
去平地效应(上图)和不去平地效应(下图)对比图
经过上述步骤,生成的干涉图的相位是两幅影像的相位差,以缠绕形式(Wrapped,值范围 −π 到 +π)呈现,包含地形、形变、大气延迟等信息。所以后续还需要对图像进行相位解缠(Phase Unwrapping)。
6、多视
工具:【Radar】 -> 【SAR Utilities】 -> 【Multilooking】。
在【I/O Parameter】界面中,输入的数据是上一步的干涉处理结果,在【Processing Parameter】界面中,number of range looks设置为8,number of azimuth looks设置为2(按需选择)。
如下图所示,对于实验的影像,4:1影像相对清晰、细节保留多,在一定程度抑制噪声的同时,保持较好分辨率。而8:2影像更平滑、噪声更少,信噪比更高,更适合难解缠的区域(如植被覆盖或相干性低的区域),但地形细节损失更多,比例的选择可以通过多次的调参找到满意的结果。
8:2(左)和 4:1(右)对比图
7、干涉滤波
进行Goldstein相位滤波目的是抑制噪声、提高相位质量,从而为后续的相位解缠(Phase Unwrapping)和地形/形变反演提供可靠数据。
“Goldstein滤波的原理是将干涉相位图分块,并利用傅里叶变换将干涉相位图变换到频谱域,再对干涉滤波进行平滑处理。 在高相干区滤波系数小,滤波强度就小,低相干区滤波系数大,则滤波强度就大。”(来自知乎:InSAR 滤波算法 - 点云侠的文章)
工具:【Radar】 -> 【Interfeometric】 -> 【Filtering】 -> 【Goldstein Phase Filtering】。
在Processing Parameter界面中,Window Size设置为5(按需选择),其它保持默认。
可以尝试不同窗口【Window size】和滤波强度【FFT size】的效果,对比如下图所示,下图分别是Window Size 设置为7、5、3的不同干涉滤波结果(FFT size均为64),可以看出干涉效果随窗口的变小而图像更加平滑,损失的信息更多。本实验采用的是窗口为5的干涉结果。
8、裁剪感兴趣区域
解缠花费的时间较长,这里裁剪出更小的区域,用于后续节约解缠时间。
选择工具:【Raster】 -> 【Subset】。
在【Specify Product Subset】中,选择感兴趣区域,影像太大可能会造成解缠失败,所以在合适的范围内选择即可,不宜太大。
结果如下图所示:
然后将subset进行保存,步骤是右击影像,【Save Product As...】,选择输出路径,保存之后将文件移除再根据路径导入进来,这里这一步的目的是为了防止后面【Snaphu Export】的时候导入这个文件,而【Data Format】是空白的,导致后面做不了输出。
9、相位解缠
这里我新建了一个文件夹,因为接下来的步骤需要确定文件的位置。大文件夹是【DEM】,下面有三个子文件夹,其中,【temp】存的是之前步骤的结果,【Original_data】是下载的原始Sentinel-2 SLC数据,然后现在新建的文件是【Unwrapping】。
① Snaphu Export
选择工具:【Radar】 -> 【Interferometric 】-> 【Unwrapping】 -> 【Snaphu Export】。
进行参数设置,输入的影像是subset的结果,如下图所示:
若是这里的【Data Format】看不见“Any Format”选项的话,会出现如下报错:
解决办法:按照【8、感兴趣裁剪】步骤完整完成,或者是先选择别的图像,直至“Any Format”选项看得见再选择subset图像,可以理解为修补/卡bug。
Target folder选择刚刚新建的【Unwrapping】,Number of Tile Rows / Columns设置为1,表示将整张干涉图不分块并行处理,Number of Processors设置为4,Row Overlap / Column Overlap重叠的区域设置为200,200。这些参数的设置按需选择,关于参数的具体含义与选择,可以看官方文档 snaphu。
在【Unwrapping】文件夹下会有一个新的文件夹,打开之后,文件夹下的数据如下图所示:
在进行下一步之前,需要检查一下文件
(1)干涉图(Wrapped Phase)和相干系数图(Coherence Map)的.hdr文件
具体位置如下图所示:
分别查看这两个文件,需要检查两个文件的行列数是否一致。需要特别注意的是,如果行列数不一致,后续的解缠将直接报错(报错:abort)。解决步骤是将该文件夹整个删除/创建新的文件夹,然后重新进行【Snaphu Export】,若是还不一致建议重新裁剪(详见步骤8)。
(2)snaphu.conf文件
需要查看snaphu.conf文件是否缺省,打开文件如下图所示,文件无信息丢失,若是文件信息(蓝框)不全,则需要手动添加上文件。
这里说一下这两个文件的信息丢失怎么补全,首先是【CORRFILE】对应的是snaphu.conf所在文件夹下的一个.img文件,如下图所示,也就是“coh_IW2_VV_03Oct2024_15Oct2024.snaphu.img
”,然后是【OUTFILE】这里选择的是“UnwPhase_ifg_IW2_VV_03Oct2024_15Oct2024.snaphu.img”这里需要注意的是后缀全是.img。记得保存。
② Snaphu-unwrapping
选择工具:【Radar】 -> 【Interferometic 】-> 【Unwrapping】 -> 【Snaphu-unwrapping】。
在【I/O Parameters】中选择上一步输出的Phase… .img文件。
在【Processing Parameters】中勾选【Display execution output】和选择输出的文件夹【Unwrapping】。
在这里提一下,解缠成功的话窗口会如上图所示,解缠失败的我目前遇到的只有【abort】的问题,如下图所示。具体的问题具体分析,通过英文提示,这里的问题是干涉图(Phase_ifg_...snaphu.img)和相干系数图(coh_...snaphu.img)行列数不一致。解决办法就是重新进行【Snaphu Export】。
在没有报错的情况下,进行下一步,将【Unwrapping】文件夹下新生成的“UnwPhase_ifg_IW2_VV_03Oct2024_15Oct2024.snaphu.img”解缠文件放进subset文件夹内。
此时的subset完整的文件应如下,总共七个:
③ Snaphu Import
选择工具:【Radar】 -> 【Interferometic】 ->【 Unwrapping】-> 【Snaphu Import】。
在1-Read-Phase 选择上一步滤波后并裁剪过的结果。
在2-Read-Unwrapped-Phase 选择UnwPhase的头文件(.hrd)。
在3-SnaphuImport勾选Do NOT save Wrapped interferogram in the target product。
最后在4-Write中输出的名字加上“_unw”,选择输出路径,我这里又换回【temp】,点击run运行。
输出的结果如下图所示:
注意:相位解缠的质量高度依赖于前期的配准、滤波和相干性控制,如果时间选择相隔较远的两幅影像,解缠的效果一般也会较差。
10、相高转换
选择工具:【Radar】 -> 【Interferometric】 -> 【Products】 -> 【Phase to Elevation】。
保持默认选择,输入的是上一步解缠的结果。
结果如下图所示:
11、地理编码
选择工具:【Radar】 -> 【Geometric】 -> 【Terrain Correction】 -> 【Range-Doppler Terrain Correction】。
保持默认设置,输入的文件是上一步相位转高结果。
结果如下图所示:
在菜单栏选择【File 】-> 【Export】,将结果输出为TIFF文件或者是KMZ文件。若是要在Google Earth打开则是KMZ文件。
三、结果可视化
(1)在ArcScene中打开,经过参数设置,结果如图所示,可能明显看出地形地势,效果还是不错的。若是参数不知道怎么设置,详见:ArcScene中DEM数据的三维显示
(2)在Google Earth打开,如下图所示
关于文章生成的DEM精度,有时间将会更新。