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

SBAS-InSAR流程实操:从哨兵数据到SARscape出图避坑指南

干过几轮SBAS-InSAR的人应该都有同感这个技术路线做地表形变监测确实好用但中间每一步都藏着坑数据导入、基线选择、干涉网络构建、相位解缠、大气相位分离稍不留神处理结果就是一张漂亮的花屏。这篇文章就把我平时跑的一套SBAS-InSAR流程完整拆开讲从哨兵一号数据下载到SARscape出图工具链选用SARscapeENVI插件版把参数设置、操作顺序、避坑技巧都写成可以直接抄作业的版本。内容面向正在入门InSAR的遥感方向研究生、测绘从业者以及需要周期性形变监测结果但不想整套源码从零写的工程师。看完你会发现SBAS这条路走通并不难真正的关键点其实就几个。1. 开始之前SBAS-InSAR能做什么SARscape为什么绕不开1.1 一句话说清SBAS-InSAR的适用场景SBASSmall BAseline Subset短基线集是时序InSAR里最成熟、最稳的一种方法。它的核心思路是把影像按照时间基线和空间基线划分成若干个小集合集合内部干涉对基线短、相干性好集合之间用奇异值分解SVD把多个小集合联合起来求解最后得到整个时间跨度上的地表形变序列和平均形变速率。相比单次干涉测量D-InSARSBAS能大幅降低时空去相干和大气延迟带来的误差最适合用于城市沉降、矿区地表移动、滑坡缓慢变形、活动断层微形变这类变化慢但持续存在的场景。实际应用里面我们拿到一批哨兵一号Sentinel-1的SLC影像用SBAS处理后输出的产品是一段时间内的平均形变速率图mm/year和每个时间节点的累积形变图。这个结果可以直接导入GIS做灾害风险评估也可以继续做时间序列分析找形变拐点。1.2 为什么SARscape在这个流程里几乎是默认选项如果不想从零写StaMPS或者自己搭GAMMA、ISCE的框架SARscape是目前门槛最低、流程最完整的商业软件包。它深度集成在ENVI里图形化操作SBAS整个流程被拆成了几个固定步骤每一步都有可视化中间成果方便排查问题。加上它对哨兵一号的支持很到位数据导入、轨道精炼、解缠这些环节基本都做成了点几下鼠标就能跑完的状态。有一点我要提醒SARscape的算法思想其实和GAMMA/ISCE是相通的所以哪怕你以后换开源方案处理思路和参数理解依然适用。这也是为什么我建议新手先用SARscape把全流程跑通一遍再决定要不要深入底层代码。2. 数据准备下载、组织、校验2.1 需要哪些数据影像、精密轨道、DEM做SBAS-InSAR准备数据这一步至少占整个流程30%的精力。别嫌烦数据没准备好后面处理全是白费功。第一是SLC影像。哨兵一号的IW模式干涉宽幅是形变监测最常用的分辨率5m×20m幅宽250km。建议获取同一轨道号、同一方向升轨或降轨的连续时间序列影像数量最少12景最好15景以上。景数太少干涉组合和时序反演都会受限。第二是精密轨道数据。哨兵一号下载的时候会带一个粗略轨道内嵌在元数据里但做干涉最好还是加一个POD精密轨道产品AUX_POEORC版本按需下载。SARscape里设置好精密轨道目录后导入SLC时能自动匹配轨道文件把轨道误差对干涉条纹的影响降到最低。第三是外部DEM主要用于干涉图去平地效应、地形相位模拟和地理编码。我一般用SRTM 30米分辨率SARscape的流程里可以直接选择自动从网上下载或本地已有DEM。如果你的研究区地形起伏很大可以换ALOS World 3D 30米或者更高分辨率的DEM效果会更稳。第四是GACOS大气改正数据可选但强烈推荐。GACOS是基于ECMWF气象再分析数据生成的对流层延迟栅格能有效消弱大气水汽引起的相位延迟。有的处理教程直接跳过但其实在气象活跃或者地形高差大的区域是否做GACOS改正结果差别很大。这个后面在常见问题里专门说因为我碰到太多人问ENVI的SARscape里没有GACOS怎么办。2.2 数据组织与规范路径、格式、主影像选择前的基线检查准备数据的时候建议把原始数据统一放到一个纯英文路径的目录下比如F:\SBAS_data\raw\。文件夹名和影像文件名不要出现中文、空格、括号更不要放在网盘同步目录里。SARscape对ASCII字符路径有严格要求很多莫名其妙的process unexpectedly terminated其实就是路径问题。哨兵一号SLC数据一般下载下来是ZIP压缩包不用解压也能直接导入但导入时最好保持压缩包名字是欧空局官方命名格式如S1A_IW_SLC__1SDV_20240101T...zip这样SARscape能正确解析轨道号、日期、极化信息。我个人习惯是下载后先不解压用一个小脚本把一个时间段内的ZIP统一拷贝到同一目录做好日期清单再一次性导入。导入之前还要做一个最小质控检查影像的轨道号、方向、极化是否一致时间间隔是否有明显缺帧。这一步可以用ENVI的文件浏览器直接打开或者简单看一眼文件名就能判断。等到导入完成后不要急着跑流程。SARscape里有一项基线估算Generate Baseline输入主影像和所有从影像后会自动生成时空基线分布图。这份基线图能帮你判断当前这批数据适不适合做SBAS——如果大部分干涉对的空间基线超过300米或者时间基线分布极不均匀建议删掉一些坏影像重新组合。选主影像时SARscape会给出建议通常推荐时间序列中部某景使得所有干涉对的整体相干性最高我一般会优先采纳它的推荐再把个别基线特别离谱的景从名单里剔掉。3. 环境搭建SARscape安装与基础配置要点3.1 ENVI与SARscape版本匹配安装SARscape最重要的一件事就是版本匹配。它不是独立程序而是作为ENVI的插件运行ENVI主版本和SARscape模块版本必须对应。常见组合比如ENVI 5.3配SARscape 5.2.6ENVI 5.6配SARscape 5.7这只是一个示例具体版本号以购买授权时的说明为准。如果你装了ENVI 2022但SARscape还是老版本打开ENVI后Toolbox里根本找不到SARscape图标或者点击后直接无响应。安装流程一般是这样先装好对应版本的ENVI。关闭ENVI以管理员身份运行SARscape安装包。安装过程中选择ENVI安装目录程序会自动注册模块文件。把License文件放到SARscape安装目录的license文件夹里具体方式以官方说明为准。启动ENVI看到SARscape菜单出现在菜单栏并且点击初始化后能加载底板才算成功。如果你是第一次装强烈建议在磁盘充足的位置安装因为SBAS处理会产生大量临时文件和中间结果特别是干涉图和解缠图动辄几百GB都不是夸张。临时目录默认一般指向系统盘比如C:\SARscape_Temp建议把它改到工作盘的大空目录里——改路径在SARscape Preferences里里面还可以设置数据并行计算的核数、默认DEM、轨道目录等。3.2 安装后最容易出的几个问题装完后打开ENVI没有SARscape菜单是最常见的情况。排查顺序我建议这么做先看安装目录是否生成了对应版本的文件夹再看License文件是否放对位置最后确认ENVI版本与SARscape版本是否在官方支持矩阵内。三者都没问题时可以试试删除ENVI的AppData缓存目录重启。另一个高频问题是SARscape process unexpectedly terminated。这个报错很笼统但80%的原因是磁盘空间不足、输入路径错误、内存不够、或者处理过程中读到了坏数据。解决办法去工作区里找到SARscape_Int日志文件一般是工程目录下的Log或错误弹窗里显示的日志路径打开后拉到末尾能看到更具体的错误描述。比如某个文件的指针找不到、某块内存无法分配等。日志里通常会定位到是导入的那一步出问题还是在干涉计算中出问题再针对性处理。4. 主流程实操从SLC到形变时间序列图4.1 数据导入与基线估算正式流程第一步是导入数据。菜单路径SARscape - Import Data - SI/S1 - Single SLC版本不同名称略有差异但整体结构一致。选择你的ZIP文件目录或已经人工目录匹配的SLC文件设置好极化通常选VV哨兵默认发射的是VV可选VH做辅助分析但没必要铺开输出目录选一个纯英文路径。导入完成后会生成两个核心文件.slc和.sml参数文件。.sml里存了精确轨道、时间戳、多普勒中心频率等后面所有干涉计算靠的都是它。导入完成后菜单栏执行SARscape - Interferometry - Generate Baseline在弹出的面板里添加全部SLC主影像可以选某一条指定的也可以留空让程序推荐。SARscape会自动计算所有影像之间的时间基线和空间基线生成一个基线可视化图同时给出一份.ble基线文件。这一步要仔细看的是你的干涉对是否覆盖了完整的监测时间段有没有因为基线太长导致某些干涉对会废掉如果有些影像和主影像的空间基线超过临界基线太多哨兵一般是几百米级别可以考虑删除该景影像。4.2 干涉处理配准—滤波—解缠干涉处理是整个流程里计算量最大、参数最敏感的部分。SARscape的干涉工作流一般包含配准Coregistration、干涉图生成Interferogram Generation、去平地效应Flat Earth Removal、地形相位去除DEM Removal、滤波Filtering、相干性计算Coherence Generation。配准环节SARscape会选取主影像作为参考把所有从影像精确配准到亚像素精度。这块通常不需要人工干预如果配准报错基本是影像质量问题或精密轨道没匹配上。干涉图生成之后你会看到密集的干涉条纹。这时候要用滤波降低噪斑。SARscape默认用Goldstein滤波滤波窗口大小直接影响条纹平滑程度窗口太小如4像素噪声压不掉窗口太大如64像素会把细节条纹磨平、相位解缠质量反而下降。我实测下来哨兵一号干涉图用32像素的Goldstein滤波最划算在保持空间细节和压制噪声之间取得了平衡。解缠是整个流程最容易翻车的一步。SARscape解缠模块常用MCFMinimum Cost Flow算法它是在相干性图上规划积分路径对低相干区域和孤岛区域尤其要小心。解缠之前必须设置几个关键参数解缠相干性阈值Minimum Coherence threshold一般设为0.2~0.25低于这个值的像素不参与解缠。阈值设太高会丢失大片形变区设太低则会把噪声也解缠进去产生解缠跳变。解缠网格大小Unwrapping grid size建议10m左右与数据分辨率匹配。网格太大会降低相位解缠精度太小会显著增加计算时间。输出解缠结果和相干性图后面轨道精炼要用。解缠完成后立即看中间成果如果解缠图里出现大量2π跳变的椒盐噪声或者阶梯状断崖说明解缠失败需要调整上面参数重跑不要带着错误的解缠结果往下走。4.3 轨道精炼与重去平解缠完并不能直接反演还需要做轨道精炼Refine和重去平Re-flatten。这一步的目的是根据某个稳定参考点或稳定区域把残余的轨道误差相位和部分全局倾斜相位从解缠图里去除。做法是选取若干个地面控制点Ground Control PointsGCP。GCP选得好不好直接影响最终形变速率的绝对值。我的选择原则是点要选在多年无显著形变的区域比如远离城市沉降漏斗的郊区、基岩裸露区。点在空间上要均匀分布不要全挤在一个角落。点处的相干性要高通常要求大于0.7避免选在河流、植被茂密、雷达阴影和叠掩区。不要选在干涉条纹密集的地方那种地方往往形变梯度大不适合做参考。这里有个很实用的操作技巧在SARscape的轨道精炼面板里可以先自动生成一组候选GCP然后人工剔除明显不合理的点。剔除时可以用相位解缠图和平均强度图叠加看把位于河道和山体阴影区的点删掉。理想情况下保留6~10个GCP就够点太多反而容易把局部的残余大气相位当轨道误差拟合掉。精炼结束后SARscape会重新生成重去平后的干涉图和解缠图这些才是之后反演的输入。4.4 SBAS反演两轮反演与大气相位估计SBAS反演在SARscape里被拆成两部分第一步叫Model Inversion线性形变反演第二步是Time Series Model Inversion时间序列/非线性形变反演。第一步线性反演输入是重去平后的解缠相位输出是平均形变速率图形变速率mm/year和残余地形相位即DEM误差。这一步里需要设置形变模型常见的是线性模型constant velocity意思是假设整个时间段里地表按恒定速率移动。如果研究区有明确加速或减速态势也可以选高阶模型但数据量和信噪比不足时线性模型更鲁棒。第二步时间序列反演是SBAS流程里最关键的一步。这一步要先做大气相位估计与去除Atmosphere Phase ScreenAPS。大气相位在时间域表现为高频几天到几周变化在空间域表现为低频几公里到几十公里的尺度因此可以用时间高通空间低通滤波从形变相位里分离出来。SARscape在反演面板中会自动完成一次初始反演得到每个时间节点的残余相位再通过滤波把APS估算出来从时间序列结果里剔除。这一步最需要人工观察的是输出结果先看平均形变速率图值域是否合理有没有集中在某个极端值比如正负几百毫米的现象。再看各期累积形变图有没有出现明显的相位跳变条纹如果有说明解缠或者反演环节还有残留问题。另外时间序列反演时会输出每个点的形变参数拟合优度R²或残差可以用来做质控筛选剔除拟合很差的像素点避免最终结果被个别噪声点污染。如果没有外部GACOS数据大气相位分离要更谨慎。我的建议是在APS滤波参数上把时间窗口设置得稍大些比如滤波窗口包含6个以上采集周期空间窗口设置小些比如5km量级尽量不把真实形变信号误删掉。同时对比一下去掉大气改正前后的时间序列如果变化不超过毫米级说明研究区大气影响不大不用过度担心。4.5 地理编码与结果导出反演得到的是雷达坐标系SAR几何下的结果需要地理编码Geocoding转换到地图投影坐标系。SARscape会利用外部DEM和卫星轨道参数把形变速率图、累积形变图、相干性图统一重投影到WGS84经纬度坐标或UTM投影。地理编码时有一个容易忽略的细节输出像素大小。SARscape默认可能按原始SLC分辨率20m导出但对于形变速率产品我们通常按10m或15m输出分辨率略粗反而能压低噪声让结果更平滑。导出格式建议选GeoTIFF方便进ArcGIS/QGIS做进一步分析。导出后通过像元统计检查数据范围沉降区应该是负值雷达视线方向远离卫星抬升区是正值整体速率范围应该在-50~50mm/year以内才合理。导出完成后我会顺手生成一张检测时间跨度内的最大累计形变图和平均速率图结合同期降水或工程活动信息做解释性分析。这一步不是SBAS必需的但确实能让成果直接用起来不至于只停留在图很好看的阶段。5. 高频问题实录与排查技巧5.1 处理中断SARscape process unexpectedly terminated怎么排查这个报错可以说伴随每个SARscape使用者的整个生命周期遇到不用慌按顺序排查第一看磁盘剩余空间SBAS中间产物非常庞大尤其是干涉图和临时栅格处理一个20景的Sentinel-1数据集临时文件轻松超过100GB。工作盘空闲小于50GB就随时可能崩。第二看目录路径工程目录、数据文件、输出目录是否都有中文或空格建议统一改成S1_IW_2024这样的命名方式。第三看日志位置SARscape报错窗口里通常会指定一个日志文件路径打开日志看最后的ERROR关键行它一般指向具体是哪个数据文件读取失败。第四看系统资源内存8GB以下跑SBAS会比较吃力处理时建议关闭其他重型软件SARscape在Preferences里可以限制并行核数避免内存被榨干。还有个小技巧处理大数据集时不要试图一次性把几十个干涉对全部在一个批次里跑完。我习惯把干涉对按时间窗口分批发处理每批次最多10~12对。虽然步骤繁琐一些但单个任务失败后只要重跑失败的干涉对就行不会牵连全局。5.2 没有GACOS时怎么降低大气影响GACOSGeneric Atmospheric Correction Online Service是对流层大气改正的标准外部数据源但不少人会发现ENVI插件版的SARscape工具面板里没有GACOS模块那说明这个模块没有被集成进来或者是授权版本不带联网获取功能。处理办法有三个第一个办法是外部修正后再进入SBAS。从GACOS官网下载对应时间段的ZTD天顶总延迟栅格用ENVI的波段运算把相位转换成延迟量配合气象再分析数据自己做一个地形对流层延迟改正把SLC的相位减去大气延迟后再进入SARscape干涉流程。这个方法精度高但工作量大。第二个办法是SARscape内部的大气APS滤波。就是我们前面说的在时间序列反演中利用时间高通空间低通滤波分离大气。这个方法不依赖外部数据能滤掉大部分大气信号但对空间尺度较大的系统性大气偏差比如研究区跨度特别大时效果有限。第三个办法是选择气象条件相对稳定干燥、晴朗的影像时段尽量避免多雨多雾季节的影像。这个属于处理前规避同样能降低大气相位占比。实际项目中东部季风区和山区做SBAS我推荐至少用第二个办法同时把研究区控制在50km×50km以内可显著减少大气空间梯度的干扰。如果跨幅超过100km那就尽量想办法解决外部大气改正数据否则结果里可能残留系统的虚假形变梯度。5.3 其它高频报错与避坑提示第二个高频问题是解缠结果全是噪点/大片不连续这种情况通常是因为相干性太低。可以先看相干性图如果研究区内平均相干性低于0.3说明干涉对本身质量差问题大概率出在原始数据或基线组合上。建议缩短时间基线窗口比如把最大时间基线从90天缩短到60天或者增加影像数量提高短干涉对的占比。第三个高频问题是反演得到的速度场出现明显的条带这往往是轨道误差没被完全去掉或者是GCP选取不当。回头检查轨道精炼步骤看看残余相位是否还保留着明显的二次曲面趋势。如果GCP分布在研究区一侧另一侧的轨道误差会表现为远端正负相间的条带解决办法是重置GCP并保证均匀覆盖。还有一个很多人忽略的点SBAS结果对主影像非常敏感。如果你把主影像从某个中间时间换到最早或最晚一景形变速率结果可能相差1~2mm/year。所以建议在实际项目里固定主影像选取规则比如利用SARscape推荐结果或时间中心保证结果可复现。6. 个人经验补充这套流程我反复用过很多次最大的体会是SBAS-InSAR不难在点按钮难在每一步中间结果都要用质控思维去检查。宁可每步多花20分钟看图、看统计、看日志也不要一股脑把所有处理跑完再回头找问题。跑完后最好把平均形变速率图与同期水准测量或GNSS结果对照一下给自己一个量级和趋势都对得上的结论——这既是对数据负责也是后面写报告和发文章最重要的支撑材料。最后再分享一个小技巧在SARscape里把中间产品尤其干涉图、相干性图、解缠图按日期重命名并定期归档不要覆盖。因为你永远不知道几个月后返工时需要回去看哪一个干涉对的相位图。把这些目录管理习惯养成后整个流程的效率会有质的提升。
分享:

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

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