《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于GPU的遙感圖像融合并行算法研究
基于GPU的遙感圖像融合并行算法研究
來(lái)源:微型機(jī)與應(yīng)用2013年第6期
趙 進(jìn)1, 劉昌明1, 宋 峰2, 張麗萍3
(1. 海軍計(jì)算技術(shù)研究所,北京100086; 2. 68310部隊(duì), 陜西 西安710600;
摘要: 基于通用GPU并行計(jì)算技術(shù),結(jié)合遙感圖像數(shù)據(jù)融合處理特點(diǎn),利用NVIDIA公司的CUDA編程框架,在其 GPU平臺(tái)上對(duì)BROVEY變換和YIQ變換融合算法進(jìn)行了并行研究與實(shí)現(xiàn)。實(shí)驗(yàn)結(jié)果表明,隨著遙感圖像融合算法的計(jì)算復(fù)雜度、融合處理的問(wèn)題規(guī)模逐漸增加,GPU并行處理的加速性能優(yōu)勢(shì)也逐漸增大,GPU通用計(jì)算技術(shù)在遙感信息處理領(lǐng)域具有廣闊的應(yīng)用前景。
Abstract:
Key words :

摘  要:  基于通用GPU并行計(jì)算技術(shù),結(jié)合遙感圖像數(shù)據(jù)融合處理特點(diǎn),利用NVIDIA公司的CUDA編程框架,在其 GPU平臺(tái)上對(duì)BROVEY變換和YIQ變換融合算法進(jìn)行了并行研究與實(shí)現(xiàn)。實(shí)驗(yàn)結(jié)果表明,隨著遙感圖像融合算法的計(jì)算復(fù)雜度、融合處理的問(wèn)題規(guī)模逐漸增加,GPU并行處理的加速性能優(yōu)勢(shì)也逐漸增大,GPU通用計(jì)算技術(shù)在遙感信息處理領(lǐng)域具有廣闊的應(yīng)用前景。  
關(guān)鍵詞: 遙感圖像融合; GPU; 并行; CUDA; 優(yōu)化

    隨著遙感傳感器技術(shù)的發(fā)展,獲取遙感數(shù)據(jù)的方式已經(jīng)由單一可見(jiàn)光模式發(fā)展成多種傳感器模式。每一種傳感方式獲取的數(shù)據(jù)信息相對(duì)單一,融合不同傳感方式獲取的數(shù)據(jù)信息可以有效提高數(shù)據(jù)信息量,提供更為精確的遙感圖像信息。
    POHL C和GENDEREN J L[1]對(duì)圖像融合給出了如下定義:通過(guò)特定算法將兩幅或多幅圖像合成一幅新的圖像。圖像融合可以分為像素級(jí)、特征級(jí)和決策級(jí)3個(gè)層次,其中像素級(jí)融合需要處理的數(shù)據(jù)量最大,計(jì)算過(guò)程也最復(fù)雜。隨著遙感圖像的時(shí)間、空間和光譜分辨率逐步提高,融合算法處理結(jié)果的精度要求同時(shí)在逐步提高,導(dǎo)致圖像融合的處理速度需求逐步增大,計(jì)算量大、計(jì)算過(guò)程復(fù)雜的遙感圖像融合在處理速度上面臨著新的問(wèn)題與挑戰(zhàn)。近幾年來(lái),基于GPU的異構(gòu)平臺(tái)在通用計(jì)算領(lǐng)域得到快速發(fā)展,已經(jīng)在許多方面得到了有效應(yīng)用[2-4],為遙感圖像融合快速處理技術(shù)研究提供了新的思路。
    結(jié)合CPU-GPU異構(gòu)平臺(tái)面向通用計(jì)算領(lǐng)域的性能優(yōu)勢(shì),針對(duì)遙感圖像融合面臨的處理速度問(wèn)題,通過(guò)分析圖像融合處理過(guò)程的特點(diǎn),將像素級(jí)融合的BROVEY變換和YIQ變換融合算法在基于GPU平臺(tái)上進(jìn)行了并行研究與實(shí)驗(yàn),獲得了突出的性能。
1 研究背景
1.1 CUDA編程模型

    NVIDIA公司的CUDA[5]語(yǔ)言是基于C語(yǔ)言的擴(kuò)展,主要使用API調(diào)用底層功能進(jìn)行處理與計(jì)算,使熟悉C語(yǔ)言的編程人員能夠快速運(yùn)用CUDA開(kāi)發(fā)通用計(jì)算程序。在CUDA結(jié)構(gòu)中, CPU端被稱為Host,GPU端被稱為Device,采用SIMT(Single Instruction Multiple Thread)模式執(zhí)行程序[5]。用戶把可以放在GPU上并行執(zhí)行的程序組織稱為Kernel內(nèi)核程序。在CPU端執(zhí)行的程序稱為Host宿主程序,控制Kernel的啟動(dòng)、加載或保存與GPU的通信數(shù)據(jù),以及執(zhí)行部分的串行計(jì)算。Device端在執(zhí)行時(shí)創(chuàng)建很多的并行線程Thread,線程組織成線程塊Block,而Block再組成網(wǎng)格Grid。每個(gè)Thread執(zhí)行自己的程序Kernel,Block內(nèi)的線程通過(guò)共享存儲(chǔ)器(Shared Memory)分享數(shù)據(jù)。并行線程通過(guò)GPU上的眾多計(jì)算內(nèi)核實(shí)現(xiàn)并行處理,實(shí)現(xiàn)整個(gè)程序的性能加速[5]。
1.2 兩種典型的像素級(jí)融合算法
     遙感圖像融合在遙感圖像配準(zhǔn)基礎(chǔ)上進(jìn)行,待融合的兩幅遙感圖像具有相同大小,每個(gè)像素點(diǎn)的融合或是獨(dú)立執(zhí)行,或者只需要少量周圍像素點(diǎn)數(shù)據(jù)協(xié)助執(zhí)行。
1.2.1 BROVEY變換融合算法
    BROVEY變換融合算法[6]是一種基于色度的變換,屬于彩色空間的方法。它是將多光譜的色彩空間進(jìn)行分解得到色彩與亮度,再用其全色圖像進(jìn)行計(jì)算。這種算法像素點(diǎn)彼此單獨(dú)執(zhí)行,具有良好的并行性,算法執(zhí)行簡(jiǎn)單,在保留了較多光譜信息的同時(shí),也具有較快的處理速度。
1.2.2 YIQ變換融合算法
    YIQ顏色系統(tǒng)是一種用于電視信號(hào)傳輸NTSC制式的彩色編碼系統(tǒng)。其中,Y對(duì)應(yīng)亮度信息,I、Q分量反映圖像與硬件相關(guān)的彩色信息。YIQ變換融合算法[7]屬于彩色空間的方法,計(jì)算較為復(fù)雜,像素點(diǎn)在變換到Y(jié)IQ分量后,需要使用直方圖匹配,具有一定的并行性。
2 并行設(shè)計(jì)及優(yōu)化實(shí)現(xiàn)
2.1 優(yōu)化策略
2.1.1 數(shù)據(jù)異步傳輸

    遙感圖像融合CUDA并行計(jì)算程序在CPU-GPU異構(gòu)平臺(tái)上執(zhí)行,該平臺(tái)上CPU與GPU工作任務(wù)不同。CPU為GPU準(zhǔn)備執(zhí)行數(shù)據(jù),同時(shí)執(zhí)行邏輯控制等復(fù)雜事務(wù)。CPU加載數(shù)據(jù)時(shí),采用同步方式啟動(dòng)傳輸指令;傳遞數(shù)據(jù)時(shí),CPU處于空閑狀態(tài),計(jì)算資源不能得到充分利用。優(yōu)化時(shí)CPU采用異步方式傳輸數(shù)據(jù),啟動(dòng)傳輸指令后直接進(jìn)行后續(xù)事務(wù)處理,使CPU執(zhí)行與加載數(shù)據(jù)重疊,提高資源利用率。
2.1.2 訪存優(yōu)化
    GPU線程對(duì)全局存儲(chǔ)器(Global Memory)進(jìn)行一次訪存需要400~600個(gè)時(shí)鐘周期,對(duì)共享存儲(chǔ)器(Shared Memory)、寄存器(Register)等快速存儲(chǔ)部件訪存一次只需要4個(gè)左右的時(shí)鐘周期。優(yōu)化時(shí)充分利用GPU顯存中的多層次存儲(chǔ)部件,發(fā)揮快速存儲(chǔ)部件讀取數(shù)據(jù)優(yōu)勢(shì),最大化提高執(zhí)行性能。
2.2 融合算法的CUDA并行實(shí)現(xiàn)
    綜合融合算法CUDA優(yōu)化策略,進(jìn)行融合算法CUDA程序并行設(shè)計(jì)與實(shí)現(xiàn)時(shí),重點(diǎn)研究以下問(wèn)題。
2.2.1 線程塊參數(shù)與網(wǎng)格參數(shù)的設(shè)置
    CPU-GPU異構(gòu)計(jì)算模式中,每個(gè)線程塊只能擁有有限線程數(shù),每個(gè)流處理單元SP最多可同時(shí)執(zhí)行256整數(shù)倍線程,根據(jù)遙感圖像數(shù)據(jù)以二維方式組織的特點(diǎn),將塊Block設(shè)置為16×16二維形式,每個(gè)塊有256個(gè)線程,使每個(gè)SP單元能夠滿負(fù)載執(zhí)行,最大限度地提高資源利用率。設(shè)計(jì)實(shí)現(xiàn)時(shí),線程網(wǎng)格大小的設(shè)置與圖像大小有關(guān),網(wǎng)格的寬度設(shè)置成(imagewidth+dimBlock.x-1)/dimBlock.x,高度設(shè)置成(imageheight+dimBlock.y-1)/dimBlock.y,保證線程塊是一個(gè)整數(shù)。線程塊規(guī)模與遙感圖像規(guī)模有關(guān),與GPU處理核心數(shù)量無(wú)關(guān)。這樣同一問(wèn)題能夠在不同型號(hào)的GPU上執(zhí)行,形成CUDA并行程序良好的可移植性。
2.2.2 線程網(wǎng)格規(guī)模大于圖像規(guī)模
    令i為線程網(wǎng)格寬度索引號(hào),j為線程網(wǎng)格高度索引號(hào),imagewidth為圖像寬度,imageheight為圖像高度。通過(guò)加入if(i<imagewidth&&j< imageheight)語(yǔ)句控制線程執(zhí)行對(duì)應(yīng)像素點(diǎn)。空?qǐng)?zhí)行線程最多可以為255×I+255×J-255×255個(gè),其中,I是線程網(wǎng)格的寬度,J是線程網(wǎng)格的高度。與具有的大量執(zhí)行線程相比,空?qǐng)?zhí)行線程占很小比例,幾乎不需要執(zhí)行時(shí)間。與并行加速獲取的提升時(shí)間相比,空?qǐng)?zhí)行少量線程浪費(fèi)的時(shí)間可以忽略。
