Atmospheric correction method, device, electronic device and readable storage medium

By setting the optical remote sensor height in the input file of the atmospheric radiation transmission model and using the cluster computing environment for parallel operations, an atmospheric correction lookup table suitable for different flight altitudes is solved, and the problem of low atmospheric correction efficiency in the prior art is realized. Image correction and efficiency improvement for different types of remote sensors are achieved.

CN114925492BActive Publication Date: 2025-02-11AEROSPACE INFORMATION RES INST CAS
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210344944.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-02
Publication Date
2025-02-11
Estimated Expiration
2042-04-02

AI Technical Summary

Technical Problem

The prior art is difficult to achieve atmospheric correction of remote sensing images collected by optical remote sensors of different flight altitudes and types, and the traditional methods are inefficient in computing and cannot meet the needs of business-based systems.

Method used

By setting the optical remote sensor height as the input parameter when generating the input file of the atmospheric radiation transmission model, the cluster computing environment is used to segment the calculation tasks and perform parallel operations to generate an atmospheric correction lookup table suitable for different flight altitudes.

Benefits of technology

It realizes atmospheric correction of remote sensing images of optical remote sensors of different flight altitudes and types, improves computing efficiency, and can quickly build and update the atmospheric correction lookup table to meet the needs of business-based systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114925492B_ABST
    Figure CN114925492B_ABST
Patent Text Reader

Abstract

The present application discloses an atmospheric correction method, device, electronic device and readable storage medium. The method includes generating an input file of an atmospheric radiation transfer model according to multiple groups of different input parameters including the height of an optical remote sensor. According to the target input parameters and the configuration information of a pre-built cluster computing environment, the input file is divided into multiple computing tasks; each computing task is assigned to each target computing node of the cluster computing environment, so that each target computing node can be used to obtain each sub-output file of the atmospheric radiation transfer model by running the corresponding computing task, and a sub-lookup table is generated according to the atmospheric correction parameters extracted from the corresponding sub-output file; according to the merged and sorted results of the sub-lookup tables of each target computing node, an atmospheric correction lookup table is generated to realize atmospheric correction of remote sensing images collected by optical remote sensors of different flight altitudes and different types.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of remote sensing technology, and in particular to an atmospheric correction method, device, electronic equipment and readable storage medium. Background Art

[0002] Atmospheric correction is an important part of remote sensing image preprocessing and the key to remote sensing quantitative analysis. It is used to eliminate the scattering and absorption of atmospheric molecules and aerosols between the sun, the ground and the remote sensor, and invert the surface reflectance. The effective value of the reflectance ranges from 0 to 1, thereby obtaining the true surface reflectance of the pixel. The solar radiation signal received by the sensor includes the backscattering of solar radiation by the atmosphere, usually called path radiation; the total solar radiation reflected by the surface directly entering the sensor after atmospheric attenuation; and the total solar radiation reflected by the surface after atmospheric scattering entering the sensor.

[0003] Assuming that the ground is approximately a Lambertian body and considering the atmospheric absorption and scattering, the sensor's entrance pupil radiance can be determined by the calculation relationship (1):

[0004]

[0005] Where L represents the sensor’s entrance pupil radiance, L p Indicates the radiation, E s represents the solar irradiance at the top of the atmosphere, θs represents the solar zenith angle, which is the target parameter, τ ss represents the atmospheric downward direct transmittance, τ sd represents the atmospheric downward scattering transmittance, r b represents the reflectivity of the neighboring pixels, τ do represents the upward scattering transmittance of the atmosphere, r t Represents the true reflectivity of the surface, τoo represents the atmospheric upward direct transmittance, ρ dd represents the hemispherical reflectivity, and the atmospheric correction process is rt The calculation process, rt The solution process can be divided into solving r b and solver t Two steps: First, assume that the surrounding pixels have the same reflectance characteristics as the target pixel, that is, rb = rt, and then perform a low-pass filter on the image to obtain rb , the average reflectivity of the entire area. The remaining seven unknown parameters in the calculation equation (1) are the atmospheric correction parameters. These parameters can be obtained directly or indirectly from the simulation results of MODTRAN. By calculating the data in the lookup table, the actual reflectivity of the pixel is finally obtained, and the solution is completed. rt process.

[0006] When performing atmospheric correction or atmospheric parameter inversion of remote sensing images, the traditional method can use the atmospheric radiation transfer model to obtain various atmospheric correction parameters. The atmospheric radiation transfer model is a model used to describe the absorption and scattering process of radiation signals through the atmosphere. Depending on the application, there are two-dimensional radiation transfer models such as Modtran, 6S, etc. and three-dimensional radiation transfer models such as SHDOM, I3RC, etc. However, this method of directly calling the atmospheric radiation transfer model to determine the atmospheric correction parameters is time-consuming and inefficient. In order to improve the calculation efficiency of atmospheric correction parameters, related technologies usually use an atmospheric correction lookup table to replace the traditional method. The atmospheric correction lookup table can improve the efficiency of the entire processing process by constructing a parameter lookup table under various imaging conditions. The parameter lookup table is called an atmospheric correction lookup table, such as the atmospheric correction lookup table in the production of ATCOR (Atmospheric Correction and Haze Reduction) software, Flaash (Fast line-of-sight atmospheric analysis of spectral hypercubes) software, and MODIS (Moderate-resolution Imaging Spectroradiometer) reflectivity products. The atmospheric correction lookup table can perform fast target parameter interpolation calculations while ensuring accuracy, and is widely used in remote sensing science and other scientific computing fields.

[0007] At present, the public atmospheric correction lookup table only considers certain specific sensors and input parameters and cannot be extended to other remote sensors. For those lookup tables with strong versatility (such as ATCOR), they cover a variety of atmospheric conditions, aerosol parameters and imaging parameters, but the lookup table structure is not public and cannot be used directly. In addition, in recent years, relevant domestic departments have launched a series of hyperspectral satellites, introduced or developed multiple aviation hyperspectral remote sensing payloads, and have a strong demand for producing business reflectance products and building business systems, and have achieved regular updates and maintenance through rapid construction process design. Among them, ATCOR can correct the changes in the smooth reflection of objects on the earth's surface, perform atmospheric correction on remote sensing images, remove the influence of the atmosphere on objects during imaging, and remove thin clouds and haze to the greatest extent. In the recognition process, the ATCOR3 software has a total of 18 different mask type criteria, including clouds, cloud shadows, water bodies and other objects. The criterion form is relatively simple and the results are good. ATCOR constructs an atmospheric correction lookup table for different atmospheric modes, aerosol types, sensor altitudes, ground elevations, solar imaging angles, and observation imaging angles. The output includes the six parameters in the above calculation equation (1): L p , τss , τsd , τdo, τoo , ρdd . The variables of the atmospheric correction lookup table constructed by ATCOR are set as follows: flight altitude ranges from 1000 meters to 99000 meters; water vapor content ranges from 0.4 to 2.9g / cm2; aerosol types include the four built-in types of Modtran, namely Rural, Urban, Maritime, and Desert; ground altitude ranges from 0 to 2.5km; solar zenith angle ranges from 0 to 70 degrees; visibility ranges from 5 to 120km. However, the load altitude constructed by the lookup table used in the ATCOR software is above 1000 meters, which is suitable for atmospheric correction of manned aviation and satellite data, but not for atmospheric correction of low-altitude UAV data. In addition, the structure and specific construction process of the ATCOR software lookup table are not public, and the lookup table cannot be used to carry out corresponding research and business work.

