全吉成,王 平,王宏偉
(空軍航空大學 航空航天情報系,吉林 長春 130022)
?
計算機圖形處理器加速的光學航空影像正射校正
全吉成,王 平*,王宏偉
(空軍航空大學 航空航天情報系,吉林 長春 130022)
提出了計算機圖形處理器(GPU)加速的光學航空影像正射校正并行算法,以滿足獲取光學航空影像對實時性的要求并提高對海量影像數據在CPU上串行正射校正的效率。介紹了光學影像正射校正算法原理以及正射校正算法的并行化處理。為減少GPU執行的計算負載,引入“有效像素區域”概念,設計了改進的GPU并行校正算法。通過配置選擇以及存儲器訪問優化進一步提高了算法的執行效率。最后,分析了GPU并行算法的精度,并驗證了噪聲干擾對算法的影響。實驗結果表明,優化的改進GPU并行算法顯著提高了正射校正的速度,影像大小為5 000×5 000時,加速比最高可達CPU串行算法的223倍以上。雖然GPU單精度計算和噪聲干擾會使影像校正精度有所下降,但尚在誤差允許范圍之內。該算法能夠快速實現光學航空影像的正射校正,校正后的影像滿足實際應用需要。
航空影像;正射校正;計算機圖形處理器(GPU);并行算法;有效像素區域
在應急救災,軍事偵察以及環境監測等應用領域,航空攝影為及時、準確地獲取數據信息發揮著重要的作用。在影像成像過程中,由于受地形起伏,地球曲率等因素的影響,原始影像各像素將產生不同程度的幾何畸變,因此需要對航空影像進行正射校正。隨著航空光學影像分辨率和數據量的增加,針對單個像元的正射校正計算量也急劇增多,導致傳統的串行處理難以滿足影像實時處理的要求[1]。
近年來,計算機圖形處理器(Graphics Processing Unit,GPU)以超過摩爾定律的速度在不斷更新,在通用計算領域已取得了長足發展[2]。2007年,NVIDIA公司提出了統一設備計算架構(Compute Unified Device Architecture, CUDA)[3]。作為一種新的編程模型,CUDA采用了類C語言的軟件開發環境。CUDA核心具有單指令多數據流的特性,用來加速的算法涉及領域[4-7]非常廣泛,其中包括一些圖形圖像處理算法的加速。例如國外學者將圖像處理器應用到加速圖像去噪[8]和可視化[9]算法中;國內,李仕等利用圖像處理器加速實現模糊視頻圖像的實時恢復[10]、航空成像的位移補償[11]以及航空斜視成像異速像移的實時恢復[12]等算法。
目前,不少學者[13-14]將GPU引入到影像的正射校正中,大大加快了影像處理的速度。文獻[15]利用GPU加速了航拍影像數據的正射校正,達到了實時處理。但該方法采用了OpenGL傳統編程方式,實現比較復雜。文獻[16]利用CUDA并行處理幾何校正,實現了UAV拍攝影像數據的快速處理,與CPU性能相比,加速比最大可達12倍以上。文獻[3]使用了“層次性分塊”策略設計了CPU和GPU協同處理的正射校正模式,通過配置優化和存儲層次性訪問提高了校正效率,處理時間壓縮至了5 s以內。
為了快速實現影像的正射校正,本文采用劃分“有效數據區域”的方法來減少計算量,并且針對GPU架構特點進行性能優化,充分利用GPU強大的并行處理和浮點運算能力,提高影像幾何校正的效率。
2.1 正射校正算法原理
根據成像時設備記錄的攝影參數,基于共線方程建立影像坐標與地物坐標之間的對應關系,進而對影像進行正射校正。其中共線方程分為正解和反解形式[17],分別為:

(1)

