2、多光谱数据预处理:辐射定标、大气校正与几何校正
各位同学,大家好。今天我们聊一个非常“磨人”但又绕不开的话题——多光谱数据的预处理。
说实话,我刚开始接触遥感那会儿,觉得预处理就是“点几下按钮”的事。直到有一次,我拿了一景Landsat 8数据,没做大气校正就直接拿去算植被指数,结果反演出来的NDVI值全在0.8以上,一看就是错的。后来才发现,是大气散射把近红外波段抬高了。从那以后,我养成了一个习惯:预处理不做完,绝不碰后续分析。
今天这一章,我们重点讲三个核心步骤:辐射定标、大气校正、几何校正与正射校正。这三步,说白了就是把传感器记录的“原始数字”变成“真实地物反射率”的过程。
2.1 辐射定标:从DN值到物理量
先问大家一个问题:传感器记录的那个数字(DN值),到底代表什么?
说白了,DN值就是一个无量纲的整数。它跟地物反射的电磁波能量有关系,但不是直接对应关系。辐射定标,就是把这个数字转换成有物理意义的辐亮度或表观反射率。
我个人习惯把辐射定标分成两步:
- DN → 辐亮度:使用增益(Gain)和偏移(Offset)参数
- 辐亮度 → 表观反射率:考虑太阳天顶角和日地距离
关键公式:
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 控制点选取技巧
选控制点是个技术活。我总结了几个要点:
- 选特征明显的地物:道路交叉口、建筑物角点、水库堤坝——这些地方容易精确定位
- 均匀分布:别把所有点都堆在影像中央,四角和边缘也要有
- 数量适中:一次多项式至少6个点,二次多项式至少10个点。但别超过50个,否则过拟合
- 检查RMS误差:一般要求RMS小于1个像素。如果某个点误差特别大,果断删掉
避坑指南:
我曾经在沙漠地区做几何校正,找了半天找不到明显的地物特征。后来我用了GPS实地测量了几个沙丘的拐点,才勉强凑够控制点。所以,如果影像里全是“均匀”地物(沙漠、森林、海洋),考虑用自动匹配方法(如影像到影像配准)。
2.3.2 重采样方法
几何校正后,像素位置变了,需要重新赋值。常用的重采样方法有:
- 最近邻法:速度快,保持原始DN值,但会有锯齿效应
- 双线性内插:平滑,但会改变原始值
- 三次卷积:最平滑,但计算量大
我个人建议:如果后续要做分类,用最近邻法(保持原始光谱信息);如果要做变化检测或指数计算,用双线性或三次卷积(减少噪声)。
2.4 预处理流程总结
好了,我们把这一章的内容串起来。一个完整的预处理流程应该是:
- 数据检查:查看元数据,确认DN值范围、传感器类型、成像时间
- 辐射定标:DN → 辐亮度 → 表观反射率
- 大气校正:根据数据条件和精度要求,选择6S、FLAASH或暗目标法
- 几何校正:选取控制点,进行多项式校正
- 正射校正:结合DEM,消除地形引起的几何畸变
- 质量检查:检查校正后的影像是否出现“拉花”、“空洞”或“光谱失真”
嗯,最后说一句:预处理没有“万能公式”。不同的数据、不同的应用场景,处理流程和参数设置都不一样。多动手、多对比、多总结,慢慢你就能找到感觉了。
公众号:蓝海资料掘金营,微信deep3321