CN106997602B - SAR image registration method based on GPU and pyramid mutual information - Google Patents

SAR image registration method based on GPU and pyramid mutual information Download PDF

Info

Publication number
CN106997602B
CN106997602B CN201710160992.8A CN201710160992A CN106997602B CN 106997602 B CN106997602 B CN 106997602B CN 201710160992 A CN201710160992 A CN 201710160992A CN 106997602 B CN106997602 B CN 106997602B
Authority
CN
China
Prior art keywords
pyramid
width
image
top layer
gpu
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.)
Active
Application number
CN201710160992.8A
Other languages
Chinese (zh)
Other versions
CN106997602A (en
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.)
Xidian University
Original Assignee
Xidian 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 Xidian University filed Critical Xidian University
Priority to CN201710160992.8A priority Critical patent/CN106997602B/en
Publication of CN106997602A publication Critical patent/CN106997602A/en
Application granted granted Critical
Publication of CN106997602B publication Critical patent/CN106997602B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06T2207/10044Radar image
    • 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/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform

Abstract

The SAR image registration method based on GPU and pyramid mutual information that the invention discloses a kind of mainly solves the problems, such as that the speed of prior art image registration is slow and precision is low.Its implementation are as follows: 1.GPU generates two width pyramid top layer images through 1/4 down-sampling, while CPU calculates top layer images moving range;2. calculating the shift position of top layer images in top layer images moving range;3.CPU calculates intermediate tomographic image moving range by top layer images shift position, while GPU generates tomographic image among two width through 1/2 down-sampling;4. calculating intermediate tomographic image shift position in intermediate tomographic image moving range;5. calculating image moving range subject to registration according to intermediate tomographic image shift position;6. calculating final registration position in image moving range subject to registration, images after registration is generated.GPU is applied in pyramid mutual information registration algorithm by the present invention, improves the speed and precision of registration, can be used for the analysis of Real-time Remote Sensing data.

Description