(2)
式中:(x,y)為像點在像平面坐標系中的坐標,(X,Y,Z)為對應地面點在物空間坐標系中的坐標,(XS,YS,ZS)為攝站在物空間坐標系中的坐標,(ai,bi,ci)為圖像的外方位元素確定的旋轉矩陣的9個元素(3個為獨立元素)。
以投影中心為原點,x,y軸與像平面坐標系的x,y軸平行,z軸與主光軸重合,建立像空間坐標系,以大地空間直角坐標系作為物空間坐標系。利用攝影參數以及大地測量相關公式計算物像坐標系之間的旋轉矩陣,代入共線方程中。將原始影像4個角點的坐標,代入式(2),求得原始影像在物空間坐標系中的覆蓋范圍,即糾正后影像的范圍。然后利用正射校正的間接法方案,對糾正后影像的每個像素代入式(1)求得對應像點在像空間坐標系中坐標,同時,在原始影像上進行灰度值內插并賦予糾正影像空間的像素[18]。
2.2 正射校正算法的并行化
正射校正算法是對圖像中單個像素的操作,物像空間坐標的轉換以及灰度值內插、賦值都是逐個像素完成的,且各個像素之間沒有相關性,計算量大,因此非常適合映射到GPU中進行處理。
GPU中的線程是按照線程網格和線程塊的形式進行組織的。常規的GPU正射校正并行化一般將整個糾正后的影像映射到線程網格上,再將糾正后影像邏輯分塊,使每一塊與線程塊的大小一致,保證線程塊的每個線程對影像分塊中的每一個像素進行處理[3],如圖1所示。

圖1 常規的GPU正射校正并行化映射
圖2給出了原始影像與糾正后影像的對應關系,將對應位置在原始影像范圍內的糾正影像像素稱為有效像素。在坐標轉換和重采樣過程中只需計算有效像素的灰度值,其余像素賦值為零。常規GPU正射校正并行處理不考慮有效像素,而是將糾正影像的每個像素都進行計算,故增加了GPU的工作量。

(a)原始影像

(b)糾正后影像
Fig.2 Mapping relationship between original image and corrected image
本文將考慮糾正后影像的有效像素,將改進后并行算法映射到GPU中,減少GPU的負載,從而降低影像糾正的處理時間。
3.1 算法描述
改進的正射校正算法通過正射校正直接法計算出有效像素區域,即通過計算圖2中原始影像的4個角點a,b,c,d,得出糾正影像的點a*,b*,c*,d*,利用4條線段a*b*,b*c*,c*d*,d*a*即可確定有效像素區域的邊界。通過每條掃描線與4個線段的交點,可以得出有效像素區域每一行像素的起始點和結束點。


圖3 有效像素區域邊界的求解過程
3.2 改進算法的并行化
3.2.1 粗粒度并行化分析
糾正影像的每一行都有各自的有效像素區域的起始點和結束點,且各行之間不相干。每行之間可以同時進行處理,因此非常適合用線程塊實現粗粒度并行。如圖4所示,將每一行像素與一維線程塊Block建立映射關系,由每個線程塊的索引號blockIdx.x對應糾正影像的行號。

圖4 改進的GPU正射校正粗粒度并行化映射
3.2.2 細粒度并行化分析
線程塊中的線程以線程束warp的形式在多處理器上運行,各個線程映射到標量處理器核心。如圖5所示,線程塊Block的每一個線程映射到糾正影像對應行的一個像素點,實現對像素的并行處理,實現線程間的細粒度并行化。