[0008] In view of this, how to implement atmospheric correction for remote sensing images collected by optical remote sensors of different types and at different flight altitudes is a technical problem that needs to be solved by technicians in the relevant field. Summary of the invention

[0009] The present application provides an atmospheric correction method, device, electronic device and readable storage medium, which can realize atmospheric correction of remote sensing images collected by optical remote sensors of different types and at different flight altitudes.

[0010] To solve the above technical problems, the embodiments of the present invention provide the following technical solutions:

[0011] An embodiment of the present invention provides an atmospheric correction method, including:

[0012] Generating an input file of an atmospheric radiation transfer model according to a plurality of different sets of input parameters; the input parameters include the height of the optical remote sensor;

[0013] According to target input parameters and configuration information of a pre-built cluster computing environment, the input file is divided into a plurality of computing tasks;

[0014] Allocating each computing task to each target computing node of the cluster computing environment, so as to obtain each sub-output file of the atmospheric radiation transfer model by running the corresponding computing task using each target computing node, and generating a sub-lookup table according to the atmospheric correction parameters extracted from the corresponding sub-output file;

[0015] The atmospheric correction lookup table is generated based on the merged and collated results of the sub-lookup tables of each target computing node.

[0016] Optionally, before dividing the input file into a plurality of computing tasks according to the target input parameter and the configuration information of the pre-built cluster computing environment, the method further includes:

[0017] Determine the total generation time of the atmospheric correction lookup table based on the time required for each computing node to run the corresponding computing task, the generation time of the sub-lookup table of each computing node, the result aggregation time of each computing node, and the total number of threads of each computing node;

[0018] Determine the total number of computing nodes in the cluster computing environment according to the total generation time, the number of available computing nodes, the actual time and resource occupancy information of each computing node running the corresponding computing task;

[0019] A cluster computing environment is established based on the total number of computing nodes.

[0020] Optionally, each target computing node obtains each sub-output file of the atmospheric radiation transfer model by running a corresponding computing task, and generates a sub-lookup table according to the atmospheric correction parameters extracted from the corresponding sub-output file, including:

[0021] For each target computing node, the current target computing node will run the corresponding computing task to obtain the sub-output file and output it in binary form; use a preset computer programming language to read the atmospheric correction parameters from the corresponding sub-output file, and generate a sub-lookup table of the target spectral resolution through a band equivalent calculation method.

[0022] Optionally, before generating the sub-lookup table according to the atmospheric correction parameters extracted from the corresponding sub-output file, the method further includes:

[0023] For each target computing node, determine whether the starting wave number of the sub-output file of the current target computing node is the same as the preset starting wave number;

[0024] If the starting wave number of the sub-output file of the current target computing node is different from the preset starting wave number, sending an instruction to re-run the computing task to the current target computing node;

[0025] If the starting wave number of the sub-output file of the current target computing node is the same as the preset starting wave number, the sub-output file of the current target computing node is resampled, and the resampling result is stored in binary form.

[0026] Optionally, generating an atmospheric correction lookup table according to the combined and sorted results of the sub-lookup tables of each target computing node includes:

[0027] Each sub-lookup table is combined to obtain the atmospheric correction parameter combination of the target spectral resolution under different input parameter conditions;

[0028] Combine the atmospheric correction parameter combinations in order to generate an initial atmospheric correction lookup table;

[0029] The solar zenith angle parameters and the observation zenith angle parameters are inserted into the initial atmospheric correction lookup table by interpolation to generate the atmospheric correction lookup table.

[0030] Optionally, dividing the input file into a plurality of computing tasks according to target input parameters and configuration information of a pre-built cluster computing environment includes:

[0031] Performing initial segmentation on the input file according to the target input parameter to obtain a plurality of initial subtasks;

[0032] For each initial subtask, it is further divided according to the aerosol type and water vapor value to obtain multiple atmospheric subtasks;

[0033] Each initial subtask and each atmospheric subtask are combined to obtain multiple computing tasks.

[0034] Optionally, the allocating each computing task to each target computing node in the cluster computing environment is:

[0035] Pre-set multiple parallel computing threads for each target computing node;

[0036] Evenly distribute each computing task to each target computing node in the cluster computing environment;

[0037] For each target computing node, the corresponding computing task is divided into multiple parallel computing tasks according to the aerosol type, so that each target computing node calls each parallel computing thread for each initial subtask in turn and simultaneously executes each parallel computing task belonging to the current initial subtask.

[0038] Another aspect of the present invention provides an atmospheric correction device, comprising:

[0039] An input file generation module is used to generate an input file of an atmospheric radiation transfer model according to a plurality of different input parameters; the input parameters include the height of an optical remote sensor;

[0040] A task splitting module, used to split the input file into multiple computing tasks according to target input parameters and configuration information of a pre-built cluster computing environment;

[0041] A task running module, used for allocating each computing task to each target computing node of the cluster computing environment, so as to obtain each sub-output file of the atmospheric radiation transfer model by running the corresponding computing task on each target computing node, and generating a sub-lookup table according to the atmospheric correction parameters extracted from the corresponding sub-output file;

[0042] The table generation module is used to generate an atmospheric correction lookup table according to the combined and sorted results of the sub-lookup tables of each target computing node.

[0043] An embodiment of the present invention further provides an electronic device, comprising a processor, wherein the processor is configured to implement the steps of the atmospheric correction method as described in any of the preceding items when executing a computer program stored in a memory.

[0044] Finally, an embodiment of the present invention further provides a readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the atmospheric correction method as described in any of the preceding items are implemented.

[0045] The advantage of the technical solution provided by the present application is that the input parameter of the optical remote sensor height is set in the input file for generating the atmospheric radiation transmission model, so that the atmospheric correction table finally generated can be applied to optical remote sensors of different flight altitudes, and can meet the requirements of fine atmospheric correction lookup tables for multiple flight altitudes from drone altitude to high-altitude aircraft. By dividing a large number of computing tasks and scheduling parallel operations, a fast construction of an atmospheric correction lookup table with good versatility is achieved, and the atmospheric correction parameters are obtained by querying the constructed atmospheric correction lookup table. The real reflectivity of the pixel is finally obtained by calculation based on the obtained atmospheric correction parameters, which can not only realize the atmospheric correction of remote sensing images collected by different types of optical remote sensors, but also can be used for atmospheric correction of different types of optical remote sensors from hyperspectral to multi-spectral, and can also improve the overall atmospheric correction efficiency. Finally, in view of the need to quickly build a lookup table, with the help of a cluster computing environment, the atmospheric correction lookup table construction process can have the ability to be regularly updated and maintained, effectively improving the practicality of the atmospheric correction lookup table.

[0046] In addition, the embodiments of the present invention also provide corresponding implementation devices, electronic devices and readable storage media for the atmospheric correction method, which further make the method more practical, and the devices, electronic devices and readable storage media have corresponding advantages.

[0047] It is to be understood that the foregoing general description and the following detailed description are exemplary only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] In order to more clearly illustrate the technical solutions of the embodiments of the present invention or related technologies, the following briefly introduces the drawings required for use in the embodiments or related technical descriptions. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0049] Figure 1 A schematic diagram of a flow chart of an atmospheric correction method provided by an embodiment of the present invention;

[0050] Figure 2A schematic diagram of the relationship between virtual machine nodes and computing time in an exemplary application scenario provided by an embodiment of the present invention;

[0051] Figure 3 A schematic diagram of computing task partitioning for an exemplary application scenario provided by an embodiment of the present invention;

[0052] Figure 4 Various spectral transmittance curves of an atmospheric correction lookup table for an exemplary application scenario provided by an embodiment of the present invention;

[0053] Figure 5 A schematic diagram of a framework of an exemplary application scenario provided for an embodiment of the present invention;

[0054] Figure 6 A schematic diagram of the structure of an atmospheric correction lookup table for an exemplary application scenario provided by an embodiment of the present invention;

[0055] Figure 7 A structural diagram of a specific implementation of the atmospheric correction device provided by an embodiment of the present invention;

[0056] Figure 8 A structural diagram of a specific implementation of an electronic device provided in an embodiment of the present invention. DETAILED DESCRIPTION

[0057] In order to enable those skilled in the art to better understand the scheme of the present invention, the present invention is further described in detail below in conjunction with the accompanying drawings and specific implementation methods. Obviously, the described embodiments are only part of the embodiments of the present invention, rather than all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention.

[0058] The terms "first", "second", "third", "fourth", etc. in the specification and claims of this application and the above drawings are used to distinguish different objects rather than to describe a specific order. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but may include steps or units that are not listed.

[0059] After introducing the technical solutions of the embodiments of the present invention, various non-limiting implementation methods of the present application are described in detail below.

[0060] See first Figure 1 , Figure 1 A flow chart of an atmospheric correction method provided by an embodiment of the present invention, the embodiment of the present invention may include the following contents:

[0061] S101: Generate input files of the atmospheric radiation transfer model according to multiple groups of different input parameters.

[0062] The input parameters of this embodiment are the input parameters of the atmospheric radiation transmission model, that is, some parameters that affect the propagation of electromagnetic waves in the atmospheric medium. The input parameters may include multiple different optical remote sensor heights or flight altitudes, multiple sets of different environmental parameter conditions and geometric imaging conditions. Environmental parameter conditions may be, for example, different aerosol types, different ground elevations, different aerosol optical thicknesses, different water vapor contents, atmospheric patterns, etc. Geometric imaging conditions include some parameters that affect remote sensing image acquisition and remote sensing image imaging. The type and value of the input parameters can be flexibly selected according to the actual application scenario, and this application does not impose any restrictions on this. Multiple sets of different input parameters not only refer to multiple sets of input parameter types, but also different values ​​of input parameters of the same type. Taking the input parameter as the optical remote sensor height as an example, multiple sets of different input parameters refer to multiple different optical remote sensor heights. The atmospheric radiation transmission model can adopt any model that can represent the propagation and transmission process of electromagnetic waves in the atmospheric medium, such as Modtran, 6S, SHDOM, I3RC, etc. This application does not impose any limitation on this. The input parameters are data information input into the atmospheric radiation model, which are data information required for the operation of the atmospheric radiation model. That is, based on the type of the atmospheric radiation model, the input parameters can be processed accordingly to obtain the input information of the atmospheric radiation model selected to meet the current application scenario, that is, the input conditions. Taking the atmospheric radiation model as Modtran as an example, the process of generating the input file required for Modtran operation can be: based on the fixed format required by Modtran for the input file, according to various aerosol types, flight altitudes, ground elevations, geometric imaging and other conditions, generate the input file required for Modtran operation, that is, the *.tp5 file.

[0063] S102: Divide the input file into multiple computing tasks according to target input parameters and configuration information of a pre-built cluster computing environment.

[0064] The target input parameter of this embodiment is an input parameter of one type among the above-mentioned input parameters. For example, the input parameters of S101 include aerosol type, flight altitude, ground elevation, and geometric imaging. The target input parameter may be, for example, flight altitude. The cluster computing environment is pre-built and includes multiple independent computing nodes. The computing nodes may be physical computing nodes or virtual computing nodes, which do not affect the implementation of the present application. The configuration information may include the total number of computing nodes included in the cluster computing environment, the computing power of each computing node, the memory of the cluster computing environment, physical parameters, etc. The total number of computing tasks may be the same as or different from the total number of computing nodes in the cluster computing environment. The technicians in the relevant field may make flexible choices according to the efficiency requirements and the operation of the cluster computing environment, which do not affect the implementation of the present application. The multiple segmented computing tasks may be spliced ​​into the entire input file.

[0065] S103: Allocate each computing task to each target computing node in the cluster computing environment, so as to obtain each sub-output file of the atmospheric radiation transfer model by running the corresponding computing task on each target computing node, and generate a sub-lookup table according to the atmospheric correction parameters extracted from the corresponding sub-output file.