SAR image registration method based on GPU and pyramid mutual information
Technical field
The invention belongs to Radar Technology field, in particular to a kind of method for registering of SAR image can be used for Real-time Remote Sensing number According to analysis.
Background technique
Pyramid mutual information image registration is one of current most common registration Algorithm, and mutual information is calculated and is adopted with image Sample combines, and has operand small, the good advantage of registration effect.Pyramid mutual information image registration algorithm now exists more Realized on CPU, the propositions such as Li Qiaoliang, Wang Guoyou, Liu Jianguo of the Central China University of Science and Technology based on batten pyramid and mutual information Fast image registration algorithm reduces calculation amount using building batten pyramid, and algorithm single thread on CPU is run.Zhang Zanxia, The layering remote sensing image processing method based on mutual information that Peng Jiaxiong, Wang Hongqun are proposed constructs image gold word using wavelet transformation Tower carries out mutual information registration, also in running on CPU.
With the raising of SAR image resolution ratio, the image registration algorithm runing time run on CPU is elongated, so that nothing Method meets requirement of real-time, is occurred using the registration Algorithm that GPU accelerates parallel;National University of Defense technology Zhao is into based on the distant of GPU The mutual information image registration algorithm of GPU realization is given in sense image Parallel Processing algorithm and its paper of optimisation technique research, But this method, for the GPU for using single-precision floating point operation, registration accuracy is not easy to control.
Summary of the invention
It is a kind of based on GPU and pyramid mutual information it is an object of the invention in view of the above shortcomings of the prior art, propose SAR image registration method, to reduce the image registration time, and improve the precision of registration.
The technical scheme is that
By the way of CPU+GPU combination, image sampling is carried out using GPU and mutual information calculates, carry out golden word using CPU The every tomographic image of tower shares the calculating of regional scope and moving range.1/4 and 1/2 down-sampling is carried out to picture and constructs 3 layers of pyramid, By successively calculating registration position, final registration image is generated, implementation step includes the following:
(1) two width SAR gray level images are obtained, and sends it to and is used as two original SAR images in GPU video memory, GPU pairs This two width SAR image carries out 1/4 down-sampling respectively, obtains the first width pyramid top layer images D11With the second width pyramid top level diagram As D12;The second width pyramid top layer images D is initialized by CPU simultaneously12Moving range;
(2) the corresponding second width pyramid top layer images D of pyramid top layer maximum mutual information is calculated12Shift position:
(2a) GPU chooses a mobile vector and mobile second width pyramid top layer images D in moving range12, generate First width pyramid top layer shares area image D11' and the shared area image D of the second width pyramid top layer12', then calculate this two The mutual information MI of width image1
(2b) traversal in moving range chooses new mobile vector, repeats (2a), obtains the set of association relationship;It finds out Maximum mutual information value in set, and save the corresponding second width pyramid top layer images D of the maximum mutual information value12Mobile position It sets;
(3) GPU carries out 1/2 down-sampling to two original SAR images, obtains the two images D of pyramid middle layer21With D22;The second width pyramid top layer images D that CPU is saved according to step (2b)12Shift position determines among the second width pyramid Tomographic image D22Moving range;
(4) tomographic image D among the corresponding second width pyramid of pyramid middle layer maximum mutual information is calculated22Shift position:
(4a) GPU is chosen in the moving range that step (3) determine in a mobile vector and mobile second width pyramid Between tomographic image D22, generate the first width pyramid middle layer and share area image D21' and the shared region of the second width pyramid middle layer Image D22', then calculate the mutual information MI of this two images2
(4b) traversal in the moving range that step (3) determine chooses new mobile vector, repeats (4a), obtains mutual information The set of value;Maximum mutual information value in set is found out, and saves the corresponding second width pyramid middle layer figure of the maximum mutual information value As D22Shift position;
(5) the second width pyramid centre tomographic image D that CPU is saved according to step (4b)22Shift position determines the second width original The moving range of beginning SAR image, and a block space F is opened up in memory for storing pyramid bottom association relationship and mobile arrow Amount, the association relationship of initialization space F are born infinite for single-precision floating point;
(6) shift position of the corresponding second original SAR image of pyramid bottom maximum mutual information is calculated:
(6a) GPU chooses a mobile vector and mobile second original SAR figure in the moving range that step (5) determine Picture generates the first width pyramid bottom and shares area image D31' and the shared area image D of the second width pyramid bottom32', then count Calculate the mutual information MI of this two images3
(6b) CPU is by mutual information MI3It is compared with the association relationship stored in the F of space: if mutual information MI3Than space F The association relationship of storage is big, then the association relationship for changing space F storage is MI3, while the mobile vector of space F storage is changed, Otherwise, it does nothing;
(6c) traversal in the moving range that step (5) determine chooses new mobile vector, repeats (6a) and (6b);Space The association relationship of F storage is pyramid bottom maximum mutual information value MI, takes out the mobile vector that space F is saved, GPU is according to this Mobile vector moves second original SAR image again, obtains images after registration D.
The present invention has the advantage that
The present invention is realized due to applying to GPU in the mutual information calculating of every layer of pyramid shared area image with CPU Traditional pyramid mutual information registration algorithm is compared, and runing time is reduced;Simultaneously because by generating every layer of consensus of pyramid Area image improves registration accuracy.
Test result shows the present invention compared with the pyramid mutual information registration algorithm that CPU is realized, the registration time substantially subtracts It is small;Compared with traditional pyramid mutual information registration algorithm that GPU is realized, registration accuracy increases the present invention.
Detailed description of the invention
Fig. 1 is implementation process block diagram of the invention;
Fig. 2 is the original SAR image that emulation experiment of the present invention uses;
Fig. 3 is the images after registration that emulation experiment of the present invention obtains;
Fig. 4 is with the images after registration of the invention obtained and the overlapping image of first original SAR image.
Specific embodiment
Referring to Fig.1, the specific steps of the present invention are as follows:
Step 1, GPU generates two width top layer images D11And D12, the second width pyramid top layer images D of CPU calculating12Movement Range.
(1a) GPU generates the first width pyramid top layer images D11With the second width pyramid top layer images D12:
(1a1) is according to the wide W of first original SAR image1With high H1, GPU opens up width in video memory and isIt is a height ofThe first pyramid top layer two-dimensional array α1, whereinIt indicates to be rounded downwards, ceil4Table Show the multiple to round up as 4;
(1a2) GPU is first the first width pyramid top layer images D1132 × 32 thread blocks are distributed, per thread block is reallocatedA thread makes the first pyramid top layer two-dimensional array α1In all index (x1,y1) full FootAnd meetElement respectively correspond a GPU thread, whereinIndicate upward It is rounded;
(1a3) utilizes the first pyramid top layer two-dimensional array α1Middle element (x1,y1) corresponding thread, by the element assignment For (4x in first original SAR image1,4y1) pixel value at coordinate, the first pyramid top layer two-dimensional array α at this time1Deposit Store up the first width pyramid top layer images D11
(1a4) is according to the wide W of second original SAR image2With high H2, opening up width in GPU video memory isIt is a height ofThe second pyramid top layer two-dimensional array β1
(1a5) GPU is first the second width pyramid top layer images D1232 × 32 thread blocks are distributed, per thread block is reallocatedA thread;Make the second pyramid top layer two-dimensional array β1In all index (x1',y1') MeetWithElement respectively correspond a GPU thread;
(1a6) utilizes the second pyramid top layer two-dimensional array β1Middle element (x1',y1') corresponding thread, which is assigned Value is second original SAR image (4x1',4y1') pixel value of coordinate, the second pyramid top layer two-dimensional array β at this time1Deposit Store up the first width pyramid top layer images D12
(1b) CPU calculates the second width pyramid top layer images D12Moving range:
Initial moving range of the second original SAR image that CPU is inputted according to user in different zones, it may be assumed that level is moved Dynamic section [- w, w], vertically moves section [- h, h], rotates angular interval [- ang, ang], calculates the second width pyramid top level diagram As D12In the moving range of different zones are as follows: move horizontally sectionVertically move sectionRotate angular area Between [- ang, ang].
Step 2, GPU calculates the second width pyramid top layer images D12Shift position.
(2a) GPU generates the first width pyramid top layer and shares area image D11' and the shared region of the second width pyramid top layer Image D12':
(2a1) translates the second width pyramid top layer images D12, image Ds after being translated12
The second width pyramid top layer images D that GPU is determined from step (1b)12A mobile vector is chosen in moving range (x1,y1,ang1), wherein x1Indicate the number of pixels moved horizontally, y1Indicate the number of pixels vertically moved, ang1It indicates to scheme As D12Center rotates clockwise angle for origin, and according to the second width pyramid top layer images D12Wide W12With high H12, in video memory In open up width be W12+2x1, a height of H12+2y1Pyramid top layer translate array δ1, then by δ1It resets;
GPU is translation array δ132 × 32 thread blocks are distributed, per thread block is reallocated A thread, and make the second width pyramid top layer images D12Each pixel respectively correspond a thread;
Thread is by the second width pyramid top layer images D12Middle index is (x12,y12) pixel copy it is flat to pyramid top layer Move array δ1In (x12+x1,y12+y1) position, then translate array δ1Store the second width pyramid top layer images D12After translation Image Ds12
Image Ds after (2a2) rotation translation12, image Dm after being moved1:
It is (2x that GPU opens up width in video memory1+W12)cos(ang1)+W12sin(ang1), a height of (2x1+W12)sin(ang1) +W12cos(ang1) pyramid top layer rotate array δ1', then obtain pyramid top layer respectively and translate array δ1With pyramid top layer Rotate array δ1' first address, by the two first address and ang1It is input in the affine transformation instruction of GPU, the instruction execution Afterwards, image Ds12Postrotational image is stored in pyramid top layer rotation array δ1' in get to the second width pyramid top layer Image D12Image Dm after movement1
(2a3) CPU calculates the image Dm after movement1With the first width pyramid top layer images D11The rectangular of lap shares Regional scope:
(2a31) CPU is according to image D12Mobile vector (x1,y1,ang1), calculate the maximum width in the rectangular consensus domain L:
L=min (Wm1,W11,Hm1,H11),
Wherein, Wm1And Hm1For the image Dm after movement1Width and height, W11And H11For the first width pyramid top layer images D11 Width and height;
(2a32) is by the rectangular consensus domain in image D11In be expressed as the first top layer share region S11, the zoning CPU S11Wide cx11With high cy11Are as follows:
The zoning CPU S11Top left corner apex is in the first width pyramid top layer images D11In coordinate are as follows:
((W11-cx11)/2+x1,(H11-cy11)/2-y1);
(2a33) is by the rectangular consensus domain in image D12In be expressed as the second top layer share region S12, CPU calculates the area The wide cx in domain12With high cy12Are as follows:
cx12=cy12=cx11,
The zoning CPU S12Top left corner apex is in the second width pyramid top layer images D12In coordinate are as follows:
((Wm1-cx12)/2+x1,(Hm1-cy12)/2-y1);
(2a4) GPU generates the first width pyramid top layer and shares area image D11':
GPU allocated size in video memory is cx11×cy11The first top layer share region two-dimensional array, the first top layer is total to There is region S11In all pixels copy in the two-dimensional array, obtain the first width pyramid top layer share area image D11';
(2a5) GPU generates the second width pyramid top layer and shares area image D12':
GPU allocated size in video memory is cx12×cy12The second top layer share region two-dimensional array, the second top layer is total to There is region S12In all pixels copy in the two-dimensional array, obtain the second width pyramid top layer share area image D12';
(2b) GPU calculates two width pyramid top layers and shares area image D11' and D12' mutual information:
(2b1) GPU calculates the first width pyramid top layer and shares area image D11' entropy H11:
Wherein P11Area image D is shared for the first width pyramid top layer11' grey level histogram;
(2b2) GPU calculates the second width pyramid top layer and shares area image D12' entropy H12:
Wherein P12Area image D is shared for the second width pyramid top layer12' grey level histogram;
(2b3) calculates two width pyramid top layers and shares area image D11' and D12' joint entropy H1:
Wherein P1Area image D is shared for two width pyramid top layers11' and D12' joint grey level histogram;
(2b4) calculates two width top layers and shares area image D11' and D12' mutual information MI1:
(2c) GPU saves the second width pyramid top layer images D12Shift position:
GPU is opened in video memory according to second original SAR image in step (1b) in the initial moving range of different zones Warding off size is the one-dimensional integer array of 32 × w × h × ang as association relationship set ε;
The second width pyramid top layer images D that GPU is determined from step (1b)12Moving range in traversal choose new movement Vector, and (2a) and (2b) is repeated, by obtained association relationship and the second width pyramid top layer images D chosen12Mobile vector It is added in association relationship set ε;
GPU opens up the top layer registration position array E that size is 3 in video memory1, then find out maximum mutual information in set ε Value, by the corresponding second width top layer images D of the maximum mutual information value12Mobile vector is stored in registration position array E1In, match level Set array E1Store the second width pyramid top layer images D12Shift position.
Step 3, GPU generates tomographic image D among two width21And D22, CPU calculating the second width pyramid centre tomographic image D22's Moving range.
(3a) GPU generates tomographic image D among the first width pyramid21With tomographic image D among the second width pyramid22:
(3a1) is according to the wide W of first original SAR image1With high H1, GPU opens up width in video memory and isIt is a height ofThe first pyramid middle layer two-dimensional array α2
(3a2) GPU is tomographic image D among the first width pyramid21Distribute 32 × 32 thread blocks;Per thread block is reallocatedA thread makes the first pyramid middle layer two-dimensional array α2In all index (x2,y2) MeetAnd meetElement respectively correspond a GPU thread;
(3a3) utilizes the first pyramid middle layer two-dimensional array α2Middle element (x2,y2) corresponding thread, which is assigned Value is (2x in first original SAR image2,2y2) pixel value at coordinate, the first pyramid middle layer two-dimensional array α at this time2 Tomographic image D among as the first width pyramid21
(3a4) is according to the wide W of second original SAR image2With high H2, opening up width in GPU video memory isIt is a height ofThe second pyramid middle layer two-dimensional array β2
(3a5) GPU is tomographic image D among the second width pyramid2232 × 32 thread blocks are distributed, per thread block is reallocatedA thread;Make the second pyramid middle layer two-dimensional array β2In all index (x2', y2') meetWithElement respectively correspond a GPU thread;
(3a6) utilizes the second pyramid middle layer two-dimensional array β2Middle element (x2',y2') corresponding thread, by the element It is assigned a value of second original SAR image (2x2',2y2') pixel value at coordinate, the second pyramid middle layer two-dimensional array at this time β2Tomographic image D among as the second width pyramid22
(3b) CPU calculates tomographic image D among the second width pyramid22Moving range:
The image D that CPU is saved according to step (2c)12Shift position first obtains the horizontal-shift a of the shift position2, it is vertical Deviate b2With rotation angle, θ2
Tomographic image D among pyramid is determined again22In the moving range of different zones, that is, moving horizontally section is [2a2-4, 2a2+ 4], vertically moving section is [2b2-4,2b2+ 4], rotation angular interval is [θ2-2,θ2+2]。
Step 4, tomographic image D among the second width pyramid is calculated22Shift position.
(4a) GPU generates two width pyramid middle layers and shares area image D21' and D22':
Tomographic image D among the second width pyramid that GPU is determined from step (3b)22A mobile vector is chosen in moving range (x2,y2,ang2), wherein x2Indicate the number of pixels moved horizontally, y2Indicate the number of pixels vertically moved, ang2Represent second Tomographic image D among width pyramid22Angle is rotated clockwise, and by tomographic image D among the mobile second width pyramid of the vector22, obtain Image Dm after to the movement of pyramid middle layer2
CPU calculates the image Dm after the movement2With tomographic image D among the first width pyramid21The rectangular of lap shares Regional scope, and this is shared into region tomographic image D among the first width pyramid21In be expressed as the first middle layer share region S21, the image Dm after pyramid middle layer is mobile2In be expressed as the second middle layer share region S22
GPU is by region S21And S22It copies new video memory space to, forms the first width pyramid middle layer and share area image D21' and the shared area image D of the second width pyramid middle layer22';
(4b) calculates two width pyramid middle layers and shares area image D21' and D22' mutual information:
(4b1) GPU calculates the first width pyramid middle layer and shares area image D21' entropy H21:
Wherein P21Area image D is shared for the first width pyramid middle layer21' grey level histogram;
(4b2) GPU calculates the second width pyramid middle layer and shares area image D22' entropy H22:
Wherein P22Area image D is shared for the second width pyramid middle layer22' grey level histogram;
(4b3) GPU calculates tomographic image D among two width pyramids21' and D22' joint entropy H2:
Wherein P2Area image D is shared for two width pyramid middle layers21' and D22' joint grey level histogram;
(4b4) GPU calculates two width pyramid middle layers and shares area image D21' and D22' mutual information MI2:
(4c) GPU saves tomographic image D among the second width pyramid22Shift position:
The association relationship set ε that GPU generates step (2c) is reset;Again from the second width pyramid that step (3b) is determined Between tomographic image D22Traversal chooses tomographic image D among the second new width pyramid in moving range22Mobile vector, and by the movement Vector is added in association relationship set ε, repeats (4a) and (4b), association relationship set ε is also added in obtained association relationship In;
GPU opens up the middle layer registration position array E that size is 3 in video memory2, then find out in association relationship set ε Maximum association relationship, by tomographic image D among the corresponding second width pyramid of the maximum mutual information value22Mobile vector deposit is intermediate Layer registration position array E2In to get to tomographic image D among pyramid22Shift position.
Step 5, CPU calculates the moving range of second original SAR image, and opens up registration position space F.
(5a) CPU calculates the moving range of second original SAR image:
The second width pyramid centre tomographic image D that CPU is saved according to step (4c)22Shift position first obtains the movement position The horizontal-shift a set3, vertical shift b3With rotation angle, θ3;Determine second original SAR image in the movement of different zones again Range, that is, moving horizontally section is [2a3-4,2a3+ 4], vertically moving section is [2b3-4,2b3+ 4], rotation angular interval is [θ3-2,θ3+2]。
(5b) CPU opens up registration position space F:
CPU is in memory opening space F for storing pyramid bottom association relationship and the mobile arrow of second original SAR image Amount, and initialize space F association relationship be single-precision floating point bear it is infinite.
Step 6, the registration position of second original SAR image is calculated.
(6a) GPU generates two width bottoms and shares area image D31' and D32':
GPU chooses a mobile vector (x out of step (5a) is determined second original SAR image moving range3,y3, ang3), wherein x3Indicate the number of pixels moved horizontally, y3Indicate the number of pixels vertically moved, ang3Expression second is original SAR image rotates clockwise angle, and by the mobile second original SAR image of the vector, obtains second original SAR image Image Dm after movement3, image Dm after obtaining the movement3With the rectangular consensus of first original SAR image lap Domain;
This is shared into region and is expressed as the shared region S of the first pyramid bottom in first original SAR image31, moving Image Dm after dynamic3In be expressed as the second pyramid bottom share region S32
GPU is by region S31And S32It copies new video memory space to, forms the first width pyramid bottom and share area image D31' Area image D is shared with the second width pyramid bottom32';
(6b) calculates two width bottoms and shares area image D31' and D32' mutual information:
(6b1) GPU calculates the first width pyramid bottom and shares area image D31' entropy H31:
Wherein P31Area image D is shared for the first width pyramid bottom31' grey level histogram;
(6b2) calculates the second width bottom and shares area image D32' entropy H32:
Wherein P32Area image D is shared for the second width bottom32' grey level histogram;
(6b3) calculates two width bottoms and shares area image D31' and D32' joint entropy H3:
Wherein P3Area image D is shared for two width pyramid bottoms31' and D32' joint grey level histogram;
(6b4) calculates two width bottoms and shares area image D31' and D32' mutual information MI3:
(6c) updates association relationship and mobile vector:
CPU is by mutual information MI3It is compared with the association relationship stored in the F of registration position space: if mutual information MI3Than The association relationship of space F storage is big, then the association relationship for changing registration position space F storage is MI3, while changing registration position The mobile vector of space F storage is (x3,y3,ang3), otherwise, do nothing;
(6d) GPU obtains the registration position of second original SAR image:
GPU traversal out of step (5) determine moving range chooses new mobile vector, repeats (6a), (6b) and (6c), The association relationship of registration position space F storage is pyramid bottom maximum mutual information value MI, the mobile arrow stored according to space F Measure the registration position to second original SAR image;
(6e) generates images after registration:
GPU obtains the mobile vector that space F is saved, and moves second original SAR image again according to the mobile vector, obtains To images after registration D.
Effect of the invention can be further illustrated by following emulation experiment:
1, experimental situation:
GPU:NVIDIA Tesla K40c,
Processor: Intel (R) Xeon (R) E5-2630v3 2.40GHz (2 processor),
Memory: 64.0GB,
Hard disk: 2T,
Operating system: Microsoft Windows 7,SP1 64,
Programming tool: Microsoft Visual Studio 2010, CUDA6.5.
2, experiment content and interpretation of result:
Experiment 1, with the present invention to second original SAR shown in first original SAR image shown in Fig. 2 a and Fig. 2 b Image is registrated, as a result as shown in figure 3, the image after being again registrated Fig. 3 carried out with Fig. 2 a it is be overlapped, obtain overlapping image, such as Shown in Fig. 4.
As seen from Figure 4, image clearly and profile are overlapped without ghost image, shows that registration effect of the invention is preferable.
Experiment 2, the traditional pyramid mutual information registration method realized with the method for the present invention and existing CPU is to various sizes of SAR image is registrated, and is measured and obtained the registration time-consuming of both methods, and the results are shown in Table 1:
1 the method for the present invention of table realizes that the time-consuming that is registrated of traditional pyramid mutual information registration method compares with existing CPU
As shown in Table 1, the method for the present invention is compared with traditional pyramid mutual information registration method that existing CPU is realized, registration Time-consuming substantially shortens;
Experiment 3 is matched with traditional pyramid mutual information registration method that the method for the present invention and existing GPU are realized to known to several The SAR image that level is set is registrated again to test registration accuracy, and the registration position that both methods obtains is as shown in table 2.
The registration position for traditional pyramid mutual information registration method that 2 the method for the present invention of table and existing GPU are realized compares
As unit of pixel, second original SAR image is artificial for picture size, horizontal-shift, vertical shift in table 2 What mobile first original SAR image obtained, second original SAR image is to test picture.
As shown in Table 2, the present invention can correctly be registrated all experiment pictures, obtained registration position be correctly registrated Position is identical;Though existing method can correctly be registrated experiment picture 1, fails correctly to be registrated experiment picture 2, obtain experiment picture The horizontal-shift of 2 registration positions differs 1 pixel with correct horizontal-shift, and tests the vertical shift of 2 registration position of picture Also 1 pixel is differed with correct vertical shift;Existing method also fails to correctly be registrated experiment picture 3, obtains experiment picture 3 The horizontal-shift of registration position also differs 1 pixel with correct horizontal-shift.The golden word of the tradition that the present invention and existing GPU are realized Tower mutual information registration method is compared, and registration accuracy improves.
It is that any limitation of the invention is not constituted to example of the present invention above, it is clear that the skill of this field Art personnel can carry out various modification and variations in the case where not departing from this hair spirit and principle, but these still fall within protection of the invention Within the scope of.