圖5 改進的GPU正射校正細粒度并行化映射
4.1 執行配置選擇
GPU進行核函數計算時,都要對線程網格和線程塊的大小進行配置。線程網格內的多個線程塊以任意順序獨立執行,線程塊中線程以warp為單位在流多處理器調度運行。線程塊網格和線程塊的大小設置,需考慮以下幾個限制:①線程塊中線程數小于1 024。②流多處理器中線程塊數量小于8。③流式多處理器中線程數小于1 536。為了有效隱藏延長,應至少滿足active warps≥6,active blocks≥2[19]。
正射校正算法中選擇一維線程塊Block處理一行像素,大小為256=8 warps>6 warps,同時1 536/256=6>2,這樣一個流多處理器可以同時投入6個線程塊,1 536個線程,調度性能最優,能很好地隱藏計算延遲。由于線程塊小于糾正影像一行的像素個數,因此每個線程通過線程索引threadIdx.x加threadDim.x進行循環迭代計算,直至一行所有像素計算完。
線程網格大小一般由問題的規模和處理方式決定,不能小于流多處理數量的2倍。在本文并行算法中,線程網格配置為一維的線程網格,大小為糾正影像的行數,遠遠大于流多處理器數量的2倍。
4.2 存儲器優化
GPU線程在運行過程中可以訪問設備中多種存儲器,不同存儲空間的訪問延遲周期不同,因此如何改進計算訪問比和各存儲層次的延遲隱藏是存儲優化的核心[20]。
4.2.1 共享存儲器訪問優化
每個線程塊都對應一個共享存儲器且對塊內所有線程可見,塊內線程可通過共享存儲器進行通信。共享內存提供了快速的讀寫速度,在無存儲體沖突時訪存速度在4個時鐘周期以內,而全局存儲器訪問延遲為400~600個時鐘周期。所以將全局內存中數據讀入到共享內存中可大大提高核函數的執行速度。
并行算法將有效區域邊界數組ValidPixel[height][2]讀取到共享存儲器,當索引號為blockIdx.x的線程塊中的線程索引與ValidPixel[i][0]、ValidPixel[i][1]比較時,無需重復訪問全局內存,造成效率低下。當warp內線程同時對共享內存同一地址ValidPixel[i][0]或ValidPixel[i][1]發出讀請求時,可被廣播到所有線程中。
4.2.2 常量存儲器訪問優化
常量存儲器是GPU設備中的只讀存儲器,存儲空間為64 kB,同時含有8 kB的cache,訪問速度遠遠快于全局內存。當half-warp都需要相同的讀取請求時,讀取操作會廣播到half-warp中的所有線程中。此外,線程通過從常量內存緩存中讀取數據,這也加快了訪問速度。
在正射校正并行算法中,物空間坐標系和像空間坐標系的變換參數在每個像素點進行坐標變換時都會使用到,而且在計算過程中不會變化。因此將物、像空間坐標系的變換參數放入只讀常量存儲器中可以提高核函數的執行效率。
本文實驗用CPU型號為AMD Athlon(tm) Ⅱ 640,4核處理器,主頻3.0 GHz,內存為10.0 G;GPU為Fermi架構的 NVIDIA GTX580,16個流多處理器,512顆計算核心,1.5 G的全局存儲器。
本文從一次拍攝任務完成后的所有航空光學影像中隨機選取10張攝影參數相同的航空幾何畸變影像(3波段),每張影像經過重采樣仿真出大小分別為1 000×1 000、2 000×2 000、3 000×3 000、4 096×4 096、5 000×5 000的航空影像,從而得到不同大小的畸變影像各10張,以確保相同大小的畸變影像糾正后的影像大小完全相同。
5.1 效率分析
對相同大小的10張畸變影像,分別采用基于CPU、常規GPU并行算法、改進GPU并行算法進行正射校正處理(重采樣分別采用最近鄰插值法、雙線性插值法、雙三次插值法)。取10次運行結果的平均值作為相同大小影像正射校正的處理時間,實驗結果如表1、表2所示。
表1 在實驗環境下CPU和常規GPU算法正射校正所用時間對比
Tab.1 Comparison of orthorectification times between CPU and conventional GPU algorithm in experimental environment

圖像大小/pixel最近鄰插值法CPU/ms常規GPU/ms雙線性插值法CPU/ms常規GPU/ms雙三次插值法CPU/ms常規GPU/ms1000×1000208513.64265217.01330520.492000×2000792946.77830948.601112363.583000×300019338112.0723331131.9929279160.314096×409641691236.1245465251.7449517267.285000×500056356316.2669831380.1974272393.38
表2 在實驗環境下CPU和改進GPU算法正射校正所用時間對比
Tab.2 Comparison of orthorectification times between CPU and improved GPU algorithm in experimental environment

圖像大小/pixel最近鄰插值法CPU/ms改進GPU/ms雙線性插值法CPU/ms改進GPU/ms雙三次插值法CPU/ms改進GPU/ms1000×1000208512.32265215.02330517.732000×2000792941.88830942.611112354.613000×30001933899.9023331114.9129279137.214096×409641691210.1645465218.3049517228.385000×500056356280.1969831328.0274272334.95
從表1、表2可以明顯看出,使用CPU串行算法進行光學影像正射校正執行時間很長,而使用GPU并行算法(常規算法和改進算法)進行光學影像正射校正執行時間較前者大幅度減小,并且改進的GPU算法的減小幅度更大一些。
為了更好地對算法進行評價,本文使用時間加速比來評價算法的效果。定義如下[21]:

