做过遥感图像处理的人应该都有体会:拿到一景原始影像时,不管它是卫星拍回来的,还是无人机拼出来的,基本都不能直接拿去出图、分类或做定量反演。云影、雾霾、地物颜色发灰、道路线条弯曲、房屋错位……这些乱七八糟的问题如果不处理,后续所有操作都是白费功夫。这就是“遥感图像的校正”存在的意义。简单说,校正就是解决两件事:地物的亮度真不真,像素的位置准不准。
这篇文章我打算把遥感图像校正涉及的几大类内容一次性理清楚。从辐射校正、大气校正,到几何校正、正射校正,再到很多人搜索过的红外图像两点校正、黑电平校正、像差校正、误差校正,以及MapGIS矢量校正这些细分类别。我会结合自己实际处理影像时踩过的坑,尽量用大白话把原理和步骤讲明白,希望不管你是刚接触遥感的学生,还是需要经常处理影像的从业者,都能从中找到能直接上手的东西。
1. 遥感图像校正在对付哪些“失真”
1.1 原始影像为什么不能直接使用
先说一个最容易被忽视的概念:传感器记录的并不是地物真实的颜色或亮度,它只是记录了一个“数字记录值”,也就是DN值。DN值的大小取决于地物反射的太阳辐射、大气的吸收和散射、传感器的响应特性、太阳高度角、观测角度等。换句话说,同一片农田,今天拍和明天拍,不同传感器拍,甚至同一传感器不同角度拍,最后的DN值都不一样。但农田自身的反射率是没有变的。如果直接用DN值去做植被指数或水体提取,结果就会飘,不同时间、不同区域的影像根本没法对比。
再说位置。卫星成像时受到轨道姿态误差、地球自转、曲率、地形起伏的影响,像元对应的地面位置并不一定是它“看起来”该在的位置。山区影像高层建筑物变形、公路穿过河流,这类现象在无校正影像里非常常见。所以校正不是“追求完美”,而是把影像拉回到一个统一、可度量、可比对的基准上。
1.2 校正的框架:辐射、几何、传感器三个层面
我习惯把遥感图像校正拆成三个层面来理解:
- 第一层是传感器本身的问题,包括暗电流、响应非均匀性、镜头像差等。这些属于“仪器误差”,通常在数据生产阶段或者上注到卫星的控制系统时处理,用户拿到的数据大多已经做过基础处理,但偶尔也需要自己再做一步。
- 第二层是辐射层面的问题,把DN值变成有物理意义的辐亮度或反射率,再把大气影响去掉。
- 第三层是几何层面的问题,把像素放到正确的地理位置上。
它们的关系可以看作流水线:传感器校正错误,后面的辐射和几何校正都会带上“脏底子”;辐射校正不彻底,你后面做的分类训练集就是错的;几何校正精度不够,你叠加矢量、做变化检测的结论就不靠谱。每一层都会向上传递误差,这也是为什么我总是强调“校正是一切遥感分析的地基”。
1.3 关于“误差校正”这个词的理解
很多人第一次搜“误差校正”,可能是从MapGIS或者测量数据处理里来的。其实误差校正是一个更广义的概念:只要是利用已知参考值去修正测量或处理结果中存在的偏差,都可以叫误差校正。遥感里的GCP几何校正、辐射定标,本质上都是误差校正的一种。理解的工具是“误差”本身:偏差是系统性的还是随机性的。系统误差可以通过模型消除,随机误差只能统计评估。控制点残差、RMSE、图像配准的平均偏差,这些指标都是在描述误差校正之后还剩多少偏差。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 辐射校正、黑电平校正与红外两点校正
2.1 辐射定标:把DN值变成物理量
辐射定标是整个辐射校正体系里最“机械”但最重要的一步。它的目标是把传感器记录的DN值转换为传感器入瞳处的辐亮度,进一步转换为表观反射率。绝大多数卫星传感器的辐射定标都可以写成线性关系:
L = gain × DN + offset
其中gain是增益系数,offset是偏置系数。这两个系数的来源是实验室定标加在轨定标更新。我经常遇到的新手问题就是拿到Landsat数据不知道去哪找这两个数。以Landsat 8/9 OLI数据为例,MTL文件里直接写明了RADIANCE_MULT_BAND_x和RADIANCE_ADD_BAND_x,分别对应gain和offset。做植被指数或者真彩色合成时,有人直接用DN值计算,做完之后发现NDVI范围不对,就是因为少了这一步定标。
举个例子,某波段DN值为5000,增益是0.012,偏置是-5.7,那么辐亮度就是:
L =