3 實(shí)驗(yàn)與結(jié)果分析
    實(shí)驗(yàn)硬件為:Inter(CR) Core(TM) i5四核2.67 GHz CPU,2 GB內(nèi)存,NVIDIA GeForce GTX 460 GPU,1 GB顯存,336個(gè)SP計(jì)算單元。操作系統(tǒng)為L(zhǎng)inux Ubuntu 10.10,串行程序?yàn)镃語(yǔ)言實(shí)現(xiàn)的標(biāo)準(zhǔn)程序。融合的圖像是IKONOS掃描北京故宮的遙感衛(wèi)星圖像。
 

      (3)在相同的計(jì)算復(fù)雜度下,圖像規(guī)模使GPU計(jì)算核心執(zhí)行達(dá)到飽和時(shí),speedupexecute趨于穩(wěn)定甚至下降。但因?yàn)橛?jì)算資源的優(yōu)勢(shì),總加速性能仍有提升。
      
    從圖中可以看出,圖像規(guī)模(如256×256和512×512)小時(shí), Pexecute小,算法計(jì)算復(fù)雜度的不同導(dǎo)致加速比出現(xiàn)不同情況。因此,為進(jìn)一步提升加速性能,融合算法CUDA并行執(zhí)行需要最大化地提高Pexecute。
    從實(shí)驗(yàn)結(jié)果可以得到,隨著算法計(jì)算復(fù)雜度與問(wèn)題規(guī)模的增大,加速性能逐漸增加。實(shí)驗(yàn)表明,GPU并行處理能夠很好地應(yīng)用于遙感圖像融合的算法,將GPU應(yīng)用到遙感加速處理領(lǐng)域具有很好的應(yīng)用前景。
    本文從遙感圖像融合處理背景出發(fā),闡述了研究融合處理加速的意義,然后針對(duì)近些年興起的CPU-GPU異構(gòu)加速平臺(tái),對(duì)BROVEY變換和YIQ變換遙感圖像融合算法進(jìn)行了CUDA并行優(yōu)化實(shí)現(xiàn)。研究表明,GPU通用計(jì)算技術(shù)在遙感圖像融合領(lǐng)域具有廣闊的應(yīng)用前景。