[0066] In this step, the target computing node is a computing node used to execute computing tasks in a cluster computing environment. The target computing node can be all computing nodes in the cluster computing environment or some computing nodes in the cluster computing environment, which is determined by the number of computing nodes that can run computing tasks and the total number of computing tasks in the cluster computing environment. The computing tasks can be evenly distributed to each target computing node, for example, one computing task is distributed to one target computing node. For target computing nodes with different computing capabilities, the distribution of computing tasks can be balanced according to the actual computing capabilities. That is, more computing tasks can be allocated to computing nodes with stronger computing capabilities, and no or fewer computing tasks can be allocated to computing nodes with weaker computing capabilities. The target computing node runs the computing task, that is, each target computing node runs the computing task assigned to it, and obtains the output file of the atmospheric radiation transfer model. Since the computing task is a part of the input file, the running result of each target computing node, that is, the output file, is a part of the output file of the atmospheric radiation transfer model, which is called a sub-output file in this embodiment. Similarly, taking the atmospheric radiation transfer model as Modtran as an example, the assigned computing task is run on the corresponding computing node to obtain a series of Modtran output files, such as *.tp6, *.tp7, *.tp8, *.plt, *.acd, etc. The atmospheric radiation transfer model is used to describe the absorption and scattering process of the radiation signal passing through the atmosphere. The atmospheric correction parameters can be directly or indirectly obtained from the simulation results of the atmospheric radiation transfer model, that is, the sub-output file. After obtaining each sub-input file, the required atmospheric correction parameters can be extracted from the sub-input file through any computer programming language, such as IDL (Interface description language) code. Each target computing node generates a corresponding atmospheric correction lookup table based on the structure of a preset atmospheric correction lookup table according to the extracted atmospheric correction parameters. Since this table is part of the final atmospheric correction lookup table, this step is called a sub-lookup table.

[0067] S104: Generate an atmospheric correction lookup table according to the combined and sorted results of the sub-lookup tables of each target computing node.

[0068] In the present application, since the input file is segmented in S102, each sub-output file only includes a part of the atmospheric correction parameters. The sub-lookup tables generated corresponding to each sub-output file are spliced ​​to generate a final atmospheric correction lookup table. The atmospheric correction lookup table can be a satellite atmospheric correction lookup table or an aviation atmospheric correction lookup table. By calculating the data in the atmospheric correction lookup table, the true reflectivity of the pixel can be finally obtained, thereby completing the atmospheric correction operation.

[0069] In the technical solution provided by the embodiment of the present invention, the input parameter of the optical remote sensor height is set in the input file for generating the atmospheric radiation transmission model, so that the atmospheric correction table finally generated can be applicable to optical remote sensors of different flight altitudes, and can meet the requirements of fine atmospheric correction lookup tables for multiple flight altitudes from the height of unmanned aerial vehicles to high-altitude aircraft. By dividing a large number of computing tasks and scheduling parallel operations, a fast construction of an atmospheric correction lookup table with good versatility is achieved, and the atmospheric correction parameters are obtained by querying the constructed atmospheric correction lookup table. The real reflectivity of the pixel is finally obtained by calculation based on the obtained atmospheric correction parameters, which can not only realize the atmospheric correction of remote sensing images collected by different types of optical remote sensors, but also can be used for atmospheric correction of different types of optical remote sensors from hyperspectral to multispectral, and can also improve the overall atmospheric correction efficiency. Finally, in view of the need to quickly build a lookup table, with the help of a cluster computing environment, the atmospheric correction lookup table construction process can have the ability to be regularly updated and maintained, effectively improving the practicality of the atmospheric correction lookup table.

[0070] It should be noted that there is no strict order of execution between the steps in this application. As long as they comply with the logical order, these steps can be executed simultaneously or in a certain preset order. Figure 1 This is just a schematic and does not mean that this is the only execution order.

[0071] The above embodiment does not limit how to build a cluster computing environment. As an optional implementation, this embodiment also provides a method for building a cluster computing environment, that is, before the execution step divides the input file into multiple computing tasks according to the target input parameters and the configuration information of the pre-built cluster computing environment, the following contents may also be included:

[0072] Determine the total generation time of the atmospheric correction lookup table based on the time required for each computing node to run the corresponding computing task, the generation time of the sub-lookup table of each computing node, the result aggregation time of each computing node, and the total number of threads of each computing node;

[0073] Determine the total number of computing nodes in the cluster computing environment based on the total generation time, the number of available computing nodes, and the actual time and resource usage information of each computing node running the corresponding computing task;

[0074] Build a cluster computing environment based on the total number of computing nodes.

[0075] In this embodiment, before setting up a cluster computing environment, it is necessary to first determine the total number of computing nodes in the cluster computing environment. The total number of computing nodes is determined based on this embodiment, thereby improving the efficiency of atmospheric correction through the cluster computing environment and improving the search efficiency of the atmospheric correction lookup table.

[0076] In order to verify that the cluster computing environment can shorten the running time of the atmospheric correction lookup table, the running speed of the atmospheric radiation transfer model such as MODTRAN can be tested on computers with different configurations: the calculation speed of the atmospheric radiation transfer model MODTRAN on the device is evaluated by running the atmospheric radiation transfer model MODTRAN on the device to calculate the average time of a set of all imaging geometry combinations (for example, it can include 186 types). The test results are shown in Table 1; among them, the configuration of Computer1 is IntelCore i3-2100, quad-core, 3.1HZ, memory 8G; the configuration of TG7500 workstation is Intel Xeon X5680, six-core, 3.33HZ, memory 24G. The result size of a single combination is 5.86MB (binary output), and 7421400 combinations require about 41.5T of storage space to store the original results of MODTRAN operation. At the same time, it can be seen from Table 1 that it takes more than 20,000 hours for a high-performance personal computer or a small workstation to run all the input files for building the lookup table, which causes certain difficulties in establishing a more sophisticated lookup table or updating the lookup table data.

[0077] Table 1 MODTRAN calculation speed test of each device

[0078]

[0079]

[0080] In this embodiment, multiple virtual machine computing nodes can be used to solve the problem of long computing time and large storage space required to build this lookup table. In order to obtain a rough estimate of the total running time of the virtual machine, the computing speed of the virtual machine node provided by the remote sensing database such as the Hainan Province Remote Sensing Big Data Platform (http: / / 10.3.101.10 / ) can be tested. Figure 2 It shows how the total estimated calculation time changes with the number of all computing nodes, as well as the running speed of each node relative to the fastest node. The time required to build the entire atmospheric correction lookup table includes not only the running time of atmospheric radiation transfer models such as Modtran, that is, the average time t for a single node and a single thread to run a single tp5, but also the time t1 for building the sub-lookup table on each node and the time t2 for aggregating the results of all nodes, which are estimated to be 1.5 days and 3 hours, respectively. Therefore, with a total of X Modtran runs, n nodes, and m threads of parallel computing on each node, the time to build the lookup table is estimated to be: T = X*t / (n*m)+t1*n+t2. X, t, t1, and t2 can be 7421400, 1.2583 minutes, 1.5 days, and 3 hours, respectively. Theoretically, when the number of nodes reaches The time will be minimized. Figure 2The relative change in computing time with the increase in nodes is shown. When the number of nodes reaches 10, the increase in operating efficiency with the increase in the number of nodes shows a slow change. Although the time is the shortest when the number of nodes reaches 80 in theory, it is also found in actual operation that the running time increases slightly when the number of nodes exceeds 20, which may be related to the simultaneous I / O operations of multiple nodes. Therefore, considering the computing time required for virtual machine nodes, the number of available nodes, resource usage and other factors, the total running time is estimated to be 1068 hours when the number of virtual machine nodes is 20, and the actual running time is 1023 hours. That is, as an optional implementation, the total number of computing nodes in the cluster computing environment can be 20.

[0081] In the above embodiment, there is no limitation on how to execute step S102. In this embodiment, an optional implementation method of dividing the input file into multiple computing tasks according to the target input parameters and the configuration information of the pre-built cluster computing environment is provided in the above step, which may include the following steps:

[0082] Initially split the input file according to the target input parameters to obtain multiple initial subtasks;

[0083] For each initial subtask, it is further divided according to the aerosol type and water vapor value to obtain multiple atmospheric subtasks;

[0084] Each initial subtask and each atmospheric subtask are combined to obtain multiple computing tasks.

[0085] When the computing power of each computing node, that is, the computing speed, is almost the same, this embodiment can divide the computing tasks according to the number of computing nodes and the setting of input parameters, and evenly distribute each computing task to each computing node, thereby minimizing the computing time. The division of computing tasks mainly considers three factors: first, the effective use of computing time and computing nodes; second, the ability to quickly construct target input parameters such as atmospheric correction lookup table data for a certain flight altitude; third, it is convenient for data management. In this embodiment, the target input parameter can be the flight altitude. The height of the sensor is usually fixed. Taking the target input parameter as an example, the computing task division method is as follows: Figure 4 As shown, first, all computing tasks can be divided according to the flight altitude or the height of the optical remote sensor; secondly, the data of each flight altitude can be divided according to the aerosol type and water vapor value, and the computing tasks for each combination of flight altitude, aerosol type and water vapor content value can be assigned to a node.

[0086] In order to further improve the efficiency of atmospheric correction, after allocating each computing task to each target computing node in the cluster computing environment, the tasks can be further divided and executed together by multiple threads, which may include the following:

[0087] Pre-set multiple parallel computing threads for each target computing node;

[0088] Evenly distribute each computing task to each target computing node in the cluster computing environment;

[0089] For each target computing node, the corresponding computing task is divided into multiple parallel computing tasks according to the aerosol type, so that each target computing node calls each parallel computing thread for each initial subtask in turn and simultaneously executes each parallel computing task belonging to the current initial subtask.

[0090] The number of parallel computing threads of each target computing node in this embodiment can be flexibly selected according to actual needs. The data on each computing node is divided according to the aerosol type, and each computing node can perform multiple computing tasks in parallel. In this way, the computing task is executed according to the target input parameter such as the flight altitude, that is, the data of one flight altitude is calculated before the data of the next flight altitude is calculated. According to the technical solution provided by this embodiment, the input file is divided, and the computing task amount of each computing node is basically the same, which is conducive to improving the efficiency of the entire atmospheric correction.

[0091] The above embodiment does not limit the construction method of the sub-lookup table. This embodiment also provides an optional implementation method, that is, each target computing node obtains each sub-output file of the atmospheric radiation transfer model by running the corresponding computing task, and generates a sub-lookup table according to the atmospheric correction parameters extracted from the corresponding sub-output file. This process includes the following contents:

[0092] For each target computing node, the current target computing node will run the corresponding computing task to obtain the sub-output file, and output it in binary form;

[0093] The atmospheric correction parameters are read from the corresponding sub-output files using a preset computer programming language, and a sub-lookup table of the target spectral resolution is generated by a band equivalent calculation method.

[0094] Since the atmospheric radiation transfer model code, such as MODTRAN code, is relatively complex, it is a "black box" program for ordinary users, and it is difficult to directly obtain the corresponding calculation results by modifying the source code according to actual needs. Since the calculation results of the atmospheric radiation transfer model, that is, each sub-output file, do not completely correspond to the table parameters that need to be looked up, in order to facilitate use and save storage space, the sub-output file can be output in binary form. Taking MODTRAN as an example, the MODTRAN running results have two characteristics: 1) The calculation results do not completely correspond to the table parameters we need to look up, and the values ​​are output according to the wave number interval; 2) MODTRAN can output the results in ASCII text form or binary data. Therefore, in order to facilitate use and save storage space, the MODTRAN running results can be output in binary form. After obtaining the atmospheric correction parameters, a sub-lookup table with a spectral resolution of 1nm can be obtained through band equivalent calculation, and its coverage range is 340-2500nm. Figure 4 The various spectral transmittances of the sub-lookup table are shown in Figure 2. It can be seen that the equivalent calculation results with a spectral resolution of 1 nm still retain the absorption characteristics of the typical atmosphere and can meet the needs of most remote sensing applications.

[0095] Generally speaking, the lookup table includes L in the above calculation relationship (1) p 、E s , τ ss , τ sd , τ do , τ oo , dd These seven atmospheric correction parameters can be obtained by band equivalent calculation in this embodiment. In combination with actual use requirements, the spectral resolution of these results can be resampled to 1nm. When resampling, the first parameter calculation relationship (2) can be used to calculate L p and E s , use the second parameter calculation formula (3) to calculate τ ss , τ sd , τ do , τ oo , dd .

[0096] The equivalent calculated radiation and downlink direct transmittance For example, the remaining atmospheric correction parameters only need to be replaced by the corresponding atmospheric correction parameters, and they will not be repeated here. and downlink direct transmittance The corresponding band equivalent relationship is expressed as follows:

[0097]

[0098]

[0099] Among them, L p represents the path radiation, τ ss represents the atmospheric upward direct transmittance, ν1 is the starting wave number (cm -1 ), ν2 is the termination wave number (cm -1 ), E(v) is the solar irradiance at a certain wave number, f(ν) is the spectral response value at a certain wave number, and f(ν) can be fitted according to a Gaussian function.

[0100] By calculating all the atmospheric correction parameters through the above calculation formulas (2) and (3), the final lookup table can be generated.

[0101] In order to ensure the accuracy of the atmospheric correction lookup table finally obtained and ensure that the sub-lookup table obtained in step S103 is complete, after the parallel calculation of multiple computing tasks is completed, an integrity criterion can be set to determine whether the calculation result is interrupted due to power failure or other task conflicts. That is, before generating the sub-lookup table according to the atmospheric correction parameters extracted from the corresponding sub-output file, the following steps can also be included:

