2、多光谱数据预处理:辐射定标、大气校正与几何校正

各位同学,大家好。今天我们聊一个非常“磨人”但又绕不开的话题——多光谱数据的预处理。

说实话,我刚开始接触遥感那会儿,觉得预处理就是“点几下按钮”的事。直到有一次,我拿了一景Landsat 8数据,没做大气校正就直接拿去算植被指数,结果反演出来的NDVI值全在0.8以上,一看就是错的。后来才发现,是大气散射把近红外波段抬高了。从那以后,我养成了一个习惯:预处理不做完,绝不碰后续分析

今天这一章,我们重点讲三个核心步骤:辐射定标大气校正几何校正与正射校正。这三步,说白了就是把传感器记录的“原始数字”变成“真实地物反射率”的过程。

多光谱数据预处理流程 原始DN值图像 辐射定标 → 辐亮度/反射率 大气校正(6S/FLAASH/暗目标) 几何校正 + 正射校正 地表真实反射率 + 精确地理坐标 预处理是后续一切分析的基础,马虎不得

2.1 辐射定标:从DN值到物理量

先问大家一个问题:传感器记录的那个数字(DN值),到底代表什么?

说白了,DN值就是一个无量纲的整数。它跟地物反射的电磁波能量有关系,但不是直接对应关系。辐射定标,就是把这个数字转换成有物理意义的辐亮度表观反射率

我个人习惯把辐射定标分成两步:

  1. DN → 辐亮度:使用增益(Gain)和偏移(Offset)参数
  2. 辐亮度 → 表观反射率:考虑太阳天顶角和日地距离

关键公式:

Lλ = Gain × DN + Offset

ρ = π × Lλ × d² / (ESUNλ × cos(θs))

其中:Lλ为辐亮度,ρ为表观反射率,d为日地距离,ESUNλ为太阳辐照度,θs为太阳天顶角

嗯,这里要注意:不同传感器的定标参数格式可能不一样。比如Landsat 8的OLI传感器,它的元数据文件(MTL.txt)里直接给出了反射率缩放系数,你甚至不用手动算辐亮度。但像SPOT或高分系列,就得老老实实查增益值。

我的小技巧:

拿到数据后,先看一眼DN值的范围。如果全是0-255的8位整数,大概率没做过定标。如果看到小数(比如0.0x),那可能已经做过部分处理了。别偷懒,一定要看元数据文件。

2.2 大气校正:把“雾”去掉

大气校正,说白了就是去掉大气对信号的干扰。你想想看,太阳光穿过大气照到地面,再反射回传感器,这一路上被大气分子和气溶胶散射、吸收了多少次?如果不做校正,你看到的“绿色植被”可能比实际更亮(因为蓝光散射强),或者更暗(因为吸收)。

常用的方法有三种,我分别说说:

2.2.1 6S模型

6S(Second Simulation of the Satellite Signal in the Solar Spectrum)是一个基于辐射传输理论的物理模型。它需要输入:

  • 传感器类型和波段
  • 气溶胶光学厚度(AOD)
  • 水汽含量
  • 臭氧含量
  • 大气模式(热带、中纬度、极地等)

我在项目中用过6S,说实话,精度确实高,但参数太多。有一次做城市热岛研究,我为了获取准确的气溶胶数据,专门去下载了MODIS的AOD产品。结果发现,6S对气溶胶类型特别敏感——选“城市型”和“乡村型”,输出结果能差5%。

避坑指南:

我曾经犯过一个错误:直接用默认的“大陆型”气溶胶模型去校正沿海地区的影像。结果近红外波段校正过度,植被指数全偏了。后来我学乖了:先查当地气候特征,再选大气模式

2.2.2 FLAASH模型

FLAASH(Fast Line-of-sight Atmospheric Analysis of Spectral Hypercubes)是ENVI软件里集成的大气校正模块。它基于MODTRAN模型,但做了加速优化。

FLAASH的好处是:

  • 界面友好,参数相对少
  • 能自动估算水汽和气溶胶
  • 支持多光谱和高光谱数据

