简介:《遥感技术概论-微波与图像处理部分》课件围绕微波遥感对地观测技术展开,适合遥感、地理信息、测绘及相关专业学生与研究者系统学习。内容系统梳理微波波段波长1毫米至1米、常用0.8-30厘米频段的基础特性,逐一解析衰减与透射、表面/体散射、多普勒效应和极化方式,并配有衰减系数对比、透射率曲线等图表,便于理解微波全天候、穿透云雾及浅地表探测的独特优势。课件还介绍侧视雷达(SLAR)与合成孔径雷达(SAR)的工作原理,结合二战火控系统的发展脉络,展示微波遥感在土壤湿度、雪被深度、地质构造、植被穿透等领域的应用场景。资源为单个pptx文件,压缩包约137.07MB,内容结构完整、图文并茂,可直接作为教学参考或自学讲义。目前已有274人学习,对想从光学红外视角拓展到微波遥感的读者是一份高价值的入门与进阶资料。
1. 微波遥感对地观测:为什么你的光学图像处理经验会失效
做过光学遥感图像处理的人,第一次拿到SAR(合成孔径雷达)影像时往往会栽跟头:直方图均衡化之后图像依然灰蒙蒙,Sobel边缘检测把噪声当成了边缘,用训练光学影像的CNN模型去做水体提取,精度掉得没法看。这不是算法能力问题,而是微波遥感的成像机理和光学完全不在一个维度。光学传感器记录的是地表反射太阳光的辐射亮度,而微波遥感是主动发射电磁波、再接收地物后向散射信号的相干成像过程,像素值携带的是幅度和相位信息,噪声是乘性相干斑(speckle),地物散射机制也复杂得多。这篇文章把微波遥感对地观测从物理原理、成像方式讲到图像处理落地路径,把一个课件标题拆成可复现的技术方案,适合要从光学转向微波、或者给学生讲这一章时想把原理讲透的工程师和教师。
2. 微波遥感对地观测的物理基础与成像机理
2.1 微波遥感为什么能穿透云雨和夜间观测
微波遥感的第一个关键差异在波段。光学遥感使用的可见光和近红外波长在 0.4~2.5 μm 量级,遇到云层和气溶胶颗粒会发生米氏散射,穿透能力很弱。微波波长量级是厘米级,远大于云滴(约 10 μm)和雨滴(约 1 mm),所以云层对微波而言近似透明介质。
| 频段 | 频率范围 | 波长量级 | 典型应用 |
|---|---|---|---|
| Ka | 26.5~40 GHz | 0.8~1.1 cm | 高分辨率对地观测、机场雷达 |
| Ku | 12.5~18 GHz | 1.7~2.4 cm | 星载散射计、海面风场 |
| X | 8~12 GHz | 2.5~3.75 cm | 高分辨率SAR,形变监测 |
| C | 4~8 GHz | 3.75~7.5 cm | 星载SAR主力(Sentinel-1) |
| S | 2~4 GHz | 7.5~15 cm | 中分辨率观测、穿叶观测 |
| L | 1~2 GHz | 15~30 cm | 生物量估测、地表以下探测 |
| P | 0.3~1 GHz | 30~100 cm | 植被穿透、土壤湿度 |
微波遥感本身是主动遥感,雷达自己发射脉冲并接收回波,不依赖太阳辐照,因此可以夜间成像。加上波长对大气的高穿透率,就形成了"全天时、全天候"对地观测能力,这是光学遥感给不了的。还有一个常被忽视的点:地物的微波后向散射强度主要由介电常数、表面粗糙度、几何结构和含水量决定,这意味着微波遥感能直接反演土壤水分、海面盐度、积雪深度这些光学手段难以获取的参数。
2.2 雷达方程与后向散射系数
雷达方程是理解微波遥感定量观测的起点。雷达天线以增益 G 向地面发射功率 Pt,电磁波到达目标处时功率密度与距离平方成反比;目标将一部分入射能量向后散射,散射截面 σ 度量后向散射能力;返回天线后,接收功率 Pr 再经历一次路径衰减。
Pr = (Pt × G² × λ² × σ) / ((4π)³ × R⁴ × L)
L 是系统损耗因子。这个方程说明两点:一是接收功率与距离的四次方成反比,所以星载SAR要看到远距离目标必须发射更大功率或使用脉冲压缩技术;二是系统设计时波长 λ 和天线增益 G 之间存在折中——频率越低波长越长,穿透性强,但同样分辨率要求天线孔径更大,所以高分辨率微波遥感几乎都靠合成孔径技术解决。
实际对地观测应用中,研究者很少直接用 Pr,而是用后向散射系数 σ0。σ0 是单位面积上的归一化后向散射截面,无量纲,通常用分贝(dB)表示。在数据处理时,SAR原始数据要先做辐射定标,把DN值转成σ0,公式为:
σ0(dB) = 10 × log10(DN² / K)
K 是定标常数。不做过这一步,后面所有定量分析都是空中楼阁。比如做水体识别,平静水面在C波段下镜面反射强、后向散射弱,σ0 通常在 -25 dB 以下;粗糙地表则能到 -10 dB 左右。这个数量级差异比光学图像的灰度差稳定得多。
2.3 SAR成像原理与相干斑噪声的产生
SAR通过平台运动合成一个远大于物理天线的虚拟孔径,从而在方位向获得高分辨率。距离向分辨率靠脉冲压缩(chirp信号匹配滤波)取得,方位向分辨率靠多普勒历史分析取得。成像处理之后的SLC(单视复数)数据每个像素都是一个复数:
S = A × exp(jφ)
A 是幅度,φ 是相位。相位信息在地表形变测量(InSAR)中是核心,但在普通视觉分析时经常被忽略。而相干斑噪声正是由这个复数成像过程产生的:一个分辨单元内存在大量随机分布的散射体,每个散射体回波的相位相互干涉,导致合成幅度出现随机涨落。相干斑是乘性噪声,数学模型可以写成:
I = R × n
I 是观测强度,R 是真实后向散射强度,n 是服从伽马分布的噪声(功率图)或瑞利分布(幅度图)。这与光学图像中常见的加性高斯噪声有本质区别,所以用均值滤波处理SAR图像,边缘确实被抹平了,但噪声依然残留,原因就是没有先做对数变换把乘性变加性。
2.4 极化与干涉:微波遥感的两大扩展维度
单极化SAR只有单一发射/接收组合,获取的信息量有限。极化SAR(PolSAR)交替发射水平(H)和垂直(V)极化波,得到 HH、HV、VH、VV 四个通道。不同地物对极化的响应差异明显:裸土在HH极化下后向散射较强,草地在VV极化下更强,而体散射占优的森林在HV交叉极化通道会显著抬升。因此极化分解(如Freeman-Durden三分量分解)能把散射机制分解为表面散射、体散射和二次散射,在植被分类和地表参数反演中非常实用。
干涉测量(InSAR)则是利用两幅以上SAR影像的相位差来测量地表高程或毫米级形变。雷达波的波长很短,相位对路程变化极敏感,C波段波长约5.6 cm,理论上相位能感知到厘米甚至毫米级的位移。PS-InSAR和SBAS-InSAR就是在此基础上发展起来的时间序列InSAR技术,用于城市沉降、滑坡监测和地震形变研究。
3. 微波遥感图像处理:从原始SLC到可分析的专题图
3.1 微波图像与光学图像的四大差异
做微波遥感图像处理前,先认清SAR图像和光学图像的四个本质差异。第一是统计分布不同:SAR强度图服从伽马分布,幅度图服从瑞利分布,而光学图像噪声通常建模为高斯分布,这意味着很多自适应滤波器的噪声模型参数需要重写。第二是图像特征不同:SAR图像中道路、建筑等强反射体周围常出现亮线(十字旁瓣)和叠掩、阴影,这些几何形变在光学图像里不会出现。第三是直方图形态不同:SAR图像的动态范围极大,地物后向散射从 -30 dB 到 +10 dB 跨度达万倍,直接线性拉伸会损失暗部细节。第四是纹理含义不同:光学图像的纹理来自表面反射率变化,SAR图像的纹理包含表面粗糙度和介电特性的综合信息。
从软件流程上看,微波遥感图像的标准处理链路是:原始回波数据 → 聚焦成像获得SLC → 多视处理(降低噪声、得到近似强度图)→ 辐射定标 → 地形校正(地理编码)→ 滤波去斑 → 增强/分割/分类。
3.1.1 多视处理与等效视数
多视处理是降低相干斑最粗犷也最有效的手段之一。将方位向频谱分为 N 段分别成像再非相干叠加,以牺牲方位向分辨率换取强度估计的稳定性。衡量去斑效果的核心指标是等效视数(Equivalent Number of Looks, ENL):
ENL = (μ / σ)²
μ 是均匀区域强度均值,σ 是标准差。单视强度图的ENL约为1,四视处理后可提高到4左右。ENL越大,噪声抑制越好,但分辨率损失越严重,实际处理时要在两者之间折中。
3.2 辐射定标与地形辐射校正
辐射定标把DN值转换为后向散射系数。对于Sentinel-1的GRD产品,定标公式为:
σ0 = (DN² / A²) × sin(θ)
A 是定标常数,θ 是入射角。这个公式里多了 sin(θ) 项,是因为地面局部入射角不同导致单位地物面积上接收的能量不同。不做入射角校正,同一地物在不同入射角下会有显然后向散射差异,直接影响后续分类和反演精度。
地形辐射校正(Terrain Flattening)在山区尤其重要。即使地面物体物理特性相同,面向雷达的坡面(前坡)回波强,背对雷达的坡面(后坡)回波弱。处理办法是使用DEM计算每个像元的局部入射角,再按余弦关系做归一化。常见做法是用 SRTM 或 ALOS World 3D 作为高程来源,在SNAP或GAMMA软件里完成分块处理。地形校正之后,图像才能和光学影像做像元级对比分析。
3.3 相干斑滤波:从均值滤波到自适应滤波
3.3.1 为什么均值滤波在SAR上会失效
前文提到相干斑是乘性噪声,假设真实值 R 为常数,观测强度 I = R × n,均值滤波是对邻域 N 个像元取平均:均值的期望确实是 R,但标准差只缩减为原来的 1/√N。对于强纹理区域,均值滤波会把纹理信息当成噪声一起抹掉,视觉上图像变平滑了,但边缘和点目标(如船舶、建筑)严重退化。更重要的是,均值滤波不利用SAR噪声的统计特性,无法在抑制噪声的同时保持空间分辨率。因此在工程实践中,均值滤波只用于快速预览,不用于定量分析。
3.3.2 Lee、Frost与Gamma MAP滤波器参数
经典的自适应滤波器都基于局部统计量设计,在均匀区域增强平滑,在边缘和点目标区域保持细节。Lee滤波器假设信号与噪声不相关,在滑动窗口内做线性最小均方误差估计;Frost滤波器用指数脉冲响应与局部方差结合;Gamma MAP则假设信号服从伽马分布,做最大后验估计。
| 滤波器 | 窗口尺寸 | 适用场景 | 缺点 |
|---|---|---|---|
| Lee | 3×3 或 5×5 | 均匀区域,快速去斑 | 边缘保持一般 |
| Frost | 5×5 或 7×7 | 纹理区与均匀区混合 | 参数damp因子需调 |
| Gamma MAP | 7×7 或 9×9 | 强噪声SAR强度图 | 计算量大 |
| Refined Lee | 边缘方向自适应 | 保边缘突出区域 | 实现复杂 |
滤波器窗口尺寸的一般规律是:ENL低(1~2)时用7×7以上窗口才能有效去斑;ENL较高(4以上)时3×3就能满足需求。窗口过大会造成两点直接后果——小目标被吞并,且相邻地物的边界变得模糊。调参时不要只看视觉效果,应在均匀水体区域计算滤波后ENL,验证是否接近理论值,再用边缘保持指数(Edge Preservation Index, EPI)评估边界退化程度。
3.4 图像增强与数学形态学处理
SAR图像的动态范围极大,常规线性增强会压缩暗部信息。常见做法是先取对数把后向散射系数压缩到合理范围,再做直方图均衡化或线性2%截断拉伸:
import numpy as np # 假设 image 是定标后的 sigma0 线性值 db_img = 10 * np.log10(image + 1e-10) # 转成分贝 # 2%线性拉伸,去除极端值 p_low, p_high = np.percentile(db_img, [2, 98]) stretched = np.clip((db_img - p_low) / (p_high - p_low), 0, 1)这段代码先把线性后向散射值转成分贝,让动态范围从万倍压缩到几十分贝,再按2%分位数做线性拉伸,避免少数强反射体(如角反射器)主导整个灰度映射。直方图均衡化在SAR图像上的效果通常不太理想,因为它会过度增强相干斑造成的灰度起伏,更适合在滤波之后再做。
形态学操作在SAR图像处理中用于去除小斑点和填充空洞。对分割后的二值图,先用开运算(先腐蚀后膨胀)去除孤立小目标,再用闭运算(先膨胀后腐蚀)填平孔洞:
import cv2 kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (5, 5)) opened = cv2.morphologyEx(binary_img, cv2.MORPH_OPEN, kernel) closed = cv2.morphologyEx(opened, cv2.MORPH_CLOSE, kernel)椭圆结构元素比矩形更贴合地物边界,5×5窗口对10米分辨率的SAR图像意味着50米范围,适合去除道路和建筑旁边的孤立噪声点。集合运算(交集、并集、差集)在遥感图像处理中也常用,比如提取变化区域就是对两期二值分类结果做异或运算:changed = A XOR B。这个操作在OpenCV中对应cv2.bitwise_xor,在栅格计算中对应布尔不等运算。
4. 用Python处理微波遥感图像的最小可复现流程
4.1 环境准备与公开数据获取
处理SAR图像目前主流的Python生态栈是:rasterio负责栅格读写,numpy做数值计算,scipy.ndimage做卷积和形态学操作,opencv-python提供成熟的图像处理函数,matplotlib用于可视化。如果只是做算法验证,不需要自己从SLC开始处理,可以下载已做过辐射定标和地形校正的GRD产品。
常见的公开数据源包括欧空局的Sentinel-1系列,通过其数据开放平台可以下载到免费SAR影像;日本JAXA的ALOS-2也有部分开放数据。拿到数据后先确认元数据中的入射角、定标常量和投影信息,避免盲目读像素。
import rasterio import numpy as np with rasterio.open('s1_grd.tiff') as src: meta = src.meta image = src.read(1).astype('float32') transform = src.transform profile = src.profile print('数据尺寸:', image.shape) print('投影:', meta['crs']) print('无效值:', src.nodata)读取时要注意SAR产品中常有NoData填充值,这些值不能参与滤波和定标计算,否则会在结果中产生异常低值的暗洞。常见做法是先把NoData值替换为NaN,处理完后再恢复。
4.2 幅度图预处理与对数变换
SAR图像的数值分布跨度很大,直接喂给CNN或阈值分割算法前必须做变换。对强度图而言,通常使用对数变换或Gamma变换,前者更符合人眼灰度感知,也便于用分贝单位讨论后向散射。处理流程如下:
def preprocess_sar(image, nodata=-9999): image = np.where(image <= 0, np.nan, image) # 负值和非正值设为NaN db = 10 * np.log10(image) # 线性转分贝 db = np.nan_to_num(db, nan=np.nanmin(db)) # NaN填充为最小值 # 2%拉伸到0-255的uint8 lo, hi = np.percentile(db[db > np.nanmin(db)], [2, 98]) norm = np.clip((db - lo) / (hi - lo), 0, 1) img8 = (norm * 255).astype('uint8') return img8参数说明:10 * np.log10对应雷达后向散射系数的分贝定义,每增加10倍能量,数值增加10 dB;百分位数选择2%到98%是为了忽略海面极暗区域和角反射器极亮区域的极端值,保证灰度映射集中在中段。这一步做完,后续的滤波和分割就在一个相对平稳的灰度空间里进行。
4.3 斑点抑制与分割
在预处理后的图像上先做增强Lee滤波,再做Otsu阈值分割提取水体。Otsu算法假设图像灰度分布有两个峰值,自动计算使类间方差最大的阈值,遥感图像处理中常直接用OpenCV实现:
import cv2 # 增强Lee滤波简化实现:局部均值与局部方差加权 mean = cv2.blur(img8.astype('float32'), (5, 5)) mean_sq = cv2.blur((img8.astype('float32')**2), (5, 5)) var = np.clip(mean_sq - mean**2, 0, None) k = var / (var + 10.0) # 10为噪声方差估计,需按图像调整 lee = mean + k * (img8 - mean) # Otsu阈值分割 _, water_mask = cv2.threshold(lee.astype('uint8'), 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU) water_mask = cv2.morphologyEx(water_mask, cv2.MORPH_OPEN, np.ones((3, 3), np.uint8))这里的关键参数是噪声方差。在Lee滤波中,k的计算依赖噪声方差,如果估计得过大,滤波器会过度平滑,丢失河流的细小分支;估计过小,则去斑不彻底。实际操作中,可以在图像中找一块均匀水面,按 ENL = (mean/std)² 反推噪声方差,再代回公式。形态学开运算的3×3结构元素用于消除分割后的孤立点,尺寸超过5×5就可能把细河流截断。
4.4 精度评估与结果输出
分割模型做完后不能只看效果图,需要量化精度。在没有人工标注的情况下,可以用两个指标做内部验证:一是水体/陆地边界的形状复杂度是否和已知地理特征一致;二是分割结果与光学影像(如Sentinel-2的NDWI结果)做逐像元交叉对比。计算混淆矩阵:
from sklearn.metrics import confusion_matrix # optical_mask 为光学影像提取的水体掩膜 cm = confusion_matrix(optical_mask.flatten(), water_mask.flatten()) iou = cm[1, 1] / (cm[1, 1] + cm[0, 1] + cm[1, 0]) print('IoU:', iou)IoU大于0.7可以认为分割结果可用,低于0.5则需要调整滤波窗口大小或重新估计噪声方差。这个验证过程建议在流程固定前,选取3个以上不同地形的区域分别测试,避免在单一场景上调参过拟合。最终结果保存为GeoTIFF时,要保留原始投影和分辨率信息,后续才能和别的图层做叠置分析。
5. 微波遥感图像处理的进阶技巧
5.1 两期影像变化检测的快速方案
变化检测最稳定的做法不是直接对原始强度图做差,而是先分别滤波、定标,再对幅度图做对数差。对数差的好处是削弱乘性噪声的影响,将比值变化转化为差值变化。对两期Sentinel-1 GRD数据的对数幅度图计算变化强度:diff = |db1 - db2|,然后设定阈值。阈值的选择可以使用Otsu,也可以按均值和标准差组合:diff > μ + 2σ 视为显著变化。变化区域二值图生成后,先做开运算去除噪声点,再做闭运算合并相邻变化斑块,最后对斑块做面积过滤,小于3个像元的连通域直接剔除。这套基线方案在城区建筑施工监测和洪水淹没范围提取上表现稳定,处理一幅1024×1024图像耗时不超过十秒。
5.2 InSAR相位解缠与形变提取
如果手头有SLC格式的复数据,可以做InSAR。核心链路是:两幅影像配准 → 生成干涉图 → 去除平地效应和地形相位 → 相位滤波 → 相位解缠 → 形变相位转形变量。相位解缠是一维积分问题,常用分支切割或最小费用流算法。对于工程人员,建议直接使用成熟的InSAR处理软件,不必自己实现解缠算法,但要知道解缠质量受基线长度和失相关影响极大。时间基线超过一个月、垂直基线超过临界基线,相干性会急剧下降,此时相位噪声占主导,解缠结果不可信。检查相干系数图,平均相干性低于0.3的区域,形变结果应标记为无效。
5.3 与光学图像融合的最后一个技巧
把微波和光学数据结合时,推荐一个简单有效的做法:用SAR图像对光学图像做"纹理注入"。先对SAR幅度图提取局部纹理特征(如局部标准差或灰度共生矩阵的对比度),再与光学图像的近红外波段做加权融合,输入到分类模型。相比直接把两幅图拼接成多通道输入,这种做法的优势在于避免SAR的相干斑噪声污染光学波段,同时保留了SAR对结构信息的贡献。在训练CNN分类器时,SAR通道与光学通道的权重应分别初始化,加入Dropout,否则模型容易过拟合SAR噪声。对于初学者,优先使用已经在光学影像上预训练好的模型,只替换输入层,比从头训练更稳妥。这个融合策略在水体提取和洪涝评估中能比单一数据源提升5到8个百分点的IoU,适合作为课程设计或工程项目的第一步验证。
本文还有配套的精品资源,点击获取