简介:针对遥感初学者处理SAR数据的常见难点,资源以ALOS PALSAR影像为例,系统讲解ENVI配合SARscape完成预处理的完整流程,覆盖数据导入、多视处理、Frost滤波、地理编码与辐射定标、无缝镶嵌等关键步骤。每个环节均给出Toolbox菜单路径与具体参数设置,并解释了方位向视数、距离向视数的计算方法,以及辐射校正选项的作用,适合按图索骥地动手操作。包内共1个PDF文档,大小1.31MB,体量轻巧,便于下载后随时查阅。该资源已有470人浏览学习。通过这份详细版资料,读者可逐步掌握将原始SAR数据转化为可用于GIS分析成果影像的操作思路,少走弯路,是课程作业与项目实践的高性价比参考。
1. 拿到SAR数据先别急着看图像:ENVI预处理是绕不开的第一步
做SAR数据处理的人,十有八九都经历过这样的场景:从下载站拿到高分三号或者Sentinel-1的L1A产品,拖进ENVI里点开,屏幕上是一片明暗不均的“雪花点”,地物轮廓勉强能认,但你想直接拿去分类或者做形变提取,结果惨不忍睹。这不是数据坏了,而是因为你跳过了“预处理”这一步。ENVI对SAR数据的预处理,指的是在正式做信息提取之前,把原始信号数据变成一幅几何正确、辐射一致、噪声被抑制的图像。整个过程分为数据导入、辐射定标、滤波去噪、几何/地形校正四件事。
这篇笔记就是把这四件事按实际操作的顺序拆开,每一步讲清楚在ENVI里怎么点、参数怎么设、结果怎么检查,顺带把容易翻车的地方指出来。适合刚接触SAR数据、手里有ENVI和SARscape模块的从业者,也适合被某一步参数折磨过、想搞明白原理的熟手。看完你至少能独立处理一景高分三号或Sentinel-1数据,并且知道自己每一步在干什么。
2. 数据导入与辐射定标:把DN值变成能比较的后向散射系数
2.1 先分清你手里是哪种数据:L1A、L1B和SLC不是一回事
ENVI里做SAR预处理,第一步不是急着点工具,而是看清数据产品级别。以高分三号为例,常见的有L1A(单视复数数据,SLC)、L1B(幅度数据,已做多视)、L2(地理编码产品)。Sentinel-1也有SLC、GRD、OCN等产品。很多新手把SLC当普通影像直接打开,看到复数数据就懵了——ENVI里显示的是两幅图(实部和虚部),完全没有地物形态。
我一般建议:如果目标是做地表形变(InSAR),必须用SLC;如果目标是做地物分类、变化检测,用GRD或者L1B幅度数据就够了。预处理流程里,SLC和GRD的导入方式不同。SLC需要保留相位信息,导入时不能做多视;GRD本身就是幅度,可以跳过部分辐射校正。所以第一步先确认你手里的数据级别,别一上来就点SARscape的Import。
在ENVI里,用SARscape的“Import Data”工具可以自动识别大部分卫星产品。常见做法是把数据文件夹直接拖进Toolbox里的“SARscape > Import Data > Sentinel-1 / PAZ / others”对应入口。导入时会弹出参数面板,这里有几个关键项:输出格式(推荐保留默认的ENVI格式)、极化方式(VV、VH、HH、HV)、是否生成quicklook(建议勾选,方便后面快速预览)。
2.2 辐射定标:为什么一定要做,以及ENVI里怎么操作
SAR数据记录的原始DN值受传感器增益、天线方向图、距离衰减等因素影响,同一地物在不同位置、不同时间的DN值没有可比性。辐射定标就是把DN值换算成后向散射系数(sigma0或beta0),单位变成dB或线性值,这样后续的分类阈值、时序分析才有物理意义。这一步不做,后面滤波和分类都是“黑匣子”里瞎调。
ENVI里做辐射定标,最常用的是SARscape的“Radiometric Calibration”工具。选中导入后的SLC或GRD数据,设置以下参数:
| 参数项 | 推荐设置 | 说明 |
|---|---|---|
| Calibration Type | Beta Nought / Sigma Nought | 多数地表应用选Sigma Nought |
| Output Type | Backscatter (linear) 或 dB | 分类用dB,统计用线性值 |
| Polarization | 与导入时一致 | 别只选一种,除非你确定只用单极化 |
| Look Up Table | 默认 | 由数据自带增益信息自动生成 |
| Resampling | 默认 | 定标过程不涉及几何,保持默认 |
定标完成后,ENVI会输出一个新的图像,波段数与极化方式对应。我习惯输出dB值,因为后续做阈值分割时概念直观:水体一般在-18dB以下,城区通常高于-5dB。但要注意,dB值是log变换,做滤波和分类前如果用线性值,统计特征会不一样,建议在定标阶段就确定好后续要用什么值域。
2.3 用头文件检查定标是否成功:比看图像更可靠
定标完别急着高兴,先看一眼输出数据的头文件(右键图层,选择View Metadata)。重点看两个地方:一是“Data Type”是否变成了浮点型(定标后通常从uint16变成float),二是“Band Names”里是否带上了对应的极化标识。如果还是整数型,说明定标参数没生效,多半是没选择正确的数据级别。
另一个快速检查方法是查图像统计值。在ENVI主菜单的“Display > Cursor Value”里,把鼠标移到均匀地物(比如平静的湖面)上,看当前像素值。如果输出是dB值,水体区域应该在-15到-20之间;如果还是0到3000的大整数,说明定标没做,或者你打开的是原始DN值图层。这种情况回去检查导入时的产品级别有没有选错。
3. 滤波去噪:斑点噪声不除,后面分类全是“假纹理”
3.1 为什么均值滤波会毁掉SAR图像:需要理解斑点噪声的乘性模型
SAR图像的噪声不是高斯加性噪声,而是相干斑点噪声,强度与信号强度成正比,属于乘性噪声。这意味着你用普通的均值滤波或高斯滤波处理,会在削弱噪声的同时把真实地物的边缘细节一起抹掉,而且越亮的地方抹得越狠。很多新手在这里翻车:滤波完图像确实平滑了,但分类精度反而下降,原因就是用了不合适的空间域滤波。
所以ENVI里针对SAR数据,有一套专门的空间自适应滤波器,比如Lee、Refined Lee、Frost、Gamma MAP。它们的基本思想是:在均匀区域用均值平滑,在边缘区域减少平滑程度,保护纹理和边界。SARscape的滤波工具在“SARscape > Basic > Filtering”下。
3.2 三种常用滤波器的参数设置:Lee、Refined Lee和Frost
实际处理中,我常用的是Refined Lee滤波器,因为它对边缘保护最好,适合城区、山区这种地物类型复杂的场景。下面是三种滤波器的参数对比:
| 滤波器 | 默认窗口 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|---|
| Lee | 7x7 | 均匀地物为主(农田、水体) | 计算快、参数少 | 边缘模糊 |
| Refined Lee | 7x7 | 城区、混合地物 | 边缘保持好 | 计算量大 |
| Frost | 7x7 | 纹理信息重要的图像 | 保留纹理 | 对参数敏感 |
在ENVI里选择Filtering工具后,需要设置的关键参数包括:滤波窗口大小(Filter Size)、滤波次数(Number of Looks,用于估计噪声方差,一般用数据自带的多视参数)。我不建议一上来就改窗口,默认7x7通常够用。如果图像噪点依旧明显,优先尝试把“Number of Looks”调小(比如从4调到1),这会让算法认为噪声更强,平滑力度更大,而不是盲目把窗口加到11x11,否则地物边界会糊。
3.3 滤波后必须做的一件事:目视对比原图和滤波图的纹理差异
滤波结果导出来之后,用ENVI的“Link”功能把原图和滤波图链接起来,同步平移缩放。重点看三类地物:线状地物(道路、河流)是否连续,面状地物(农田地块)是否均匀,以及微小地物(孤立建筑、船舶)是否被抹掉。如果道路出现了断裂或者细小的水体消失,说明滤波窗口偏大,或者滤波器不适合当前场景。
另有一个容易被忽略的坑:如果你后面要做面向对象分类,滤波窗口的大小会影响分割尺度。窗口越大,分割对象越碎,你会被迫调高合并阈值。我一般会先跑一次滤波,然后用同样的分割参数测试一次,看对象轮廓是否贴合地物边界,如果不贴合就换小一号窗口,而不是去调分割算法。
4. 几何校正与地形校正:把斜距图像拉回真实地面坐标
4.1 斜距图像为什么不能直接叠到矢量图上
SAR侧视成像,中心投影方式导致原始产品是斜距坐标系下的图像,也就是每个像素的位置代表雷达波到达目标的斜距,不是地面实际位置。山区尤其明显,山体朝向雷达的一面被压缩( foreshortening),背向雷达的一面被拉长(layover),阴影区域直接没有回波。如果你直接把没有经过地理编码的SAR图像和光学影像或者矢量底图叠加,会出现几十米甚至数百米的偏移。
因此几何校正分为两步:先做距离-多普勒定位(Range-Doppler)几何校正,再结合外部DEM做地形校正。ENVI里这两步可以用SARscape的“Geocoding”模块完成,其中地形校正(Terrain Correction)是推荐选项,因为它能补偿地形引起的几何畸变。
4.2 用外部DEM做地形校正的具体操作步骤
在ENVI的SARscape菜单下,找到“Geocoding > Terrain Correction”工具。这个过程我能给出的最可靠配置如下:
第一步,输入经过辐射定标和滤波的SAR图像。如果上一步没有做定标,这里也可以提交,但输出结果的后向散射值会不准确,建议不要省略。
第二步,选择DEM数据。ENVI里可以用SRTM 30米(软件自带或者联网下载),也可以用自己准备的ASTER GDEM或高分三号配套的DEM。关键点是DEM的投影坐标系必须和你要输出的坐标系一致,否则校正后位置会偏移。我一般在“Output Projection”里直接选UTM WGS84,并指定带号,这样输出的数据可以直接进GIS。
第三步,设置重采样参数。SAR图像的重采样不像光学影像那样默认双线性内插就行。SAR数据纹理带有随机噪点,最近邻(Nearest Neighbor)能保留原始灰度值,但要慎重——它会让边缘出现锯齿。我实际中用双三次卷积(Cubic Convolution)较多,兼顾边缘和纹理。如果后续要做定量反演,建议用最近邻,避免改变像元值分布。
参数设置里还有“Pixel Spacing”(输出像元大小)。如果是高分三号10米分辨率数据,输出像元大小可以设为10米;Sentinel-1 GRD设为10米也合适。不要输出成5米,那只是强行插值细化,不会增加真实信息。
4.3 地形校正后必须检查的“三个对位”标准
地形校正做完,输出一幅带地理坐标的图像,这时需要检查质量。我的做法是叠加一个矢量边界或者光学底图,观察三个对位情况:一是海岸线或湖岸线是否与影像吻合,二是山谷河流走向是否一致,三是城镇道路网是否和底图重合。如果局部仍然有偏移,优先检查DEM的覆盖范围和投影参数,而不是怀疑校正算法。
还有一个检查技巧:在ENVI里打开校正前后的图像,用光标读取同一地物点坐标,看水平方向偏移量。通常经过Terrain Correction后,10米分辨率数据的位置误差应小于一个像元(10米内)。如果偏移超过30米,大概率是DEM与影像投影不匹配,或者多普勒中心频率参数没设对。
5. ENVI SAR预处理避坑指南:四个高频翻车点
5.1 导入时报“Unexpected end of file”,数据读取中断
现象:在SARscape的Import Data阶段,输出数据只有一部分,或者直接报错“Unexpected end of file”。原因:常见于下载的数据文件不完整,或文件夹里缺少辅助文件(如哨兵数据的manifest.safe、高分三号的参数xml文件)。另一个原因是存储路径有中文或空格,ENVI底层解析路径时出错。解决:先检查下载文件大小和官网校验值,重新下载;把数据放到纯英文无空格路径下;确认所有配套文件(尤其是xml和tiff)都在同一文件夹内。
5.2 辐射定标后图像值域异常:水面出现正值
现象:定标输出后,水体区域的dB值不是负数,反而超过0。原因:定标时选择了错误的入射角参考面,或者用了Beta Nought而不是Sigma Nought。Beta Nought对应雷达波照射方向上的后向散射,不修正局部入射角影响,在山区和近距地区会偏高。解决:重新执行定标,Calibration Type选择Sigma Nought;如果数据做地形校正也一并勾上入射角归一化选项。另外检查多视处理是否在定标之前被意外执行,多视会改变噪声统计特性,影响后续定标精度。
5.3 滤波输出出现“蛋糕效应”(块状斑块)
现象:滤波后的图像出现规则的方块状色斑,像马赛克。原因:滤波窗口设置过大且没有保护边缘,或者先做了多视后滤波,导致窗口内包含不同后向散射特性的地物,被算法当成均匀区域平均。解决:调小滤波窗口到5x5或7x7,并确认在滤波前没有做过度多视。另外Refined Lee滤波器对边缘方向敏感,如果图像未先做低通可以设置更高的“Edge Threshold”值,让算法更保守。
5.4 地形校正后山区图像出现空洞或数据缺失
现象:校正后的山区影像部分区域没有数据,呈现黑色空洞,尤其是在阴影和叠掩区域。原因:SAR本身有阴影区无回波,地形校正时根据DEM映射这些区域自然没数据,属于正常物理现象。但另一种情况是DEM范围小于影像范围,或者DEM有无效值(NODATA),导致校正时边缘被裁掉。解决:首先用DEM提取的有效范围检查是否覆盖影像;其次对阴影区域选择“Fill NoData”选项,用邻域插值填补,但要明白填补的值并不真实。真正可靠的做法是后续分析中把阴影和叠掩区域单独做掩膜,不参与分类或形变解算。
5.5 预处理链路的“顺序颠倒”:先校正后定标导致亮度异常
现象:图像几何位置正确,但地物亮度值整体偏低,暗部细节丢失。原因:做了地形校正后做辐射定标,导致高程增益和入射角被重复归一化。标准流程应该是先定标、后滤波、最后地形校正。有些教程把地形校正放在最前面,那是为了快速看位置,不适用于定量分析。解决:如果已经做错,只能回到原始数据重新跑,没有后悔药。建议在第一次跑的时候,就把整个流程写成工程文件(ENVI里保存为“图章”或Model),后面再批量处理其他景数据时直接调用。
6. 预处理后的质量验证:三个指标和一种快速目视检查技巧
预处理做得对不对,不能只靠“看上去还行”。我会从三个指标做客观检查。第一个是均匀地物的后向散射均值稳定性:选一块平静水面或者机场跑道,统计其均值,多次重访数据的同一地物均值差异应小于0.5dB。第二个是边缘清晰度:在滤波前后沿道路剖面做灰度曲线,比较边缘过渡的像元数,过渡像元从原来的3-5个变成1-2个才算滤波成功。第三个是几何定位精度:用校正后的图像与光学影像做控制点量测,计算均方根误差(RMSE),10米分辨率数据要求RMSE小于等于10米。
还有一种快速目视技巧:用ENVI的“Swipe”工具(图层滑动比较)把预处理后的图像与原始图像叠在一个视图里,以线性拉伸方式显示。先把预处理结果拉伸到-20dB到0dB,再把原始DN值拉伸到同样显示范围,滑动比较。如果预处理结果能清楚看出农田地块边界、河流延续性、道路网整体走向,并且没有明显的斑点颗粒感,那就说明这条预处理链路基本合格。如果还是满屏颗粒,头脑清醒一点,不要调显示增益欺骗自己,回去重查滤波参数。
我在实际项目中,一直坚持把预处理流程固化成模板,每次新来一景数据,只改产品级别和极化方式,其余参数用验证过的默认值。这看起来不酷,但省掉大量重复参数实验的时间。预处理是SAR数据挖掘里最不性感却最决定成败的一步,希望你也不要跳过。希望帮到你。
本文还有配套的精品资源,点击获取