(3)
式中:Ts為表1、2中CPU串行算法進行光學航空影像正射校正的執行時間;Tp為表1、2中GPU并行算法進行光學航空影像正射校正的執行時間(包括CPU和GPU之間數據傳輸時間);Sp為算法時間加速比。圖6、圖7分別列出了常規GPU并行算法和改進GPU并行算法分別相對于CPU串行算法正射校正的時間加速比。可以看出:
(1)使用GPU多線程并行算法對影像進行正射校正相對于CPU串行校正加速效果非常明顯。常規的GPU并行算法的時間加速比為152.86~188.80倍,改進的GPU并行算法的時間加速比達169.24~221.74倍。
(2)當重采樣方法一定時,常規的GPU并行校正算法和改進的GPU并行校正算法的加速比都隨著影像的增大而增大。當影像大小為5 000×5 000時,加速比達到了最大。這是由于GPU在進行正射校正時,算法加速比與校正時間成正比[3],因此光學航空影像越大,GPU處理時間越長,時間加速比也就越大。
(3)在影像大小一定的情況下,當使用雙三次插值法進行灰度重采樣時,算法復雜度最大,GPU并行算法的校正處理時間最長,故算法加速比也最大。相應的,在使用最近鄰插值法時GPU并行算法的校正時間最短,算法復雜度最小,算法加速比也就最小。

圖6 常規GPU并行算法相對CPU串行算法的加速比
Fig.6 Speed-up ratio of conventional GPU parallel algorithm relative to CPU serial algorithm

圖7 改進的GPU并行算法相對CPU串行算法的加速比
Fig.7 Speed-up ratio of improved GPU parallel algorithm relative to CPU serial algorithm
將改進的GPU并行算法與常規的GPU并行算法進行比較,定義改進的GPU并行算法的加速比與常規的GPU并行算法的加速比之間的比值為性能提升比,如表3所示。可以看出:
(1)相對于常規的GPU并行校正算法,無論采用何種重采樣方式,改進的GPU并行校正算法的性能提升比都大于1,執行效率也得到了提升,從而驗證了改進的GPU并行算法的有效性。
(2)由于Fermi架構的GPU內含有L1、L2緩存[22],從而提高了訪存速度,另外非有效區域像素占糾正影像全部像素的比例不大,因此改進后的GPU并行算法相對于常規的GPU并行算法性能提升比不是很大,最大沒有超過1.2倍。
(3)在影像大小一定的情況下,在3種重采樣方式中,雙三次插值法的性能提升比最大,最高可達1.17倍以上。
表3 改進GPU并行算法與常規GPU并行算法試驗結果比較
Tab.3 Comparison of experimental results of improved GPU parallel algorithm and conventional GPU algorithm

圖像大小/pixel性能提升比/times最近鄰插值法雙線性插值法雙三次插值法1000×10001.1071.1331.1562000×20001.1171.1411.1643000×30001.1221.1491.1684096×40961.1241.1531.1705000×50001.1291.1591.174
將改進的GPU并行算法參照第4節進行進一步優化,實驗結果如表4所示。
表4 優化的改進GPU并行算法正射校正執行時間
Tab.4 Execution time of optimized GPU-improved parallel algorithm

圖像大小/pixel執行時間/ms最近鄰插值法雙線性插值法雙三次插值法1000×100011.7614.3617.032000×200040.9341.7753.683000×300099.12113.49136.134096×4096208.56216.17227.215000×5000277.27326.13332.38
從表4可以看出:無論對于何種重采樣方式,優化的改進GPU并行算法的執行時間均進一步減小,相對常規GPU并行算法的性能提升比也得到了進一步提高。
與CPU串行處理方法相比,優化的改進GPU并行算法加速比如圖8所示,加速比最大達到了220倍以上,可以滿足光學航空影像正射校正的快速處理。

圖8 優化的改進GPU算法相對CPU串行算法的加速比
Fig.8 Speed-up ratio of optimized GPU-improved parallel algorithm relative to CPU serial algorithm
5.2 精度分析
為了驗證改進GPU并行校正算法的校正精度,將改進GPU并行算法糾正的影像與CPU串行算法糾正的影像相減,得到兩者的差值影像,如圖9所示。從圖中可以看出,改進GPU并行算法和CPU串行算法糾正后的影像中一些區域像素之間存在著灰度值差異。這主要由于改進GPU并行算法進行影像校正時采用的是單精度浮點計算,因此造成GPU并行算法校正的影像校正精度稍微下降,但是這些差異在允許的范圍之內,糾正后的影像仍然能夠滿足實際應用的需要,進而驗證了改進的GPU并行校正算法的有效性。

圖9 GPU校正影像與CPU校正影像的差值影像
另外本文采用的Fermi架構GPU,具有和CPU一樣的雙精度浮點數運算能力。為了提高正射校正的精度,可以在GPU并行校正算法中使用雙精度浮點運算。通過統計改進GPU并行算法糾正的影像與CPU串行算法糾正的影像之間差值影像的灰度直方圖,可以看出兩者的影像灰度值完全一致,但是算法的執行效率較單精度下降很多,因為GPU的雙精度浮點運算速度只是單精度浮點運算速度的1/10左右,大大降低了影像校正的速度。
5.3 噪聲干擾
為了進一步驗證噪聲對改進GPU并行算法校正幾何畸變影像的影響,本文將實驗幾何畸變影像加入高斯噪聲,利用改進GPU并行校正算法進行處理并優化,實驗結果如表5所示。
通過對比表4和表5可以看出,改進GPU并行算法的執行時間基本沒有變化,噪聲對改進GPU并行校正算法的執行效率沒有影響,這是因為圖像噪聲并沒有影響幾何畸變影像校正的計算量,因此利用改進GPU并行算法進行影像校正的執行時間幾乎不變。
表5 優化的改進GPU并行算法對噪聲畸變影像正射校正的執行時間
Tab.5 Execution time of noise distortion orthorectification for optimizated GPU-improved parallel algorithm

