参考《Open Source Geospatial Tools Applications in Earth Observation》— Chapter 13 Orfeo Toolbox
The acquisition of satellite imagery by a sensor is prone to a number of effects that influence the quality of the imagery. These effects can be both caused by the sensor and external factors, most commonly attributed to the atmosphere. The correction of these effects forms the basis of image pre-processing as it is performed prior to interpreting, analysing and classifying the satellite imagery. Atmospheric correction is sometimes referred to as image restoration as it removes the undesirable effects of sensor motion and atmospheric interference. As the radiant flux recorded by the sensor passes through the atmosphere it is attenuated by scattering and absorption. For instance, water droplets and dust particles suspended in the atmosphere each affect to brightness values recorded by the sensor
The OTB tool, otbcli_OpticalCalibration provides a compact tool to correct optical satellite for atmospheric effects for the DigitalGlobe sensors (Quickbird, Ikonos, WorldView, GeoEye), ADS VHR optical (Pléiades 1A/1B, SPOT 6/7) and SPOT5. With the release of OTB-4.2, the tool will become more generic in so far as the calibration parameters will be exposed through the command line and filled by metadata parsing. This will mean that previously unsupported sensors can be processed provided the calibration parameters are known. The otbcli_OpticalCalibration converts pixel values stored as digital numbers to calibrated values referred to as surface reflectivity that are stored in the range from 0,1. It provides two levels of calibration:
1. Top of Atmosphere (TOA), which is the most common form of radiometric calibration that takes the sensor gain, sensor spectral response and solar illumination into account;
2. Top of Canopy (TOC) reflectivity takes the above mentioned image data as well as additional physical measurements of the atmosphere that include the optical thickness of the atmosphere, pressure, amount of water vapour, ozone and aerosol gases
To correct the imagery to TOC, it is necessary to provide atmospheric parameters specific to the location and time of image acquisition of your satellite imagery. This information is rarely provided as metadata with your data, so it is necessary to either retrieve the information from meteorological data providers (assuming these data are collected and available by them) or from the Aerosol Robotic Network AERONET).7 AERONET is joinly managed by NASA and French scientific laboratories: PHOTONS (PHOtomtrie pour le Traitement Oprationnel de Normalisation Satellitaire), Univ. of Lille 1; CNES, and CNRS-INSU. otbcli_OpticalCalibration provides a facility to either enter in the atmospheric parameters as command line arguments or to provide an AERONET file, which can be downloaded from the website for a network of measurements sites around the world. However not all sites contain complete, up-to-date measurements. The command’s help is printed below and lists the range of options that can be entered.
-progress < boolean > Report progress -in < string > Input (mandatory) -out < string >[pixel] Output [pixel=uint8/uint16/int16/uint32/int32/float/double] (default value is float) (mandatory) -ram < int32 > Available RAM (Mb) (optional, off by default, default value is 128) -level < string > Calibration Level [toa/toc] (mandatory, default value is toa) -milli < boolean > Convert to milli reflectance (optional, off by default) -clamp < boolean > Clamp of reflectivity values between [0, 100] (optional, on by default) -rsr < string > Relative Spectral Response File (optional, off by default) -atmo.aerosol < string > Aerosol Model [noaersol/continental/maritime/urban/desertic] (mandatory, default value is noaersol) -atmo.oz < float > Ozone Amount (optional, on by default, default value is 0) -atmo.wa < float > Water Vapor Amount (optional, on by default, default value is 2.5) -atmo.pressure < float > Atmospheric Pressure (optional, on by default, default value is 1030) -atmo.opt < float > Aerosol Optical Thickness (optional, on by default, default value is 0.2) -atmo.aeronet < string > Aeronet File (optional, off by default) -radius < int32 > Window radius (optional, on by default, default value is 2) -inxml < string > Load otb application from xml file (optional, off by default)
The information pertaining to the sensor’s physical gain and bias are stored in themetadata file provided with the satellite imagery.
For SPOT5, this file is generally called metadata.dim and the information stored within it is an implicit requirement for the optical calibration tool. The following code snippet demonstrates how the TOA is calculated by simply specifying the input satellite imagery (with metadata), an output image and the type of calibration model. To demonstrate the atmospheric corrections, we will use a SPOT5 scene covering the west of Ireland that was acquired on the 15th of July 2006 Fig. 13.2. The closest AERONET observation station to this scene is located at Mace Head in Co. Galway, in the west of Ireland. Unfortunately, data from this station are only available for the years 2003 and 2004 in the AERONET database. For this reason, and for the purposes of this example, we use data from the closest monitoring station, which is at the Chilboton site in the south of England as a proxy. Clearly this is not ideal, but it is sufficient for the demonstration.
To correct the imagery to the TOA, we simply type the following specifying toa as the level. By default, OTB outputs images as floating point (32 bits), which in some cases would be unnecessarily large. In the following example, we specify the image
data encoding as int16 and include -milli 1 to convert to milli reflectance and discards < 1e-4 digits.
otbcli_OpticalCalibration -in imagery .tif -out imagery_toa .tif → int16 - milli 1 - level toa
To correct the SPOT5 scene to TOC, we use the maritime aersol model given that the SPOT5 scene is located on the west coast of Ireland. We retrieve the following atmospheric parameters from AERONET:
• Amount of ozone (atmo.oz)
• Water vapour amount (atmo.opt)
• Atmospheric Pressure (atmo.pressure)
• Optical Thickness (atmo.opt)
otbcli_OpticalCalibration -in spot5_scene . tif -out → imagery_toc . tif int16 - milli 1 - level toc -atmo . aerosol → maritime -atmo . oz 0.01 -atmo . wa 2.081 -atmo . pressure 1019 → -atmo . opt 0.2
In order to evaluate the output from the radiometric calibration, we plot spectral profiles for three landcover types, namely: water, forest and pasture land Fig. 13.3. The graph indicates that the profiles are consistent with expected spectral profiles for these landcover types and we can therefore assume that the radiometric calibration has been completed successfully.