Claims (7)

1. the SAR image registration method based on GPU and pyramid mutual information, comprising:
(1) two width SAR gray level images are obtained, and are sent it in GPU video memory as two original SAR images, GPU to this two Width SAR image carries out 1/4 down-sampling respectively, obtains the first width pyramid top layer images D11With the second width pyramid top layer images D12;The second width pyramid top layer images D is initialized by CPU simultaneously12Moving range:
The GPU carries out 1/4 down-sampling to two original SAR images respectively, be using GPU Unified Device computing architecture CUDA into Row, steps are as follows:
(1a) GPU obtains the first width pyramid top layer images D11:
(1a1) is according to the wide W of first original SAR image1With high H1, opening up width in GPU video memory isIt is high ForThe first pyramid top layer two-dimensional array α1, whereinIt indicates to be rounded downwards, ceil4It is 4 that expression, which rounds up, Multiple;
(1a2) GPU distributes 32 × 32 thread blocks;Per thread block is reallocatedA line Journey makes the first pyramid top layer two-dimensional array α1In all index (x1,y1) meetAnd meetElement respectively correspond a GPU thread, whereinExpression rounds up;
(1a3) utilizes the first pyramid top layer two-dimensional array α1Middle element (x1,y1) corresponding thread, which is assigned a value of (4x in one original SAR image1,4y1) pixel value at coordinate, the first pyramid top layer two-dimensional array α at this time1Store First width pyramid top layer images D11
(1b) GPU obtains the second width pyramid top layer images D12:
(1b1) is according to the wide W of second original SAR image2With high H2, opening up width in GPU video memory isIt is high ForThe second pyramid top layer two-dimensional array β1
(1b2) GPU distributes 32 × 32 thread blocks, and per thread block is reallocatedA line Journey;Make the second pyramid top layer two-dimensional array β1In all index (x1',y1') meetWithElement respectively correspond a GPU thread;
(1b3) utilizes the second pyramid top layer two-dimensional array β1Middle element (x1',y1') corresponding thread, which is assigned a value of Second original SAR image (4x1',4y1') pixel value of coordinate, the second pyramid top layer two-dimensional array β at this time1Store First width pyramid top layer images D12
(2) the corresponding second width pyramid top layer images D of pyramid top layer maximum mutual information is calculated12Shift position:
(2a) GPU chooses a mobile vector and mobile second width pyramid top layer images D in moving range12, generate first Width pyramid top layer shares area image D11' and the shared area image D of the second width pyramid top layer12', then calculate this two width figure The mutual information MI of picture1
(2b) traversal in moving range chooses new mobile vector, repeats (2a), obtains the set of association relationship;Find out set Middle maximum mutual information value, and save the corresponding second width pyramid top layer images D of the maximum mutual information value12Shift position;
(3) GPU carries out 1/2 down-sampling to two original SAR images, obtains the two images D of pyramid middle layer21And D22;CPU The the second width pyramid top layer images D saved according to step (2b)12Shift position determines tomographic image among the second width pyramid D22Moving range;
(4) tomographic image D among the corresponding second width pyramid of pyramid middle layer maximum mutual information is calculated22Shift position:
(4a) GPU chooses a mobile vector and mobile second width pyramid middle layer in the moving range that step (3) determine Image D22, generate the first width pyramid middle layer and share area image D21' and the shared area image of the second width pyramid middle layer D22', then calculate the mutual information MI of this two images2
(4b) traversal in the moving range that step (3) determine chooses new mobile vector, repeats (4a), obtains association relationship Set;Maximum mutual information value in set is found out, and saves tomographic image D among the corresponding second width pyramid of the maximum mutual information value22 Shift position;
(5) the second width pyramid centre tomographic image D that CPU is saved according to step (4b)22Shift position, determine second it is original The moving range of SAR image, and open up a block space F in memory and be used to store pyramid bottom association relationship and mobile vector, The association relationship of initialization space F is born infinite for single-precision floating point;
(6) shift position of the corresponding second original SAR image of pyramid bottom maximum mutual information is calculated:
(6a) GPU chooses a mobile vector and mobile second original SAR image in the moving range that step (5) determine, It generates the first width pyramid bottom and shares area image D31' and the shared area image D of the second width pyramid bottom32', then calculate The mutual information MI of this two images3
(6b) CPU is by mutual information MI3It is compared with the association relationship stored in the F of space: if mutual information MI3It is stored than space F Association relationship it is big, then change space F storage association relationship be MI3, while the mobile vector of space F storage is changed, otherwise, It does nothing;
(6c) traversal in the moving range that step (5) determine chooses new mobile vector, repeats (6a) and (6b);Space F is deposited The association relationship of storage is pyramid bottom maximum mutual information value MI, takes out the mobile vector that space F is saved, GPU is according to the shifting Dynamic vector moves second original SAR image again, obtains images after registration D.
2. the method as described in claim 1, GPU chooses a mobile vector and mobile the in moving range in step (2a) Two width pyramid top layer images D12, it is the second width pyramid top layer images D determined from step (1)12One is chosen in moving range A mobile vector (x1,y1,ang1), wherein x1Indicate the number of pixels moved horizontally, y1Indicate the number of pixels vertically moved, ang1It represents with image D12Center is that origin rotates clockwise angle, by the mobile second width pyramid top layer images D of the vector12, Image and the first width pyramid top layer images D after obtaining movement11The rectangular shared region of lap, and this is shared into region In D11In be expressed as S11, S is expressed as in image after movement12;GPU is by region S11And S12Copy new video memory space, shape to Area image D is shared at the first width pyramid top layer11' and the shared area image D of the second width pyramid top layer12'。
3. the method as described in claim 1, wherein with mobile vector (x1,y1,ang1) the second width pyramid top layer images of movement D12, it carries out as follows:
(2a1) translates the second width pyramid top layer images D12:
GPU is according to the second width pyramid top layer images D12Wide W12With high H12It is W that width is opened up in video memory12+2x1, a height of H12+ 2y1Pyramid top layer translate array δ1, and pyramid top layer is translated into array δ1It resets;
GPU 32 × 32 thread blocks of reallocation, the distribution of per thread blockA thread, and make the second width Pyramid top layer images D12Each pixel respectively correspond a thread;
Thread is by image D12Middle element (x12,y12) copy pyramid top layer translation array δ to1In (x12+x1,y12+y1) position, Obtain the second width pyramid top layer images D12Image Ds after translation12
Image Ds after (2a2) rotation translation12:
It is (2x that GPU opens up width in video memory1+W12)cos(ang1)+W12sin(ang1), a height of (2x1+W12)sin(ang1)+ W12cos(ang1) pyramid top layer rotate array δ1', then obtain pyramid top layer respectively and translate array δ1With pyramid top layer Rotate array δ1' first address, by the two first address and ang1It is input in the affine transformation instruction of GPU, the instruction execution Afterwards, image Ds12Postrotational image is saved in pyramid top layer rotation array δ1' in get to the second width pyramid top layer Image D12Image after movement.
4. method as described in claim 1, the pyramid top layer images D that wherein CPU is obtained according to step (2b) in step (3)12 Shift position calculates tomographic image D among pyramid22Moving range, be that image D is first obtained by CPU12The level of shift position is partially Move a1, vertical shift b1With rotation angle, θ1;Tomographic image D among pyramid is determined again22In the moving range of different zones, it may be assumed that
Moving horizontally section is [2a1-4,2a1+ 4],
Vertically moving section is [2b1-4,2b1+ 4],
Rotation angular interval is [θ1-2,θ1+2]。
5. method as described in claim 1, wherein GPU carries out 1/2 down-sampling to two original SAR images in step (3), obtain Tomographic image D among first width pyramid21With tomographic image D among the second width pyramid22, it carries out as follows:
(3a) GPU is according to the wide W of first original SAR image1With high H1, opening up width in video memory isIt is a height ofThe first pyramid middle layer two-dimensional array α2
(3b) GPU first distributes 32 × 32 thread blocks, then is the distribution of per thread blockNumber The thread of amount makes the first pyramid middle layer two-dimensional array α2In all index (x12,y12) meetWithElement respectively correspond a GPU thread;
(3c) thread is by the first pyramid middle layer two-dimensional array α2Element (x12,y12) it is assigned a value of first original SAR image In (2x12,2y12) pixel value at coordinate, then the first pyramid middle layer two-dimensional array α2As the first width pyramid middle layer Image D21
(3d) GPU is according to the wide W of second original SAR image2With high H2, opening up width in video memory isIt is a height ofThe second pyramid middle layer two-dimensional array β2
(3e) GPU distributes 32 × 32 thread blocks, and per thread block is reallocatedA line Journey;Make the second pyramid middle layer two-dimensional array β2In all index (x22',y22') meetWithElement respectively correspond a GPU thread;
(3f) thread is by the second pyramid middle layer two-dimensional array β2Element (x22',y22') it is assigned a value of second original SAR figure (the 2x as in22',2y22') pixel value at coordinate, then the second pyramid middle layer two-dimensional array β2Store the second width gold word Tomographic image D among tower22
6. the method as described in claim 1, wherein GPU chooses a mobile vector and is moved in moving range in step (4a) Tomographic image D among dynamic second width pyramid22, it is tomographic image D among the second width pyramid determined from step (3)22Moving range One mobile vector (x of interior selection2,y2,ang2), wherein x2Indicate the number of pixels moved horizontally, y2Indicate the picture vertically moved Plain number, ang2Representative image rotates clockwise angle;By tomographic image D among the mobile second width pyramid of the vector22, obtain Image and the first width pyramid centre tomographic image D after this movement21The rectangular shared region of lap, and this is shared into region In D21In be expressed as S21, S is expressed as in image after movement22;GPU is by the two regions S21And S22It is empty to copy new video memory to Between, it forms the first width pyramid middle layer and shares area image D21' and the shared area image D of the second width pyramid middle layer22'。
7. the method as described in claim 1, the pyramid middle layer figure that wherein CPU is obtained according to step (4b) in step (5) As D22Shift position calculate second original SAR image of pyramid bottom moving range, be that image D is first obtained by CPU22 The horizontal-shift a of shift position2, vertical shift b2With rotation angle, θ2;Determine second original SAR image in different zones again Moving range, it may be assumed that
Moving horizontally section is [2a2-4,2a2+ 4],
Vertically moving section is [2b2-4,2b2+ 4],
Rotation angular interval is [θ2-2,θ2+2]。
CN201710160992.8A 2017-03-17 2017-03-17 SAR image registration method based on GPU and pyramid mutual information Active CN106997602B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710160992.8A CN106997602B (en) 2017-03-17 2017-03-17 SAR image registration method based on GPU and pyramid mutual information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710160992.8A CN106997602B (en) 2017-03-17 2017-03-17 SAR image registration method based on GPU and pyramid mutual information

