卫星图像处理基础与应用 - 从遥感到变化检测

· 9 分钟阅读

卫星影像与遥感基础

卫星图像处理 (Satellite Image Processing) 是解析人造卫星传感器获取的地球观测数据的技术,广泛应用于农业、环境监测、城市规划、防灾和气候变化研究等领域。遥感通过卫星或航空平台搭载的传感器,在不直接接触地表的情况下获取地球表面信息。不同传感器捕获不同波段的电磁辐射,揭示肉眼不可见的地表特征。

主要卫星平台:

  • Sentinel-2 (ESA): 13 个波段,分辨率 10-60m,5 天重访。免费开放。最适合植被和水质监测
  • Landsat 8/9 (NASA/USGS): 11 个波段,分辨率 15-100m,16 天重访。免费。拥有 40 年以上的时序数据
  • ALOS-2 (JAXA): SAR (合成孔径雷达),分辨率 1-10m。可全天候观测
  • WorldView-3 (Maxar): 31cm 全色分辨率,商业卫星中的最高分辨率
  • Planet (PlanetScope): 3m 分辨率,每日全球覆盖。由约 200 颗卫星组成的星座。商业

光谱波段:

  • 可见光 (RGB):自然色彩,与人眼所见相同
  • 近红外 (NIR):植被强反射,用于植被监测
  • 短波红外 (SWIR):水分敏感,用于土壤湿度和矿物识别
  • 热红外 (TIR):地表温度测量

卫星影像的特点:

  • 多光谱:不仅是可见光,还同时观测近红外、短波红外、热红外等多个波长带
  • 大范围:单景影像可覆盖 100km × 100km 以上
  • 周期性:定期观测同一地点,可追踪时序变化
  • 大容量: Sentinel-2 单景 (全波段) 约 800MB

卫星影像与普通 RGB 图像不同,每个像素表示的是物理量 (辐射亮度或反射率),是定量数据。充分利用这一特性的解析正是遥感的核心。

预处理 - 几何校正与大气校正

原始卫星影像包含传感器的几何畸变、大气影响和地形影响。要进行定量分析,去除这些影响的预处理不可或缺,预处理将原始数据转换为可分析的地表反射率数据。

几何校正 (Geometric Correction):校正卫星姿态变化、地球曲率和地形起伏导致的影像畸变,精确配准到地图坐标系 (如 UTM)。

  • 正射校正:使用 DEM (数字高程模型) 消除地形影响,转换为垂直俯视的影像 (正射投影)
  • GCP (Ground Control Point):使用已知地面坐标点提高几何精度
  • Sentinel-2 L1C 产品已完成几何校正,定位精度约 12m (CE95)

大气校正 (Atmospheric Correction):去除大气散射和吸收的影响,估算地表真实反射率。

  • TOA (Top of Atmosphere) 反射率:大气顶反射率,包含大气影响
  • BOA (Bottom of Atmosphere) 反射率:地表反射率,即大气校正后的值
  • Sen2Cor: ESA 官方的 Sentinel-2 大气校正工具,负责 L1C → L2A 转换
  • 6S (Second Simulation of Satellite Signal):基于辐射传输模型的高精度大气校正。同类工具还有 FLAASH
  • Sentinel-2 L2A 产品已完成大气校正,可直接使用

云检测与掩膜:被云覆盖的像素不含地表信息,必须从分析中排除。Sentinel-2 的 SCL (Scene Classification Layer) 波段可自动分类云、云影和积雪,Fmask 算法也被广泛使用。深度学习方法 (如 s2cloudless) 提供更准确的云检测。云覆盖率超过 30% 的场景通常不予使用。

植被与水体指数 - 波段运算的信息提取

通过卫星影像多光谱波段的数学组合 (波段运算),可以定量评价植被活力、水体分布和土壤状态。这些指数是环境监测的基本工具。

NDVI (归一化植被指数):使用最广泛的植被指数,利用健康植被强反射近红外 (NIR)、吸收红光 (Red) 的特性。

