5.辐射定标和大气校正
5.1 内容介绍
太阳辐射通过大气以某种方式入射到物体表面然后再反射回传感器,由于大气气溶胶、地形和邻近地物等影像,使得原始影像包含物体表面,大气,以及太阳的信息等信息的综合。如果我们想要了解某一物体表面的光谱属性,我们必须将它的反射信息从大气和太阳的信息中分离出来,这就需要进行大气校正过程。 学习利用 ENVI 大气校正扩展模块(FLAASH 和 QUAC)对多光谱和高光谱数据进行大气校正的过程,还包括大气校正的准备工作——辐射定标。 FLAASH 是基于 MODTRAN5 辐射传输模型,MODTRAN 模型是由进行大气校正算法研究的领先者 SpectralSpectral Sciences, Inc 和美国空军实验室(Air Force Research Laboratory)共同研发。Exelis VIS 公司负责集成和 GUI 设计。
5.2 辐射定标
辐射定标是将图像的数字量化值(DN)转化为辐射亮度值或者反射率或者表面温度等物理量的处理过程。辐射定标参数一般存放在元数据文件中,ENVI 中的通用辐射定标工具(Radiometric Calibration)能自动从元数据文件中读取参数,从而完成辐射定标。
(1)选择 File>Open As>Landsat>GeoTIFF with Metadata,选择打开*_MTL.txt 文件。下面以Quic kbird影像为数据源学习卫星影像的正射校正过程。分别在ENVI5.3和ENVI Classic下操作。
(2)在 Toolbox 中,选择 Radiometric Correction > Radiometric Calibration,对文件对话框中选择多光谱数据。打开 Radiometric Calibration 面板。
(3)在Radiometric Calibration 面板中,设置以下参数: 定标类型(Calibration Type):辐射率数据 Radiance 单击 Apply FLAASH Settings 按钮,自动设置 FLAASH 大气校正工具需要的数据类型,包括储存顺序(Interleave):BIL 或者 BIP;数据类型(Data Type):Float;辐射率数据单位调整系数(Scale Factor):0.1。
(4)设置输出路径和单位名,单击 OK 执行辐射定标。 如图5.2.1
图5.2.1 Radiometric Calibration 面板
(5)显示辐射定标结果图像,选择 Display>Profiles>Spectral 查看波谱曲线,看到定标后的数值主要集中在 0-10 范围内,单位是 µW/(cm2 * sr * nm)。如图5.2.2
图5.2.2 辐射定标结果的波谱曲线
5.3. 多光谱数据 FLAASH 大气校正
5.3.1 FLAASH 输入数据要求
FLAASH 对大气校正的输入图像做了一些要求,具体要求如下:
1. 图像基本参数
波段范围:卫星图像:400-2500nm,航空图像:860nm-1135nm。
如果要执行水汽反演,光谱分辨率<=15nm,且至少包含以下波段范围中的一个:
1050-1210 nm
770-870 nm
870-1020 nm
像元值类型:经过定标后的辐射亮度(辐射率)数据,单位是:(μW)/(cm2*nm*sr)。
数据储存类型
数据类型:浮点型(Floating Point)、32 位无符号整型(Long Integer)、16 位无符号和有符号整型(Integer、Unsigned Int)。
文件类型: ENVI 标准栅格格式文件,BIP 或者 BIL 储存结构。
中心波长:数据头文件中(或者单独的一个文本文件)包含中心波长(wavelenth)值,如
果是高光谱还必须有波段宽度(FWHM),这两个参数都可以通过编辑头文件信息输入(Edit Header)。
波谱滤波函数文件:对于未知多光谱传感器(UNKNOWN-MSI)需要提供波谱滤波函数文件。
5.3.2 详细操作步骤
ENVI 大气校正模块的使用主要又以下 7 个方面组成:1、输入文件准备,2、基本参数设置, 3、多光谱数据参数设置,4、高光谱数据参数设置,5、高级设置,6、输出文件,7、处理结果。 (一)、 输入文件准备
根据前一章节中介绍的 FLAASH 对数据的要求准备待校正文件。由于使用了 Radiometric Calibration 工具辐射定标,数据类型、储存顺序、辐射率数据单位都符合 FLAASH 要求,Landsat5 的 L1G 级数据包括了中心波长信息。
(二) 、基本参数设置
在Toolbox 中打开 FLAASH 工具: /Radiometric Correction/Atmospheric Correction Module/FLAASH Atmospheric Correction。启动 FLAASH Atmospheric Correction Module Input Parameters 面板
Input Radiance Image:选择辐射定标结果数据,在打开的 Radiance Scale Factors 面板中,设置 Single scale factor:如图5.3.1
图5.3.1 Radiance Scale Factors 面板
(1)Output Reflectance File:设置输出路径和文件名;
(2)Output Directory for FLAASH Files:设置其他文件输出目录;
(3)传感器基本参数设置:
中心点经纬度 Scene Center Location:如果图像有地理坐标则自动获取;选择传感器类型 Sensor Type:Landsat TM5,其对应的传感器高度以及影像数据的分辨率自动读取;
(4)设置影像区域的平均地面高程 Ground Elevation:0.05km
影像成像时间(格林威治时间):在 layer manager 中的数据图层中右键选择 View Metadata,浏览 time 字段获取成像时间,2009 年 9 月 22 号 02:43:22。
(5)大气模型参数选择 Atmospheric Model:Mid-Latitude Summer(根据成像时间和纬度信息依据下表规则选择);
表 3.2 数据经纬度与获取时间对应的大气模型
(6)气溶胶模型 Aerosol Model:Urban;
(7)气溶胶反演方法 Aerosol Retrieval:2-band(K-T);注:初始能见度 Initial Visibility 只有在气溶胶反演方法为 None 时候,以及 K-T 方法在没有找到黑暗像元的情况下。
(8)其他参数按照默认设置即可如图5.3.2。
(三) 多光谱数据参数设置
(1)单击 Multispectral Settings,打开多光谱设置面板;
(2)K-T 反演选择默认模式:Defaults->Over-Land Retrieval standard(600:2100),自动选择对应的波段;
(3)其他参数选择默认。 如图5.3.3
(四) 高级设置
单击 Advanced Settings 打开高级设置面板。这里一般选择默认设置能符合绝大部分数据情况,在右边面板中设置:
(1)分块处理(Use Tiled Processing):是否分块处理,选择 Yes 能获得较快的处理速度,Tile Size一般设为4-200m,根据内存大小设置,这里设置为100m(计算机物理内存8G)。
(2)空间子集(Spatial Subset):可以设置输出的空间子集,这里选择默认输出全景。
(3)重定义缩放比例系数(Re-define Scale Factors For Radiance Image):重新选择辐射亮度值单位转换系数,这里不设置。
(4)输出反射率缩放系数(Output Reflectance Scale Factor):为了降低结果储存空间,默认反射率乘于 10000,输出反射率范围变成 0~10000。
(5)自动储存工程文件(Automatically Save Template File):选择是否自动保存工程文件。
(6)输出诊断文件(Output Diagnostic Files):选择是否输出 FLAASH 中间文件,便于诊断运行过程中的错误。如图5.3.4
图5.3.4 高级设置面板
如果对 Modtran 模型非常熟悉,可根据数据情况进行调整,如下为其余部分的参数说明。
- 气溶胶厚度系数(Aerosol Scale Height):用于计算邻域效应范围。一般值为 1~2km,默认为 1.5km。
- CO2 混合比率(CO2 Mixing Ratio):默认为 390ppm,它是依据 2001 测量值为 370ppm,增加 20ppm 以得到更好的结果。
- (Use Square Slit Function):
- 使用领域纠正(Use Adjacency Correction):Yes 或者 No。
- 使用以前的 MODTRAN 模型计算结果(Reuse MODTRAN Calculations):
- No:重新计算 MODRTRAN 辐射传输模型。
- Yes:执行上一次 FLAASH 运行获得的 MODRTRAN 辐射传输模型,每次运行 FLAASH后,都会在根目录和临时文件夹下生成一个 acc_modroot.fla。
- MODTRAN 模型的光谱分辨率(Modtran Resolution):越低分辨率具有较快速度而相对较低的精度,主要影响区域在 2000 nm 附近。高光谱数据默认为 5 cm-1,多光谱数据默认为 15 cm-1。
- MODTRAN 多散射模型(Modtran Multiscatter Model):校正大气散射对成像的影响,提供三种模型选择 ISAACS,DISORT 和 Scaled DISORT。默认是 Scaled DISORT 和 streams为 8。
- Isaacs 模型计算速度快,精度一般;
- DISORT 模型对于短波(小于 1000nm)具有较高的精度,但是速度非常比较慢,由于散射对短波(如可见光)影响较大,长波(近红外以上)影响较小,因此当薄雾较大和短波图像时可以选择此方法;
- Scaled DISORT 提供在大气窗口内与 DISORT 类似的精度,速度与 Isaacs 类似,这模型是推荐使用的模型。当选择 DISORT 或者 Scaled DISORT,需要选择 streams:2、4、8、16,这个值是用来估算散射的方向,可见 streams 值越大速度越慢。
观测参数
天顶角(Zenith Angle):是传感器直线视线方向和天顶的夹角,范围是 90~180 度,其中 180 为传感器垂直观测。
方位角(Azimuth Angle):范围是-180~180 度。
(五) 处理结果浏览
- 设置好参数后,单击 Apply 执行大气校正;
- 完成后会得到反演的能见度和水汽柱含量。
- 显示大气校正结果图像,查看像元值,可以看到像元值扩大 10000 倍后,值在几百到几千不等。如果要得到 0-1 范围内的反射率数据,可以使用 BandMath 除以 10000.0。
- 选择 Display>Profiles>Spectral 查看典型地物波谱曲线,如植被、水体等。如图5.3.5
图5.3.5 FLAASH 大气校正结果中获取的波谱曲线(左-植被,右-水体)
5.4. 高光谱数据 FLAASH 大气校正
5.4.1输入文件准备
本例中的AVIRIS高光谱数据已经是辐射率数据,包括了中心波长、波段宽度(FWHM),Integer 数据类型,BIP 储存顺序。在 layer manager 中的数据图层中右键选择 View Metadata,可以浏览所有的信息。
5.4.2 基本参数设置
(1)打开 CupriteAVIRISSubset.dat 数据,在 Toolbox 中打开 FLAASH 工具: /Radiometric Correction/Atmospheric Correction Module/FLAASH Atmospheric Correction 。 启 动 FLAASH Atmospheric Correction Module Input Parameters 面板。
(2)Input Radiance Image:选择 CupriteAVIRISSubset.dat 文件,在打开的 Radiance Scale Factors 面板中,选择默认 Read array of scale factors (1 per band) from ASCII file。 在对话框中选择 AVIRIS11_gain.txt 文件,在 Input ASCII File 对话框中,Scale Column 设置 如图5.4.1。
图5.4.1 Radiance Scale Factors 和输入文本文件面板
(3)Output Reflectance File:设置输出路径和文件名;
(4)Output Directory for FLAASH Files:设置其他文件输出目录;
(5)传感器基本参数设置:
- 中心点经纬度 Scene Center Location:如果图像有地理坐标则自动获取;
- 选择传感器类型 Sensor Type:Hyperspectral > AVIRIS;
- 传感器飞行高度 Sensor Altitude (km):20
- 设置影像区域的平均地面高程 Ground Elevation:0.6km
- 图像地面分辨率 Pixel Size (m):15.5
- 影像成像时间(格林威治时间)Flight Date:Aug 6, 2011,Flight Time (GMT): 19:20:00
(6)大气模型参数选择 Atmospheric Model:U.S. Standard(根据成像时间和纬度信息依据下表规则选择);
(7)水汽反演 Water Retrieval:yes
(8)水汽吸收波长 Water Absorption Feature:1135
(9)气溶胶模型 Aerosol Model:Urban;
(10)气溶胶反演方法 Aerosol Retrieval:2-band(K-T);
(11)其他参数按照默认设置即可。 如图5.4.2
图5.4.2 FLAASH 基本参数设置
5.4.3 高光谱数据参数设置
(1)单击 Hyperspectral Settings,打开高光谱设置面板;
(2)其他参数选择默认。
图5.4.3 高光谱设置面板
5.4.4 高级设置
单击 Advanced Settings 打开高级设置面板。这里一般选择默认设置能符合绝大部分数据情况,在右边面板中设置如图5.4.4:
(1)分块处理(Use Tiled Processing):是否分块处理,选择 Yes 能获得较快的处理速度,Tile Size一般设为4-200m,根据内存大小设置,这里设置为100m(计算机物理内存8G)。
(2)其他默认设置。
图5.4.4 高级设置面板
5.4.4 处理结果浏览
1.设置好参数后,单击 Apply 执行大气校正;
2.完成后会得到反演的能见度和水汽柱含量。如图5.4.5
图4.5 FLAASH 结果
3.显示大气校正结果图像,像元值同样扩大了 10000 倍。
4.选择 Display>Profiles>Spectral 查看地物波谱曲线。
5.在工具栏中的 Go to 文本框中输入 326,290,回车。得到这个像素点的波谱曲线,如下图5.4.6所示。
6.在 1300 nm 和 1500 nm 除有两个低谷,这个主要由于水汽吸收造成反射率很低。这种情况可以利用“edit header”工具将这几个波段标识为“Bad band”。
图5.4.6 FLAASH 大气校正结果中获取(326,290)点的波谱曲线
7.高光谱 FLAASH 大气校正结果还会产生两个文件:水汽含量反演图像(water.dat)和云层掩膜图像(cloudmask.dat)。
5.5. 快速大气校正(QUAC)
快速大气校正工具(QUick Atmospheric Correction 简称 QUAC)自动从图像上收集不同物质的波谱信息,获取经验值完成高光谱和多光谱的快速大气校正(如下图5.5.1)。它得到结果的精度近似 FLAASH 或者其他基于辐射传输模型的+/-15%。它支持的多光谱和高光谱波谱范围是(0.4~2.5 μm)。
图 5.5.1 快速大气校正流程图
QUAC 的输入数据可以是辐射亮度值、表观反射率、无单位的 raw 数据。可以是任何数据储存顺序(BIL/BIP/BSQ)和储存类型,多光谱和高光谱传感器数据的每个波段必须有中心波长信息。 QUAC 的操作非常简单,如下:
(1)在 Tool box 中,启动/Radiometric Correction/Atmospheric Correction Module/QUick Atmospheric Correction (QUAC),在文件输入对话框中选择校正的图像文件如图5.5.2;
图 5.5.2 文件选择对话框
(2)打开 QUick Atmospheric Correction Parameters 面板,在 Sensor Type 中选择相应的传感器类型,一般会根据图像信息自动选择。
(3)选择文件名和路径输出。