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 PDF

Info

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
Application number
CN202210905728.3A
Other languages
Chinese (zh)
Inventor
洪中华
胡上成
周汝雁
潘海燕
马振玲
张云
韩彦岭
王静
杨树瑚
徐利军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Ocean University
Original Assignee
Shanghai Ocean University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Ocean University filed Critical Shanghai Ocean University
Priority to CN202210905728.3A priority Critical patent/CN115423696A/en
Publication of CN115423696A publication Critical patent/CN115423696A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • G06T5/80
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C11/00Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
    • G06T3/02
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10032Satellite or aerial image; Remote sensing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20004Adaptive 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

Remote sensing ortho-image parallel generation method of self-adaptive thread parameters
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:
Figure BDA0003772392070000041
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:
Figure BDA0003772392070000042
Figure BDA0003772392070000043
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:
Figure BDA0003772392070000051
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:
Figure BDA0003772392070000052
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:
Figure BDA0003772392070000053
wherein:
Blocks warps limiting the number of thread blocks assignable to the stream processor for a thread bundle:
Figure BDA0003772392070000054
Blocks regs limit the number of thread blocks that the stream processor can allocate for the register:
Figure BDA0003772392070000055
Blocks Smemory limiting the number of thread blocks that can be allocated to the stream processor for shared memory:
Figure BDA0003772392070000061
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:
Figure BDA0003772392070000062
Figure BDA0003772392070000063
the corresponding two-dimensional thread grid is:
Figure BDA0003772392070000064
Figure BDA0003772392070000065
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:
Figure BDA0003772392070000081
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:
Figure BDA0003772392070000091
Figure BDA0003772392070000092
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:
Figure BDA0003772392070000093
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:
Figure BDA0003772392070000101
limiting the number of thread blocks assignable by the stream processor by a register:
Figure BDA0003772392070000102
limiting the number of thread blocks assignable by the stream processor by the shared memory:
Figure BDA0003772392070000103
the GPU thread bundle occupancy for this thread number may be calculated:
Figure BDA0003772392070000104
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:
Figure BDA0003772392070000105
Figure BDA0003772392070000106
the corresponding two-dimensional thread grid is:
Figure BDA0003772392070000111
Figure BDA0003772392070000112
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
Figure BDA0003772392070000121
Figure BDA0003772392070000131
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:
Figure FDA0003772392060000021
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:
Figure FDA0003772392060000022
Figure FDA0003772392060000023
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:
Figure FDA0003772392060000031
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:
Figure FDA0003772392060000032
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:
Figure FDA0003772392060000041
wherein:
Blocks warps limiting the number of thread blocks assignable to the stream processor for a thread bundle:
Figure FDA0003772392060000042
Blocks regs limiting the number of thread blocks that the stream processor can allocate for registers:
Figure FDA0003772392060000043
Blocks Smemory limiting the number of thread blocks allocable to the stream processor for shared memory:
Figure FDA0003772392060000044
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:
Figure FDA0003772392060000045
Figure FDA0003772392060000046
the corresponding two-dimensional thread grid is:
Figure FDA0003772392060000051
Figure FDA0003772392060000052
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.
CN202210905728.3A 2022-07-29 2022-07-29 Remote sensing ortho-image parallel generation method of self-adaptive thread parameters Pending CN115423696A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (10)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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