Method and device for accelerated generation of solar-geometric data for high-resolution wide-format remote sensing cameras
Patent Information
- Application Number
- CN202610985980.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-03
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2046-07-03
AI Technical Summary
然而,对于幅宽达数百公里的宽幅遥感影像,太阳几何参量在空间上呈现非线性变化,若继续沿用单一角度近似处理,会在影像边缘区域引入系统性辐射校正偏差,严重制约宽幅遥感数据在定量领域的规模化应用
[0028] To address the inherent periodicity of the solar azimuth angle and the numerical singularities and range jumps that occur in the zenith or polar regions, this invention abandons the traditional direct scalar interpolation method and innovatively adopts an orthogonal vector decomposition strategy. This involves converting the azimuth angle into cosine and sine components, interpolating them separately, and then synthesizing the results. This scheme effectively avoids abrupt errors in the interpolation results and significantly improves the spatial continuity and physical rationality of the solar azimuth angle data field.
Smart Images

Figure CN122530825B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of remote sensing science and technology, specifically relating to a method and apparatus for accelerating the generation of solar geometric data from a high-resolution wide-swath remote sensing camera. Background Technology
[0002] High-resolution wide-swath optical remote sensing is one of the core development directions of Earth observation satellites. Wide-swath (WFV) cameras can achieve continuous Earth observation capabilities with a swath width of hundreds of kilometers and high revisit frequency, providing key data support for major operational and scientific tasks such as regional ecological environment monitoring, crop growth and yield estimation, natural disaster emergency response, and global change research. As remote sensing technology develops towards quantification and refinement, core processes such as atmospheric radiation correction, bidirectional reflection distribution function (BRDF) correction, and surface biophysical parameter inversion place stringent requirements on the accuracy and spatial continuity of pixel-level solar geometric parameters (solar zenith angle, solar azimuth angle). In mainstream radiative transfer models such as 6S and MODTRAN, solar geometric parameters are the core input variables determining the accuracy of atmospheric path radiation, surface irradiance simulation, and BRDF correction.
[0003] For narrow-swath remote sensing imagery, due to its limited spatial coverage, the differences in solar geometric parameters between pixels within a single scene are negligible. Operational processing commonly employs a simplified approach of sharing the center point angle across the entire image. However, for wide-swath remote sensing imagery spanning hundreds of kilometers, solar geometric parameters exhibit non-linear spatial variations. Continuing to use a single-angle approximation introduces systematic radiometric correction biases in image edge regions, severely hindering the large-scale quantitative application of wide-swath remote sensing data. Current mainstream wide-swath satellite standard product metadata only provides solar geometric parameters and basic positioning information for the image center point; its parameter sparsity is insufficient to meet the accuracy requirements of pixel-level quantitative processing. Although pixel-by-pixel calculations can be performed using the physical equations derived from the solar position to obtain the solar geometric parameters for the entire image, this pixel-by-pixel method suffers from severe time complexity bottlenecks when dealing with wide-swath imagery with hundreds of millions or even billions of pixels, making it unsuitable for high-time-sensorship applications such as large-scale batch processing of remote sensing data, disaster emergency response, and onboard real-time processing.
[0004] Existing interpolation acceleration methods do not pay enough attention to the inherent numerical singularity and range jump problem of solar azimuth angle. Most of these methods only optimize the computational efficiency of the algorithm itself and lack engineering adaptation for ultra-wide imagery with a resolution of billions of pixels. They also do not fully consider the memory consumption and disk I / O write latency caused by the output of ultra-large-scale floating-point matrices, making it difficult to support large-scale, fully automated on-board processing of wide-swath satellite data.
[0005] Therefore, there is an urgent need for a new method to accelerate the generation of solar geometric data, which balances accuracy and efficiency, and supports the quantitative processing and real-time on-board application of wide-swath remote sensing images. Summary of the Invention
[0006] To address the aforementioned technical problems, this invention provides a method and apparatus for accelerating the generation of solar geometric data from a high-resolution wide-swath remote sensing camera. Through spatial dimensionality reduction sampling, orthogonal vector decomposition interpolation of solar azimuth angle, and multi-core concurrent and asynchronous I / O processing, it achieves high-precision and high-efficiency generation of pixel-level solar geometric data from wide-swath remote sensing images.
[0007] To achieve the above objectives, the technical solution adopted by the present invention is as follows:
[0008] A method for accelerating the generation of solar geometric data from a high-resolution wide-swath remote sensing camera, the method comprising:
[0009] Step 1: Perform spatial dimensionality reduction processing on the input wide-span remote sensing image, construct a sparse grid sampling point set, and extract anchor point coordinate data;
[0010] Step 2: Calculate the solar angle for each anchor point using the solar position algorithm to obtain the solar zenith angle matrix for the anchor point; for the solar azimuth angle, convert the solar azimuth angle of each anchor point into two orthogonal components: the cosine value and the sine value.
[0011] Step 3: Perform two-dimensional bilinear interpolation on the anchor point solar zenith angle matrix to obtain full-resolution zenith angle data; perform two-dimensional bilinear interpolation on the cosine and sine components respectively, and then resynthesize them through the arctangent function to obtain full-resolution solar azimuth angle data; combine the full-resolution solar zenith angle with the full-resolution solar azimuth angle to construct a full-resolution solar geometry matrix, and push it into the producer-consumer queue.
[0012] Step 4: Adopt a concurrent architecture of multi-core producers and single-threaded consumers based on semaphore control. The calculation process in Step 3 is used as multiple producer threads, and the disk writing process is used as a single consumer thread. Parallel pipelined operation of calculation and I / O is realized through semaphore synchronization mechanism.
[0013] Furthermore, step 1 includes: uniformly sampling the row and column directions of the wide-span remote sensing image according to a preset step size to construct a sparse grid sampling point set, and extracting the coordinate data of each anchor point; the anchor point coordinate data includes the row and column number of the pixel in the image coordinate system and the corresponding geographic latitude and longitude information.
[0014] Furthermore, step 2 includes: mapping the solar azimuth scalar data of each anchor point on the sparse grid to a two-dimensional unit orthogonal basis to generate an anchor point cosine component matrix and an anchor point sine component matrix; wherein, each element in the anchor point cosine component matrix is obtained by mapping the true value of the solar azimuth of the corresponding anchor point through a cosine function, and each element in the anchor point sine component matrix is obtained by mapping the true value of the solar azimuth of the corresponding anchor point through a sine function.
[0015] Furthermore, the two-dimensional bilinear interpolation in step 3 includes:
[0016] For each target pixel in the full-resolution image, firstly, determine its local grid in the sparse grid, and obtain the coordinates of the four corner anchor points of the grid and the corresponding solar angle parameters; then, calculate the normalized distance weights of the target pixel relative to the top-left corner anchor point in the row and column directions respectively; for the solar zenith angle, directly use the zenith angle values of the four anchor points and their distance weights to perform a weighted average to calculate the full-resolution zenith angle of the target pixel; for the cosine and sine components of the solar azimuth angle, substitute the cosine and sine values of the four anchor points into the same weighted average calculation to independently obtain the full-resolution cosine and sine components of the target pixel.
[0017] Furthermore, step 3, which involves resynthesizing using the arctangent function, specifically includes: calculating the original azimuth radian value of each pixel using the bivariate arctangent function for the full-resolution cosine component matrix and full-resolution sine component matrix obtained after two-dimensional bilinear interpolation, converting it into degrees, and adjusting the angle value to the standard azimuth range of 0 to 360 degrees by performing a modulo operation on 360 degrees.
[0018] Furthermore, the concurrent architecture of multi-core producers and single-threaded consumers based on semaphore control in step 4 specifically includes: the calculation process of generating the full-resolution solar geometric parameter matrix in step 3 is executed in parallel by multiple producer threads, and the disk writing process is executed serially by a single consumer thread; the synchronization between producer threads and consumer threads is controlled by semaphores, and the consumer thread is notified to perform the write operation when the buffer queue is not empty, and the producer thread is notified to continue producing when the buffer queue has empty space, so that the calculation of the solar geometric parameter matrix and the disk writing operation overlap.
[0019] Furthermore, a finite-length buffer queue is set up to temporarily store the full-resolution solar geometry matrix blocks generated by the producer thread; semaphores are used to record the number of empty slots and the number of matrix blocks to be consumed in the queue, respectively, to achieve synchronization and mutual exclusion between the producer thread and the consumer thread; when the queue is full, the producer thread blocks and waits for an empty slot semaphore; when the queue is empty, the consumer thread blocks and waits for a non-empty semaphore; each time the consumer thread takes a matrix block from the queue, it releases an empty slot semaphore to notify the producer thread to continue production, and at the same time writes the taken data to a disk file.
[0020] On the other hand, the present invention provides an apparatus for accelerating the generation of solar geometric data from a high-resolution wide-swath remote sensing camera, comprising:
[0021] The dimensionality reduction module is used to perform spatial dimensionality reduction processing on the input wide-span remote sensing images, construct a sparse grid sampling point set and extract anchor point coordinate data;
[0022] The calculation module is used to calculate the solar angle for each anchor point using the solar position algorithm to obtain the solar zenith angle matrix of the anchor point; for the solar azimuth angle, the solar azimuth angle of each anchor point is converted into two orthogonal components, the corresponding cosine value and sine value.
[0023] The interpolation module is used to perform two-dimensional bilinear interpolation on the anchor point solar zenith angle matrix to obtain full-resolution zenith angle data; two-dimensional bilinear interpolation is performed on the two orthogonal cosine and sine values respectively, and then the data is recombined through the arctangent function to obtain full-resolution solar azimuth angle data; the full-resolution solar zenith angle and the full-resolution solar azimuth angle are combined to construct a full-resolution solar geometry matrix, and then pushed into the producer-consumer queue;
[0024] The concurrency module is used to implement a multi-core producer and single-threaded consumer concurrent architecture based on semaphore control. The interpolation module's calculation process is divided into multiple producer threads, and the disk writing process is divided into a single consumer thread. The parallel pipelined operation of computation and I / O is realized through the semaphore synchronization mechanism.
[0025] Thirdly, the present invention provides an electronic device comprising: one or more processors; and a memory for storing one or more programs; wherein, when the one or more programs are executed by the one or more processors, the one or more processors implement the aforementioned method for accelerating the generation of solar geometric data from a high-resolution wide-swath remote sensing camera.
[0026] Fourthly, the present invention provides a computer-readable storage medium having executable instructions stored thereon, which, when executed by a processor, enable the processor to implement the aforementioned method for accelerating the generation of solar geometric data from a high-resolution wide-swath remote sensing camera.
[0027] The beneficial effects of this invention are as follows:
[0028] To address the inherent periodicity of the solar azimuth angle and the numerical singularities and range jumps that occur in the zenith or polar regions, this invention abandons the traditional direct scalar interpolation method and innovatively adopts an orthogonal vector decomposition strategy. This involves converting the azimuth angle into cosine and sine components, interpolating them separately, and then synthesizing the results. This scheme effectively avoids abrupt errors in the interpolation results and significantly improves the spatial continuity and physical rationality of the solar azimuth angle data field.
[0029] This invention constructs sparse grid anchor points through spatial dimensionality reduction and uniform sampling. It then performs a complex Solar Position Algorithm (SPA) calculation on only a small number of anchor points, and finally reconstructs the full-resolution solar geometric parameter matrix using two-dimensional bilinear interpolation. This avoids the extremely high time complexity associated with pixel-by-pixel calculation. Compared to pixel-by-pixel calculation schemes, this invention can reduce computation time by more than an order of magnitude while maintaining accuracy, fully meeting the high-time-efficiency application requirements of large-scale remote sensing data batch processing, disaster emergency response, and on-board real-time processing.
[0030] To address the memory accumulation and disk write latency issues caused by large-scale floating-point matrix output in processing billion-pixel ultra-wide-swath images, this invention reconstructs the traditional I / O model and designs a multi-core producer-single-thread consumer concurrent architecture based on semaphore control, achieving parallel processing of computation and disk writes. This mechanism effectively eliminates serial waiting latency, avoids the risk of memory overflow, and provides reliable support for the engineering and automated on-board processing of wide-swath satellite data. Attached Figure Description
[0031] Figure 1 This is a flowchart of the method for accelerating the generation of solar geometric data from a high-resolution wide-swath remote sensing camera according to the present invention.
[0032] Figure 2 This is a schematic diagram illustrating the principle of two-dimensional bilinear interpolation in this invention;
[0033] Figure 3 This is a schematic diagram illustrating the effect of the solar geometric data product generated by the present invention. Detailed Implementation
[0034] The present invention will be further described below with reference to the accompanying drawings and embodiments.
[0035] This invention provides an accelerated method for generating solar geometric data from high-resolution wide-swath remote sensing cameras. Through a collaborative design of spatial dimensionality reduction anchor point solar angle calculation and two-dimensional bilinear interpolation, after inputting remote sensing images, uniform sampling is performed along the row and column directions of the image according to a preset step size to construct a sparse grid sampling point set and extract anchor point coordinate data. Subsequently, the solar angle is calculated for each anchor point using the SPA algorithm. Specifically, scalar interpolation is used for the solar zenith angle, while orthogonal vector decomposition interpolation is innovatively introduced for the solar azimuth angle, effectively solving the inherent numerical singularity and range jump problems of the solar azimuth angle, thus accurately obtaining the anchor point solar zenith angle matrix and solar azimuth angle matrix. Based on this, the anchor point solar matrix is encrypted and reconstructed using two-dimensional bilinear interpolation to generate a full-resolution solar geometric parameter matrix. Meanwhile, to address the engineering challenges of ultra-wide-format image processing, this invention reconstructs the traditional I / O model and designs a multi-core producer-single-thread consumer concurrent architecture based on semaphore control. This achieves concurrent processing of computation and disk writing, eliminates serial waiting latency, effectively avoids system switching slowdowns and memory overflow problems caused by large matrix memory accumulation, and ensures efficient generation of solar geometric data. Specifically, such as... Figure 1 As shown, the method includes:
[0036] Step 1, Spatial Dimensionality Reduction: Perform spatial dimensionality reduction on the input wide-span remote sensing image, construct a sparse grid sampling point set, and extract anchor point coordinate data;
[0037] Step 2: Calculate the solar angle for each anchor point using the solar position algorithm to obtain the solar zenith angle matrix for the anchor point; for the solar azimuth angle, convert the solar azimuth angle of each anchor point into two orthogonal components: the cosine value and the sine value.
[0038] Step 3: Perform two-dimensional bilinear interpolation on the anchor point solar zenith angle matrix to obtain full-resolution zenith angle data; perform two-dimensional bilinear interpolation on the cosine and sine components respectively, and then resynthesize them through the arctangent function to obtain full-resolution solar azimuth angle data; combine the full-resolution solar zenith angle with the full-resolution solar azimuth angle to construct a full-resolution solar geometry matrix, and push it into the producer-consumer queue.
[0039] Step 4: Adopt a concurrent architecture of multi-core producers and single-threaded consumers based on semaphore control. The calculation process in Step 3 is used as multiple producer threads, and the disk writing process is used as a single consumer thread. Parallel pipelined operation of calculation and I / O is realized through semaphore synchronization mechanism.
[0040] Furthermore, in step 1:
[0041] After inputting remote sensing imagery, uniform sampling is performed along the row and column directions of the imagery according to a preset step size to create a sparse sampling grid. This ultimately yields a set of sparse grid sampling points, from which the coordinate data of each anchor point is extracted. The anchor point coordinate data includes the row and column number of the pixel in the image coordinate system, as well as its corresponding geographic latitude and longitude. By selecting sparse grid sampling points, the number of points involved in complex solar geometry calculations can be significantly reduced.
[0042] Furthermore, in step 2:
[0043] The solar angle is calculated for each coordinate anchor point using the Solar Position Algorithm (SPA). The solar zenith angle is processed using scalar interpolation, while the solar azimuth angle is processed using orthogonal vector decomposition interpolation. Specifically, for the solar zenith angle, since its spatial distribution usually exhibits a relatively smooth trend, scalar interpolation is sufficient to meet the accuracy requirements. After obtaining the solar zenith angle values for the sparse grid anchor points, a bilinear interpolation algorithm is selected to interpolate the solar zenith angle for all pixels within the entire image range based on the row and column positions of the anchor points and their corresponding zenith angle values, quickly generating a continuous solar zenith angle data field. However, for the solar azimuth angle, considering its periodicity (360-degree cycle) and the potential numerical singularities and range jumps (e.g., from 359 degrees to 1 degree) in specific regions (such as near the zenith or polar regions), direct scalar interpolation is prone to significant errors. Therefore, this invention innovatively proposes orthogonal vector decomposition interpolation for the solar azimuth angle.
[0044] The specific approach is as follows: First, the solar azimuth scalar data of each anchor point obtained by solving the sparse grid is mapped to a two-dimensional unit orthogonal basis, and then converted into two orthogonal components on the unit direction vector to construct the anchor point cosine component matrix and sine component matrix:
[0045] ,
[0046] ,
[0047] In the formula: Represents the row and column index of the anchor point in the sparse grid; This represents the true value of the solar azimuth at that anchor point; and These represent the projection components of the anchor point's azimuth angle along the X and Y axes, respectively.
[0048] In step 3:
[0049] The core is to perform two-dimensional bilinear interpolation on the three smoothed parameter fields (zenith angle, cosine component, and sine component) output from step 2 to reconstruct the full-resolution data. As mentioned earlier, the zenith angle only requires scalar two-dimensional bilinear interpolation and does not need orthogonal decomposition. The azimuth angle has a special case of abrupt changes at 360° / 0°, so two-dimensional bilinear interpolation is performed only after orthogonal decomposition is added. Specifically:
[0050] like Figure 2 As shown, for each target pixel in the full-resolution image The local grid cell and four adjacent anchor points are determined. By calculating the row and column distance weights between the target pixel and these four anchor points, the solar angle values of the four anchor points are weighted and averaged to obtain the solar angle of the pixel. Taking the solar zenith angle as an example:
[0051] ,
[0052] In the formula: represent The solar zenith angle of a pixel; The zenith angle values are the four nearest neighbor anchor points (corresponding to the top left, top right, bottom left, and bottom right) of the target pixel, u controls the interpolation weight of the target pixel in the horizontal (row) direction, and w controls the interpolation weight of the target pixel in the vertical (column) direction. Finally, a full-resolution solar zenith angle data field is obtained.
[0053] After the solar azimuth angle is orthogonally decomposed, two matrix components with strict spatial continuity are introduced into the interpolation process to replace the original scalar parameters for calculation. Specifically, with and Using the reference grid as input, a two-dimensional bilinear interpolation algorithm is used to independently calculate any target pixel in the full-resolution space. Orthogonal component values:
[0054] ,
[0055] ,
[0056] In the formula, Represents a bilinear interpolation function. The X-axis vector decomposition prediction value represents the target pixel; The predicted value of the Y-axis vector component at the target pixel.
[0057] Finally, after obtaining the full-resolution vector component matrix, the bivariate arctangent function is used. The orthogonal components obtained from the interpolation reconstruction are resynthesized to complete the nonlinear mapping from the vector field to the scalar angle field:
[0058] ,
[0059] In the formula, represent The solar azimuth of a pixel; This is the modulo operator. It obtains a high-precision, non-jumping solar azimuth data field.
[0060] Finally, the full-resolution solar zenith angle and the full-resolution solar azimuth angle obtained from the interpolation reconstruction are combined to construct a full-resolution solar geometric matrix. :
[0061] ,
[0062] In the formula, Represents the first in the solar geometric matrix line, number Solar set parameters of the target array; This represents the full-resolution solar zenith angle obtained by interpolating this pixel; This represents the full-resolution solar azimuth angle obtained after orthogonal decomposition, interpolation, and resynthesis of the pixel. and These represent the total number of rows and columns of the image, respectively.
[0063] Without loss of generality, in addition to the two-dimensional bilinear interpolation method, other interpolation methods can also be used in this invention, such as cubic spline interpolation, kriging interpolation, or inverse distance weighted interpolation. Besides using the SPA algorithm to calculate the solar angle, other methods can also be used to calculate the solar angle, such as methods based on simplified astronomical formulas, methods utilizing empirical models, or by calling professional astronomical ephemeris libraries (such as the interface provided by the JPL Horizons ephemeris system) to obtain the solar position parameters.
[0064] Furthermore, in step 4:
[0065] To achieve high-throughput generation and persistent storage of full-resolution solar geometry matrices, this invention constructs a multi-core producer-single-threaded consumer concurrent pipeline architecture based on semaphore control. Specifically, the computational task of generating the full-resolution solar geometry matrix in step 3 is divided into multiple independent producer threads. Each producer thread is responsible for bilinear interpolation and matrix assembly of different image blocks, utilizing multi-core processors for parallel execution to accelerate the computation process. After a producer thread completes a solar geometry matrix, it pushes it into a producer-consumer queue with a finite-length buffer. Semaphore synchronization controls queue access and state updates: when there are free spaces in the queue, the producer thread can continue producing and appending new matrix blocks; when the queue is not empty, the consumer thread is awakened to perform disk write operations. The consumer thread uses a single-threaded serial approach, sequentially retrieving matrix blocks from the queue and writing them to the file system, avoiding lock contention and random disk write overhead caused by multi-threaded concurrent writes. The semaphore mechanism handles both full and empty queue boundary conditions, allowing computationally intensive and I / O-intensive stages to overlap fully, forming a pipeline operation. This eliminates the time overhead caused by alternating waiting for computation and disk writing in traditional serial processing, and controls the number of matrix blocks to be written in memory, preventing memory overflow caused by loading a billion-pixel full-resolution floating-point matrix at once.
[0066] Ultimately, a multi-core concurrent computing architecture and asynchronous producer-consumer I / O read / write processing were introduced to complete the product output. This eliminated the serial waiting latency between computation and disk writes, avoided system switching slowdowns and memory overflow problems caused by large matrix memory accumulation, reconstructed the traditional I / O model, and designed a multi-core producer-single-line consumer concurrent architecture based on semaphore control. The final solar geometric data product is as follows: Figure 3 As shown.
[0067] In 8 At the pixel-level computational scale, the execution time of geometric parameter generation is compared between the pixel-by-pixel calculation method and the bilinear interpolation method, without considering the time for data reading and writing.
[0068] Table 1
[0069]
[0070] As can be seen from the experimental data in Table 1, in a test scenario that only considers the computation time of the pure algorithm without considering data file read and write operations, the traditional pixel-by-pixel solution method requires 83.63 seconds. In contrast, the present invention uses a method of spatial dimensionality reduction sampling combined with bilinear interpolation reconstruction, which significantly reduces the pure computation time to 1.27 seconds, achieving a speedup of up to 66 times. This fully demonstrates that the sparse anchor point solution mechanism proposed in this invention can effectively avoid massive pixel-level loop calculations and significantly reduce the time complexity of the algorithm.
[0071] To verify the performance and accuracy preservation capabilities of the proposed algorithm in a real-world wide-swath remote sensing data processing scenario, a comparative experiment was conducted using a 1.4 billion pixel mosaic image (55572×25202 pixels) generated from four consecutive images captured by a GF-1 WFV camera along its trajectory. The entire end-to-end process was completed, and the efficiency of the pixel-by-pixel method and the two-dimensional bilinear interpolation method were compared, along with the error after interpolation compared to the pixel-by-pixel method.
[0072] Table 2
[0073]
[0074] The comparison results in Table 2 show that when processing ultra-wide images with 1.4 billion pixels, the traditional pixel-by-pixel method takes as long as 632.5 seconds in the end-to-end process, including concurrent computation and asynchronous disk file I / O writing, while the method of this invention only takes 31 seconds, improving the overall execution efficiency by more than 20 times. This proves that the multi-core producer and single-threaded consumer concurrent architecture designed in this invention successfully eliminates the disk I / O serial waiting latency for ultra-large matrix data. Meanwhile, in terms of accuracy verification, comparing the generated results of this invention with the actual pixel-by-pixel calculation results, the mean absolute error (MAE) and root mean square error (RMSE) of the zenith angle are extremely low, only 0.039° and 0.046°, respectively. For the azimuth angle, which is prone to abrupt changes in value range, this invention innovatively introduces an orthogonal vector decomposition interpolation strategy, effectively suppressing interpolation jump errors, keeping its MAE and RMSE within a small range of 0.106° and 0.125°, respectively. Experimental results strongly demonstrate that the method of the present invention can achieve high-speed and engineering-oriented generation of geometric data while maintaining extremely high pixel-level solution accuracy, and can fully support the high-precision quantitative application of large-scale wide-span remote sensing images.
[0075] On the other hand, the present invention provides an accelerated generation apparatus for solar geometric data of a high-resolution wide-swath remote sensing camera, the various modules of which can implement the various steps of the aforementioned method, specifically including:
[0076] The dimensionality reduction module is used to perform spatial dimensionality reduction processing on the input wide-span remote sensing images, construct a sparse grid sampling point set and extract anchor point coordinate data;
[0077] The calculation module is used to calculate the solar angle for each anchor point using the solar position algorithm to obtain the solar zenith angle matrix of the anchor point; for the solar azimuth angle, the solar azimuth angle of each anchor point is converted into two orthogonal components, the corresponding cosine value and sine value.
[0078] The interpolation module is used to perform two-dimensional bilinear interpolation on the anchor point solar zenith angle matrix to obtain full-resolution zenith angle data; to perform two-dimensional bilinear interpolation on the cosine and sine components respectively, and then resynthesize them through the arctangent function to obtain full-resolution solar azimuth angle data; to combine the full-resolution solar zenith angle with the full-resolution solar azimuth angle to construct a full-resolution solar geometry matrix, and to push it into the producer-consumer queue;
[0079] The concurrency module is used to implement a multi-core producer and single-threaded consumer concurrent architecture based on semaphore control. The interpolation module's calculation process is divided into multiple producer threads, and the disk writing process is divided into a single consumer thread. The parallel pipelined operation of computation and I / O is realized through the semaphore synchronization mechanism.
[0080] Thirdly, the present invention provides an electronic device comprising: one or more processors; and a memory for storing one or more programs; wherein, when the one or more programs are executed by the one or more processors, the one or more processors implement the aforementioned method for accelerating the generation of solar geometric data from a high-resolution wide-swath remote sensing camera.
[0081] Fourthly, the present invention provides a computer-readable storage medium having executable instructions stored thereon, which, when executed by a processor, enable the processor to implement the aforementioned method for accelerating the generation of solar geometric data from a high-resolution wide-swath remote sensing camera.
[0082] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above descriptions are merely specific embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A method for accelerating the generation of solar geometric data from a high-resolution wide-swath remote sensing camera, characterized in that, The method includes: Step 1: Perform spatial dimensionality reduction processing on the input wide-span remote sensing image, construct a sparse grid sampling point set, and extract anchor point coordinate data; Step 2: Calculate the solar angle for each anchor point using the solar position algorithm to obtain the anchor point solar zenith angle matrix. For the solar azimuth angle, convert the solar azimuth angle of each anchor point into two orthogonal components: a cosine value and a sine value. This includes mapping the scalar data of the solar azimuth angle of each anchor point on the sparse grid to a two-dimensional unit orthogonal basis, generating the anchor point cosine component matrix and the anchor point sine component matrix. Each element in the anchor point cosine component matrix is obtained by mapping the true value of the solar azimuth angle of the corresponding anchor point using a cosine function, and each element in the anchor point sine component matrix is obtained by mapping the true value of the solar azimuth angle of the corresponding anchor point using a sine function. Step 3: Perform two-dimensional bilinear interpolation on the anchor point solar zenith angle matrix to obtain full-resolution zenith angle data; perform two-dimensional bilinear interpolation on the cosine and sine components respectively, and then resynthesize them through the arctangent function to obtain full-resolution solar azimuth angle data; combine the full-resolution solar zenith angle with the full-resolution solar azimuth angle to construct a full-resolution solar geometry matrix, and push it into the producer-consumer queue. Step 4: Adopt a concurrent architecture of multi-core producers and single-threaded consumers based on semaphore control. The calculation process in Step 3 is used as multiple producer threads, and the disk writing process is used as a single consumer thread. Parallel pipelined operation of calculation and I / O is realized through semaphore synchronization mechanism.
2. The method for accelerating the generation of solar geometric data from a high-resolution wide-swath remote sensing camera according to claim 1, characterized in that, Step 1 includes: uniformly sampling the row and column directions of the wide-span remote sensing image according to a preset step size to construct a sparse grid sampling point set, and extracting the coordinate data of each anchor point; the anchor point coordinate data includes the row and column number of the pixel in the image coordinate system and the corresponding geographic latitude and longitude information.
3. The method for accelerating the generation of solar geometric data from a high-resolution wide-swath remote sensing camera according to claim 1, characterized in that, The two-dimensional bilinear interpolation in step 3 includes: For each target pixel in the full-resolution image, firstly, determine its local grid in the sparse grid, and obtain the coordinates of the four corner anchor points of the grid and the corresponding solar angle parameters; then, calculate the normalized distance weights of the target pixel relative to the top-left corner anchor point in the row and column directions respectively; for the solar zenith angle, directly use the zenith angle values of the four anchor points and their distance weights to perform a weighted average to calculate the full-resolution zenith angle of the target pixel; for the cosine and sine components of the solar azimuth angle, substitute the cosine and sine values of the four anchor points into the same weighted average calculation to independently obtain the full-resolution cosine and sine components of the target pixel.
4. The method for accelerating the generation of solar geometric data from a high-resolution wide-swath remote sensing camera according to claim 1, characterized in that, The resynthesis via the arctangent function in step 3 specifically includes: calculating the original azimuth radian value of each pixel using the bivariate arctangent function for the full-resolution cosine component matrix and full-resolution sine component matrix obtained after two-dimensional bilinear interpolation, converting it into degrees, and adjusting the angle value to the standard azimuth range of 0 to 360 degrees by performing a modulo operation on 360 degrees.
5. The method for accelerating the generation of solar geometric data from a high-resolution wide-swath remote sensing camera according to claim 1, characterized in that, The concurrent architecture of multi-core producers and single-threaded consumers based on semaphore control in step 4 specifically includes: the calculation process of generating the full-resolution solar geometric parameter matrix in step 3 is executed in parallel by multiple producer threads, and the disk writing process is executed serially by a single consumer thread; the synchronization between producer threads and consumer threads is controlled by semaphores, and the consumer thread is notified to perform the write operation when the buffer queue is not empty, and the producer thread is notified to continue producing when the buffer queue has empty space, so that the calculation of the solar geometric parameter matrix and the disk writing operation overlap.
6. The method for accelerating the generation of solar geometric data from a high-resolution wide-swath remote sensing camera according to claim 5, characterized in that, A finite-length buffer queue is set up to temporarily store the full-resolution solar geometry matrix blocks generated by the producer thread. Semaphores are used to record the number of empty slots and the number of matrix blocks to be consumed in the queue, respectively, to achieve synchronization and mutual exclusion between the producer thread and the consumer thread. When the queue is full, the producer thread blocks and waits for an empty slot semaphore. When the queue is empty, the consumer thread blocks and waits for a non-empty semaphore. Each time the consumer thread takes a matrix block from the queue, it releases an empty slot semaphore to notify the producer thread to continue production, and writes the taken data to a disk file.
7. A device for accelerating the generation of solar geometric data for a high-resolution wide-swath remote sensing camera, characterized in that: include: The dimensionality reduction module is used to perform spatial dimensionality reduction processing on the input wide-span remote sensing images, construct a sparse grid sampling point set and extract anchor point coordinate data; The calculation module is used to calculate the solar angle for each anchor point using the solar position algorithm, and obtain the solar zenith angle matrix of the anchor point. For the solar azimuth angle, the solar azimuth angle of each anchor point is converted into two orthogonal components: a cosine value and a sine value. This includes mapping the scalar data of the solar azimuth angle of each anchor point on the sparse grid to a two-dimensional unit orthogonal basis, generating an anchor point cosine component matrix and an anchor point sine component matrix. Each element in the anchor point cosine component matrix is obtained by mapping the true value of the solar azimuth angle of the corresponding anchor point through a cosine function, and each element in the anchor point sine component matrix is obtained by mapping the true value of the solar azimuth angle of the corresponding anchor point through a sine function. The interpolation module is used to perform two-dimensional bilinear interpolation on the anchor point solar zenith angle matrix to obtain full-resolution zenith angle data; two-dimensional bilinear interpolation is performed on the two orthogonal cosine and sine values respectively, and then the data is recombined through the arctangent function to obtain full-resolution solar azimuth angle data; the full-resolution solar zenith angle and the full-resolution solar azimuth angle are combined to construct a full-resolution solar geometry matrix, and then pushed into the producer-consumer queue; The concurrency module is used to implement a multi-core producer and single-threaded consumer concurrent architecture based on semaphore control. The interpolation module's calculation process is divided into multiple producer threads, and the disk writing process is divided into a single consumer thread. The parallel pipelined operation of computation and I / O is realized through the semaphore synchronization mechanism.
8. An electronic device, characterized in that, include: One or more processors; Memory, used to store one or more programs; When one or more programs are executed by the one or more processors, the one or more processors implement the method for accelerating the generation of solar geometric data from a high-resolution wide-swath remote sensing camera as described in any one of claims 1-6.
9. A computer-readable storage medium, characterized in that, It stores executable instructions that, when executed by a processor, enable the processor to implement the method for accelerating the generation of solar geometric data from a high-resolution wide-swath remote sensing camera as described in any one of claims 1-6.
Citation Information
Patent Citations
Simulation method and device for characteristics of space-based remote sensing instrument and electronic equipment
CN117131680A
Surface reflectance inversion method of wide optical satellite
CN117828843A