07-SNAP处理Sentinel-1 IW GRD数据
- 前言
- Sentinel-1 IW GRD级数据与SLC级数据的区别
- 将Sentinel-1 IWSLC级产品转化为GRD级产品
- 数据
- 查看原始数据的波段
- 轨道校正
- 热噪声去除
- 热噪声的成因
- 热噪声的影响
- 具体操作
- 辐射定标
- 多视
- 相干斑滤波
- 滤波效果
- 地形校正
- 分贝化
- 流程图预处理
- 镶嵌与裁剪
- 镶嵌
- 方式1:普通SAR镶嵌
- 方式2:栅格镶嵌
- 方式3:TOPSAR技术镶嵌
- 结论
- 裁剪
- 规则裁剪
- 不规则裁剪
- 结语
- 参考文献
前言
最近忙着做老板的项目,这篇博客拖得有些久了。目前来看,Sentinel-1 IW GRD等级数据,是非常常用的SAR数据,尽管其仅仅携带了振幅信息,通常只能普通SAR处理,但其应用是很广泛的,常见的是普通的SAR地物分类,目标检测,植被、海洋参数反演等。因此,对于搞SAR的研究人员来说,了解和实现其通常的预处理操作是必要的,尽管普通SAR数据处理流程是相似的。
如果你对欧空局开源遥感处理软件SNAP及其snappy开发处理感兴趣,可以加入博主创建的欧空局SNAP处理交流群:665903216(最近许多人加这个群,但这个群已满人),欧空SNAP处理交流群(二):1102493346。
本文的某些操作与06篇的操作是相同的,但是某一些操作仍然需要强调一下,因此,本文仍然会给出一个相对较为详细的介绍。
Sentinel-1 IW GRD级数据与SLC级数据的区别
如果你想知道Sentinel-1拍摄模式和不同等级产品数据的定义,请看06篇博客中Sentinel-1数据产品模式简介部分的介绍。
Sentinel-1 IW GRD级数据是由SLC级经过经过多视处理、采用WGS84 椭球投影至地距的聚焦数据,因此地距坐标是斜距坐标投影至地球椭球后的成果,需要注意的是斜距到地距的转换并不是真正意义上的地理编码或者地形校正,仅仅是投影了。(range:斜距向,ground range:地距向,这里的地面你可以看成是WGS84椭球体的细小表面(可以看作平面))
不过,由于做了多视处理,其数据量相较SLC级数据要小许多。其像素信息代表监测区域的幅度信息,而相位信息则被丢失,所以该等级数据是无法做PolSAR或者InSAR处理的。该产品在方位向和距离向分辨率一致,在降低斑点噪声的同时降低几何分辨率。相对于SLC 数据而言,GRD 数据做了消除热噪声的操作以提高图像质量。
将Sentinel-1 IWSLC级产品转化为GRD级产品
SNAP中S1工具箱带有将Sentinel-1 IW SLC转换为GRD的工具,打开Radar—>Sentinel-1 TOPS—>S-1 SLC to GRD:
(这里使用上一篇博客中的一幅SLC影像为例)
你可以看到转换时的一系列处理:
依次是热噪声去除,辐射定标,TOPSAR-Debusrt,多视滤波,相干斑滤波,斜距变地距,GRD(这个是空白操作)。
一般,如果你需要将SLC转换GRD,保持默认的参数就可以(当然,滤波器,多视等是可以调整的,寻找最优值需要经验,默认的参数,通常是适用的)。但是,生成的结果与GRD产品数据不完全一样(一般在欧空局哥白尼数据中心下载的S1 IW GRD产品没有经过辐射定标处理),这个转换操作多了辐射定标的处理,但像轨道校正,地形校正等是没有进行处理的。
结果(下图Bands文件夹下的Sigma0_VH,Sigma0_VV波段分别表示VH和VV通道的后向散射系数 σ 0 \sigma_0 σ0):
这样的处理,通常不及直接下载Sentinel-1 IW GRD级的产品数据来得方便一些。
数据
本文所用的数据为2019年8月28日覆盖整个上海市的两景Sentinel-1 IW GRD级影像:
S1A_IW_GRDH_1SDV_20190828T095450_20190828T095515_028768_034210_A6E9.zip
S1A_IW_GRDH_1SDV_20190828T095515_20190828T095540_028768_034210_860C.zip
其范围如下图所示:
下文以S1A_IW_GRDH_1SDV_20190828T095515_20190828T095540_028768_034210_860C.zip
该景数据为例演示其操作,将该数据(.zip文件)拖入SNAP的Product Explorer窗口中,在SNAP打开后如下图所示:
查看原始数据的波段
点开该窗口Bands文件夹,可以看到其中4个波段,Amplitude_VH波段表示VH通道的振幅,Intensity_VH波段表示VH通道的强度(振幅的平方),剩下的VV通道意义类似。注意Intensity_VH前面有个“V“的标志(V是”Virtual“的前缀,虚拟之意),这表示该波段是在内存中临时产生虚拟的波段,不是实际存储在硬盘的波段。见上图。
轨道校正
该操作会自动下载精确的轨道文件并更新Sentinel-1卫星数据中元数据文件(.xml)中的Sentinel-1卫星轨道状态信息,默认的元数据文件中轨道状态数据精度不是很高。这个精确的轨道文件通常需要两周左右才能产生,一般来说,如果可以更新更精确的轨道位置,这个操作应该做,特别是在需要较高的配准处理时。(注意,这个操作需要联网,因为需要联网下载精确轨道文件)
具体操作,选择Radar—>Apply Orbit File,打开对应的窗口:
I/O Parameters(输入输出参数)面板
Processing Parameters(处理参数)面板中:
设置好参数,点击Run即可。该操作很快,一两分钟便处理好了,应该仅仅替换元数据文件(.xml)的某些内容。该操作不会改变其波段内容,因此,其影像是相同的:
热噪声去除
热噪声的成因
为何会有热噪声?
热噪声是SAR卫星系统自带的噪声(可以看作背景噪声),SAR是主动成像的,需要发射机发出电磁波信号(能量),你可以想像一下,SAR天线从发出电磁波到接收电磁波所经历的距离(Sentinel-1卫星距地面高度约700km),由于存在波的球面扩散效应,能量呈距离平方反比衰减,所以,你可以想象发射机大概需要多大的功率,需要发出多强的能量,考虑到这点,你会想到SAR卫星装置(发射机、功率放大器、接收机等)内部的热量(热损耗)不可以忽视的。
热噪声的影响
这样看来,获取到的SAR影像应该都带有热噪声,热噪声会影响估计得到雷达后向散射信号精度,但是一切都是相对的,如果我们接收到的SAR有效信号比其强得多(即信噪比高),热噪声影响是可以忽略的。对于Sentinel-1卫星来说,这是一个可选的预处理操作。(其实,这是SAR卫星造价非常昂贵(造价通常是被动遥感光学卫星的几十倍)的原因之一,需要主动发射能量,研制一颗SAR卫星的难题不止发射机功率的问题。SAR卫星的研制是很大难度的,我国也是在2016年才有第一颗星载SAR卫星(高分三号,GF-3),尽管和国外还有很大差距)。
具体操作
选择Radar—>Radiometric—>S-1 Thermal Noise,打开该操作窗口:
I/O 参数面板如下:
(注意,输出的文件名需要手动添加一下后缀)
Processing Parameters面板:
保持默认参数就可以:
确认参数无误后,点击Run即可(大约需要十几分钟的时间)。结果如下所示:(尽管得到的是强度信息,不是振幅,不过,这不会影响后续的辐射定标过程)
辐射定标
辐射定标是接收的后向散射信号(能量)转化为有单位的物理量(有一些是没有单位的比例值),比如这里的后向散射系数。对于SAR数据而言,由于云层的穿透性,只需要做辐射定标操作即可,不存在光学影像的大气校正操作。
具体操作:Radar—>Calibrate:
I/O Parameters面板保持默认就行(也可以修改输出的文件名和目录)
Processing Parameters参数面板:
(保持默认的勾选选项)
一般我们都是使用归一化的雷达后向散射系数(雷达散射截面)sigma0( σ 0 \sigma_0 σ0)即可以,不会探讨后向散射系数sigma0( σ 0 \sigma_0 σ0),gamma0( γ 0 \gamma_0 γ0)和beta0( β 0 \beta_0 β0)的区别,后两者是在 σ 0 \sigma_0 σ0上做了一点修正后得到,具体的修正可以参考微波或者雷达遥感的教材。这三者由对复数的振幅(强度)定标后得到。
确认无误后,点击Run。结果如下:
多视
这是一个可选的操作。前面提到GRD级数据已经经过多视处理的了,其像素代表为正方形的地面区域。尽管还可以进一步做多视,因为多视可以消除或者减弱相干斑的影响,但是,多视会降低影像的分辨率(尽管这也减少数据量)。这里,博客里不做这个操作,但是展示一下该操作的参数。后面使用滤波器消除或减弱相干斑的影响。
具体操作:Radar—>Multilooking
Processing Parameters:
设置好对应的参数,点击Run即可。
相干斑滤波
相干斑是SAR影像常见的现象,对于SAR分类等应用来说,这是噪声,但是对于InSAR等来说,确实有效信号。去除相干斑的滤波器有多种,这里使用的Refined Lee滤波器(改进的Lee滤波器),这是目前最常用的相干斑滤波器,它是一种自适应滤波器(滤波窗口可以根据区域自动调整),处理效果较为出色。这里,不会讲解太多的滤波算法原理,感兴趣的话,可以找下相关的教材和论文。
具体操作:Radar—>Speckle Filtering—>Single Product Speckle Filter
I/O Parameters参数面板:
Processing Parameters参数面板:
(Refined Lee滤波器其实还有一个默认的滤波窗口大小设置,但是SNAP中默认为7x7,你可以点击该参数面板的Help看下其参数介绍)
设置好对应的参数后,点击Run即可。滤波结果(保留打开的数据集4的VH通道后向散射系数sigma0):
滤波效果
点击Windows—>Tile Horizontally(水平分屏显示影像)
水平分屏后,一些设置(主要在Navigation(导航)窗口上):
放大到局部,进行对比。仔细观看下面红色圈的两个区域,可以看到右边的图像斑点明显少于左边的,右边像素(小邻域范围)要均匀一些。
地形校正
有一些SAR软件(例如PolSARpro)将地形校正校正功能命名为地理编码,可以接受,但是更严格来说,这是不严谨的,地形校正除了地理编码(赋予影像实际坐标信息)外,还会做地形辐射校正。这是搞SAR需要区分的地方之一。
先关闭打开的数据集4和5的Sigma0_VH通道影像,继续进行地形校正操作。
操作:Radar—>Geometric—>Terrain Correction—> Range-Doppler Terrain Correction(距离多普勒法地形校正)
(这一步需要联网,因为需要下载DEM数据,否则可能会报错(尽管允许使用外部的DEM,但是这很容易出错))
I/O Parameters面板参数:
Processing Parameters:
上述的参数除了DEM掩膜的数据外都不需要调整,当然,也可结合自身情况手动调整。
确认无误后,点击Run即可(大约需要1小时左右的时间)。
可以加上SNAP中自带的Nasa World map世界底图验证一下几何校正的效果:
分贝化
上述处理后得到的是线性比例单位的后向散射系数,其值通常是很小很小的正值(接收器接收的雷达后向散射(或者说功率)是很小,主要原因是传输距离远)。
我们知道声音的响度单位是分贝,因为我们的耳朵对声响的敏感程度(声敏)与功率呈现对数关系,所以声音中经常使用分贝(dB)这个单位。分贝化(实际上是一种对数变换)有几个好处:一是分贝化的雷达后向散射系数范围近似常见的高斯分布;二是雷达后向散射系数分贝化后,数据的存储位数可以变小(可以由双精度的double型数据存为float浮点型数据),节省存储空间;三是雷达后向散射系数分贝化后,可视化以及数据分析上更方便。
分贝化的公式为 d B = 10 ∗ l o g 10 ( P / P 0 ) dB=10*{log}_{10}(P/P_0) dB=10∗log10(P/P0),其中 P P P, P 0 P_0 P0分别表示目标量和参考量。对于后向散射系数 σ 0 {\sigma}_0 σ0而言,分贝化,实际上是执行下述的对数变换: σ 0 ( d B ) = 10 ∗ l o g 10 σ 0 \sigma_0(dB)=10*log_{10}\sigma_0 σ0(dB)=10∗log10σ0。
具体操作:Raster—>Data Conversion—>Converts bands to/from db
I/O Parameters面板:
Processing Parameters面板参数:
保持默认参数就OK
确认参数无误后,点击Run(大约需要几十分钟时间)。
结果(影像显得更白和亮一些):
可以看下影像像素值的分布情况(粗略的统计,精确的统计比较耗时,SNAP中打开影像时默认是5%拉伸):在左下方的colour Manipulation(颜色操作面板)中可以看到其粗略的分布情况,其数值集中在前面(因为没有分贝化,后向散射系数的值是很小很小的)
分布化后的像素值(粗略)统计分布情况(SNAP中打开影像时默认是5%拉伸):
可以看到其分布呈是近似看作由几个高斯分布构成的,这是分贝化后的一个效果。
至此一个较完整的Sentinel-1 IW GRD数据预处理已经结束了。
流程图预处理
为了演示后面镶嵌的操作,我们需要对另一景Sentinel-1 IW GRD数据完成预处理过程。我们关闭上述的创建数据集1-7,并关闭SNAP,以便释放内存,然后重新打开SNAP,导入另一景Sentinel-1 IW GRD数据,然后使用流程图方式快速完成预处理过程(上述分步过程需要耗费个小时的处理时间,使用流程图仅需十几分钟):
流程图工具使用介绍,请看博客04-SNAP处理Sentinel-2 L2A级数据(二)波段叠加那步流程图创建过程。
创建的流程图如下:
各个步骤(没有多视步骤)的参数设置:
热噪声去除(这步是可选的):
轨道校正:
辐射定标:
相干斑滤波:
地形校正:
分贝化:
输出:
确认无误后,点击Run。
结果:
镶嵌与裁剪
镶嵌
镶嵌在SNAP中有几种方式。一般而言,应尽可能使用同源近乎同一时间的影像进行镶嵌,这样才可能获得较好的镶嵌效果(没有色差或色差很小)。这里使用的是同一天顺轨的两幅Sentinel-1 IW GRD影像来镶嵌,最终得到一幅覆盖整个上海市的Sentinel-1 SAR影像。
先在SNAP中导入上述两幅预处理后的影像。
注意,一般方式1和2只有在影像地理编码后才会有较好的效果。
方式1:普通SAR镶嵌
操作:Radar—>Geometric—>SAR-Mosaic
这种镶嵌方式是SNAP中通用的SAR镶嵌方式(对于顺轨和交轨的SAR镶嵌皆适用情况)
ProductSet-Reader参数面板:
SAR-Mosaic参数面板:
Write参数面板:
确认好上述参数后,点击Run即可(花费的时间视电脑内存等配置确定,博主这里花了3个半小时)。
结果:
VH通道:
VV通道:
VV通道中有明显色差分界线,VH通道看不到,主要因为VH的数值相对VV的后向散射小。
RGB图效果:
可以看到明显的色差分界线。
方式2:栅格镶嵌
使用普通的通用栅格镶嵌工具完成镶嵌,参考博客03-SNAP处理Sentinel-2 L2A级数据(一)中的普通镶嵌操作,下面只给出各个面板参数的参数。
操作:Raster—>Geometric Operations—>Mosaicing
I/O参数面板:
Map Projection Definition面板参数:
Variables & Conditions 面板参数
确认无误后点击Run(博主大概耗费了1个半小时得到结果)。
结果:
VH通道:
VV通道:
RGB图;
可以看到,生成RGB图中间部分仍是有点色差的分界线(分界线上还有一些白色的亮点)
方式3:TOPSAR技术镶嵌
对于顺轨相连(上下相邻)的两景Sentinel-1 IW GRD影像还可以使用TOPSAR Slice Assembly操作来完成镶嵌。但是,要注意顺序,使用这种方式镶嵌的话,TOPSAR Slice Assembly 在V6.0以下的SNAP中处理一定要地形校正那步之前(否则会出错,据说SNAP7.0已经修复这个bug,但我没有测试过)。
该操作位于:Radar—> Sentinel-1 TOPS—>TOPSAR Slice Assembly。
但是,前面预处理得到的是地形校正后的影像。我们利用原始数据(压缩包)和流程图快速完成这两景顺轨的Sentinel-1 IW GRD影像预处理和镶嵌过程(博主花了半小时)。
流程图工具使用介绍,请看博客04-SNAP处理Sentinel-2 L2A级数据(二)波段叠加那步流程图创建过程。
在SNAP中导入两景Sentinel-1 IW GRD影像原始数据(压缩包形式即可),创建下面的流程图处理过程:
Read2:
ThermalNoiseRemoval(热噪声去除):
Apply-Orbit-File(轨道校正):
ThermalNoiseRemoval(2)(热噪声去除2):
Apply-Orbit-File(2)(轨道校正2):
Calibration(辐射定标):
Calibration(2)(辐射定标2):
SliceAssembly(TOPSAR切片组装,TOPSAR镶嵌):
Speckle-Filter(相干斑滤波):
Terrian-Correction(地形校正):
LinearToFromdB(分贝化):
Write:
确认上述面板的参数,点击Run即可(大约需要等待半小时)。
结果:
VH通道:
VV通道:
RGB图:
看不到明显的分界线,这是TOPSAR镶嵌实际上根据原来IW的burst带信息拼接起来的(如果把burst带可以地板砖的话,这个过程就像铺地板砖一样,可以在上下连接处无缝连接起来)
结论
对于同一天的顺轨两景(或多景)影像镶嵌使用TOPSAR镶嵌方式镶嵌能获得最好的镶嵌效果;如果对于交轨的两景(或多景)可以使用SAR-Mosaic或者普通栅格镶嵌方式镶嵌,SAR-Masaic设置更方便一些,普通栅格镶嵌要繁琐一些,效果上两者差别不大,具体选哪种需要结合实际效果判断(这里似乎普通栅格镶嵌方式镶嵌效果似乎好点,但是后期SNAP官方还会对SAR-Mosaic操作进行改进,那就难料了)。
裁剪
对于小研究区而言,裁剪这步可以放在轨道校正之前,这样可以减少后续处理的数据量。
规则裁剪
操作:Raster—>Subset
参考03-SNAP处理Sentinel-2 L2A级数据(一)博主中的栅格操作部分。
我利用上一步镶嵌起来的整幅覆盖上海市的Sentinel-1 IW GRD影像裁剪出崇明岛区域部分:
结果(注意裁剪后的数据集是在内存中生成的,需要在数据集名上右击,弹出窗口点击Save Product才能写入磁盘):
不规则裁剪
这个操作是借助矢量掩膜功能实现的。
参见05-SNAP处理Sentinel-2 L2A级数据(三)博客区域掩膜(裁剪)操作部分,如果需要自己勾绘掩膜区域的话,请看该篇博客的创建样本集部分内容(不同的是掩膜区域可能只需要一个不规则的多边形即可)。
我们利用上面规则裁剪后的数据集继续进行不规则裁剪,先用SNAP的多边形工具勾绘一个覆盖崇明岛的多边形区域:
具体操作:Raster—>Masks—>Land/Sea Mask
I/O参数面板:
Processing Parameters参数面板:
结果:
(注意掩膜是在原数据上进行的,得到的范围和原影像是一样,如果你想缩小到多边形的边界范围,你需要再用一次规则裁剪操作。)
默认打开的掩膜裁剪的影像,会显示矢量多边形,可以在图层管理器窗口上把它关闭。
一般来说,掩膜操作一般放在出图的最后步骤里。Nice! The End!
结语
关于SNAP中对Sentinel-1 IW GRD的预处理操作介绍到这里。07篇博客后,关于SNAP对Sentinel-1、Sentinel-2的预处理的基础部分已经差不多,接下会分篇介绍SNAP中命令行工具gpt、snappy包、欧空局专题云开发平台等内容,再往后会介绍一下SNAP实现Sentinel-1、Sentinel-2数据等数据应用。后面的博客,涉及到基础预处理部分,将略过。前面介绍的SNAP一些常见的基础处理操作,建议使用SNAP的同志多熟悉一下,其操作参数在后面使用gpt和snappy工具会用到。许多事情是需要循序渐进的,前面的预处理基础操作虽然比较费时间,但是
绝对不是没作用的,最起码会加深了你对遥感影像处理过程的了解(为什么要这样做,为什么需要这个参数,为什么这个参数需要这样设置等)。
许多人在催我更新博客,但是一篇较高质量的博客需要花费好几天的时间(而且博主还要测试几次,才敢写),博主只能说有空时会加快更新的速度。如无意外,一般一个月会更新一篇博客。
最后,如果你对欧空局开源软件处理软件SNAP及其snappy开发处理感兴趣,可以加入博主创建的欧空局SNAP处理交流群:665903216(这个群已满人),欧空SNAP处理交流群(二):1102493346。
参考文献
[1] 杨魁, 杨建兵, 江冰茹. Sentinel-1卫星综述[J]. 城市勘测, 2015(02):26-29.
[2] lain H. Woodhouse著;董晓龙,徐星欧,徐曦煜译. 微波遥感导论[M]. 北京:科学出版社, 2014, 3.
[3] Sentinel-1 User Guides https://sentinel.esa.int/web/sentinel/user-guides/sentinel-1-sar
[4] Sentinel-1 Technical Guides https://sentinel.esa.int/web/sentinel/technical-guides/sentinel-1-sar