圖像大小/pixel執行時間/ms最近鄰插值法雙線性插值法雙三次插值法1000×100011.2514.7316.872000×200041.3842.2753.963000×300098.21114.62137.744096×4096207.92215.64227.735000×5000278.16325.86333.63
將改進GPU并行算法糾正的噪聲影像與CPU串行算法糾正的無噪聲影像做差,得到了兩者的差值影像,可以看出兩者存在著很明顯的像素灰度值差異,相較圖9差值影像的差異更大,說明改進GPU并行算法糾正的噪聲影像精度下降很大。這主要由于噪聲嚴重影響了糾正影像重采樣的計算結果,因此在對幾何畸變影像做正射校正之前需要盡量消除噪聲以及其他畸變的干擾。
本文針對光學航空影像獲取信息實時性的要求以及海量影像數據在CPU上串行正射校正效率慢的問題,探討了利用GPU并行算法進行正射校正。首先介紹了正射校正原理,并利用常規GPU并行算法對光學影像進行校正。在此基礎上,引入了“有效像素區域”以減少GPU的計算量,設計了改進的GPU并行算法,并且通過配置選擇以及存儲器優化進一步提高了算法的效率,最后分析了GPU并行算法的精度,并利用噪聲圖像對GPU并行算法進行驗證。實驗結果表明:優化后的改進GPU并行算法顯著提高了正射校正的速度,相對于CPU串行算法加速比最大達223倍以上,基本能夠滿足海量影像數據快速校正處理的要求,但是由于算法的單精度計算導致影像校正精度下降,誤差在允許范圍之內,糾正后的影像仍然能夠滿足實際應用的需要。
[1] 蔣艷凰,楊學軍,易會戰.衛星遙感圖像并行幾何校正算法研究[J].計算機學報,2004,27(7):944-951. JIANG Y H, YANG X J, YI H ZH. Parallel algorithm of geometrical correction for satellite images [J].ChineseJournalofComputer, 2004, 27 (7): 994-951. (in Chinese)
[2] 王海峰,陳慶奎.圖形處理器通用計算關鍵技術研究綜述[J].計算機學報,2013,36(4):757-772. WANG H F, CHEN Q K. General purpose computing of graphics processing unit: a survey [J].ChineseJournalofComputer, 2013,36(4):757-772. (in Chinese)
[3] 方留楊,王密,李德仁.CPU和GPU協同處理的光學衛星遙感影像正射校正方法[J].測繪學報,2013,42(5):668-675. FANG L Y, WANG M, LI D R. A CPU-GPU co-processing orthographic rectification approach for optical satellite imagery [J].ActaGeodaeticaetCartographicasinica,2013,42(5):668-675. (in Chinese)
[4] 吳鑫,張建奇,楊琛.Jetson TK1 平臺實現快速紅外圖像背景預測算法[J].紅外與激光工程,2015,44(9):2615-2621. WU X, ZHANG J Q,YANG CH. Efficient infrared image background prediction with Jetson TK1 [J].InfraredandLaserEngineering, 2015,44(9):2615-2621. (in Chinese)
[5] 石坤,郝穎明,王明明,等.海面背景紅外實時仿真[J]. 紅外與激光工程,2012,41(1):25-29. SHI K, HAO Y M,WANG M M,etal.. Real-time simulation method of infrared sea background [J].InfraredandLaserEngineering, 2012,41(1):25-29. (in Chinese)
[6] 朱兵,付飛蚺.基于GPU的虛擬內窺鏡場景實時繪制算法[J].液晶與顯示,2013,28(1):127-131. ZHU B,FU F R. Real-time rendering algorithm of scene in virtual endoscopy based on GPU [J].ChineseJournalofLiquidCrystalsandDisplays,2013,28(1):127-131. (in Chinese)
[7] 李大禹.基于多GPU的液晶自適應光學波前處理器[J].液晶與顯示,2016,31(5):491-496. LI D Y. Liquid crystal adaptive optics wavefront processor based on multi-GPU [J].ChineseJournalofLiquidCrystalsandDisplays, 2016,31(5):491-496. (in Chinese)
[8] GRANATA D, AMATO U, ALFANO B. MRI denoising by nonlocal means on multi-GPU [J].JournalofReal-TimeImageProcessing, 2016:1-11.
[9] HERMANN M, SCHULTZ A C,SCHULTZ T,etal.. Accurate interactive visualization of large deformations and variablility in biomedical image ensembles [J].IEEETransactionsonVisualization&ComputerGraphics, 2016, 22(1): 708-717.
[10] 王晶,李仕.運動模糊視頻圖像在圖形處理器平臺上的實時恢復[J].光學 精密程,2010,18(10):2262-2268. WANG J,LI SH.Real-time restoration of motion-blurred video images on GPU [J].Opt.PrecisionEng.,2010, 18(10): 2262-2268. (in Chinese)
[11] 李仕,孫輝,張葆.航空成像像移補償的并行計算[J].光學 精密工程, 2009, 17(1) : 226-230. LI SH, SUN H, ZHANG B. Parallel restoration for motion-blurred aerial image [J].Opt.PrecisionEng., 2009,17(1): 226-230. (in Chinese)
[12] 李仕,張葆,孫輝.航空斜視成像異速像移的實時恢復[J].光學 精密工程,2009,17(4):895-900. LI SH, ZHANG B, SUN H. Real-time restoration for aerial side-oblique images with different motion rates [J].Opt.PrecisionEng., 2009, 17(4): 895-900. (in Chinese)
[13] 楊靖宇,張永生,李正國,等.遙感影像正射糾正的GPU-CPU協同處理研究[J].武漢大學:信息科學版,2011,36(9):1043-1046. YANG J Y, ZHANG Y SH, LI ZH G,etal.. GPU-CPU cooperate processing of RS image ortho-rectification [J].GeomaticsandInformationScienceofWuhanUniversity, 2011, 36(9): 1043-1046.(in Chinese)
[14] JAVIER R S, MARIA C C, JULIO M H. GPU geocorrection for airborne pushbroom imagers [J].IEEETransactionsonGeoscienceandRemoteSensing, 2012,50(11): 4409-4419.
[15] ULRIKE THOMAS,FRANZ KURZ,RUPERT MULLER,etal.. GPU-Based orthorectification of digital airbororne camera images in real time [J].TheInternationalArchivesofthePhotogrammetry,RemoteSensingandSpatialInformationSciences,2008:589-594.
[16] LIN J, LI Y CH LI D L. The orthorectified technology for UAV aerial remote sensing image based on the Programmable GPU [J].35thInternationalSymposiumonRemoteSensingofEnvironment,2014:1-6.
[17] 李德仁,王樹跟,周月琴.攝影測量與遙感概論[M].第2版.北京:測繪出版社,2008. LI D R, WANG SH G, ZH Y Q.AnIntroductiontoPhotogrammetryandRemoteSensing[M]. 2nd ed. Beijing: Surveying and Mapping Press,2008. (in Chinese)
[18] 張祖勛,張劍清.數字攝影測量學[M].武漢:武漢測繪科技大學出版社,1997:218-219. ZHANG Z X,ZHANG J Q.AnIntroductiontoDigitalPhotogrammetry[M]. Wuhan:Wuhan Surveying and Mapping Science Technology University Press, 1997: 218-219. (in Chinese)
[19] NVIDIA Corporation. CUDA Programming Guide 1.0,http://www.nvidia.com,2009(8):11.
[20] 馬安國,成玉,唐遇星,等.GPU異構系統中的存儲層次和負載均衡策略研究[J].國防科技大學報,2009,31(5):38-43. MA A G,CHENG Y, TANG Y X,etal.. Research on memory hierarchy and load balance strategy in heterogeneous system based on GPU[J].JournalofNationalUniversityDefenseTechnology, 2009,31(5):38-43. (in Chinese)
[21] 鄒賢才,李建成,汪海洪,等.OpenMP并行計算在衛星重力數據處理中的應用[J].測繪學報,2010,39(6):636-641. ZOU X C, LI J CH, WANG H H,etal.. Application of parallel computing with OpenMP in data processing for satellite gravity [J].ActaGeodaeticaetCartographicaSinica,2010,39(6):636-641. (in Chinese)
[22] DAGA MAYANK, ASHWIN M AJI FENG WU-CHUN. On the efficacy of a fused CPU+GPU processor for parallel computer [C].Proceedingofthe2011SymposiumonApplicationAcceleratorsinHigh-PerformanceComputing.Knoxvile,TN,USA, 2011:141-149.

