第八章 为什么及如何辐射定标和大气校正
本文整理自我的原创教程《为什么及如何辐射定标和大气校正?》,内容基本保持原貌。
引言
不同地物在不同波段对电磁波的反射特性不同,所以在遥感成像中则表现为不同地物 在不同波段影像中地表反射率不同。无论是后续的地物分类,还是识别提取地物, 都要用到地表反射率。

但原始的遥感影像,由于传感器误差和不同传感器的数字存储类型不同等原因, 影像中各像元数值并非真实辐射物理量,所以要辐射定标,将其转为统一标准下的真实物理值。
就比如我和你都去量了下身高,我测得是身高1.6m,你测得是身高七尺, 但计算BMI要用到以cm为单位的身高数值,所以要转为以cm为单位的统一标准数值, 也就是定标。
另外,遥感成像时,大气条件会影响电磁波传播,所以得到的地表反射率 也并不是较真实的值,还要大气校正消除大气干扰引起的误差。
辐射定标和大气校正都属于辐射校正(Radiometric Correction)过程。
Level-1 与 Level-2
当我们从USGS下载Landsat系列影像时,对于比较原始的影像产品, 有Level-1和Level-2这两个级别的产品可供选择。
Level-1是经过初步的几何校正和辐射校正、但未大气校正的产品,在名称ID中以L1标识; Level-2是已经过几何校正、辐射校正和大气校正的产品,包括地表反射率和地表温度, 可直接用于遥感分析,在名称ID中以L2标识。
这两个级别产品的元文件都可以在 ArcGIS Pro 中打开,但在 ENVI 中则要 ENVI 5.6.2 及以上的版本才行,比较便捷的办法就是借助Landsat打开助手。 不过在 ENVI 5.6 及以下的版本中,Landsat打开助手也只能打开Level-1的产品。
如果下载的影像是Level-1级的产品,就需要先做辐射定标、大气校正等预处理后 才能直接用于遥感分析。下面演示如何在ENVI中完成对Landsat系列Level-1级影像的 辐射定标和大气校正(在ArcGIS中也可以,但不如在ENVI中有现成的工具那么方便)。
辐射定标
USGS官方对Level-1的数据已初步辐射校正过,并以16位无符号类型存储, 从而提高精度,因此像素值往往是上百或上千。这些值能反映辐射亮度相对大小, 但并不是真实的物理量,还需要将其转换为真实辐射亮度值,也就是辐射定标。
首先,利用Landsat打开助手打开MTL.txt(数据的元文件)。 对于Level-1的数据,打开后默认显示的是多光谱影像。
然后利用【Radiometric Calibration】工具对影像辐射定标: 选择影像(例如多光谱影像)。

应用FLAASH辐射定标参数:对于要用到FLAASH大气校正的影像, 点击【Apply FLAASH Settings】,会自动设置好适合FLAASH大气校正的参数类型 (Radiance)、存储格式(BIL格式)、像素类型(Float型)和单位比例系数(0.1), 无需手动调整。定标完后,你会发现像素值都不再像之前那么大了,影像色调也会有所变化。 这个结果除了用于FLAASH大气校正,也可用于快速大气校正。
大气校正
由于大气路径中的水汽、CO2、气溶胶等物质会影响电磁辐射的传播, 遥感成像结果中的反射率值也会因此受到影响,所以还要大气校正 以消除大气对地表反射率的干扰。另外,辐射亮度与地表反射率之间存在数学关系, 通过大气校正可以将辐射定标后的辐射亮度(Radiance)转为地表反射率 (Surface Reflectance)。
在ENVI中,大气校正方法有两种:快速大气校正和FLAASH大气校正。
- 快速大气校正适合在处理时间有限或任务精度要求不高时使用;
- FLAASH则适合在高精度处理任务中使用。
综合结果精度和效率考虑:如果处理场景几乎没有云雾,地物显而易见, 且包含水域、植被、土地和人造地表等不同的地物,那么快速大气校正非常适合; 但如果处理区域有大面积水域(因为此时大气中水汽含量多),比如河口、湖泊, 那么就最好用FLAASH大气校正。
快速大气校正
在Toolbox栏中找到或搜索【Quick Atmospheric Correction】工具并打开, 输入辐射定标后的数据,然后选择对应的传感器类型, 最后输出的就是快速大气校正后的影像了。输出结果可以保存, 也可以做临时预览(Virtual Raster);要拿来用的话就要输出为File。
另外,在 Toolbox > APP Store 中有批处理工具, 重启应用后可一键完成对多幅影像的辐射定标和快速大气校正。
FLAASH大气校正
与快速大气校正相比,FLAASH大气校正更为精确,但处理过程较慢。具体步骤如下:
(1)打开工具:在Toolbox栏中找到或搜索【FLAASH Atmospheric Correction】工具并打开。
(2)输入数据:输入辐射定标后的影像,Single Scale Factor选择为1。 因为Radiometric Calibration后的数据值单位是正确的,不需要再调整单位比例系数, 默认设为1就是乘1保持不变。
(3)设置输出路径:设置地表反射率结果的输出路径 (名称要包括扩展名,例如以 .dat 格式保存), 并设置FLAASH大气校正其它结果文件的输出目录。
(4)输入影像采集时的信息:设置影像的中心地理坐标、传感器类型、 像元大小(分辨率)、成像时间等。除了【Ground Elevation(地表高程)】, 其它信息在Landsat元文件中都有——只要选择影像对应的【Sensor Type(传感器类型)】, 这些具体参数就会自动被ENVI读取并调好,无需手动调整。