[0102] For each target computing node, determine whether the starting wave number of the sub-output file of the current target computing node is the same as the preset starting wave number;

[0103] If the starting wave number of the sub-output file of the current target computing node is different from the preset starting wave number, an instruction to re-run the computing task is sent to the current target computing node;

[0104] If the starting wave number of the sub-output file of the current target computing node is the same as the preset starting wave number, the sub-output file of the current target computing node is resampled and the resampling result is stored in binary form.

[0105] In this embodiment, the integrity criterion can be set to whether the starting wave number of the running result is equal to the preset starting wave number to determine whether the running result is completely output, and the corresponding records of incomplete output are re-run; the complete output data is resampled, and the resampling results are stored in binary form for easy use and saving storage space.

[0106] The above embodiment does not limit the process of generating the atmospheric correction lookup table according to the merged and sorted results of the sub-lookup tables of each target computing node. This embodiment also provides an optional construction method of the atmospheric correction lookup table, which may include:

[0107] Each sub-lookup table is combined to obtain the atmospheric correction parameter combination of the target spectral resolution under different input parameter conditions;

[0108] Combine the atmospheric correction parameter combinations in order to generate an initial atmospheric correction lookup table;

[0109] The solar zenith angle parameters and the observation zenith angle parameters are inserted into the initial atmospheric correction lookup table by interpolation to generate an atmospheric correction lookup table.

[0110] Among them, the atmospheric correction lookup table involves multi-dimensional interpolation when used, in which the solar zenith angle and the observed zenith angle variables can be linearly interpolated according to the cosine value, and the interpolation order can be based on the order of the atmospheric correction lookup table variables from the inside to the outside.

[0111] In order to make the technical personnel in the relevant field more clearly understand the calculation scheme of the present application, this application takes the construction of a fine aerial lookup table based on the MDOTRAN5.2.1 atmospheric radiation transmission model as an example, taking into account multiple factors such as multiple optical remote sensor altitudes, geometric imaging conditions, atmospheric conditions and ground elevations, and taking advantage of the high-performance cluster computing environment, by dividing a large number of computing tasks and scheduling parallel operations, the lookup table can be quickly constructed and the calculation results can be reasonably stored.

[0112] Among them, the task division, operation and processing of the aviation atmospheric correction lookup table can be completed with the assistance of IDL, using nested loops on the input parameter dimension to generate input files, execute MODTRAN, parse the results and perform resampling processing, and then merge the results in sequence and store them as a binary data structure. Figure 5 As shown in the figure, the construction of the entire aviation atmospheric correction lookup table is divided into five stages: input file generation, task segmentation, task operation, data processing and result merging:

[0113] A1: Generate the input files required for Modtran operation: The input files *.tp5 required for Modtran operation can be generated according to various conditions such as aerosol types, flight altitude, ground elevation, geometric imaging, etc.

[0114] A2 Task segmentation: The generated input files are segmented according to preset rules and assigned to various computing nodes for calculation;

[0115] A3 runs tasks: runs the assigned tasks on the corresponding computing nodes to obtain a series of Modtran output files, such as *.tp6, *.tp7, *.tp8, *.plt, *.acd, etc.

[0116] A4 Result processing: parse the running results, use any computer programming language such as IDL code to extract the parameters required for the lookup table from the running results, and use the band equivalent calculation method to calculate, and finally store the results in a binary data structure.

[0117] A5 Result merging: The output results scattered to each computing node are merged and sorted to obtain the six parameter combinations with a resolution of 1 nm under different conditions. The six parameter combinations are combined in sequence to form the final atmospheric correction lookup table. The form and structural diagram of the atmospheric correction lookup table can be shown in Figure 6.

[0118] In this embodiment, the atmospheric correction lookup table is quickly constructed by executing computing tasks in parallel on multiple computing nodes; and when constructing the lookup table based on the MODTRAN radiation transfer model, a reasonable input parameter value range and arrangement order are set to further improve the construction efficiency of the atmospheric correction lookup table.

[0119] The present embodiment is based on a cluster computing environment, by reasonably segmenting the computing tasks, and dividing these segmented tasks to each computing node, completing the computing tasks and data processing tasks on each computing node, reducing more than 20,000 hours of computing tasks to about 1000 hours. Extract the target parameters from the original output results of 41.5TB MODTRAN and resample them, and finally collect the processing results from each node in a certain order to use binary storage to establish a 540GB size lookup table LUT (including 96 LUTs), the constructed lookup table almost covers all reflection band ranges, and can meet the use requirements of multiple aviation payloads. The aviation lookup table constructed by the present embodiment covers 24 flight altitudes, and the operating conditions are more. When the atmospheric correction lookup table of other satellite altitudes is constructed using this method, the construction time will be reduced by more than 20 times under the current computing environment configuration, that is, about 2 days. It can be seen from this that the present application can solve the problems of long calculation time of fine lookup table data, large-capacity data storage and processing, and provide a kind of idea for the rapid construction and update of fine lookup table.

[0120] The embodiment of the present invention also provides a corresponding device for the atmospheric correction method, which further makes the method more practical. The device can be described from the perspective of functional modules and hardware. The atmospheric correction device provided by the embodiment of the present invention is introduced below. The atmospheric correction device described below and the atmospheric correction method described above can be referred to each other.

[0121] From the perspective of functional modules, see Figure 7 , Figure 7 A structural diagram of an atmospheric correction device provided in an embodiment of the present invention in a specific implementation manner, the device may include:

[0122] An input file generation module 701 is used to generate an input file of an atmospheric radiation transfer model according to a plurality of different input parameters; the input parameters include the optical remote sensor height;

[0123] A task splitting module 702 is used to split the input file into multiple computing tasks according to target input parameters and configuration information of a pre-built cluster computing environment;

[0124] The task running module 703 is used to distribute each computing task to each target computing node in the cluster computing environment, so as to obtain each sub-output file of the atmospheric radiation transfer model by running the corresponding computing task on each target computing node, and generate a sub-lookup table according to the atmospheric correction parameters extracted from the corresponding sub-output file;

[0125] The table generation module 704 is used to generate an atmospheric correction lookup table according to the merging and sorting results of the sub-lookup tables of each target computing node.

[0126] Optionally, in some implementations of the present embodiment, the above-mentioned device may also include a cluster building module, which is used to determine the total generation time of the atmospheric correction lookup table based on the time required for each computing node to run the corresponding computing task, the sub-lookup table generation time of each computing node, the result aggregation time of each computing node and the total number of threads of each computing node; determine the total number of computing nodes in the cluster computing environment based on the total generation time, the number of available computing nodes, the actual time for each computing node to run the corresponding computing task, and resource occupancy information; and build a cluster computing environment based on the total number of computing nodes.

[0127] As an optional implementation of this embodiment, the above-mentioned task running module 703 can be used to: for each target computing node, the current target computing node will run the corresponding computing task to obtain the sub-output file, and output it in binary form; use a preset computer programming language to read the atmospheric correction parameters from the corresponding sub-output file, and generate a sub-lookup table of the target spectral resolution through a band equivalent calculation method.

[0128] As another optional implementation of this embodiment, the above-mentioned table generation module 704 can be further used to: merge the sub-lookup tables to obtain the atmospheric correction parameter combination of the target spectral resolution under different input parameter conditions; combine the atmospheric correction parameter combinations in sequence to generate an initial atmospheric correction lookup table; insert the solar zenith angle parameters and the observation zenith angle parameters into the initial atmospheric correction lookup table by interpolation to generate an atmospheric correction lookup table.

[0129] Optionally, in some other implementations of the present embodiment, the above-mentioned device may also include an integrity judgment module, for example, for judging, for each target computing node, whether the starting wave number of the sub-output file of the current target computing node is the same as a preset starting wave number value; if the starting wave number of the sub-output file of the current target computing node is different from the preset starting wave number value, an instruction to re-run the computing task is sent to the current target computing node; if the starting wave number of the sub-output file of the current target computing node is the same as the preset starting wave number value, the sub-output file of the current target computing node is resampled, and the resampling result is stored in binary form.

[0130] Optionally, in some other implementations of the present embodiment, the above-mentioned task segmentation module 702 can also be used to: initially segment the input file according to the target input parameters to obtain multiple initial subtasks; for each initial subtask, segment it again according to the aerosol type and water vapor value to obtain multiple atmospheric subtasks; combine each initial subtask and each atmospheric subtask to obtain multiple computing tasks.

[0131] As an optional implementation of the above embodiment, the above task splitting module 702 can also be further used to: pre-set multiple parallel computing threads for each target computing node; evenly distribute each computing task to each target computing node in the cluster computing environment; for each target computing node, split the corresponding computing task into multiple parallel computing tasks according to the aerosol type again, so that each target computing node calls each parallel computing thread for each initial subtask in turn and simultaneously executes each parallel computing task belonging to the current initial subtask.

[0132] The functions of the various functional modules of the atmospheric correction device described in the embodiment of the present invention can be specifically implemented according to the method in the above method embodiment. The specific implementation process can refer to the relevant description of the above method embodiment, which will not be repeated here.

[0133] It can be seen from the above that the embodiments of the present invention can implement atmospheric correction for remote sensing images collected by optical remote sensors of different types and at different flight altitudes.

[0134] The atmospheric correction device mentioned above is described from the perspective of functional modules. Furthermore, the present application also provides an electronic device, which is described from the perspective of hardware. Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application in one implementation manner. Figure 8 As shown, the electronic device includes a memory 80 for storing a computer program; and a processor 81 for implementing the steps of the atmospheric correction method mentioned in any of the above embodiments when executing the computer program.

[0135] Among them, the processor 81 may include one or more processing cores, such as a 4-core processor, an 8-core processor, and the processor 81 may also be a controller, a microcontroller, a microprocessor or other data processing chip. The processor 81 may be implemented in at least one hardware form of DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). The processor 81 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the awake state, also known as a CPU (Central Processing Unit); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 81 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 81 may also include an AI (Artificial Intelligence) processor, which is used to process computing operations related to machine learning.

[0136] The memory 80 may include one or more computer-readable storage media, which may be non-transitory. The memory 80 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices and flash storage devices. The memory 80 may be an internal storage unit of an electronic device in some embodiments, such as a hard disk of a server. The memory 80 may also be an external storage device of an electronic device in other embodiments, such as a plug-in hard disk equipped on a server, a smart memory card (Smart Media Card, SMC), a secure digital (SecureDigital, SD) card, a flash card (Flash Card), etc. Further, the memory 80 may also include both an internal storage unit of an electronic device and an external storage device. The memory 80 may not only be used to store application software and various types of data installed in the electronic device, such as: the code of the program for executing the vulnerability processing method, etc., but may also be used to temporarily store data that has been output or is to be output. In this embodiment, the memory 80 is at least used to store the following computer program 801, wherein, after the computer program is loaded and executed by the processor 81, the relevant steps of the atmospheric correction method disclosed in any of the aforementioned embodiments can be implemented. In addition, the resources stored in the memory 80 may also include an operating system 802 and data 803, etc., and the storage method may be temporary storage or permanent storage. The operating system 802 may include Windows, Unix, Linux, etc. The data 803 may include, but is not limited to, data corresponding to the atmospheric correction result, etc.

[0137] In some embodiments, the electronic device may further include a display screen 82, an input / output interface 83, a communication interface 84 or a network interface, a power supply 85 and a communication bus 86. Among them, the display screen 82 and the input / output interface 83 such as a keyboard belong to the user interface, and the optional user interface may also include a standard wired interface, a wireless interface, etc. Optionally, in some embodiments, the display may be an LED display, a liquid crystal display, a touch-sensitive liquid crystal display, and an OLED (Organic Light-Emitting Diode) touch device, etc. The display may also be appropriately referred to as a display screen or a display unit, which is used to display information processed in the electronic device and to display a visual user interface. The communication interface 84 may optionally include a wired interface and / or a wireless interface, such as a WI-FI interface, a Bluetooth interface, etc., which are generally used to establish a communication connection between the electronic device and other electronic devices. The communication bus 86 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 8 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0138] Those skilled in the art will understand that Figure 8 The structure shown in the figure does not constitute a limitation on the electronic device, and may include more or fewer components than shown in the figure, for example, it may also include a sensor 87 to implement various functions.

[0139] The functions of the functional modules of the electronic device described in the embodiment of the present invention can be specifically implemented according to the method in the above method embodiment. The specific implementation process can refer to the relevant description of the above method embodiment, which will not be repeated here.

[0140] It can be seen from the above that the embodiments of the present invention can implement atmospheric correction for remote sensing images collected by optical remote sensors of different types and at different flight altitudes.

[0141] It is understandable that if the atmospheric correction method in the above embodiment is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium to execute all or part of the steps of each embodiment method of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), electrically erasable programmable ROM, register, hard disk, multimedia card, card-type memory (such as SD or DX memory, etc.), magnetic memory, removable disk, CD-ROM, disk or optical disk, etc. Various media that can store program codes.

