CN115423696A - Remote sensing ortho-image parallel generation method of self-adaptive thread parameters - Google Patents
Remote sensing ortho-image parallel generation method of self-adaptive thread parameters Download PDFInfo
- Publication number
- CN115423696A CN115423696A CN202210905728.3A CN202210905728A CN115423696A CN 115423696 A CN115423696 A CN 115423696A CN 202210905728 A CN202210905728 A CN 202210905728A CN 115423696 A CN115423696 A CN 115423696A
- Authority
- CN
- China
- Prior art keywords
- thread
- image
- parameters
- coordinates
- calculating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000012937 correction Methods 0.000 claims abstract description 29
- 238000004364 calculation method Methods 0.000 claims abstract description 23
- 238000012545 processing Methods 0.000 claims abstract description 11
- 230000015654 memory Effects 0.000 claims description 23
- 101150083114 perB gene Proteins 0.000 claims description 19
- 230000006870 function Effects 0.000 claims description 18
- 230000009466 transformation Effects 0.000 claims description 13
- 230000003044 adaptive effect Effects 0.000 claims description 9
- BWSIKGOGLDNQBZ-LURJTMIESA-N (2s)-2-(methoxymethyl)pyrrolidin-1-amine Chemical compound COC[C@@H]1CCCN1N BWSIKGOGLDNQBZ-LURJTMIESA-N 0.000 claims description 6
- 238000012952 Resampling Methods 0.000 claims description 6
- 241000668842 Lepidosaphes gloverii Species 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 claims description 3
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 abstract 1
- 238000004088 simulation Methods 0.000 abstract 1
- 238000005516 engineering process Methods 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002285 radioactive effect Effects 0.000 description 1
- 238000012892 rational function Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G06T5/80—
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C11/00—Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
-
- G06T3/02—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10032—Satellite or aerial image; Remote sensing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20004—Adaptive image processing
Abstract
The invention discloses a remote sensing ortho image parallel generation method of a self-adaptive thread parameter, and belongs to the technical field of photogrammetry. The method comprises the following steps: obtaining an original stereo image, obtaining four to geographic coordinates through iterative computation of an RFM (radio frequency mass model) according to image-space coordinates of corner points of the original stereo image and a DEM (digital elevation model), and establishing a simulated correction image; determining thread blocks and thread grid parameters according to the performance parameters of the GPU and the CUDA kernel function; using a GPU (graphics processing unit) for parallel calculation to obtain geographic coordinates and a ground elevation value of a simulation correction image pixel; calculating the lines and rows of the original stereo image through an RFM model, and taking the gray value calculated by interpolation as the gray value of the corrected image to obtain the orthorectified image. The invention uses the self-adaptive thread block to adapt to different GPUs, and has better performance and more automation. Meanwhile, the GPU is used for parallel calculation, so that the time for orthorectification can be greatly shortened, and the requirement for performing orthorectification processing on the stereoscopic images in batches is met.
Description
Technical Field
The invention relates to the technical field of photogrammetry, in particular to a remote sensing orthographic image parallel generation method of self-adaptive thread parameters.
Background
With the development of remote sensing technology, satellite remote sensing image acquisition technology tends to be three-more (multi-platform, multi-sensor and multi-angle) and three-high (high spatial resolution, high spectral resolution and high temporal resolution), and gradually becomes the most effective means for ground information acquisition. The research object of photogrammetry is not limited to aerial images any more, the theory and algorithm of the photogrammetry are also widely applied to high-resolution satellites, after the high-resolution satellite remote sensing images enter the international market, a new application research field is opened for space photogrammetry, and an imaging geometric model is used as the theoretical basis of geometric processing of the remote sensing images and extraction of geospatial information, so that the imaging geometric model becomes a key technology to be urgently researched and solved.
The ortho-rectification is a key link of remote sensing image data processing, can eliminate image distortion caused by various factors in the imaging process, and is one of the steps with the largest calculated amount and the longest consumed time in the whole remote sensing data processing process. The main methods for orthorectification are a collinearity model, a strict geometric model based on radioactive transformation, an improved polynomial model, a rational function model, a neural network rectification and the like. The method can be divided into a general experience model and a strict physical model, wherein the general experience model carries out orthorectification by using control points and is limited by terrain and the control points; the strict physical model requires that the orbit parameters, attitude parameters and the like of the sensor are known, so that higher accuracy can be obtained, but most satellite images do not provide parameters of the sensor any more, but provide RPC parameter files.
The GPU is specially designed for a calculation-intensive and highly parallelized processing task, the problem of speed of massive calculation is effectively solved, the GPU is used for accelerating the orthorectification process, and the time for orthorectification of the stereoscopic images can be greatly shortened. When using the GPU parallel computing based on CUDA, it is necessary to set the thread parameters of the kernel, i.e. the parameters of the thread block and the thread grid, when the kernel is called. When two-dimensional thread parameters are used for data such as images, the conventional selection is that the thread blocks are 16 × 16 in size, however, the conventional setting is not necessarily the optimal selection, and most of previous researches are to test the running time of different thread blocks to select a better one, which is tedious.
Disclosure of Invention
In order to solve the problems, the invention provides a method capable of self-adapting to different GPUs (graphics processing units), thread parameters are determined, indirect orthorectification is carried out on a stereo image based on a digital elevation model and a remote sensing image geometric rectification RPC (remote position control) model, an orthorectification process is accelerated by using GPU (graphics processing unit) parallel computation, kernel occupancy rates are computed by using different thread numbers, register numbers and shared memory sizes, orthorectification kernel functions CUDA (compute unified device architecture) are called by thread blocks and thread grid parameters determined by threads with the maximum occupancy rates to carry out GPU parallel computation, orthorectification is efficiently carried out on the high-resolution satellite remote sensing stereo image, a DOM image product is generated, and the actual production requirements of photogrammetry, geographic mapping and the like can be met.
In order to achieve the purpose, a remote sensing ortho image parallel generation method of self-adaptive thread parameters is provided, and comprises the following steps:
(1) Obtaining an original stereo image, performing iterative computation through an RFM (remote position management) model according to the image space coordinates of the corner points of the original stereo image, the parameters of an RPC (remote position control) file of the image and a DEM (digital elevation model) to obtain four to four geographic coordinates, and establishing a simulated correction image;
(2) Determining thread blocks and thread grid parameters according to the performance parameters of the GPU and registers and shared memories used by the CUDA kernel function;
(3) Performing parallel calculation by using the GPU, performing coordinate transformation on each pixel of the analog correction image to obtain geographic coordinates (B, L), calculating rows and columns in the DEM through coordinate transformation, and performing interpolation calculation to obtain a ground elevation value h;
(4) Calculating lines and rows in the original stereo image through the RFM model according to the geographic coordinates (B, L) of the pixel of the simulated corrected image and the ground elevation value h, and taking the gray value of the lines and rows subjected to interpolation calculation as the gray value of the corrected image to obtain the orthorectified image.
Further, the step 1 of creating the analog corrected image includes:
(1.1) according to the image space coordinates (r) of the four corner points of the upper left corner, the upper right corner, the lower left corner and the lower right corner of the original three-dimensional image 0 ,c 0 ) Establishing an RFM model according to the parameters of the RPC file;
(1.2) average elevation H of said DEM 0 As an initial value, calculating and obtaining an initial longitude and latitude (B) through the RFM model 1 ,L 1 ) Coordinate transformation to obtain (B) 1 ,L 1 ) Lines (x) in the DEM 1 ,y 1 ) And calculating the elevation H by interpolation 1 ;
(1.3) matching the image side coordinates (r) 0 ,c 0 ) And elevation H 1 Inputting the RFM model to obtain new longitude and latitude (B) 2 ,L 2 ) And elevation H 2 And repeating iterative calculation until the calculated longitude and latitude meet the error requirement, taking the longitude and latitude as the geographic coordinates of the corner points, comparing the geographic coordinates of the four corner points to obtain the maximum and minimum dimensionality and the maximum and minimum longitude of the image as four to four, calculating the row and column number of the simulated correction image, and establishing the simulated correction image.
Further, the RFM model formula is:
wherein:
Num L (P,L,H)=a 1 +a 2 L+a 3 P+a 4 H+a 5 LP+a 6 LH+a 7 PH+a 8 L 2 +a 9 P 2 +a 10 H 2 +a 11 PLH+a 12 L 3 +a 13 LP 2 +a 14 LH 2 +a 15 L 2 P+a 16 P 3 +a 17 PH 2 +a 18 L 2 H+a 19 P 2 H+a 20 H 3
Den L (P,L,H)=b 1 +b 2 L+b 3 P+b 4 H+b 5 LP+b 6 LH+b 7 PH+b 8 L 2 +b 9 P 2 +b 10 H 2 +b 11 PLH+b 12 L 3 +b 13 LP 2 +b 14 LH 2 +b 15 L 2 P+b 16 P 3 +b 17 PH 2 +b 18 L 2 H+b 19 P 2 H+a 20 H 3
Num S (P,L,H)=c 1 +c 2 L+c 3 P+c 4 H+c 5 LP+c 6 LH+c 7 PH+c 8 L 2 +c 9 P 2 +c 10 H 2 +c 11 PLH+c 12 L 3 +c 13 LP 2 +c 14 LH 2 +c 15 L 2 P+c 16 P 3 +c 17 PH 2 +c 18 L 2 H+c 19 P 2 H+c 20 H 3
Den S (P,L,H)=d 1 +d 2 L+d 3 P+d 4 H+d 5 LP+d 6 LH+d 7 PH+d 8 L 2 +d 9 P 2 +d 10 H 2 +d 11 PLH+d 12 L 3 +d 13 LP 2 +d 14 LH 2 +d 15 L 2 P+d 16 P 3 +d 17 PH 2 +d 18 L 2 H+d 19 P 2 H+d 20 H 3
(P, L, H) are normalized ground coordinates; (X, Y) are normalized image coordinates, and the normalization principle is as follows:
wherein: LAT _ OFF, LAT _ SCALE, LONG _ OFF, LONG _ SCALE, HEIGHT _ OFF, and HEIGHT _ SCALE are standardized parameters for ground coordinates; the SAMP _ OFF, SAMP _ SCALE, LINE _ OFF, LINE _ SCALE are standardized parameters of the image coordinates, and the parameters are obtained in the RPC file.
Further, the determining the thread block and the thread grid parameters in step 2 includes the following steps:
(2.1) calculating the number of threads used by the register number limiting stream processor of each thread according to the performance parameters of the GPU and the registers used by the CUDA kernel function LimitperSM Comprises the following steps:
wherein: threads warp Number of threads, warp, contained for a thread bundle alloc Allocating granularity for thread bundles, regs allocsize Allocating cell sizes for registers, regs perSM The number of registers each stream processor contains; regs perB The number of registers used for one thread in the CUDA kernel;
(2.2) calculating the actual thread bundle threads used by each thread block according to the shared memory used by the kernel function perB Comprises the following steps:
threads perB =64*n
wherein: threads perB Is the number of thread blocks, at least 64, at most 1024,n =1,2, …,16;
(2.3) calculating the GPU thread bundle occupancy rate of the thread number by using a register and a shared memory used by the kernel function:
wherein:
Blocks warps limiting the number of thread blocks assignable to the stream processor for a thread bundle:
Blocks regs limit the number of thread blocks that the stream processor can allocate for the register:
Blocks Smemory limiting the number of thread blocks that can be allocated to the stream processor for shared memory:
wherein: smemory perB Shared memory, smemory, used for each thread in the kernel allocsize Smemory, the size of allocation units for shared memory LimitperSM Is a shared memory of the stream processor;
(2.4) traversing and calculating the thread bundle Occupancy rate, max (Occupanacy) corresponding to the set thread number n ) N =1,2, …,16, obtaining the minimum n value when the occupancy rate is maximum, and determining the size of the thread block threads perB The Block _ x and Block _ y of the two-dimensional thread index are selected and calculated by the following formulas:
the corresponding two-dimensional thread grid is:
wherein Img _ rows and Img _ cols are the row and column numbers of the original stereoscopic image.
Further, the obtaining of the geographic coordinates (B, L) and the ground elevation value h in step 3 includes:
inputting the original stereo image and the four-to-geographic coordinates into the GPU, calling the CUDA kernel function by using the thread block and the thread grid parameters obtained in the step 2 to perform coordinate transformation on each analog correction image pixel through an upper left-corner geographic coordinate and a pixel image-side coordinate to obtain a geographic coordinate (B, L) of the pixel, transforming a row and column (DEM _ r, DEM _ c) in the DEM according to the upper left-corner coordinate of the DEM, and performing resampling calculation by using bilinear interpolation to obtain the ground elevation h.
Further, the obtaining of the orthorectified image in step 4 includes:
calculating by the RFM model according to the geographic coordinates (B, L) and the ground elevation H of the analog correction image pixel to obtain a row and column (r, c) of the analog correction image pixel corresponding to the original stereo image space, performing resampling calculation by interpolation to obtain a gray value H as the gray value of the correction image, wherein the geographic coordinates of each pixel are (B, L, H) and the row and column coordinates of the correction image are (r, c), and generating the orthorectified image by using the corrected data.
The invention has the beneficial effects that:
1. indirect correction is carried out based on the DEM and the RPC model, and orthorectification is carried out on the satellite remote sensing image with large range and high resolution without the limitation of terrain and control points.
2. The method can be adaptive to different GPUs to determine thread blocks and thread grid parameters when the CUDA kernel function is used, and has better performance and automation.
3. The GPU is used for carrying out parallel calculation to accelerate the orthorectification process, so that the time for orthorectification of the stereoscopic images is greatly shortened, and the requirements for quick and real-time processing of the images in batches are met.
Drawings
Fig. 1 is a schematic flow chart of a remote sensing ortho-image parallel generation method of adaptive thread parameters according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating an embodiment of an adaptive GPU to determine thread block and thread grid parameters.
Fig. 3 is a pre-and post-orthorectified contrast diagram of a high resolution satellite image according to an embodiment of the present invention.
Detailed Description
The following detailed description of the preferred embodiments will be made with reference to the accompanying drawings.
As shown in fig. 1, the invention provides a remote sensing ortho image parallel generation method of adaptive thread parameters, which specifically includes the following steps:
s101, obtaining an original stereo image, performing iterative computation through an RFM (remote position management) model according to the image space coordinates of the corner points of the original stereo image, the parameters of an RPC (remote position control) file of the image and a DEM (digital elevation model) to obtain four to four geographic coordinates, and establishing a simulated correction image;
according to the corner point image space coordinates (r) of four corners of the original image, namely the upper left corner, the upper right corner, the lower left corner and the lower right corner 0 ,c 0 ) Establishing an RFM model by using parameters of the RPC file and using the average elevation H of the DEM 0 As an initial value, the initial longitude and latitude (B) is calculated and obtained through an RFM model 1 ,L 1 ) Coordinate transformation to obtain (B) 1 ,L 1 ) Lines in DEM (x) 1 ,y 1 ) And calculating the elevation H by interpolation 1 The image space coordinate (r) 0 ,c 0 ) And elevation H 1 Inputting RFM model, calculating to obtain longitude and latitude (B) 2 ,L 2 ) And elevation H 2 And repeating iterative calculation until the calculated longitude and latitude meet the error requirement, taking the longitude and latitude as the geographic coordinates of the corner points, comparing the geographic coordinates of the four corner points to obtain the maximum and minimum dimensionality and the maximum and minimum longitude of the image as four to four, calculating the row and column number of the analog image, and establishing the analog correction image.
The RFM model formula is as follows:
Num L (P,L,H)=a 1 +a 2 L+a 3 P+a 4 H+a 5 LP+a 6 LH+a 7 PH+a 8 L 2 +a 9 P 2 +a 10 H 2 +a 11 PLH+a 12 L 3 +a 13 LP 2 +a 14 LH 2 +a 15 L 2 P+a 16 P 3 +a 17 PH 2 +a 18 L 2 H+a 19 P 2 H+a 20 H 3
Den L (P,L,H)=b 1 +b 2 L+b 3 P+b 4 H+b 5 LP+b 6 LH+b 7 PH+b 8 L 2 +b 9 P 2 +b 10 H 2 +b 11 PLH+b 12 L 3 +b 13 LP 2 +b 14 LH 2 +b 15 L 2 P+b 16 P 3 +b 17 PH 2 +b 18 L 2 H+b 19 P 2 H+a 20 H 3
Num S (P,L,H)=c 1 +c 2 L+c 3 P+c 4 H+c 5 LP+c 6 LH+c 7 PH+c 8 L 2 +c 9 P 2 +c 10 H 2 +c 11 PLH+c 12 L 3 +c 13 LP 2 +c 14 LH 2 +c 15 L 2 P+c 16 P 3 +c 17 PH 2 +c 18 L 2 H+c 19 P 2 H+c 20 H 3
Den S (P,L,H)=d 1 +d 2 L+d 3 P+d 4 H+d 5 LP+d 6 LH+d 7 PH+d 8 L 2 +d 9 P 2 +d 10 H 2 +d 11 PLH+d 12 L 3 +d 13 LP 2 +d 14 LH 2 +d 15 L 2 P+d 16 P 3 +d 17 PH 2 +d 18 L 2 H+d 19 P 2 H+d 20 H 3
(P, L, H) are normalized ground coordinates; (X, Y) are normalized image coordinates, and the normalization principle is as follows:
wherein LAT _ OFF, LAT _ SCALE, LONG _ OFF, LONG _ SCALE, HEIGHT _ OFF and HEIGHT _ SCALE are standardized parameters of ground coordinates; the SAMP _ OFF, SAMP _ SCALE, LINE _ OFF, and LINE _ SCALE are standardized parameters of the coordinates of the movie, and the parameters are obtained in the RPC file of the movie.
S102, determining thread blocks and thread grid parameters according to performance parameters of a GPU (graphics processing Unit), registers used by a CUDA (compute unified device architecture) kernel function and a shared memory;
as shown in fig. 2, the number of threads used by each stream processor is warp as known from the parameters of the GPU LimitperSM One thread bundle packet Threads warp Each thread with a bundle allocation granularity of Warp alloc Chinese herb medicineMemory allocation unit size Regs allocsize Number of registers Regs per stream processor size perSM Register number Regs used by a thread in an orthorectified kernel perB The number of threads used by the register count restricted flow processor for each thread may be calculated as:
the shared memory used by each thread in the kernel function is Smemory perB Size of allocation unit of shared memory, memory allocsize The shared memory of the stream processor is the memory LimitperSM . Experience has shown that the thread number of a thread block is 64 at least and 1024 at most, and the size of the thread block can be set to threads perB The actual thread bundle used by each thread block is:
Warps perB =threads perB /32
threads perB =64*n
where n =1,2, …,16.
Limiting the number of thread blocks assignable by the stream processor by the thread bundle:
limiting the number of thread blocks assignable by the stream processor by a register:
limiting the number of thread blocks assignable by the stream processor by the shared memory:
the GPU thread bundle occupancy for this thread number may be calculated:
calculating the corresponding thread bundle Occupancy rate, max (Occupancy) by traversing the set thread number n ) N =1,2, …,16, obtaining the minimum n value when the occupancy rate is maximum, that is, determining the size of thread block threads perB . When the corrected kernel function is started, the CUDA selects that Block _ x and Block _ y of the two-dimensional thread index should be as average as possible by setting thread blocks and grids and by the number of threads in the calculated thread blocks, and can be calculated by the following formula:
the corresponding two-dimensional thread grid is:
wherein Img _ rows and Img _ cols are the number of rows and columns of the original image. The thread block and thread grid parameters of the CUDA kernel function can be determined.
S103, performing parallel calculation by using the GPU, performing coordinate transformation on each pixel of the analog corrected image to obtain a geographic coordinate of each pixel, calculating rows and columns in the corresponding DEM through coordinate transformation, and performing interpolation calculation to obtain a ground elevation value;
transmitting image data and parameters to a GPU, calling a CUDA kernel function by using the thread block and thread grid parameters determined in the step S102 to perform coordinate transformation on each analog correction image pixel through the upper left-corner geographic coordinate and the pixel image space coordinate to obtain the geographic coordinate (B, L) of the pixel, transforming the rows and columns (DEM _ r, DEM _ c) in the DEM according to the upper left-corner coordinate of the DEM, and performing resampling calculation by using bilinear interpolation to obtain the ground elevation h.
S104, calculating a row and a column in the original stereo image through the RFM according to the geographic coordinates and the ground elevation value of the simulated corrected image pixel, and taking a gray value obtained by interpolation calculation of the row and the column as a gray value of the corrected image to obtain the orthorectified image.
According to the geographic coordinates (B, L) and ground elevation H of the analog correction image pixel, calculating by an RFM model to obtain a row and column (r, c) of the analog correction image pixel corresponding to the original stereo image space, performing resampling calculation by interpolation to obtain a gray value H as the gray value of the correction image, transmitting the corrected data back to the CPU to generate an orthorectified image, wherein the geographic coordinates of each pixel are (B, L, H) and the row and column coordinates of the correction image are (r, c),
table 1 shows the horizontal accuracy result of the image orthorectification performed by commercial software of the ERDAS LPS in the present invention, a certain number of homologous points are extracted from two corrected images, the root mean square error calculation is performed with the longitude and latitude of the ERDAS LPS corrected images as the true value, and the obtained error results are that the plane accuracy is 1.3m in longitude deviation, 1.19m in latitude deviation and 1.77m in synthesis, which has a good effect and can be used for orthorectification of the high-resolution remote sensing satellite image.
TABLE 1
Although specific embodiments of the present invention have been described above, it will be appreciated by those skilled in the art that these embodiments are merely illustrative and that many variations or modifications may be made thereto without departing from the principles and spirit of the invention, the scope of which is therefore defined by the appended claims.
Claims (6)
1. A remote sensing ortho image parallel generation method of self-adaptive thread parameters is characterized by comprising the following steps:
(1) Obtaining an original stereo image, performing iterative computation through an RFM (remote video memory) model according to the image space coordinates of the corner points of the original stereo image, the parameters of the RPC file and the DEM to obtain four to four geographic coordinates, and establishing a simulated correction image;
(2) Determining thread blocks and thread grid parameters according to performance parameters of a GPU (graphics processing Unit), a register used by a CUDA (compute unified device architecture) kernel function and a shared memory;
(3) Performing parallel calculation by using the GPU, performing coordinate transformation on each pixel of the analog correction image to obtain geographic coordinates (B, L), calculating rows and columns in the DEM through coordinate transformation, and performing interpolation calculation to obtain a ground elevation value h;
(4) Calculating lines and rows in the original stereo image through the RFM model according to the geographic coordinates (B, L) of the pixel of the simulated corrected image and the ground elevation value h, and taking the gray value of the lines and rows subjected to interpolation calculation as the gray value of the corrected image to obtain the orthorectified image.
2. The method for parallel generation of remote sensing ortho images with adaptive thread parameters according to claim 1, wherein the step 1 of establishing a simulated correction image comprises:
(1.1) according to the image space coordinates (r) of the four corner points of the upper left corner, the upper right corner, the lower left corner and the lower right corner of the original three-dimensional image 0 ,c 0 ) Establishing an RFM model according to the parameters of the RPC file;
(1.2) average elevation H of said DEM 0 As an initial value, calculating and obtaining an initial longitude and latitude (B) through the RFM model 1 ,L 1 ) Coordinate transformation to obtain (B) 1 ,L 1 ) Lines (x) in the DEM 1 ,y 1 ) And calculating the elevation H by interpolation 1 ;
(1.3) matching the image side coordinates (r) 0 ,c 0 ) And elevationH 1 Inputting the RFM model to obtain new longitude and latitude (B) 2 ,L 2 ) And elevation H 2 And repeating iterative calculation until the calculated longitude and latitude meet the error requirement, taking the longitude and latitude as the geographic coordinates of the corner points, comparing the geographic coordinates of the four corner points to obtain the maximum and minimum dimensionality and the maximum and minimum longitude of the image as four to four, calculating the row and column number of the simulated correction image, and establishing the simulated correction image.
3. The method for parallel generation of remote sensing ortho images with adaptive thread parameters according to claim 2, wherein the RFM model formula is as follows:
wherein:
Num L (P,L,H)=a 1 +a 2 L+a 3 P+a 4 H+a 5 LP+a 6 LH+a 7 PH+a 8 L 2 +a 9 P 2 +a 10 H 2 +a 11 PLH+a 12 L 3 +a 13 LP 2 +a 14 LH 2 +a 15 L 2 P+a 16 P 3 +a 17 PH 2 +a 18 L 2 H+a 19 P 2 H+a 20 H 3
Den L (P,L,H)=b 1 +b 2 L+b 3 P+b 4 H+b 5 LP+b 6 LH+b 7 PH+b 8 L 2 +b 9 P 2 +b 10 H 2 +b 11 PLH+b 12 L 3 +b 13 LP 2 +b 14 LH 2 +b 15 L 2 P+b 16 P 3 +b 17 PH 2 +b 18 L 2 H+b 19 P 2 H+a 20 H 3
Num S (P,L,H)=c 1 +c 2 L+c 3 P+c 4 H+c 5 LP+c 6 LH+c 7 PH+c 8 L 2 +c 9 P 2 +c 10 H 2 +c 11 PLH+c 12 L 3 +c 13 LP 2 +c 14 LH 2 +c 15 L 2 P+c 16 P 3 +c 17 PH 2 +c 18 L 2 H+c 19 P 2 H+c 20 H 3
Den S (P,L,H)=d 1 +d 2 L+d 3 P+d 4 H+d 5 LP+d 6 LH+d 7 PH+d 8 L 2 +d 9 P 2 +d 10 H 2 +d 11 PLH+d 12 L 3 +d 13 LP 2 +d 14 LH 2 +d 15 L 2 P+d 16 P 3 +d 17 PH 2 +d 18 L 2 H+d 19 P 2 H+d 20 H 3
(P, L, H) are normalized ground coordinates; (X, Y) are normalized image coordinates, and the normalization principle is as follows:
wherein: LAT _ OFF, LAT _ SCALE, LONG _ OFF, LONG _ SCALE, HEIGHT _ OFF, and HEIGHT _ SCALE are standardized parameters for ground coordinates; the SAMP _ OFF, SAMP _ SCALE, LINE _ OFF, LINE _ SCALE are standardized parameters of the image coordinates, and the parameters are obtained in the RPC file.
4. The method for parallel generation of remote sensing ortho images with adaptive thread parameters according to claim 1, wherein the step 2 of determining the thread block and thread grid parameters comprises the following steps:
(2.1) calculating the number of threads used by the register number limiting stream processor of each thread according to the performance parameters of the GPU and the registers used by the CUDA kernel function LimitperSM Comprises the following steps:
wherein: threads warp For the number of threads contained in a thread bundle, warp alloc Allocating granularity for thread bundles, regs allocsize Allocating cell sizes, regs, for registers perSM The number of registers each stream processor contains; regs perB The number of registers used by one thread in the CUDA kernel function;
(2.2) calculating actual thread bundle threads used by each thread block according to the shared memory used by the CUDA kernel function perB Comprises the following steps:
threads perB =64*n
wherein: threads perB Is the thread block number, at least 64, at most 1024,n =1,2, …,16;
(2.3) calculating the GPU thread bundle occupancy rate of the thread number according to the register and the shared memory used by the CUDA kernel function:
wherein:
Blocks warps limiting the number of thread blocks assignable to the stream processor for a thread bundle:
Blocks regs limiting the number of thread blocks that the stream processor can allocate for registers:
Blocks Smemory limiting the number of thread blocks allocable to the stream processor for shared memory:
wherein: smemory perB Shared memory, smemory, used for each thread in the kernel allocsize Smemory, the size of allocation units for shared memory LimitperSM Is a shared memory of the stream processor;
(2.4) traversing and calculating the Occupancy rate, max (Occupancy) of the thread bundle corresponding to the set thread number n ) N =1,2, …,16, obtaining the minimum n value when the occupancy rate is maximum, and determining the size of threads of the thread block perB Selecting Block _ x and Block _ y of the two-dimensional thread index, and calculating by the following formula:
the corresponding two-dimensional thread grid is:
wherein Img _ rows and Img _ cols are the row number and the column number of the original stereoscopic image.
5. The method for parallel generation of remote sensing ortho images with adaptive thread parameters according to claim 1, wherein the step 3 of obtaining geographic coordinates (B, L) and ground elevation h comprises:
inputting the original stereo image and the four-to-geographic coordinates into the GPU, calling the CUDA kernel function by using the thread block and the thread grid parameters obtained in the step 2 to perform coordinate transformation on each analog correction image pixel through an upper left-corner geographic coordinate and a pixel image-side coordinate to obtain a geographic coordinate (B, L) of the pixel, transforming a row and column (DEM _ r, DEM _ c) in the DEM according to the upper left-corner coordinate of the DEM, and performing resampling calculation by using bilinear interpolation to obtain the ground elevation h.
6. The method for parallel generation of remote sensing ortho images with adaptive thread parameters according to claim 1, wherein the obtaining of the ortho-corrected image in step 4 comprises:
according to the geographic coordinates (B, L) and the ground elevation H of the analog correction image pixel, calculating to obtain a row and column (r, c) of the analog correction image pixel in the image space of the original stereo image through the RFM model, performing resampling calculation by using interpolation to obtain a gray value H as the gray value of the correction image, wherein the geographic coordinate of each pixel is (B, L, H), the row and column coordinate of the correction image is (r, c), and generating the orthorectified image by using corrected data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210905728.3A CN115423696A (en) | 2022-07-29 | 2022-07-29 | Remote sensing ortho-image parallel generation method of self-adaptive thread parameters |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210905728.3A CN115423696A (en) | 2022-07-29 | 2022-07-29 | Remote sensing ortho-image parallel generation method of self-adaptive thread parameters |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115423696A true CN115423696A (en) | 2022-12-02 |
Family
ID=84196858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210905728.3A Pending CN115423696A (en) | 2022-07-29 | 2022-07-29 | Remote sensing ortho-image parallel generation method of self-adaptive thread parameters |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115423696A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117152361A (en) * | 2023-10-26 | 2023-12-01 | 天津市滨海新区气象局(天津市滨海新区气象预警中心) | Remote sensing image visibility estimation method based on attention mechanism |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100529401B1 (en) * | 2005-07-20 | 2005-11-17 | 중앙항업(주) | Apparatus and method of dem generation using synthetic aperture radar(sar) data |
CN102609978A (en) * | 2012-01-13 | 2012-07-25 | 中国人民解放军信息工程大学 | Method for accelerating cone-beam CT (computerized tomography) image reconstruction by using GPU (graphics processing unit) based on CUDA (compute unified device architecture) architecture |
CN103413273A (en) * | 2013-07-22 | 2013-11-27 | 中国资源卫星应用中心 | Method for rapidly achieving image restoration processing based on GPU |
CN105719341A (en) * | 2016-01-18 | 2016-06-29 | 中科宇图科技股份有限公司 | Method for extracting building height from space remote-sensing image based on RPC model |
CN107341778A (en) * | 2017-07-10 | 2017-11-10 | 国家测绘地理信息局卫星测绘应用中心 | SAR image ortho-rectification methods based on satellite control point storehouse and DEM |
CN108230326A (en) * | 2018-02-08 | 2018-06-29 | 重庆市地理信息中心 | Satellite image garland based on GPU-CPU collaborations deforms rapid detection method |
KR20190026452A (en) * | 2017-09-05 | 2019-03-13 | 순천대학교 산학협력단 | A method of automatic geometric correction of digital elevation model made from satellite images and provided rpc |
CN109903352A (en) * | 2018-12-24 | 2019-06-18 | 中国科学院遥感与数字地球研究所 | A kind of seamless orthography production method in the big region of satellite remote-sensing image |
CN111383158A (en) * | 2018-12-27 | 2020-07-07 | 中科星图股份有限公司 | Remote sensing image preprocessing method |
CN113658078A (en) * | 2021-08-20 | 2021-11-16 | 南京工业大学 | SPOT-6 satellite image RFM orthorectification method based on FPGA hardware |
-
2022
- 2022-07-29 CN CN202210905728.3A patent/CN115423696A/en active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100529401B1 (en) * | 2005-07-20 | 2005-11-17 | 중앙항업(주) | Apparatus and method of dem generation using synthetic aperture radar(sar) data |
CN102609978A (en) * | 2012-01-13 | 2012-07-25 | 中国人民解放军信息工程大学 | Method for accelerating cone-beam CT (computerized tomography) image reconstruction by using GPU (graphics processing unit) based on CUDA (compute unified device architecture) architecture |
CN103413273A (en) * | 2013-07-22 | 2013-11-27 | 中国资源卫星应用中心 | Method for rapidly achieving image restoration processing based on GPU |
CN105719341A (en) * | 2016-01-18 | 2016-06-29 | 中科宇图科技股份有限公司 | Method for extracting building height from space remote-sensing image based on RPC model |
CN107341778A (en) * | 2017-07-10 | 2017-11-10 | 国家测绘地理信息局卫星测绘应用中心 | SAR image ortho-rectification methods based on satellite control point storehouse and DEM |
KR20190026452A (en) * | 2017-09-05 | 2019-03-13 | 순천대학교 산학협력단 | A method of automatic geometric correction of digital elevation model made from satellite images and provided rpc |
CN108230326A (en) * | 2018-02-08 | 2018-06-29 | 重庆市地理信息中心 | Satellite image garland based on GPU-CPU collaborations deforms rapid detection method |
CN109903352A (en) * | 2018-12-24 | 2019-06-18 | 中国科学院遥感与数字地球研究所 | A kind of seamless orthography production method in the big region of satellite remote-sensing image |
CN111383158A (en) * | 2018-12-27 | 2020-07-07 | 中科星图股份有限公司 | Remote sensing image preprocessing method |
CN113658078A (en) * | 2021-08-20 | 2021-11-16 | 南京工业大学 | SPOT-6 satellite image RFM orthorectification method based on FPGA hardware |
Non-Patent Citations (4)
Title |
---|
MOHAMMAD SHOAB 等: "High-Precise True Digital Orthoimage Generation and Accuracy Assessment based on UAV Images", JOURNAL OF THE INDIAN SOCIETY OF REMOTE SENSING, 11 April 2021 (2021-04-11), pages 1 - 10 * |
王海侠 等: "基于RPC模型的QuickBird影像几何精校正的研究与探讨", 城市勘测, no. 03, 30 June 2011 (2011-06-30), pages 54 - 58 * |
蔡耀君 等: "基于缺失RPC文件的卫星影像正射校正研究", 测绘与空间地理信息, vol. 36, no. 12, 25 December 2013 (2013-12-25), pages 68 - 70 * |
许雪贵 等: "基于 CUDA 的高效并行遥感影像处理", 地理空间信息, vol. 9, no. 6, 31 December 2011 (2011-12-31), pages 47 - 54 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117152361A (en) * | 2023-10-26 | 2023-12-01 | 天津市滨海新区气象局(天津市滨海新区气象预警中心) | Remote sensing image visibility estimation method based on attention mechanism |
CN117152361B (en) * | 2023-10-26 | 2024-01-30 | 天津市滨海新区气象局(天津市滨海新区气象预警中心) | Remote sensing image visibility estimation method based on attention mechanism |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9984498B2 (en) | Sparse GPU voxelization for 3D surface reconstruction | |
CN108564652B (en) | High-precision three-dimensional reconstruction method, system and equipment for efficiently utilizing memory | |
CN109147025B (en) | RGBD three-dimensional reconstruction-oriented texture generation method | |
US6636232B2 (en) | Polygon anti-aliasing with any number of samples on an irregular sample grid using a hierarchical tiler | |
CN110264573B (en) | Three-dimensional reconstruction method and device based on structured light, terminal equipment and storage medium | |
CN112396640A (en) | Image registration method and device, electronic equipment and storage medium | |
CN115439571A (en) | Method and device suitable for generating linear array push-broom satellite image epipolar image | |
CN115423696A (en) | Remote sensing ortho-image parallel generation method of self-adaptive thread parameters | |
US20080270031A1 (en) | Geospatial modeling system providing data thinning of geospatial data points and related methods | |
JPH03127282A (en) | Radon transforming method of digital image | |
CN112529946A (en) | High discrete body model optimization method and system based on elevation data, electronic equipment and readable storage medium | |
CN107992588B (en) | Terrain display system based on elevation tile data | |
CN116721231A (en) | Three-dimensional reconstruction method and system for extensible scene based on unmanned aerial vehicle-mounted positioning | |
CN113592711A (en) | Three-dimensional reconstruction method, system and equipment for point cloud data nonuniformity and storage medium | |
CN113840127B (en) | Method for automatically masking DSM (digital multimedia subsystem) in satellite video image acquisition water area | |
CN116721228B (en) | Building elevation extraction method and system based on low-density point cloud | |
Li et al. | RIVA: A versatile parallel rendering system for interactive scientific visualization | |
CN115082641A (en) | Point cloud rasterization method and device based on gridding multi-neighborhood interpolation | |
Lei et al. | Stream model-based orthorectification in a GPU cluster environment | |
CN115168682A (en) | Large-scale space-time point data LOD drawing method and device | |
CN112561805A (en) | Correction method and device for geometric rough correction image | |
CN109086655B (en) | Symmetrical initialization and aggregation optimization-based sub-pixel positioning method and system | |
CN112560868A (en) | Multi-process large area network image matching method and device based on feature point library | |
CN113344983A (en) | Multi-point cloud registration method based on plane point cloud segmentation | |
CN112634431A (en) | Method and device for converting three-dimensional texture map into three-dimensional point cloud |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |