拓冰建站拓冰建站
首页 / 资讯中心 / 正文

哨兵一号数据处理实战:ENVI+SARscape的InSAR完整流程详解

刚接触哨兵一号数据的朋友最容易踩的坑就是兴冲冲把数据下载回来扔进ENVI里一打开发现屏幕上是一片灰蒙蒙的东西跟平时处理的光学影像完全不是一回事。你甚至看不到建筑物和道路更别提做什么地物分类了。问题不在于数据坏了而是在于你拿处理光学影像的思路去处理合成孔径雷达数据从底层逻辑就错了。哨兵一号Sentinel-1是欧洲空间局哥白尼计划里的雷达卫星全天时全天候成像能穿透云雨这些特性让它在滑坡监测、地面沉降、洪涝评估、海洋船舶检测这些场景里非常能打。但想把这些数据真正用起来单靠ENVI本身那套光学处理工具是不够的得挂上SARscape这个扩展模块让两者协同工作。ENVI负责影像基础管理和可视化SARscape负责专业的SAR处理链路从数据导入、配准、滤波、干涉到形变提取一步到位。这篇文章我把整套流程拆开讲清楚环境怎么搭、数据怎么导、参数怎么定、报错怎么排、结果怎么用。不是泛泛而谈是按我实际跑项目的习惯来写的读者不管是刚入门还是已经跑了几个流程的老手都应该能从里面拿走点有用的东西。1. 哨兵一号的数据特性决定了你不能拿它当光学影像处理1.1 一张图看清SAR数据与光学数据的差别哨兵一号是C波段SAR卫星工作频率约5.405GHz对应波长5.5厘米左右。它自带主动微波传感器自己发射电磁波脉冲并接收地面反射回来的回波信号不需要依赖太阳光照。这个特性带来两个直接结果白天黑夜都能成像所以叫全天时云层和雨雪对它基本透明所以叫全天候。但代价是SAR影像的物理含义跟光学影像完全不一样。光学影像记录的是地物对太阳光的反射率人眼看着直观SAR影像记录的是地物的后向散射强度灰度值取决于地物的介电常数、粗糙度、几何结构还有雷达波的入射角。比如平静的水面在SAR影像里是暗的镜面反射把能量弹走了而城市建成区因为角反射效应特别亮。这些规律需要专门的知识去解释不是靠眼睛看就能看明白的。SAR还有两个光学影像没有的麻烦。第一个是斑点噪声因为雷达回波是相干叠加同一块均匀地物在不同分辨单元里也会产生随机的亮暗起伏看起来像撒了一层盐和胡椒第二个是几何畸变侧视成像导致叠掩、透视收缩、阴影等现象在山区尤其明显不做几何校正就叠加分析结果会错得离谱。1.2 ENVI和SARscape各自扮演什么角色ENVI本身是个通用遥感平台影像打开、波段组合、光谱分析、面向对象分类这些它都很强。但涉及SAR的专有处理比如多视处理、干涉图生成、相位解缠、轨道精炼ENVI原生功能覆盖不到。SARscape就是补这个缺口的。它作为ENVI的扩展模块存在菜单栏里会多出一整套Sarscape工具本质上是一个第三方开发者针对SAR数据处理开发的插件包把Synthetic Aperture Radar领域常用的算法都集成进了ENVI的图形界面里。你不需要写代码去调Gamma或者GMTSAR鼠标点几下就能跑通一套InSAR流程。实际使用中两者的分工大概是这样的处理环节使用的工具作用数据浏览与质量初判ENVI快速查看影像范围、检查后向散射强度分布原始数据导入SARscape将SAFE格式转成SARscape自己的.si文件干涉组合与配准SARscape选择主影像、生成干涉像对、亚像元级配准滤波与解缠SARscape抑制斑点噪声、解算缠绕相位地形校正出图SARscape ENVI地理编码、辐射定标、结果可视化与制图结果后处理与专题图ENVI统计分析、制图、导出报告关键词是“协同”——SARscape跑计算ENVI做外围支撑两者互相配合才能把流程走得顺。2. 装环境是最容易翻车的一步版本、顺序与license2.1 版本匹配关系我见过太多人卡在第一步SARscape装上了菜单也出来了但一运行就报错或者干脆找不到模块。十有八九是版本对不上。SARscape不是独立安装就完事的它对ENVI的版本有严格依赖。不光主版本要匹配64位和32位也不能错现在基本都是64位了。常见的匹配关系大概是这样的以我实际用过的为准不同时期可能微调ENVI版本对应SARscape版本备注ENVI 5.3SARscape 5.2.x老组合稳定性好ENVI 5.5SARscape 5.5.x支持Sentinel-1较好ENVI 5.6SARscape 5.6.x新增了不少陆地处理工具ENVI 5.7SARscape 5.7.x新版本注意license兼容不是说你拿SARscape 5.6往ENVI 5.3里装就一定跑不了但我建议别挑战这种兼容性问题。SARscape安装程序在安装过程中要识别ENVI的安装目录版本不匹配时经常会出现识别不到或者初始化失败的状况浪费时间不说还容易让人误判是数据出了问题。2.2 安装顺序与配置要点正确顺序是先装ENVI再装SARscape最后装license文件。严格按这个顺序来。安装SARscape时它会自动探测ENVI的安装路径然后往ENVI的扩展目录里写入模块文件。装完之后启动ENVI正常情况下菜单栏里会出现“Sarscape”这一项。如果没有去ENVI的Extensions目录下看一眼SARscape相关文件夹在不在绝大多数情况都是没装全或者被安全软件拦了。License这块要单独说。SARscape需要专门的许可文件许可文件里注明了模块权限比如基本的“SARscape Basic”和进阶的“SARscape Interferometry”是分开授权的。你要是只装了Basic授权菜单里的干涉测量相关工具就是灰色不可点击的。所以安装完成后第一件事就是确认授权模块覆盖了你需要的功能范围。提示装完SARscape之后先不要急着导数据建议重启一次ENVI让软件重新扫描扩展模块。这一步能省掉很多莫名其妙的初始化问题。2.3 安装完成后必须做的三件事第一检查菜单栏是否出现Sarscape并随意点开一个工具确认能正常弹出参数面板。第二点开SARscape的Preferences偏好设置确认临时目录和缓存路径设置合理。默认路径可能在C盘系统盘如果数据量大C盘空间不够就会在跑干涉时报错。第三测试一下GPU加速。SARscape部分模块支持GPU并行计算如果你的机器有独立显卡在偏好设置里把GPU选项打开能明显加快滤波和干涉的计算速度。但注意不是所有模块都吃GPU有时候开了GPU反而报错那就先关掉用CPU跑稳定性优先。3. 数据源与导入拿到SAFE包之后该怎么喂给SARscape3.1 哨兵一号有哪几种模式和数据级别哨兵一号的工作模式有四种条带模式SM、干涉宽幅模式IW、超宽幅模式EW和波浪模式WV。其中IW是陆地区域默认观测模式也是做地面形变监测最常用的幅宽250公里分辨率5米乘20米。EW主要用在极地冰盖和海洋区域WV用于海洋动力参数反演。数据级别上哨兵一号官方提供两大类产品SLC单视复数和GRD地距多视。做干涉测量、形变反演这类要做相位分析的必须用SLC数据因为相位信息就在SLC里。GRD是把相位信息抹掉了的多视强度产品做后向散射分析、洪水制图、船舶检测可以用但做不了干涉。所以下载数据之前先想清楚目的。大多数人做沉降监测、滑坡排查别犹豫直接下IW模式的SLC数据双极化VVVH通常都下反正存储也不贵用不上就扔着。3.2 导入环节最容易被忽略的参数SARscape对哨兵一号的数据导入路径是Sarscape → Import → Import Data → SENTINEL-1 → Sentinel-1 SLC。选择好SAFE文件夹后系统会自动识别里面的清单文件。这里有几个参数需要仔细确认极化方式要选对。IW模式一般包含VV和VH两个极化通道。做干涉分析通常用同极化VV因为相干性更好尤其在植被覆盖区VV的干涉质量比VH高。导入时你可以只导VV也可以两个都导但后面的干涉流程里要用同一个极化的数据。输出路径不要放在中文或带空格的目录下。这在后面单独说但导入阶段就要养成习惯。还有一个容易被忽略的是“数据输出格式”。SARscape导入后会生成自己的.si文件和配套的.sml参数文件这些是后续处理的基础文件夹不要手动去改名字或移动位置SARscape是按照路径管理的。3.3 导入后的快速检查导入完成后用ENVI打开生成的.sml文件肉眼看一下影像范围对不对、后向散射强度分布是否合理。正常陆地场景应该是城市亮、水体暗、山体有阴影起伏。如果整幅图都是暗的或者出现大面积条纹可能是导入时选择的极化方式不对或者原始数据有问题。同时检查一下每个像元的大小。SLC数据的像元尺寸是2.3米乘14米左右多视处理后不一样SARscape在导入时会自动写入这些元数据你在文件头Header信息里能看到完整的描述。如果像元大小显示异常后面的地理编码肯定偏。导入这个环节是整套流程里最简单但最关键的一步。数据没导对后面所有处理都是白费力气。我见过有人把GRD当SLC导程序跑一半报出相位信息缺失的错误回头检查才发现数据级别选错了。4. 干涉测量全流程连接图、滤波、解缠与地理编码4.1 主影像选择与连接图生成干涉测量的原理是把同一地区两段时间不同、几何位置略有差异的雷达影像组合起来计算它们之间的相位差。这个相位差里包含地形相位、形变相位、大气延迟相位和噪声后续处理的本质就是一步步把这些成分拆开。首先要用Sarscape → Interferometry → Interferogram Generation → Connection Graph工具做干涉像对的连接图。核心工作有两块选主影像和确定像对组合。主影像的选择标准主要是时间基线、空间基线和多普勒质心频率差。SARscape的连接的图工具会自动评估这些参数并给出一个建议的最佳主影像它会自动选一个能让所有像对相干性整体最好的时间点。在没有特殊需求的情况下直接用自动推荐的主影像就行。但如果你有特定目的比如做某一灾区的应急形变分析那就要围绕灾害发生前后这个时间窗口来选像对不要机械地接受默认推荐。空间基线是个硬指标。正交基线越大干涉相位对地表微小形变的敏感性越高但相干性会下降。SARscape里用临界基线来过滤像对超过临界基线的组合会被标记为不可用。对哨兵一号来说它在设计上就是一个小基线星座重访周期6天两颗星轮流基线普遍很小所以绝大多数像对都能用这也是哨兵一号天生适合做InSAR的原因。4.2 干涉图生成和滤波参数怎么定连接图确认后下一步是跑干涉图生成。这一步内部做的事情很多根据精密轨道数据对像对做配准、重采样计算复干涉图做去平地效应还可以顺手生成相干性图。配准时SARscape默认的算法精度很高普通场景直接认默认参数就行。但在地形起伏大的区域如果配准质量不好后面干涉条纹会非常破碎。这时候要把配准里的DEM选项打开用外部DEM辅助配准能显著提升山区像对的配准质量。干涉图生成后会有一堆输出复干涉图、强度图、相干性图、去平后的干涉图等。先看相干性图它反映了两个时相地物散射特征的相似程度。相干性高0.4以上的区域形变信号可信度高相干性低低于0.2的区域基本就是噪声主导解缠都很困难。滤波是为了抑制斑点噪声对干涉图的干扰。SARscape里常用的是Goldstein滤波参数Alpha值控制滤波强度默认值是0.4到0.5之间。取值越大平滑越强条纹越连续但也容易把细节抹掉。城区这种相干性高的地方Alpha取0.3左右能保留更多细节植被区相干性差取0.5或更高才能让条纹看起来像样。4.3 相位解缠的选参策略相位解缠是整个InSAR流程里最烧脑也最容易出问题的环节。原始干涉相位是被包裹在-π到π之间的要恢复真实的相位变化就得进行解缠。SARscape里的解缠算法主要是基于最小费用流MCF的它会在低相干性区域自动设置“障碍”让解缠路径绕开不可靠的区域。解缠的关键参数有两个解缠方法和相干性阈值。解缠方法一般选Region Growing区域生长或Minimum Cost Flow。区域生长速度快适合相干性整体较高的区域最小费用流稳定性好适合场景复杂、相干性分布不均衡的地区。我个人的习惯是数据质量好就用区域生长植被多、山区多就用MCF。相干性阈值默认是0.2意思是相干性低于这个值的像元不参与解缠相当于被掩膜掉。阈值设得太低噪声会被纳入解缠结果出现明显的“跳变”现象——相位图上一块一块的不连续阈值设得太高有效解缠区域太少很多地方是空洞。这个参数没有绝对的黄金值建议跑完看一眼结果如果跳变严重就把阈值往上调0.25到0.35之间都可以试。4.4 轨道精炼、重去平与地理编码解缠做完不等于结束还有最关键的一步叫轨道精炼Refinement目的是去除因为轨道误差引起的残余相位趋势。SARscape的做法是让你在残余相位图或形变图上选地面控制点GCP用这些点的已知信息来拟合轨道误差并扣除。选GCP有几个原则不能选在有残余条纹的地方说明相位还没解干净、不能选在形变区否则会把真实形变当误差去掉、不能选在低相干区域。最理想的控制点是稳定、相干性高、无明显形变的裸露地表或人工建筑。实际操作中我会在控制点表里加至少十几个点尽量均匀分布在全图范围而不是挤在一块。轨道精炼完成后如果用的是单像对流程SARscape会生成一个“Phase to Displacement”的步骤把残余相位转换成雷达视线向LOS的形变量。最后用地理编码工具把结果投影到标准地理坐标系通常选UTM投影和你的DEM投影一致输出成GeoTIFF就能在ENVI里直接叠加到光学影像或地形图上做分析了。5. 高频报错排查process unexpectedly terminated和它的亲戚们5.1 SARscape process unexpectedly terminated究竟是哪一环出了问题这句话应该是运行SARscape的人最常见的噩梦。SARscape是个在ENVI进程里跑的插件一旦底层算法计算出问题或者资源不足整个进程就会崩掉弹窗里只有这句干巴巴的提示没有任何具体错误码。我总结下来最常引发这个报错的原因有三个。一是数据路径问题。路径里有中文、有空格、有特殊符号SARscape底层算法对这些支持极差一旦读不到文件就崩溃。解决方案很粗暴所有数据放到纯英文路径下目录层级尽量浅比如D:\Data\S1\下面建个子文件夹存数据就完了。二是磁盘空间不够。干涉处理中间文件非常大尤其是一组时序影像同时处理时中间产物动辄几十GB。SARscape在写临时文件时发现磁盘满了不会优雅地提示而是直接让整个进程死掉。建议预留至少原始数据三倍以上的可用磁盘空间。三是内存不足。SARscape的很多步骤不支持分块处理需要在内存里加载整个景或大块数据。32GB内存的机器跑标准景勉强够但做时序分析一次性载入几十景就很容易爆内存。这时候没什么好办法加内存或者减少同时处理的影像数量。5.2 内存和磁盘的账得提前算这里我给出一个粗略的估算方法一景哨兵一号IW模式的SLC数据导入后大约3到5GB干涉处理产生的中间文件配准后的SLC、滤波后的干涉图、解缠结果加起来大约是原始数据的5到8倍。如果你做12景的时序处理光中间文件就可能超过200GB。所以开始处理一个项目前先做三件事确认磁盘剩余空间是预估数据量的2倍以上确认内存足够大16GB是下限32GB起步舒服64GB可以流畅处理时序、确认系统临时目录所在盘符空间充足——SARscape的临时文件默认放在系统Temp目录不在你的数据盘上。5.3 轨道文件下载失败的退路干涉处理需要用到精确轨道信息。哨兵一号之前提供了两套轨道产品辅助轨道AUX_POEORB精度高但晚了几天和预报轨道AUX_RESORB出炉快但精度差一截。SARscape会自动尝试下载精确轨道文件但经常因为网络连接不稳定而失败。处理办法很简单。预测到要跑干涉前先手动把对应时段的轨道文件下载好放到SARscape可识别的目录里。SARscape的偏好设置里可以指定轨道文件的存放目录下载好的文件放进去程序运行时会优先读本地文件。如果手动下载的轨道文件也报错多数是格式不匹配或者文件名不规范。命名要按照官方规则来不要随便改文件名。6. 典型应用城区地表沉降的时序形变分析6.1 从一组影像到沉降速率图的完整路线哨兵一号时序形变分析最典型的方向是城市地面沉降监测。过去做沉降监测要布设水准点或GPS连续站成本高、点密度稀。用InSAR技术一发卫星影像就能提供上百万个测点密度和覆盖范围完全不在一个量级。我自己跑过的案例是华东某城市区用了12景IW模式SLC数据时间跨度8个月跑的是小基线集SBAS路线SARscape里有独立的SBAS模块要分几步走先做连接图和干涉像对生成再做轨道精炼和重去平然后做SBAS反演最后做地理编码。这里要特别提醒的是SARscape的SBAS流程对像对数量有要求。不是说两景影像就能跑SBAS至少需要一组影像通常8景以上像对组合越多反演的形变序列越平滑可靠。如果你只有三五景数据老老实实做单像对干涉就行别强行上时序。SBAS反演完成后输出的沉降速率图通常叠加到光学影像或高精度地形底图上在ENVI里再做个简单的阈值分类把沉降速率超过-10毫米/年的区域标红就是一张非常直观的灾害风险图。6.2 精度验证的实操做法用InSAR测出来的形变速率不能直接当成真值。常用的验证方法有两种。第一种是跟外部测量数据比。如果研究区里有水准点、GPS站或者IGS站就把它们坐标处的InSAR视线向形变值提取出来和目标水准数据进行回归分析。理论上如果在理想条件下极小的大气误差、完美的解缠两者的R²应该在0.8以上。实际能做到0.7左右就算比较可信了。第二种是看时序形变的内部一致性。同一地区的形变速率不管用哪几个像对组合来算结果都应该大致吻合。如果在同一时间窗口下不同像对组合算出来的形变速率差超过3毫米/年说明处理质量有问题需要回到滤波或解缠环节排查。6.3 进一步拓展方向哨兵一号时序数据不只是吃沉降一个方向。SARscape的成果可以拿来接后续的很多分析比如在滑坡隐患早期识别里用InSAR测出来的微小形变速率识别潜在滑动体再结合光学影像判断边界比单纯靠肉眼解释卫星影像高效得多。再比如城市基础设施监测地铁沿线、高架桥、大坝这类人工建筑的形变热点都能从时序形变成果里观测到。配合PS-InSAR技术SARscape也有专门模块还能提取到单个建筑物级别的稳定散射体形变信息。海冰监测和洪水快速制图用GRD数据的后向散射变化就行处理流程比干涉简单得多但也能和干涉结果形成互补。从我个人的使用体会来说ENVI加SARscape这套组合最大的优点是门槛低、路径清晰。缺点也很明显——流程中间过程的参数选择确实需要经验积累很多参数没有绝对的对错只能根据场景反复试。最后分享一个实用小技巧处理大批量时序数据的时候把每一步的中间结果都保存好不要急着覆盖。因为某个参数调了之后效果反而变差的情况太常见了能随时回到上一步重新来比从头再跑一遍省太多时间。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门