Publications (2)

Publication Number Publication Date
CN106997602A CN106997602A (en) 2017-08-01
CN106997602B true CN106997602B (en) 2019-08-06

Family

ID=59431801

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710160992.8A Active CN106997602B (en) 2017-03-17 2017-03-17 SAR image registration method based on GPU and pyramid mutual information

Country Status (1)

Country Link
CN (1) CN106997602B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108742678B (en) * 2018-06-01 2022-02-18 妙智科技(深圳)有限公司 Image registration method and device and computer-readable storage medium
CN111445503B (en) * 2020-03-25 2023-04-25 桂林电子科技大学 Pyramid mutual information image registration method based on parallel programming model on GPU cluster
CN112396640B (en) * 2020-11-11 2024-04-09 广东拓斯达科技股份有限公司 Image registration method, device, electronic equipment and storage medium
CN112862868B (en) * 2021-01-31 2023-12-01 南京信息工程大学 Motion sea wave image registration fusion method based on linear transformation and wavelet analysis

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103839265A (en) * 2014-02-26 2014-06-04 西安电子科技大学 SAR image registration method based on SIFT and normalized mutual information
CN104751453A (en) * 2015-03-11 2015-07-01 西安电子科技大学 SAR (Synthetic Aperture Radar) image changing and detecting method based on CUDA (Compute Unified Device Architecture) and steady WT (Wavelet Transform)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8620093B2 (en) * 2010-03-15 2013-12-31 The United States Of America As Represented By The Secretary Of The Army Method and system for image registration and change detection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103839265A (en) * 2014-02-26 2014-06-04 西安电子科技大学 SAR image registration method based on SIFT and normalized mutual information
CN104751453A (en) * 2015-03-11 2015-07-01 西安电子科技大学 SAR (Synthetic Aperture Radar) image changing and detecting method based on CUDA (Compute Unified Device Architecture) and steady WT (Wavelet Transform)

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
Research on CUDA-Based SIFT Registration of SAR Image;Yang Huang等;《2011 Fourth International Symposium on Parallel Architectures, Algorithms and Programming》;20120112;全文
图像配准算法研究与实现;赵飞;《中国优秀硕士学位论文全文数据库(电子期刊)》;20150715(第7期);全文
基于GPU的SAR图像处理并行算法及实现;杨纪伟;《中国优秀硕士学位论文全文数据库(电子期刊)》;20170315(第7期);第4.1节
基于互信息的分层遥感图像配准方法;强赞霞等;《计算机工程与应用》;20040715;全文
基于归一化互信息和金字塔分解优化的图像配准算法研究;刘晓慧等;《微型电脑应用》;20161130;第32卷(第11期);全文
基于样条金字塔和互信息的快速图像配准;李乔亮等;《计算机应用研究》;20090531;第26卷(第5期);全文

