
简介面向地质灾害监测、环境与基础设施形变调查的初学者及遥感技术人员这份PPT以Sentinel-1A影像的PS/SBAS地面沉降监测为主题结合天津典型沉降区案例梳理从数据预处理、连接图生成、干涉工作流、两次反演到地理编码与精度评价的完整技术链路。内容涵盖PSInSAR与SBAS两类方法的核心步骤、参数设置思路以及32景Level 1 SLC影像、SRTM DEM辅助数据、5米×20米分辨率与降轨VV等案例信息并展示形变速率、DEM残差和地理编码结果便于理解SARscape相关处理流程与结果解读。压缩包内为1个pptx文件约36.93MB结构集中适合课堂汇报、技术分享或自学查阅。已有505人学习可作为地面沉降InSAR监测入门与案例复盘的参考材料。1. 从 32 景 SLC 到一张速率图这套方案要解决什么一个具体的交付场景摆在这里某城区 26×20 平方公里范围内只有少量水准点复测周期长、点位稀疏而管理方需要知道哪片街区在以每年几毫米到几十毫米的速度下沉。手上能用的数据是 2015 年 5 月到 2016 年 7 月的 32 景 Sentinel-1A 降轨 VV 影像C 波段、5 米 × 20 米分辨率、Level 1 SLC。反直觉的地方在于这套方案不靠单景的清晰度取胜而是用 32 个时间点的冗余观测把毫米级的年均形变速率从相位噪声里抠出来。整条链路拆成数据预处理、PS 时序反演、SBAS 短基线反演三部分PS 与 SBAS 各自独立出结果再互相印证。适合做测绘、地信、遥感方向毕设或课程设计的人按图施工也适合需要出一份形变监测交付方案的从业者直接改参数复用。2. 数据源与预处理五个必设参数与 SLC 导入链路2.1 先把数据规格钉死32 景 SLC 与 90 米 DEM 的匹配关系时序 InSAR 项目最容易出问题的地方不在反演而在开工前没把数据规格确认清楚。一旦影像的时间跨度、轨道方向、极化方式和辅助 DEM 的基准对不上后面每一张干涉图都会带着同一个系统偏差返工成本极高。这套案例的输入规格是明确的先把它们整理成一张表后面所有参数设置都从这张表推。参数项取值对处理流程的影响传感器 / 波段Sentinel-1A / C 波段波长约 5.6 厘米对毫米级形变敏感极化方式VV单极化干涉相干性稳定轨道方向降轨决定视线向几何与形变投影方向数据格式Level 1 SLC含相位信息可直接做干涉分辨率5 米 × 20 米距离向 / 方位向城区目标可分辨影像数量32 景时序冗余量决定速率精度覆盖时间2015 年 5 月 ~ 2016 年 7 月约 14 个月跨两个年度周期覆盖范围26 × 20 平方公里单幅覆盖无需镶嵌拼接辅助数据SRTM DEM V490 米采样间隔提供地形相位与地理编码基准90 米的 DEM 放在 5 米 × 20 米的影像面前很多人第一反应是分辨率不匹配会不会拖精度。实际上差分干涉里的 DEM 只承担一件事把地形相位这个大尺度项减掉剩下的残余地形相位由 PS 高程残差或 SBAS 的 DEM 残差在反演中一并估计。所以 90 米采样间隔在这个尺度上够用真正要盯的是 DEM 的水平基准和影像的地理定位是否一致差一个几十米的系统性偏移整幅图就会出现一条假的斜坡这种坑后面会专门讲。另一个需要提前算清楚的是视线向与垂直向的换算关系。降轨 Sentinel-1 的入射角一般在 30° 到 45° 之间本案例城区位置大致落在 39° 附近垂直形变量约等于视线向形变量乘以 1/cosθ也就是 1.2 到 1.3 倍。如果成果图上标注的是视线向速率而没写清楚交给甲方后被当成垂直沉降量使用量级上就会差两成这是很典型的验收事故。2.2 系统参数与 GPU 加速TOPSAR 处理前必须落的两个开关Sentinel-1 的 TOPS 成像模式把一整景拆成若干 burst相邻 burst 在方位向有重叠频谱不连续。直接用常规条带模式的干涉参数去处理配准阶段就会出现方位向的相位跳变干涉图上表现为横贯整幅的条纹。所以第一步是在 SARscape 的系统参数里把干涉处理模式指定为 SENTINEL_TOPSAR这个开关决定了后续配准、去斜和 burst 拼接用的是哪套算法。第二个开关是 OpenCL 平台。32 景影像意味着 PS 链路要生成 31 对干涉图、SBAS 链路要生成几十对短基线组合单纯靠 CPU 跑干涉图生成和滤波时间会成倍拉长。在 Preferences 里把 OpenCL Platform Name 指向可用的 GPU 设备干涉图生成、滤波这类逐像元运算的提速效果最明显。我一般会在项目根目录留一份参数快照把当时的设置原样记下来避免隔几天重跑时忘了改了什么。; project_params.ini —— 处理前固化的系统参数快照 [sarscape] insar_mode SENTINEL_TOPSAR ; 必须显式指定否则 burst 配准失败 opencl_platform GPU_DEVICE ; GPU 加速逐像元运算提速明显 ref_dem SRTM_DEM_V4_90m ; 与影像地理基准需一致 dem_resample BILINEAR ; 重采样方式避免相位插值引入偏差 [insar] master_selection AUTO_MIDDLE_TIME ; 主影像取时序中间 基线最小 coreg_method DEM_ASSISTED ; 先用 DEM 辅助初配准再精配准 phase_unwrap MIN_COST_FLOW ; 低相干区慎用需配合掩膜 [output] geocode_gcp MULTI_GCP ; 单 GCP 与多 GCP 各出一版做比对这份快照不是给机器读的配置而是给人看的记录。里面的四个分组对应系统级、干涉级、输出级三层系统级负责取数与计算设备干涉级负责主影像与配准策略输出级决定地理编码的方式。改参数时只动其中一个分组其余保持不变出了问题才能定位到是哪一层引起的。2.3 导入、配准与主影像选择连接图生成前的最后一公里数据导入走的是 Import Data → SAR Spaceborne → SENTINEL 1同时把参考 DEM 下载到本地工作空间。Sentinel-1 的精密轨道文件要在导入阶段就关联上缺失轨道会让后续的轨道精炼和重去平失去基准SBAS 链路对这一点尤其敏感。主影像的选择直接决定了 PS 链路里所有干涉对的相干性下限。原则不复杂时间上尽量靠近时间序列的中点空间上让所有从影像到主影像的垂直基线总和最小同时多普勒质心频率要相近。做法上先按日期排序再用垂直基线做一次代价计算。# master_select.py —— 用时间跨度 基线总和挑主影像 import numpy as np # 影像清单日期与首景的天数差、相对首景的垂直基线米 scenes [ {date: 0, bperp: 0}, {date: 24, bperp: -58}, {date: 48, bperp: 31}, # ... 其余 29 景省略实际使用时从轨道文件批量读取 {date: 428, bperp: -12}, ] def cost(idx, w_time0.6): 代价函数时间项与基线项加权w_time 越大越偏向时序中点 t0, b0 scenes[idx][date], scenes[idx][bperp] t_all np.array([s[date] for s in scenes], dtypefloat) b_all np.array([s[bperp] for s in scenes], dtypefloat) # 归一化后再加权避免量纲不同导致基线项被时间项淹没 t_norm np.abs(t_all - t0) / max(t_all.max(), 1) b_norm np.abs(b_all - b0) / max(np.abs(b_all).max(), 1) return float(np.mean(w_time * t_norm (1 - w_time) * b_norm)) best min(range(len(scenes)), keycost) print(建议主影像索引:, best, 日期偏移:, scenes[best][date], 天)脚本的关键在归一化那两行。时间跨度是几百天基线是几十米量纲差了两个数量级不归一化的话基线项会被完全忽略选出来的主影像虽然时间居中但基线分布很差。w_time 取 0.6 意味着略微偏向时间中点实际项目中如果影像的时间间隔很不均匀可以调到 0.7。选完之后把结果写回处理流程的元数据让连接图生成直接读取不要在两处手工输入同一个值。配准精度这一项经常被低估。常规形变干涉要求配准误差控制在一个像元的 1/8 以内PS 时序处理对配准的要求更高通常的做法是先做 DEM 辅助配准拿到初始偏移再在 burst 重叠区做精配准把方位向偏差压到百分之一像元量级。配准没做好干涉相位里会混进一个与地形相关的线性项第二次反演再想扣掉就很难了。3. PS 技术链路连接图、两次反演与地理编码的七个节点3.1 连接图生成PS 用的是星型连接不是全配对PS 和 SBAS 在连接图策略上是两条路。PS 走的是星型连接所有从影像都与同一景主影像配对生成 31 对干涉图。原因在于 PS 方法依赖单个像元的相位时间序列稳定性统计所有干涉对必须共享同一个相位参考否则振幅离差指数和相位标准差的计算就没有统一基准。星型连接的代价是基线可能偏长尤其是时间序列两端与主影像的间隔达到几百天相干性会明显下降。缓解办法不是改成全配对而是在主影像选择阶段就把时间跨度控制在合理范围本案 14 个月的总跨度对 C 波段来说可以接受城区人工目标的相干性衰减没那么快。连接图生成之后要立刻检查两件事一是每一对的时间基线和空间基线是否在预期区间二是主影像与从影像的配对数量是否等于影像总数减一。配对数对不上说明有影像没被纳入清单或者日期解析失败这类低级错误在批量处理里出现过不止一次。3.2 干涉工作流从 SLC 配准到振幅离差指数PS 的干涉工作流按顺序串起五步SLC 影像配准、干涉图生成、干涉图去除地形相位、差分干涉图生成、振幅离差指数生成。前三步是通用流程后两步开始体现 PS 的特点。去地形相位这一步依赖 2.1 里那张表定下的 DEM。DEM 与影像的地理基准不一致时去完地形相位的差分图上会残留一条与地形起伏相关的条纹在平坦城区不容易察觉一旦覆盖范围里带一点台地或堤岸就非常明显。判断的方法很直接把差分干涉图和 DEM 阴影图叠在一起看条纹走向如果和地形等高线平行基本可以确定是 DEM 配准问题。振幅离差指数是 PS 候选点筛选的第一道筛子定义是振幅时间序列的标准差除以均值。城区的人工目标比如建筑立面、桥梁、裸露的硬化路面后向散射稳定这个指数通常低于 0.25植被和水体的指数明显偏高。这一步输出的不是最终 PS 点而是候选点后面还要过相干系数和相位稳定性两道关口。3.3 第一次反演候选点、相干系数图与速率初估第一次反演做三件事生成相干系数图、筛选 PS 候选点、估算位移速率和高程残差。相干系数图和振幅离差指数是两个互补的指标前者反映干涉对的相位质量后者反映单点的后向散射稳定性实际筛点时会同时设阈值比如相干系数取 0.7 以上、振幅离差指数取 0.25 以下两个条件取交集。第一次反演的速率是粗估因为它还没有扣除大气延迟相位。大气在时间上是随机的在空间上是低频的混在相位里会让速率图上出现大尺度的斑块状起伏。这个阶段的成果不要急着出图交人它的主要用途是给第二次反演提供初值和先验信息。高程残差和速率是同时解算的这一点值得强调。如果先解速率再单独估高程两者之间的相关性会导致速率被系统性低估。SARscape 的 PS 反演把两者放在一个方程组里正是为了避免这个耦合误差。3.4 第二次反演与地理编码大气相位、DEM 残差与 GCP 的选择第二次反演是 PS 链路里质量提升最明显的一步。流程是先估计并去除大气相位再重新估算位移速率和 DEM 残差最后做沉降估算。大气相位估计通常基于相位在空间上的低频特性和在时间上的不相关性把这两者分离出来后速率图上的大尺度斑块会明显收敛。地理编码是最后一个节点也是成果能不能和外部数据对上的关键。SARscape 提供单 GCP 和多 GCP 两种方式单 GCP 速度快适合地形平缓、控制点稀缺的场景多 GCP 通过多个地面控制点做多项式拟合能吸收轨道残余误差引起的系统性偏移。本案的建议是两版都出把同一个稳定区的速率做差值差值超过 2 毫米每年就说明控制点选得有问题。地理编码的参考点选择有个不成文的原则选在成果图上应该稳定的地方比如基岩出露区、建成多年的高层建筑群底部而不是随便挑一个点在图上把它按住。参考点选错整幅图的速率都会平移一个常数图上所有沉降漏斗的绝对量级全部失真而相对形态看起来依然合理这种错误最难被发现。对比项PS 方法SBAS 方法连接策略星型连接全部对主影像短基线组网多主影像适用目标人工地物、硬化地表自然地物、大范围缓变形变点密度城区高郊野低空间覆盖连续主要误差源失相干、相位解缠在低相干区解缠误差传播、大气残差成果形式点状速率 高程残差面状速率 累计形变4. SBAS 技术链路短基线组网、3D 解缠与轨道精炼4.1 连接图生成与编辑三条剔除规则SBAS 的连接图不追求全配对而是按时间基线和空间基线的双阈值筛出短基线像对形成多主影像的网状结构。这样做的目的是保证每一对干涉图的相干性都在可用范围内代价是解算时要做奇异值分解把不连续的像对组连接起来。组网可以在 SARscape 里按阈值自动生成也可以先用脚本把候选配对算出来再人工核对。我倾向于后者因为自动生成的连接图里经常混进几对勉强够格的像对它们对整体解的贡献很小却会在解缠阶段引入噪声。# sbas_pairs.py —— 按时间/空间双阈值筛短基线像对 from itertools import combinations scenes [ # (索引, 距首景天数, 垂直基线/米) (0, 0, 0), (1, 24, -58), (2, 48, 31), (3, 72, -15), # ... 其余影像省略 ] MAX_T, MAX_B 96, 150 # 时间基线上限天、空间基线上限米 pairs [] for (i, ti, bi), (j, tj, bj) in combinations(scenes, 2): dt, db abs(ti - tj), abs(bi - bj) if dt MAX_T and db MAX_B: pairs.append((i, j, dt, db)) print(f候选像对 {len(pairs)} 对 / 理论上限 {len(scenes)*(len(scenes)-1)//2} 对) for p in pairs[:5]: print(f {p[0]:2}-{p[1]:2} dt{p[2]:3}d bperp{p[3]:4}m)两个阈值不是拍脑袋定的。时间基线上限和地表覆盖类型直接相关城区可以放到 120 天以上农田和植被区通常压到 60 天以内空间基线上限由Critical Baseline 决定Sentinel-1 的临界基线在几公里的量级取 150 米是留足余量。脚本跑完看候选对数如果只有十几对说明阈值太严整个时间序列连不成一个连通图解算时会报错。组网完成后进入连接图编辑这一步是可选的但对结果影响很大。案例里给了三条明确的剔除规则含 _del_upha 像对的 3D 解缠结果建议保留相干系数图、滤波后干涉图、相位解缠图三者中结果较好的那个建议保留含明显大气相位的像对建议剔除。第一条容易被误解_del_upha 表示这对象对参与过 3D 解缠是连接不同像对组的桥梁删掉它会导致解算矩阵秩亏。4.2 干涉工作流自适应滤波与相位解缠SBAS 的干涉工作流比 PS 多两个环节自适应滤波和相位解缠。SLC 影像配准和干涉图生成是共通的去地形相位之后得到差分干涉图接着做自适应滤波。滤波的作用是压制相位噪声为解缠创造条件但滤波强度要克制。滤波核太大相邻像元的相位被过度平滑细小的形变梯度会被抹平解缠出来的结果虽然平滑好看却丢掉了真实的局部信息。自适应滤波的好处是核大小随局部相干性变化相干性高的区域几乎不滤波低相干区才加大平滑力度。相位解缠是整条链路里最脆弱的一环。最小费用流方法在低相干区容易出现整块的 2π 跳变表现为解缠相位图上出现突兀的台阶。判断方法是对比解缠相位和滤波后的缠绕相位如果某个区域的解缠结果和原始干涉条纹的走向完全对不上基本可以判定为解缠错误。处理办法不是换算法而是回到连接图把这一区域的像对剔除或者加掩膜把低相干区排除在解算之外。4.3 轨道精炼与重去平两次解缠之间的关键一步SBAS 的解算分两轮中间夹着一步轨道精炼和重去平这一步是很多人做 SBAS 时最看不懂的地方。第一轮解缠拿到的是缠绕相位展开后的相对值其中还含有轨道误差引起的残余相位斜坡以及去地形相位不彻底留下的残余平地相位。轨道精炼的做法是选取一批高相干、形变已知或假定为零的控制点用多项式拟合出残余的相位趋势再把它从所有干涉图中减掉。控制点的选择原则和 PS 的 GCP 类似要选在稳定区域且空间分布要均匀全部堆在图的西南角拟合出来的多项式在东北角就是外推误差会被放大。重去平之后进入第二次解缠。这次解缠的输入已经去掉了系统性趋势解缠的模糊度搜索范围小很多成功率也高。如果第一次解缠的错误率超过一成第二次解缠也救不回来这时候必须回头检查连接图和滤波参数硬着头皮往下做只会得到一张看起来合理、实际上存在整块偏移的速率图。4.4 两次反演、精度估计与地理编码SBAS 的第一次反演估算位移速率和 DEM 残差同时做精度估计。精度估计给出的不是单个数字而是每个像元的速率标准差它由相干性、解缠误差和观测数量共同决定。这张精度图在验收环节比速率图本身还重要因为它告诉使用方哪些区域的结论可信、哪些区域只能作为参考。第二次反演去除大气相位重新估算位移速率和 DEM 残差然后做沉降估算。SBAS 的大气相位去除和 PS 不同它利用的是多主影像结构下同一区域不同时间的干涉对之间大气的不相关性通过时间域的高通和空间域的低通滤波组合把大气分离出来。地理编码和 PS 链路共用同一套流程输出的成果包括平均位移速率、形变速率图和精度产品。到这里两套方法的成果都出来了接下来的重点不是继续调参而是把两套结果放在同一个坐标系下做比对。同一片稳定区PS 与 SBAS 的速率差异应控制在 2 毫米每年以内差异偏大的区域往往是解缠误差或者大气残差没去掉这时候再回去查具体位置比盲目调全局参数有效得多。5. 避坑与排查这类时序 InSAR 项目最容易翻车的五处5.1 整幅图出现大范围斜坡或条带现象是速率图上有一片区域整体偏高或偏低形状规整边界和地形或轨道方向有关沉降漏斗的形态反而被淹没在里面。原因通常有两个一是 DEM 与影像的地理基准存在系统性偏移去地形相位不彻底残余相位在空间上呈线性或二次分布二是精密轨道文件缺失或用了预报轨道基线不准导致平地相位没去干净。排查顺序是先看差分干涉图把它和 DEM 阴影图叠在一起条纹走向若与等高线平行就是 DEM 问题重新做 DEM 配准或者换一版 DEM若条纹沿方位向排列基本是轨道问题补齐精密轨道文件后重跑轨道精炼和重去平。这一步必须在第一次反演之前解决带着斜坡去做速率解算解出来的速率会被系统性污染事后扣常数是扣不掉的。5.2 PS 点稀疏沉降区几乎没有点现象是 PS 候选点全部集中在城区硬化路面郊区、农田、水边一个点都没有图上像撒了一把芝麻。原因不在参数而在物理事实植被覆盖区在 C 波段下失相干严重水体更是完全不相干这些区域本来就不该有 PS 点。如果连城区都稀疏那才是参数问题通常是振幅离差指数阈值卡得太严或者相干系数阈值取到了 0.9 以上。解决办法是分两步走先确认稀疏区域的地物类型用光学影像或者实地情况对照一下属于天然无点的区域不必强求再对城区的点密度做统计如果每平方公里不足几十个点把振幅离差阈值从 0.25 放宽到 0.3 试一版同时观察点位的相位标准差有没有明显变差。放宽阈值换来的点如果相位质量很差宁可不要PS 的价值在于点的可靠性而不是数量。5.3 SBAS 解缠出现整块 2π 跳变现象是累计形变图上出现明显的台阶相邻两块区域差了一个整数倍的形变周期边界往往是道路、河流或者建筑群的边缘。原因是这些位置相干性骤降解缠算法在低相干带上做了错误的模糊度选择误差沿着连接图传播到整片区域。排查时先定位跳变边界回到连接图检查跨越这条边界的像对看它们的时间基线是不是特别长或者相干系数特别低。处理方式是剔除这些像对重新组网让跳变两侧通过其他短基线像对间接连通同时在解缠阶段加相干掩膜把低于阈值的像元排除在解算之外。3D 解缠的设置也要检查_del_upha 像对如果没有保留不同像对组之间就失去了约束跳变几乎不可避免。5.4 速率量级差十倍或者正负号反了现象最直观成果图上写着每年几十毫米的沉降实际水准数据只有几毫米或者明明是沉降区速率显示为抬升。原因有三个层次一是单位SARscape 输出的速率默认是毫米每年有人误当成米每年或者厘米每年做二次换算二是投影输出的是视线向速率直接当垂直形变用量级差 1.2 到 1.3 倍三是符号约定相位正负与形变方向的对应关系在不同软件里不一致。排查办法是拿一个已知点做闭环找一个有水准数据的点把它的视线向速率、入射角、投影系数、符号约定逐项写出来看换算结果能不能对上。对不上就逐项改改一项验一项。我在项目里会把这条换算链写进成果说明的第一页任何拿到数据的人都能自己复算一遍。5.5 沉降中心位置对不上外部资料现象是速率图上确实有一个漏斗但中心位置偏了几十米到几百米形状也和水准点连出来的等值线对不齐。原因多半出在地理编码环节控制点数量太少轨道残余误差没被吸收或者参考点选在了本身就在轻微形变的区域整幅图被平移了一个常数。处理方式是改多 GCP 做地理编码控制点选在稳定且空间分布均匀的位置至少四个最好六个以上然后重选参考点选在基岩或者建成多年的高层建筑底部。改完再和外部资料比对比对时看的不是单个点而是漏斗的形态、中心位置和梯度方向形态对上了、量级差在百分之二十以内这一版成果就可以往下走。6. 答辩与验收用四张图、一张表把结果的可信度讲透验收环节最忌讳的做法是把速率图往投影上一放指着红色的区域说这里在沉。评审要看的是这条结论凭什么成立。我一般准备四张图配一张表按证据链的顺序摆。第一张是差分干涉图和相干系数图用来证明输入数据本身可用干涉条纹清晰、相干性在合理区间。第二张是 PS 点密度分布图和 SBAS 像对连接图证明时空采样足够支撑速率解算不是靠十几个点硬撑出来的结果。第三张是速率图叠加精度产品用色标表示速率用等值线或透明度表示标准差让评审一眼看出哪些区域结论硬、哪些区域只能参考。第四张是 PS 与 SBAS 的速率差值图两套独立方法在同一区域的一致性比任何单一结果都有说服力。验收项判据提交材料输入质量干涉条纹清晰主从影像相干性达标差分干涉图、相干系数图采样充分性城区 PS 点密度满足统计要求SBAS 组网连通点密度图、连接图结果稳定性稳定区速率接近零速率标准差在阈值内速率图、精度产品方法一致性PS 与 SBAS 速率差小于 2 毫米每年差值图、统计直方图外部符合性与水准或已有资料形态一致量级偏差可控对比剖面、散点图答辩时被问得最多的三个问题其实都有标准答法。问为什么用降轨答降轨的视线向对垂向形变更敏感且本区域已有的水准资料是同期采集的方向一致便于比对。问为什么 PS 和 SBAS 都要做答两者对地物的适应性不同PS 在城区点密度高但郊野空白SBAS 空间连续但解缠误差易传播两套结果互相校验才能给出一张覆盖完整的图。问90 米 DEM 够不够答 DEM 在差分干涉中只负责扣除大尺度地形相位残余部分由反演中的高程残差项吸收实际影响体现在高程残差图上可以拿出来看。有一套流程我到现在都强制自己走一遍成果出完之后先从图里随机挑五个点把它们的原始相位时间序列、解算速率、精度指标、投影换算一路手工复算到最终数字任何一个环节对不上就停下来查。这套动作花不了半小时但它救过我两次——一次是单位换算的系数写反了一次是地理编码的控制点被误设成了形变区。数字对得上讲的时候心里才有底。希望帮到你。本文还有配套的精品资源点击获取