NDVI = (NIR - Red) / (NIR + Red)

  • 值域 [-1, 1]。裸土 0.1-0.2,草地 0.3-0.5,森林 0.6-0.9,水体 < 0
  • Sentinel-2 使用 Band 8 (NIR, 842nm) 和 Band 4 (Red, 665nm)
  • 应用:农作物长势监测、森林健康评估、干旱监测、城市绿化分析

NDWI (归一化水体指数):用于水体检测。

NDWI = (Green - NIR) / (Green + NIR)

  • 水体 NDWI > 0,陆地 NDWI < 0
  • 用于洪水制图和湖泊面积变化追踪

其他常用指数:

  • EVI (Enhanced Vegetation Index): NDVI 的改良版,修正大气和土壤背景影响。在茂密植被区不易饱和
  • NDBI (Normalized Difference Built-up Index):归一化建筑指数,用于城市区域提取。(SWIR - NIR) / (SWIR + NIR)
  • NBR (Normalized Burn Ratio):归一化燃烧比,用于火灾迹地检测和损害评估。(NIR - SWIR2) / (NIR + SWIR2)

在 Python 中,用 rasterio 读取波段数据,再用 NumPy 的数组运算计算指数。为避免除零,需要加上 np.where(denominator != 0, numerator/denominator, 0) 这样的保护处理。

土地覆盖分类 - 机器学习地表分类

土地覆盖分类 (Land Cover Classification) 是将卫星影像的每个像素分类为「森林」「农田」「城市」「水体」等类别的处理,对城市规划、环境评估和碳收支估算不可或缺。

监督分类方法:

  • 随机森林:使用多光谱波段值和指数 (NDVI、NDWI 等) 作为特征训练分类器。可用 scikit-learn 实现,精度一般为 85-90%。简单有效,是遥感分类的主力方法
  • SVM (Support Vector Machine):在高维特征空间中寻找最优分类超平面,擅长高维分类。小样本数据集时表现好
  • 深度学习 (CNN):学习空间模式,用 U-Net 或 DeepLab 进行高精度的像素级分割,精度可达 90-95%。需要大量标注数据但精度最高

训练数据获取:

  • 人工标注:参照 Google Earth 或高分辨率影像,用多边形指定各类别的代表性区域
  • 每个类别至少收集 100-500 个像素的样本
  • 考虑类别间的均衡,对少数类别进行过采样
  • 现有数据集:CORINE Land Cover (欧洲), NLCD (美国)
  • 众包:OpenStreetMap 数据作为弱标签

精度评估:从混淆矩阵 (Confusion Matrix) 计算以下指标。

  • 总体精度 (Overall Accuracy, OA):整体正确率,目标 85% 以上
  • Kappa 系数:修正偶然一致后的精度,0.8 以上为优秀
  • 生产者精度 (Producer's Accuracy):各类别的召回率 (Recall)
  • 用户精度 (User's Accuracy):各类别的精确率 (Precision)

Google Earth Engine (GEE):云端地理空间分析平台,可从浏览器访问 PB 级卫星数据并执行分类处理。支持 JavaScript 和 Python API,最适合大规模时序分析。

变化检测 - 从时序影像中提取变化

变化检测 (Change Detection) 是比较不同时期拍摄的卫星影像、自动识别地表变化的技术,应用于森林砍伐、城市扩张和灾害损失的掌握。

变化检测方法:

  • 影像差值法:直接计算两期影像 (或指数) 的差值,用阈值判定变化 / 非变化。最简单,但阈值设定是难点,且对配准精度要求高
  • 比值法:计算两期影像的比值,对大气条件差异更稳健
  • 变化向量分析 (CVA):将多波段的变化表示为向量,在多维光谱空间中同时评价变化的幅度和方向
  • 分类后比较:分别对两期影像分类,比较分类结果的差异

深度学习变化检测:

  • 孪生网络 (Siamese Network):将两期影像输入同一编码器,从特征差异中检测变化。FC-Siam-diff 是代表方法
  • BIT (Bitemporal Image Transformer):基于 Transformer 捕获长距离空间依赖关系,实现高精度变化检测
  • 精度: F1 分数 0.85-0.92 (取决于数据集)

应用场景:

  • 城市扩张监测:检测新建建筑和道路
  • 森林砍伐:监测森林覆盖减少
  • 灾害评估:洪水、地震、火灾的损害范围
  • 农业监测:作物种植面积变化

时序分析:不止于两期比较,解析数年的时序数据可以区分季节波动和真实变化。利用密集时间序列 (如 Sentinel-2 每 5 天) 构建像素级时间曲线,可检测突变点 (如砍伐) 和渐变趋势 (如退化)。BFAST (Breaks For Additive Season and Trend) 算法分离时序的季节成分和趋势成分,是时序变化检测的代表方法。

实践案例 - 森林砍伐检测:按月计算 Sentinel-2 的 NDVI 时序,提取与去年同月相比下降 0.3 以上的区域作为砍伐候选,再应用云掩膜和季节波动校正来减少误报。Global Forest Watch 就是用这一方法近实时监测全球森林变化的。

实用卫星图像处理 - 工具与工作流

本节介绍在实务中运用卫星图像处理所需的具体工具、数据获取方法和处理流程,以可免费使用的资源为主。

数据获取:

  • Copernicus Open Access Hub:免费下载 Sentinel-1/2/3 的全部数据,可通过 API 批量获取
  • USGS EarthExplorer:免费提供 Landsat 全部存档,也可获取 MODIS 和 ASTER
  • Google Earth Engine:云端处理平台,免费访问 PB 级卫星数据,无需下载即可完成大规模处理。JavaScript/Python API
  • AWS Open Data:从 S3 直接访问 Sentinel-2、Landsat 的 COG (Cloud Optimized GeoTIFF)

处理工具:

  • QGIS:开源 GIS 软件,支持卫星影像显示、波段运算和分类,并有遥感分析插件。免费
  • SNAP (ESA): Sentinel 数据的官方处理工具箱,整合了大气校正、几何校正和 SAR 处理

Python 库:

  • rasterio:地理栅格数据读写。用 rasterio.open() 读取 GeoTIFF,再用 NumPy 运算
  • GDAL:格式转换和重投影的基础库
  • xarray + rioxarray:将卫星数据作为多维数组高效处理,适合时序分析
  • scikit-learn:分类和聚类算法
  • sentinelsat: Sentinel 数据自动下载

典型工作流:

  • 数据获取:下载 Sentinel-2 L2A (已完成大气校正) 或使用 Google Earth Engine
  • 预处理:应用云掩膜 (Sen2Cor / SCL) → 仅提取有效像素
  • 分析:计算 NDVI → 构建时序堆栈 → 变化检测或分类
  • 输出:结果导出为 GeoTIFF
  • 可视化:在 QGIS 中制图或发布 Web 地图

大规模处理策略:全国范围的分析需要处理数 TB 数据,此时 Google Earth Engine、AWS Lambda + S3 或基于 Dask 的并行处理都很有效。使用 COG 格式可以只读取所需区域,大幅减少 I/O。

相关文章

色彩空间基础 - 理解 sRGB、Display P3 与 Adobe RGB 的区别

学习 Web 和设计中色彩空间的核心概念,详细对比 sRGB、Display P3 和 Adobe RGB 的特性差异。

图像分割基础 - 理解区域划分原理与应用

系统介绍图像分割技术,从经典阈值法到深度学习方法 (U-Net、DeepLab、SAM),涵盖评估指标和浏览器端实现。

透视校正原理与实践 - 精确修复建筑照片畸变

详解透视畸变的成因与校正方法,从光学移轴镜头到 Lightroom/Photoshop 软件校正,再到 OpenCV 编程实现。

工业检测中的图像处理 - 从外观检查到尺寸测量

系统讲解图像处理在工业检测中的应用。涵盖缺陷检测、尺寸测量、表面检查和深度学习方法。

目标检测概述 - YOLO、SSD 和 Faster R-CNN 架构与性能对比

全面解析目标检测技术,从 Faster R-CNN 到 YOLO 系列和 SSD,比较各架构的精度、速度和适用场景。

白平衡调整完全指南 - 精确控制色温与色调

白平衡调整完全指南。涵盖色温原理、拍摄策略、RAW 处理技巧、色温科学以及自动白平衡算法的编程实现。

相关术语