參考文獻(xiàn)
[1] POHL C, Van Genderen J L. Multisensor image fusion in remote sensing: concepts,methods and applications[J].International Journal of Remote Sensing, 1998,19(5):823-854.
[2] OWENS J, LUEBKE D,GOVINDARAJU N,et al. A survey of general-purpose computation on graphics hardware[J]. Computer Graphics Forum, 2007,26(1):80-113.
[3] GARLAND M, GRAND S, NICKOLLS J, et al. Parallel computing experiences with CUDA[J]. IEEE Micro, 2008,28(4):13-27.
[4] LAHABAR S, AGRAWAL P, NARAYANAN P J. High performance pattern recognition on GPU[J]. National Conference on Computer Vision Pattern Recognition Image Processing and Graphics, 2008:154-159.
[5] NVIDIA. NVIDIA CUDA compute unified device architecture,Programming Guide,Version 2.0.NVIDIA,2008.[EB/OL].http//www.nvidia.com/object/cude_home_new.html.
[6] GILLESPIE A R, KAHLE A B, WALKER R E. Color enhancement of highly correlated images-II. channel ratio and chromaticity transformation techniques[J]. Remote Sensing of Environment,1987,22:343-365.
[7] Dong Guangjun, Huang Xiaobo, Dai Chenguang. Comparison and analysis of fusion algorithms of high resolution Imagery[C].International Symposium on Photoelectronic Detection and Imaging: Related Technologies and Applications, Proceedings of SPIE, 2008,6625(66250H).

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。