我个人觉得,FLAASH最适合初学者。你只需要设置传感器类型、成像日期、平均海拔,剩下的交给软件。但别太依赖自动估算——如果影像里没有明显的“暗目标”(比如深水体、浓密植被),水汽反演可能会失败。

2.2.3 暗目标法(DOS)

暗目标法,也叫DOS(Dark Object Subtraction)。它的原理很简单:假设影像里存在一个“绝对黑体”(反射率为0),那么它记录的DN值应该全部来自大气散射。把这个值减掉,就完成了校正。

实际应用中,我们通常找深水体浓密植被阴影作为暗目标。我记得有一次做农田监测,影像里没有水体,我就找了山体阴影区。结果校正效果还不错,NDVI值从0.3恢复到了0.6左右。

三种方法对比:

方法 精度 参数需求 适用场景
6S 多(需实测大气参数) 科研级、高精度反演
FLAASH 中高 中等(可自动估算) 工程应用、快速处理
暗目标法 中低 少(仅需暗目标DN值) 快速评估、无大气数据时

2.3 几何校正与正射校正

几何校正,就是把影像“摆正”到真实的地理坐标上。你想想看,卫星成像时,由于地球曲率、地形起伏、传感器姿态变化,影像里的像素位置和实际地面位置是有偏差的。这个偏差,小的几个像素,大的能到几十个像素。

几何校正分两种:

  • 粗校正:利用卫星星历参数(轨道、姿态)进行系统校正
  • 精校正:利用地面控制点(GCP)进行多项式拟合

正射校正是几何校正的“升级版”。它考虑了地形起伏的影响,利用数字高程模型(DEM)对每个像素进行逐点校正。说白了,就是把山上的像素“拉”到它真实的位置上。

我的经验:

做正射校正时,DEM的精度很关键。30米的SRTM DEM对于平原地区够用,但到了山区,最好用12米的TanDEM-X或5米的ALOS DEM。我曾经用30米DEM校正山区影像,结果山脊和山谷的偏移量差了3-4个像素,根本没法用。

2.3.1 控制点选取技巧

选控制点是个技术活。我总结了几个要点:

  1. 选特征明显的地物:道路交叉口、建筑物角点、水库堤坝——这些地方容易精确定位
  2. 均匀分布:别把所有点都堆在影像中央,四角和边缘也要有
  3. 数量适中:一次多项式至少6个点,二次多项式至少10个点。但别超过50个,否则过拟合
  4. 检查RMS误差:一般要求RMS小于1个像素。如果某个点误差特别大,果断删掉

避坑指南:

我曾经在沙漠地区做几何校正,找了半天找不到明显的地物特征。后来我用了GPS实地测量了几个沙丘的拐点,才勉强凑够控制点。所以,如果影像里全是“均匀”地物(沙漠、森林、海洋),考虑用自动匹配方法(如影像到影像配准)

2.3.2 重采样方法

几何校正后,像素位置变了,需要重新赋值。常用的重采样方法有:

  • 最近邻法:速度快,保持原始DN值,但会有锯齿效应
  • 双线性内插:平滑,但会改变原始值
  • 三次卷积:最平滑,但计算量大

我个人建议:如果后续要做分类,用最近邻法(保持原始光谱信息);如果要做变化检测或指数计算,用双线性或三次卷积(减少噪声)。

2.4 预处理流程总结

好了,我们把这一章的内容串起来。一个完整的预处理流程应该是:

  1. 数据检查:查看元数据,确认DN值范围、传感器类型、成像时间
  2. 辐射定标:DN → 辐亮度 → 表观反射率
  3. 大气校正:根据数据条件和精度要求,选择6S、FLAASH或暗目标法
  4. 几何校正:选取控制点,进行多项式校正
  5. 正射校正:结合DEM,消除地形引起的几何畸变
  6. 质量检查:检查校正后的影像是否出现“拉花”、“空洞”或“光谱失真”

嗯,最后说一句:预处理没有“万能公式”。不同的数据、不同的应用场景,处理流程和参数设置都不一样。多动手、多对比、多总结,慢慢你就能找到感觉了。


公众号:蓝海资料掘金营,微信deep3321