全吉成(1960-),男,吉林和龍人,博士,教授,博士生導師,1983年、2011年于空軍工程學院分別獲得學士、博士學位,主要從事三維可視化技術方面的研究。E-mail: jicheng_quan@126.com

王 平(1991-),男,山東濟寧人,碩士研究生,2014年于空軍航空大學獲得學士學位,主要從事數字圖像處理和GPU并行計算的研究。E-mail: wpsdjnws@163.com
(版權所有 未經許可 不得轉載)
Orthorectification of optical aerial images by GPU acceleration
QUAN Ji-cheng, WANG Ping*, WANG Hong-wei
(Department of Aeronautic and Astronautic Intelligence,AviationUniversityofAirForce,Changchun130022,China)
An optical aerial image orthorectification parallel algorithm by Graphic Processing Unit(GPU) acceleration was presented to improve the image real-time processing ability and the serial orthorectification efficiency for massive image data on a CPU. The principle of optical image orthorectification algorithm was introduced, and the parallel processing of orthorectification algorithm was described. To reduce the computational load of GPU execution, the concept of “effective pixel region” was introduced and an improved GPU parallel correction algorithm was designed. Then, the efficiency of the algorithm was improved through configuration options and a memory access optimization. Finally, the algorithm precision was analyzed, and impact of the noise on the algorithm was verified. The experimental results show that the optimized improved-GPU parallel algorithm significantly improves the speed of the correction. When the image size is 5 000×5 000, the speed up is 223 times as compared with the CPU serial algorithm. Although the GPU single precision calculation method and noise interference will cause the serious decline of correction precision, it is still in an allowable error range. As a result, the GPU algorithm implements the orthorectification of optical aerial images rapidly and the corrected images satisfy the need of practical applications.
orthorectification; Graphic Processing Unit(GPU); parallel algorithm; effective pixel region
2016-06-13;
2016-08-05.
吉林省自然科學基金資助項目(No.20130101069JC);軍內武器裝備重點科研計劃資助項目(No.KJ2012240)
1004-924X(2016)11-2863-09
P237
A
10.3788/OPE.20162411.2863
*Correspondingauthor,E-mail:wpsdjnws@163.com