[0142] Based on this, an embodiment of the present invention further provides a readable storage medium storing a computer program, and when the computer program is executed by a processor, the steps of the atmospheric correction method described in any of the above embodiments are performed.

[0143] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the hardware disclosed in the embodiments, including devices and electronic devices, since they correspond to the methods disclosed in the embodiments, the description is relatively simple, and the relevant parts can be referred to the method part.

[0144] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.

[0145] The above is a detailed introduction to an atmospheric correction method, device, electronic device and readable storage medium provided by the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present invention, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the scope of protection of the claims of the present application.

Claims

1. An atmospheric correction method, characterized in that: include: Generate input files of atmospheric radiation transfer model according to multiple sets of different input parameters; The input parameters include the optical remote sensor height; Determine the total generation time of the atmospheric correction lookup table based on the time required for each computing node to run the corresponding computing task, the generation time of the sub-lookup table of each computing node, the result aggregation time of each computing node, and the total number of threads of each computing node; Determine the total number of computing nodes in the cluster computing environment according to the total generation time, the number of available computing nodes, the actual time and resource occupancy information of each computing node running the corresponding computing task; Building a cluster computing environment based on the total number of computing nodes; According to target input parameters and configuration information of a pre-built cluster computing environment, the input file is divided into a plurality of computing tasks; Allocating each computing task to each target computing node of the cluster computing environment, so as to obtain each sub-output file of the atmospheric radiation transfer model by running the corresponding computing task using each target computing node, and generating a sub-lookup table according to the atmospheric correction parameters extracted from the corresponding sub-output file; Generate an atmospheric correction lookup table based on the merged and collated results of the sub-lookup tables of each target computing node; Wherein, each target computing node obtains each sub-output file of the atmospheric radiation transfer model by running the corresponding computing task, and generates a sub-lookup table according to the atmospheric correction parameters extracted from the corresponding sub-output file, including: For each target computing node, the current target computing node will run the sub-output file obtained by the corresponding computing task and output it in binary form; use a preset computer programming language to read the atmospheric correction parameters from the corresponding sub-output file, and generate a sub-lookup table of the target spectral resolution through a band equivalent calculation method; The step of generating an atmospheric correction lookup table based on the combined and sorted results of the sub-lookup tables of each target computing node includes: Each sub-lookup table is combined to obtain the atmospheric correction parameter combination of the target spectral resolution under different input parameter conditions; Combine the atmospheric correction parameter combinations in order to generate an initial atmospheric correction lookup table; The solar zenith angle parameters and the observation zenith angle parameters are inserted into the initial atmospheric correction lookup table by interpolation to generate the atmospheric correction lookup table.

2. The atmospheric correction method according to claim 1, characterized in that: Before generating the sub-lookup table according to the atmospheric correction parameters extracted from the corresponding sub-output file, the method further includes: For each target computing node, determine whether the starting wave number of the sub-output file of the current target computing node is the same as the preset starting wave number; If the starting wave number of the sub-output file of the current target computing node is different from the preset starting wave number, sending an instruction to re-run the computing task to the current target computing node; If the starting wave number of the sub-output file of the current target computing node is the same as the preset starting wave number, the sub-output file of the current target computing node is resampled, and the resampling result is stored in binary form.

3. The atmospheric correction method according to claim 1 or 2, characterized in that: The step of dividing the input file into a plurality of computing tasks according to the target input parameters and the configuration information of the pre-built cluster computing environment includes: Performing initial segmentation on the input file according to the target input parameter to obtain a plurality of initial subtasks; For each initial subtask, it is further divided according to the aerosol type and water vapor value to obtain multiple atmospheric subtasks; Each initial subtask and each atmospheric subtask are combined to obtain multiple computing tasks.

4. The atmospheric correction method according to claim 3, characterized in that: The step of allocating each computing task to each target computing node in the cluster computing environment is as follows: Pre-set multiple parallel computing threads for each target computing node; Evenly distribute each computing task to each target computing node in the cluster computing environment; For each target computing node, the corresponding computing task is divided into multiple parallel computing tasks according to the aerosol type, so that each target computing node calls each parallel computing thread for each initial subtask in turn and simultaneously executes each parallel computing task belonging to the current initial subtask.

5. An atmospheric correction device, characterized in that: include: An input file generation module is used to generate input files of the atmospheric radiation transfer model according to multiple sets of different input parameters; The input parameters include the optical remote sensor height; The cluster building module is used to determine, for each target computing node, whether the starting wave number of the sub-output file of the current target computing node is the same as the preset starting wave value; if the starting wave number of the sub-output file of the current target computing node is different from the preset starting wave value, send an instruction to re-run the computing task to the current target computing node; if the starting wave number of the sub-output file of the current target computing node is the same as the preset starting wave value, resample the sub-output file of the current target computing node, and store the resampling result in binary form; A task splitting module, used to split the input file into multiple computing tasks according to target input parameters and configuration information of a pre-built cluster computing environment; A task running module, used for allocating each computing task to each target computing node of the cluster computing environment, so as to obtain each sub-output file of the atmospheric radiation transfer model by running the corresponding computing task on each target computing node, and generating a sub-lookup table according to the atmospheric correction parameters extracted from the corresponding sub-output file; A table generation module, used to generate an atmospheric correction lookup table according to the combined and sorted results of the sub-lookup tables of each target computing node; The task execution module is further used for: For each target computing node, the current target computing node will run the corresponding computing task to obtain the sub-output file, and output it in binary form; use a preset computer programming language to read the atmospheric correction parameters from the corresponding sub-output file, and generate a sub-lookup table of the target spectral resolution through a band equivalent calculation method; Wherein, the table generation module is further used for: Each sub-lookup table is combined to obtain the atmospheric correction parameter combination of the target spectral resolution under different input parameter conditions; Combine the atmospheric correction parameter combinations in order to generate an initial atmospheric correction lookup table; The solar zenith angle parameters and the observation zenith angle parameters are inserted into the initial atmospheric correction lookup table by interpolation to generate the atmospheric correction lookup table.

6. An electronic device, characterized in that: The method comprises a processor and a memory, wherein the processor is used to implement the steps of the atmospheric correction method according to any one of claims 1 to 4 when executing a computer program stored in the memory.

7. A readable storage medium, characterized in that: The readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the atmospheric correction method according to any one of claims 1 to 4 are implemented.

Citation Information

Patent Citations

  • Atmospheric correction method and atmospheric correction module for satellite remote-sensing image

    CN102778675A

  • Pixel-by-pixel atmospheric correction method for calculating look-up table online

    CN108256186A