Also Published As

Publication number Publication date
CN106997602A (en) 2017-08-01

Similar Documents

Publication Publication Date Title
CN106997602B (en) SAR image registration method based on GPU and pyramid mutual information
US10929987B2 (en) Learning rigidity of dynamic scenes for three-dimensional scene flow estimation
US10424069B2 (en) System and method for optical flow estimation
Kropatsch et al. Digital image analysis: selected techniques and applications
CN108038902A (en) A kind of high-precision three-dimensional method for reconstructing and system towards depth camera
CN106683173A (en) Method of improving density of three-dimensional reconstructed point cloud based on neighborhood block matching
CN104616345A (en) Octree forest compression based three-dimensional voxel access method
CN110838115B (en) Ancient cultural relic three-dimensional model change detection method by contour line extraction and four-dimensional surface fitting
CN1860522A (en) System and method for real-time co-rendering of multiple attributes
US10424074B1 (en) Method and apparatus for obtaining sampled positions of texturing operations
CN106251282B (en) A kind of generation method and device of mechanical arm sampling environment analogous diagram
CN110473233B (en) Registration method, computer device, and storage medium
CN100561118C (en) A kind of color rendering method in the three-dimensional digitized measurement
CN106023147B (en) The method and device of DSM in a kind of rapidly extracting linear array remote sensing image based on GPU
CN112396640A (en) Image registration method and device, electronic equipment and storage medium
Livny et al. A GPU persistent grid mapping for terrain rendering
CN106500626A (en) A kind of mobile phone stereoscopic imaging method and three-dimensional imaging mobile phone
CN111768337A (en) Image processing method and device and electronic equipment
CN111553985A (en) Adjacent graph pairing type European three-dimensional reconstruction method and device
DE102022118651A1 (en) MULTI-RESOLUTION HASH CODING FOR NEURAL NETWORKS
Novak et al. Approximate registration of point clouds with large scale differences
CN107590858A (en) Medical sample methods of exhibiting and computer equipment, storage medium based on AR technologies
CN117315153A (en) Human body reconstruction and rendering method and device for cooperative light field and occupied field
Barazzetti Network design in close-range photogrammetry with short baseline images
CN110298872A (en) A kind of method for registering of ultraviolet light camera and Visible Light Camera array

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
GR01 Patent grant
GR01 Patent grant