• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于GPU的遙感圖像快速去噪處理

    2010-04-18 10:35:58張海軍陳圣波張旭晴王亞楠
    城市勘測 2010年2期
    關(guān)鍵詞:處理速度線程圖像處理

    張海軍,陳圣波,張旭晴,王亞楠

    (吉林大學(xué)地球探測科學(xué)與技術(shù)學(xué)院,吉林長春 130026)

    基于GPU的遙感圖像快速去噪處理

    張海軍?,陳圣波,張旭晴,王亞楠

    (吉林大學(xué)地球探測科學(xué)與技術(shù)學(xué)院,吉林長春 130026)

    遙感圖像在數(shù)據(jù)采集和傳輸過程中受到各種噪聲干擾,影響了圖像本身的質(zhì)量,不利于遙感圖像的應(yīng)用。本文利用最鄰近算法(KNN算法),在基于圖像處理器(Graphic Processing Unit,GPU)的統(tǒng)一計(jì)算設(shè)備架構(gòu)(CUDA)架構(gòu)下,實(shí)現(xiàn)了對(duì)遙感圖像進(jìn)行了去噪聲的并行處理,并與在CPU下的串行處理做了對(duì)比,處理速度平均提高近3 000倍。遙感圖像的其他處理也可以基于GPU實(shí)現(xiàn)。

    遙感圖像去噪;GPU;KNN;并行處理

    1 引 言

    遙感圖像在數(shù)據(jù)采集和傳輸?shù)倪^程中受大氣和傳感器等外界因素的影響,產(chǎn)生各種外部和內(nèi)部噪聲,為了達(dá)到應(yīng)用分析遙感圖像的目的,需要對(duì)遙感圖像做各種預(yù)處理,噪聲處理是其中的一個(gè)重要步驟?,F(xiàn)有圖像處理算法一般都是串行算法,隨著衛(wèi)星遙感技術(shù)的發(fā)展與進(jìn)步,遙感圖像的分辨率也在不斷提高,伴隨著數(shù)據(jù)量也越來越大,因此在處理稍大圖像時(shí),串行處理速度顯得較慢,如何提高處理速度已是人們亟待解決的問題[1]。圖像處理需要大規(guī)模的矩陣運(yùn)算,因此可以考慮通過并行處理來提高處理速度[2]。現(xiàn)有的圖像并行處理方法有基于單指令多數(shù)據(jù)流(SIMD)技術(shù)的并行處理結(jié)構(gòu)[3],針對(duì)SIMD的并行圖像處理算法,多集中在底層信號(hào)或圖像處理過程中,并行粒度小,主要是操作級(jí)的并行,不能滿足復(fù)雜任務(wù)需求,也難以掌握。另一種并行處理方法是基于多指令多數(shù)據(jù)流(MIMD)的并行處理技術(shù),典型的MIMD系統(tǒng)由多臺(tái)處理機(jī)、多個(gè)存儲(chǔ)塊和一個(gè)互聯(lián)網(wǎng)絡(luò)組成,每臺(tái)處理機(jī)執(zhí)行各自的指令處理數(shù)據(jù)[4]。此外,還有一種應(yīng)用廣泛的并行處理技術(shù),即網(wǎng)格技術(shù)。網(wǎng)格技術(shù)能利用廣域范圍內(nèi)閑置的高性能并行計(jì)算機(jī)、集群和工作站,以充分滿足圖像處理應(yīng)用中對(duì)高性能計(jì)算資源的需求[5]。

    這些并行計(jì)算都是基于集群和工作站,體系龐大,不便于操作。伴隨著集成電路和計(jì)算機(jī)技術(shù)的進(jìn)步,新一代的圖形處理器(GPU)以其優(yōu)越的并行計(jì)算性能和出色的可編程特性,成了圖像計(jì)算和處理的新利器[6]。GPU具有強(qiáng)大的數(shù)據(jù)并行計(jì)算能力,特別適合做運(yùn)算相同而運(yùn)算數(shù)據(jù)不同的運(yùn)算,當(dāng)執(zhí)行具有SIMT (單指令多線程)運(yùn)算時(shí),顯卡內(nèi)存訪問的延遲可以忽略[7],提高了數(shù)據(jù)處理的速度。本文即是利用NVIDIA公司的GPU快速并行計(jì)算能力,進(jìn)行KNN濾波器的遙感圖像去噪聲,與完全在單CPU下進(jìn)行串行的圖像去噪聲相比,效率有了很大的提高。

    2 GPU和CUDA架構(gòu)

    GPU它是顯卡的“大腦”。簡單來說,GPU相當(dāng)于專用于圖像處理的CPU。在技術(shù)的推動(dòng)下,GPU的應(yīng)用領(lǐng)域得到了極大的拓展,可以進(jìn)行視頻轉(zhuǎn)碼、圖形處理加速和各種科學(xué)運(yùn)算,已經(jīng)成為高性能計(jì)算的一個(gè)重要工具。近年來,GPU的性能有了顯著的提高,其通用計(jì)算能力已經(jīng)遠(yuǎn)遠(yuǎn)超過CPU。為滿足消費(fèi)者對(duì)圖像快速處理的需求,可編程GPU已發(fā)展成為一種具有杰出計(jì)算能力的高性能計(jì)算機(jī)平臺(tái)[8]。NVIDIA推出CUDA(Compute Unified Device Architecture,統(tǒng)一計(jì)算設(shè)備架構(gòu)),是一種新型的計(jì)算模式,用于將GPU上作為數(shù)據(jù)并行計(jì)算設(shè)備在GPU上進(jìn)行計(jì)算的發(fā)放和管理,而無需將其映射到圖像API[8]。

    CUDA的基本思想是支持大量的線程級(jí)并行,并在硬件中動(dòng)態(tài)的調(diào)度和執(zhí)行這些線程。進(jìn)行CUDA編程時(shí),將GPU看作可以并行執(zhí)行多個(gè)線程的計(jì)算設(shè)備,它作為CPU的協(xié)處理器或者主機(jī)來運(yùn)作。在CPU上運(yùn)行的應(yīng)用程序中數(shù)據(jù)并行的、計(jì)算密集的部分卸載到此設(shè)備上,運(yùn)行在GPU上的函數(shù)稱為內(nèi)核函數(shù),即kernel函數(shù),一個(gè)完整的程序由若干個(gè)內(nèi)核函數(shù)以及運(yùn)行在CPU上的串行處理共同組成。

    3 KNN算法

    KNN(K-Nearest Neighbor,k-最鄰近算法),就是取未知樣本x的k個(gè)近鄰,判斷k個(gè)近鄰中多數(shù)屬于哪一類,就將x歸于哪一類。具體說,在N個(gè)已知樣本中,來自ω1類的樣本有N1個(gè),來自ω2類的樣本有N2個(gè),來自ωc類的樣本有Nc個(gè),若k1,k2,…,kc分別是k個(gè)近鄰中屬于ω1,ω2,ωc類的樣本數(shù),則我們可以定義判別函數(shù)為:

    若gi(x)=maxki,則決策x∈ωj。KNN方法是一種典型的監(jiān)督學(xué)習(xí)技術(shù),在模式識(shí)別中被廣泛應(yīng)用于分類器設(shè)計(jì)。所謂監(jiān)督學(xué)習(xí),具體到KNN方法,是指在利用KNN方法對(duì)圖像進(jìn)行分類時(shí),首先從原始圖像中選取部分像素,并對(duì)這些像素進(jìn)行標(biāo)記作為訓(xùn)練樣本,利用這些訓(xùn)練樣本對(duì)未分像素進(jìn)行分類[9]。K-鄰近算法是基于距離的局部最優(yōu)算法,當(dāng)數(shù)據(jù)中存在噪聲時(shí),局部最優(yōu)的基于距離的算法會(huì)受到明顯的影響,合適的參數(shù)k能夠減弱噪聲數(shù)據(jù)對(duì)分類效果的影響[10]。KNN算法已經(jīng)廣泛應(yīng)用于分類、回歸、圖像處理和模式識(shí)別等。

    4 實(shí)驗(yàn)結(jié)果

    4.1 實(shí)驗(yàn)平臺(tái)和數(shù)據(jù)

    實(shí)驗(yàn)平臺(tái)包括硬件平臺(tái)和軟件平臺(tái),其中硬件平臺(tái)為IntelTMCoreTM2 Duo 2.10GHz的CPU,系統(tǒng)內(nèi)存大小為2G,GPU為NVIDIA Quadro NVS 140M;軟件平臺(tái)為Microsoft Visual Studio 2005,MATLAB R2007b,NVIDIA_SDK10_CUDA軟件開發(fā)包。用到的實(shí)驗(yàn)數(shù)據(jù)為2006年第273天的MODIS遙感數(shù)據(jù),裁剪選取一幅大小為400 ×200的圖像,對(duì)此幅圖像進(jìn)行重采樣,得到600×300、800×400、1 000×500、1 200×600四幅圖像。

    4.2 圖像去噪GPU下的并行實(shí)驗(yàn)

    運(yùn)行在GPU上的程序被稱為核(Kernel)。核并不是完整的程序,而是整個(gè)程序中的若干基本的關(guān)鍵數(shù)據(jù)并行計(jì)算步驟。核以網(wǎng)格(Grid)的形式執(zhí)行,每個(gè)網(wǎng)格由若干個(gè)線程塊(block)組成,線程塊中存放的是線程(thread)。設(shè)大小為imageW ×imageH的圖像數(shù)據(jù)從CPU拷到GPU顯存中,將圖像切塊,設(shè)置每塊大小為8×8個(gè)像素,開 ceil(imageW/8)×ceil(imageH/8)個(gè)線程塊,每個(gè)線程塊負(fù)責(zé)這樣一個(gè)數(shù)據(jù)區(qū)的計(jì)算。每個(gè)block里開的線程也是8×8的,那么每個(gè)線程負(fù)責(zé)一個(gè)像素點(diǎn)的計(jì)算,其線程配置和執(zhí)行如圖1所示。降噪過程由式(2)表示,u(x)為原始噪聲圖像,KNNh,ru(x)是在參數(shù)h、r下經(jīng)過KNN濾波后的圖像,Ω(p)是在像素p的一個(gè)N×N鄰域,這里N=2M+1。M為整數(shù),以保證p為Ω(p)的中心像素。

    式中,C(x)為歸一化系數(shù),此處取r=N,在本實(shí)驗(yàn)中,取Ω(p)為5×5的鄰域。其程序處理流程如圖2所示。

    圖1 線程分配和執(zhí)行

    圖2 程序流程圖

    4.3 實(shí)驗(yàn)結(jié)果分析

    實(shí)驗(yàn)主要是來測試用KNN濾波算法在GPU上處理遙感噪聲速度和在CPU上處理速度的比較,因?yàn)槭窍嗤乃惴?,他們?nèi)ピ肼暤男Ч窍嗤?,進(jìn)行去噪聲后的原始遙感圖像和處理后的遙感圖像如圖3所示。

    圖3 原始圖像和去噪聲后圖像

    對(duì)在CPU和GPU上的5幅分辨率不同的遙感圖像做去噪聲的時(shí)間測試,經(jīng)過多次的時(shí)間測試,得出平均去噪時(shí)間(見表1)。從表1可以看出,對(duì)于同一幅大小的圖像,GPU處理時(shí)間明顯遠(yuǎn)遠(yuǎn)快于CPU處理時(shí)間,突顯出GPU并行處理的強(qiáng)大優(yōu)勢,而且隨著像素?cái)?shù)量的不斷增大,加速比也在不斷的提高。實(shí)驗(yàn)表明并行計(jì)算比串行計(jì)算性能有很大提高。

    去噪時(shí)間對(duì)比 表1

    5 結(jié) 論

    遙感圖像并行處理技術(shù)是目前遙感技術(shù)應(yīng)用的熱點(diǎn),本文針對(duì)遙感圖像的去噪問題,應(yīng)用KNN濾波算法,在GPU上遵循CUDA計(jì)算架構(gòu)設(shè)計(jì)實(shí)現(xiàn)了并行圖像處理,并與基于CPU串行算法處理時(shí)間進(jìn)行了對(duì)比分析。通過實(shí)驗(yàn)和數(shù)據(jù)說明了GPU在處理大規(guī)模數(shù)據(jù)時(shí),相對(duì)CPU在運(yùn)算能力和速度上有著絕對(duì)優(yōu)勢,效果令人滿意。但基于GPU的程序設(shè)計(jì)比較復(fù)雜,而且有很多限制條件,缺乏像CPU那樣的靈活性和可理解性,這使其應(yīng)用受到了一定的限制。利用基于GPU的圖像快速去噪聲,為以后的遙感圖像的模式識(shí)別、特征提取奠定了前期的基礎(chǔ),對(duì)遙感數(shù)據(jù)的其他處理,如邊緣檢測、圖像分割等,也可用利用GPU的并行快速處理能力,達(dá)到預(yù)期目的。

    [1]陸衛(wèi)中.MODIS數(shù)據(jù)預(yù)處理的并行算法設(shè)計(jì)[D].武漢:華中科技大學(xué),2007

    [2]Honghoon Jang,Anjin Park,Keechul Jung.Digital Image Computing:Techniques and Applications[J].DOI 10.1109/ DICTA.2008.82,155~161

    [3]辛明瑞,高德遠(yuǎn),佟鳳輝.SIMD技術(shù)在數(shù)字圖像處理中的應(yīng)用研究[J].微電子學(xué)與計(jì)算機(jī),2004,21(11),164~168

    [4]溫培剛,劉濤.并行圖像處理機(jī)技術(shù)[J].上海航天,2005 (2),17~21

    [5]王述振.圖像處理網(wǎng)格相關(guān)技術(shù)的研究[D].武漢:華中科技大學(xué),2006

    [6]張加萬,楊甲東,孫濟(jì)州,張紅穎.基于GPU的彈性圖像配準(zhǔn)方法[J].天津大學(xué)學(xué)報(bào),2008,41(8),946~950

    [7]李軍,李艷輝,陳雙平.CUDA架構(gòu)下的快速圖像去噪[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(11),183~185

    [8]Nivida.NVIDIA CUDA programming guide.(2009-04-02) http://developer.download.nvidia.com/compute/cuda/2_2/ toolkit/docs/NVIDIA_CUDA_Programming_Guide_2.2.pdf

    [9]王清,馬華,孫靜等.改進(jìn)的KNN算法及其在醫(yī)學(xué)圖像處理中的應(yīng)用[J].泰山醫(yī)學(xué)院學(xué)報(bào),2006,27(6),564~566

    [10]倪艾玲.一種改進(jìn)的應(yīng)用于噪聲數(shù)據(jù)中的KNN算法[J].計(jì)算機(jī)與現(xiàn)代化,2008(7),75~78

    GPU-Based Denoising to Remotely Sensing Images

    Zhang HaiJun,Chen ShengBo,Zhang XuQing,Wang YaNan
    (College of geoexploration science and technology,Jilin university,Changchun 130026,China)

    The remote sensing data are influenced by many kinds of noises during the data collecting and transmitting,which is bound to decrease the quality of the image and isn’t contributing to the application of the remote sensing technique.In this paper,the KNN(K-Nearest Neighbor)algorithm is employed to wipe off the noise of remote sensing image with parallel process based on the CUDA(Compute Unified Device Architecture)architecture of GPU(Graphic Processing Unit).Compared to the serial processing on the CPU,the average processing speed is enhanced to nearly 3000 times.The other processing of the remote sensing image can also be completed based on the GPU techniques.

    remote sensing image;GPU(Graphic Processing Unit);KNN(K-Nearest Neighbor);parallel processing

    1672-8262(2010)02-96-03

    P237

    A

    2009—09—10

    張海軍(1984—),男,碩士研究生,研究方向:地圖學(xué)與地理信息系統(tǒng)。

    猜你喜歡
    處理速度線程圖像處理
    大數(shù)據(jù)視角下信息管理與信息系統(tǒng)專業(yè)建設(shè)分析
    機(jī)器學(xué)習(xí)在圖像處理中的應(yīng)用
    電子制作(2018年18期)2018-11-14 01:48:20
    模糊圖像處理,刑事偵查利器
    圖像處理技術(shù)的實(shí)戰(zhàn)應(yīng)用
    淺談linux多線程協(xié)作
    看電視太多 損害認(rèn)知功能
    老同志之友(2016年5期)2016-05-14 07:10:19
    Photo Shop通道在圖像處理中的應(yīng)用
    河南科技(2014年1期)2014-02-27 14:04:06
    Linux線程實(shí)現(xiàn)技術(shù)研究
    么移動(dòng)中間件線程池并發(fā)機(jī)制優(yōu)化改進(jìn)
    基于Verilog計(jì)算精度可調(diào)的整數(shù)除法器的設(shè)計(jì)
    丹寨县| 鄯善县| 虹口区| 柳河县| 嘉黎县| 五莲县| 巴塘县| 华坪县| 满城县| 张家口市| 西乌珠穆沁旗| 泰顺县| 基隆市| 富川| 庆元县| 四子王旗| 翁牛特旗| 黎平县| 宁安市| 滨州市| 中西区| 民和| 神木县| 怀集县| 安西县| 如皋市| 定远县| 施秉县| 彭水| 内乡县| 东阿县| 临颍县| 泗洪县| 岳普湖县| 道真| 麻城市| 始兴县| 安新县| 台北市| 比如县| 酉阳|