Full text: Technical Commission IV (B4)

International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume XXXIX-B4, 2012 
XXII ISPRS Congress, 25 August — 01 September 2012, Melbourne, Australia 
4. PROJECTIVE RECTIFICATION WITH CUDA 
To perform a projective rectification, a geometric 
transformation between the image plane and the projective 
plane is necessary. For the calculation of the eight unknown 
coefficients of the projective transformation, at least four 
control points in the object plane are required. Projective 
transformation is applicable to rectifying imagery of flat terrain 
or images of facades of buildings, since it does not correct the 
relief displacement. The equations for projective rectification 
are given as follows: E.g. 
  
| axtbytce 
ax +b,y+1 (1) 
  
  
  
ax+b,y+c, 
  
; : a,x+b,y+1 
Figure 4. CUDA thread hierarchy. Ey 
X, Y = rectified coordinates 
x, y = tilted image coordinates 
ay, by, ¢1, ay, by, Cy, a3, by = transformation parameters 
CUDA processing flow shown in Figure 5 as follow: where 
1. Copy data from main mem to GPU mem 
2. CPU instructs the process to GPU 
3. GPU execute parallel in each core 
4. Copy the result from GPU mem to main mem 
Projective rectification algorithm used as an example. In this 
example we used 4096x4096 pixel size image which taken on a 
plane arca. Four image and object coordinates known points 
chosen from the image. With these points we solved the 
equation and calculated the coefficients of the equation. With 
these coefficients, object-space coordinates of each pixel on the 
image is calculated. All these calculation procedures 
parallelized and coded with using CUDA programming 
language. The same code runs on CPU and also GPU. So we 
can compare the results with processing time. When the 
program runs, the computer screen snapshot shown in Figure 7. 
  
  
  
   
   
  
    
  
nn spy processing data 
Memory 
for GPU 
  
Instruct the processing 
  
  
  
    
    
  
   
  
    
> Copy the result 
GPU 
(GeForce 8800) 
  
Execute parallel 
in each core 
   
  
  
UDA Process: 
UDA Process average time: 
ICPU Process: Orthorectifying an LETS 4896 hy 4896 ... 
PU Ortho Rectification tine: 798.991 ns 
Orthorectif ying an Edd bd by 46 
E 47 
Coordinates: hobjectcoords[ 8 72479 .221 
Coordina hobjectcoordsI € 
[ Coordinates: hobjectcoordsi 
Coordinates: hobjectcoords[ 
MEN AAN 
Coordinates: ;:tcoords I 
[ Coordinates: hob Rar E t 
  
  
  
  
Figure 5. Processing flow on CUDA (URL 1). 
LNT UE Ee 
L Coordinates: 
Coordinat 
| Coordinat 
Some of the applications made by parallel processing with 
CUDA shows that GPUs processing time is 5-150 times faster 
H oe, | 
than CPUs. Some Nvidia research results given in Figure 6. 
Coordinates: 
Coordinates: 
Coordinates: 
hobjectcoords [ 
hobjectcoords[ ! 
hobjectcoords [ 
y: 
y=1 4586 NT 
URP NERIS 
042.812 
  
a 
8 
ü 
8 
a 
Coordinates: he etc dsi 8 
j dsl 8 
8 
1 
H 
1 
H 
1 
FEES E ES 
y=1788.734 
Coordinates: hobjectcoords[ 
  
  
Figure 7. Projective rectification screen snapshot. 
  
In this study, projective rectification procedure applied to each 
pixel of the sample image. In this situation, the problem could 
be separated to threads with CUDA and the graphical 
  
Interazive lonic placement Transcoding Simulation in Astrophysics N- . 
wsualizadon of for molecular HD video Matlab using body processors processed the data at the same time. So we could 
volumetric dynanmtécs stream to mex file CUDA simulation? : : 
vinite matter simulation on 264 for function take the calculation result quickly. 
connectivity! GPR portable video? 
If we analyze the program output from Figure 7, calculation 
GPU time 175,593 millisecond, for the same procedure CPU 
time is 790,991 millisecond. The discrepancy with GPU and 
CPU time shows that GPU 4.5 times faster than CPU. In this 
example we used 4096x4096 pixel size image and Nvidia 
Geforce 8600M GT graphic card with Core 2 Duo 2.2GHz 
     
  
  
  
Financial GLAME@¥ab Ultrasound Highiy Cmatcn exact 
simulation of M-scñpt API for medical optimized string matching 2" P 1 ‘yr si s ‘ euet, 
An near Agedra ti agen fat EE d ne CPU. If the image size getting smaller, CPU performance 
with swaptions® operations ar cancer molecular proteins & gens 1 A " x stiti 1 
Eu Foo noue idu increase. So with the very huge and repetitive calculation 
  
problems using GPU is more efficient and produces results 
Figure 6. The results of some applications made by Nvidia. rapidly. 
158 
 
	        
Waiting...

Note to user

Dear user,

In response to current developments in the web technology used by the Goobi viewer, the software no longer supports your browser.

Please use one of the following browsers to display this page correctly.

Thank you.