而地表高程则可借助ENVI自带的高程数据(GMTED2010), 通过【Compute Band Statistics】工具并Subset(裁剪) 计算处理区域内的平均高程来得到。注意:计算得出的平均高程单位是m, 而要输入的【Ground Elevation】单位是km。

(5)选择大气和气溶胶模型:由于示例影像区域是在热带陆地, 且没有成片的城镇区或工业区,可见度良好,所以大气模型为Tropical、 气溶胶模型为Rural,其余选项默认。
大气模型是根据给定的水汽含量和地表气温来选择的(规则如下表):

如果没有给定的水汽含量和地表气温数据,则根据影像的成像季节和纬度带来选择:

至于 Aerosol Retrieval(气溶胶反演)模型和 Water Column Multiplier(大气的水汽柱倍数), 不确定的话就默认;常规质量好的影像没有明显的雾霾,所以可见度默认为40km (说明天气没有雾霾)。
(6)Multispectral Settings:如果默认有设定 Aerosol Retrieval(气溶胶反演)模型, 例如2-Band(K-T)模型,则要在底部【Multispectral Settings】选项中选择用来反演的波段, 可以从 GUI > Defaults 中选择 Over-Land Retrieval standard(600:2100)模式自动匹配。 如果没设定气溶胶反演模型,那么就不用考虑Multispectral Settings。
(7)高级设置:以下这些参数如果不确定的话,通通默认!
- 大气气溶胶集中区域的高度:一般在1~2km。
- 二氧化碳体积混合比:单位ppm(百万分比),390ppm表示百万分之390。
- 使用光谱响应函数:光谱响应函数是用来描述传感器对不同波长光信号响应特性的函数。 如果传感器对不同波长的电磁辐射感应的灵敏度有明显不同,那么使用相应的光谱响应函数 就能为大气校正提供较为准确的光谱分布信息。一般是默认不需要使用。
- 使用邻域校正:邻域校正会考虑周围像素的值,以更准确地估计大气对影像的影响。 如果遇到图像各像元反射率变化大、分辨率非常高(比如1米分辨率)、 或者影像有大量噪声(缺失数据的像元)等情况,最好不要用邻域校正, 否则周围像素值会干扰大气校正评估。
- 重用MODTRAN计算:MODTRAN是一种大气辐射传播模型,用于模拟大气中的辐射传播过程。 第一次大气校正后,计算结果会保存在FLAASH的输出文件中,以便要重复处理时再次使用。 由于每次大气校正都要耗时进行MODTRAN计算,如果多幅影像的大气条件都相似,则可以重用; 如果不确定是否相似,则默认不重用。
- 选择散射模型:散射模型是用来模拟辐射在大气传播过程中的散射情况, 默认为比较高效的Scaled DISORT模型。
- 遥感成像时的观测方位角和高度角:如果不确定就默认;如果确定的话, 大气校正结果会更精确。
大气校正处理过程及输出设置:
- 分块处理及分块大小:如果数据量大,分块处理可提高处理效率; 如果数据量小可不考虑分块处理,以保证数据各区域的处理过程都一致。
- Spatial Subset:是否裁剪只针对输入影像某一指定区域进行大气校正, 默认是整幅影像区域。
- Reflectance Scale Factor:反射率单位的比例系数,越大则数值表示的精度越高。 例如设为10000,如果大气校正后影像的某一波段像元值为8723, 那么反射率就是87.23%。
- 保存FLAASH模板文件:本次大气校正中的所有参数设置都会保存到FLAASH文件 输出目录下的 template.txt 中,如果后续需要可方便查看。
- 输出诊断文件:输出大气校正处理过程中产生的所有过程文件,如果没必要就不需要。
(8)输出结果:Apply应用大气校正后会显示反演后的大气能见度和水汽含量, 而地表反射率结果则保存在之前设置的输出路径中。

由于Reflectance Scale Factor默认设为10000, 所以大气校正后的值都是反射率(0~100%)×10000,快速大气校正后的值也是如此。
总结与补充
总结:
- 遥感地物识别需要用到地表反射率;
- 辐射定标与大气校正都是辐射校正过程,其结果是得到较真实的地表反射率;
- 辐射定标可将原始DN值转为辐射亮度;
- 大气校正是为了消除大气对地表反射率的干扰,可将辐射亮度转为较真实的地表反射率。
补充:
- 在ArcGIS中可通过【栅格计算器】工具来实现辐射定标和大气校正, 但这需要熟悉公式以及影像元文件中相应的参数,然后在【栅格计算器】输入表达式,比较复杂。
- 关于辐射定标和大气校正的数学原理可以从ENVI软件的帮助文档中找到线索, 都是来自英文文献,但我也看得一知半解,很难通俗易懂地讲明白, 所以也不要完全相信这篇中文教程。
参考资料
- ENVI帮助文档
- 辐射定标与FLAASH大气校正 - icydengyw - 博客园
- ENVI FLAASH大气校正常见错误及解决方法 - ENVI-IDL技术殿堂 - 博客园
- Landsat Collection 2 | U.S. Geological Survey
- ENVI扩展工具:Landsat 数据打开助手(支持 Landsat 9 和 Collection 2)
