• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Matlab的遙感圖像IHS小波融合算法的并行化設(shè)計(jì)

      2016-05-23 08:13:35王淼
      科技視界 2016年11期
      關(guān)鍵詞:圖像融合并行計(jì)算小波變換

      王淼

      【摘 要】隨著遙感圖像數(shù)據(jù)規(guī)模的不斷擴(kuò)大與融合算法計(jì)算復(fù)雜度的增大,遙感圖像的快速融合成為很多遙感處理步驟的關(guān)鍵一環(huán)。計(jì)算機(jī)技術(shù)快速發(fā)展,CPU多核架構(gòu)逐漸普及,為了充分利用多核處理器資源,Matlab提供了并行計(jì)算模型。本文選取了基于小波變換和IHS空間的圖像融合算法進(jìn)行并行化設(shè)計(jì),利用Matlab并行計(jì)算工具箱與分布式計(jì)算服務(wù)器進(jìn)行任務(wù)分割,實(shí)現(xiàn)了算法的并行化。實(shí)驗(yàn)結(jié)果表明,并行化處理可以有效縮短圖像融合的時(shí)間,獲得良好的加速比,驗(yàn)證了并行算法的高效性,對(duì)進(jìn)一步研究并行圖像處理有一定的指導(dǎo)意義。

      【關(guān)鍵詞】Matlab;圖像融合;IHS;小波變換;并行計(jì)算

      0 引言

      隨著遙感技術(shù)的飛速發(fā)展,由于信息獲取的途徑越來越多,從而得到了各式各樣的遙感數(shù)據(jù),而且數(shù)據(jù)量也越來越大。圖像融合技術(shù)的誕生使多源遙感數(shù)據(jù)得到了充分的利用,產(chǎn)生了比單一信息源更精確、更可靠的估計(jì)和判斷。由于數(shù)據(jù)規(guī)模的不斷增大,基于單處理器的傳統(tǒng)的串行圖像融合算法已經(jīng)無法滿足計(jì)算量不斷增加的需求,基于多處理器或集群的并行計(jì)算使圖像的快速融合成為了可能,為高效地分析遙感圖像提供了有效的解決途徑。

      當(dāng)前流行的并行化工具與多核計(jì)算平臺(tái)有很多,如OpenMP、MPI等[1],還有基于GPU并行計(jì)算的GUDA語言[2]。為高效利用多核處理器進(jìn)行并行計(jì)算,增強(qiáng)計(jì)算能力,Mathwork 公司推出了Matlab 分布式計(jì)算服務(wù)器與并行計(jì)算工具箱[3],可以實(shí)現(xiàn)對(duì)大規(guī)模數(shù)據(jù)進(jìn)行快速、便捷地并行任務(wù)劃分,而且具有良好的可擴(kuò)展性。

      近年來,小波變換理論被廣泛應(yīng)用于圖像融合并行處理當(dāng)中,有基于MPI的復(fù)小波變換的遙感圖像并行融合算法[4],有基于GPU的小波變換圖像融合快速實(shí)現(xiàn)算法等[5]。本文在Matlab并行計(jì)算環(huán)境下,分析了基于小波變換與IHS空間的圖像融合算法流程,將讀入內(nèi)存數(shù)據(jù)規(guī)模較大的遙感圖像像元矩陣進(jìn)行均等任務(wù)劃分,分配給不同的處理單元進(jìn)行融合計(jì)算,實(shí)現(xiàn)了算法的并行化,為提高大規(guī)模矩陣的計(jì)算速度與多核處理器的利用率提供了并行處理方法。

      1 Matlab并行計(jì)算

      Matlab并行計(jì)算架構(gòu)主要依賴兩個(gè)工具:并行計(jì)算工具箱(PCT)和分布式計(jì)算服務(wù)器(MDCS)[6],用戶可以通過使用以上兩個(gè)工具完成多種并行計(jì)算任務(wù),例如基于多核平臺(tái)、多處理器平臺(tái)的并行計(jì)算以及基于集群平臺(tái)的并行計(jì)算。PCT與MDCS可以自動(dòng)幫助用戶完成參與計(jì)算的多個(gè)核、多個(gè)處理器或多個(gè)集群節(jié)點(diǎn)之間的底層數(shù)據(jù)通信,用戶則可以更加專注于并行算法的設(shè)計(jì),于此同時(shí),Matlab提供了各式各樣的函數(shù)工具箱,以便用戶高效便捷地完成并行計(jì)算任務(wù)。

      典型的Matlab并行計(jì)算架構(gòu)包含Client、Job Manager和Worker,它們既可以運(yùn)行在網(wǎng)絡(luò)中的多臺(tái)計(jì)算機(jī)上,也可以運(yùn)行在同一臺(tái)計(jì)算機(jī)上。用戶通過Client可以編輯代碼,輸入各種命令,將Job提交給Job Manager;Job Manager負(fù)責(zé)Worker的管理和Task分配,將Job中的Task分配到Worker上執(zhí)行,并收集Worker的執(zhí)行結(jié)果返回給Client;Worker負(fù)責(zé)執(zhí)行由Job Manager分配的Task,并將執(zhí)行結(jié)果返回Job Manager。其中,Job作為任務(wù)的基本單元,由Client向Job Manager提交,而Task則作為任務(wù)的基本單元被Job Manager分配到各個(gè)Worker中去,一個(gè)Job可以只包含一個(gè)Task,也可以包含多個(gè)Task。

      2 IHS小波融合算法并行設(shè)計(jì)

      2.1 基本原理

      IHS小波融合算法1999年由Nunez 提出[7],通過將傳統(tǒng)的IHS變換與小波變換相結(jié)合,既有效地增強(qiáng)了融合圖像的空間分辨率,又較好的保持了融合圖像的光譜特性,減小了光譜失真。該方法先將待融合多光譜圖像作由RGB空間到IHS空間的轉(zhuǎn)換,然后利用小波變換將得到的多光譜圖像的I分量與全色圖像進(jìn)行小波分解、融合與重構(gòu),最后將得到的新的Inew分量與原先的H、S分量進(jìn)行IHS逆變換得到最終的融合結(jié)果。

      2.2 并行算法實(shí)現(xiàn)

      在進(jìn)行并行IHS小波融合算法設(shè)計(jì)之前,首先需要分析在整個(gè)串行算法中各個(gè)函數(shù)調(diào)用的頻率以及函數(shù)執(zhí)行消耗的時(shí)間,這個(gè)過程可以由Matlab提供的Profiler剖析器來完成,經(jīng)過分析可知,程序中將多光譜圖像的I分量與高分辨率全色圖像進(jìn)行小波融合花費(fèi)處理器時(shí)間最多,這是由于進(jìn)行逐層小波分解與重構(gòu)時(shí),計(jì)算復(fù)雜度不斷升高,計(jì)算量不斷加大。為了充分利用多核處理器資源,采用均等原則劃分計(jì)算量較大的復(fù)雜計(jì)算任務(wù),使這部分過程可以在Matlab環(huán)境下實(shí)現(xiàn)并行化,該算法并行化過程見圖1。

      本文將并行小波融合算法設(shè)計(jì)成一個(gè)獨(dú)立的模塊函數(shù)P-Fusion()[8],該模塊函數(shù)主要完成的工作是:圖像像元矩陣的小波分解與重構(gòu)、由小波系數(shù)陣以3X3為窗口大小計(jì)算像元梯度矩陣和融合圖像小波系數(shù)陣的計(jì)算。

      作為實(shí)現(xiàn)并行計(jì)算的獨(dú)立模塊函數(shù)P-Fusion(),其輸入?yún)?shù)為過IHS變換后提取的I分量像元矩陣與經(jīng)配準(zhǔn)后的全色圖像像元矩陣,函數(shù)執(zhí)行完成后,將輸出參量作為新的Inew通道信息與H、S通道信息作IHS逆變換即可得到融合圖像。在Matlab多核處理器并行計(jì)算平臺(tái)下實(shí)現(xiàn)基于均等任務(wù)劃分原則的并行計(jì)算,其主要步驟如下:

      (1)調(diào)用FindResource()函數(shù)創(chuàng)建對(duì)象Job Manager,并將該對(duì)象命名為Jm,它作為一個(gè)調(diào)度器負(fù)責(zé)整個(gè)并行計(jì)算程序的調(diào)度工作。

      (2)通過createJob()函數(shù)在對(duì)象Jm上創(chuàng)建一個(gè)作業(yè),命名為Job,并完成定義并行小波融合模塊函數(shù)P-Fusion()。

      (3)設(shè)置該作業(yè)的文件關(guān)聯(lián),讓所有Workers都可以找到原程序文件。

      (4)通過createTask()函數(shù)將作業(yè)Job進(jìn)行任務(wù)劃分,P-Fusion()作為函數(shù)句柄,并設(shè)置好函數(shù)的輸入?yún)?shù)與輸出參數(shù)。

      (5)利用Submit()函數(shù)完成作業(yè)Job的提交,Job Manager調(diào)度后臺(tái)可用于計(jì)算的處理器核心完成作業(yè)任務(wù)的分配,各工作核獲取任務(wù)后執(zhí)行模塊函數(shù)P-Fusion()完成各自計(jì)算任務(wù),此時(shí)各個(gè)核同時(shí)工作,互不干擾,完成并行計(jì)算。

      (6)當(dāng)所有任務(wù)全部完成后,將計(jì)算結(jié)果通過GetAllOutputArguments()函數(shù)回收并整理后返回給客戶端Client。

      完成該并行計(jì)算過程的主要代碼如下:

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

      本文選擇的實(shí)驗(yàn)數(shù)據(jù)為北京地區(qū)Landset8遙感影像,將2048X2048大小的空間分辨率為30m的多光譜圖像與空間分辨率為15m的全色圖像進(jìn)行融合。

      3.1 實(shí)驗(yàn)環(huán)境

      硬件配置:節(jié)點(diǎn)Intel Core i5-4590 CPU,四核,4GB內(nèi)存;

      軟件配置:Windows 7專業(yè)版64位操作系統(tǒng),Matlab2010a(并行計(jì)算工具箱Parallel Computing Toolbox 4.3和分布式計(jì)算服務(wù)器Matlab Distributed Computing Server 4.3)。

      3.2 結(jié)果分析

      在多核處理器并行環(huán)境下完成了圖像像元矩陣的小波分解與重構(gòu)、像元梯度矩陣和融合圖像小波系數(shù)陣的計(jì)算,且融合結(jié)果基本穩(wěn)定,其結(jié)果如圖2-4圖所示:

      通過對(duì)串行融合程序與并行融合程序的執(zhí)行時(shí)間進(jìn)行測(cè)試,對(duì)比分析了并行計(jì)算的優(yōu)化效果,其測(cè)試性能對(duì)比如表1所示:

      表1 IHS小波融合并行化性能對(duì)比

      由表1可知:在進(jìn)行相同任務(wù)量的計(jì)算時(shí),參與計(jì)算的內(nèi)核數(shù)不同,程序的執(zhí)行時(shí)間也會(huì)隨之改變,其具體表現(xiàn)為Worker數(shù)目增加,運(yùn)行時(shí)間變短,但減小趨勢(shì)變緩,這是因?yàn)橛?jì)算機(jī)在執(zhí)行并行程序時(shí)會(huì)產(chǎn)生額外的通訊開銷。并行算法的加速比大致呈線性增長(zhǎng),當(dāng)開啟Worker數(shù)為4,即等于處理器的最大內(nèi)核數(shù)時(shí),并行程序加速比達(dá)到2.2。算法的并行化設(shè)計(jì),能有效的縮短程序執(zhí)行的時(shí)間,充分利用多處理器資源,滿足了快速處理的需要。

      4 結(jié)語

      本文針對(duì)IHS小波融合算法,利用Matlab并行環(huán)境進(jìn)行了算法并行化設(shè)計(jì)與實(shí)現(xiàn),有效的提高了程序的運(yùn)行速度并充分運(yùn)用了多核處理器資源,均等的任務(wù)劃分、模塊化的處理方法為處理大規(guī)模遙感數(shù)據(jù)提供了可能。相較于其他并行模式,Matlab并行計(jì)算程序設(shè)計(jì)更為簡(jiǎn)便,豐富的函數(shù)工具箱能滿足不同的應(yīng)用需求,將會(huì)在不同的鄰域有著廣闊的應(yīng)用前景。

      【參考文獻(xiàn)】

      [1]王鵬,等.并行計(jì)算應(yīng)用及實(shí)戰(zhàn)[M].北京:機(jī)械工業(yè)出版社,2009.

      [2]劉金碩,等.基于CUDA的并行程序設(shè)計(jì)[M].北京:科學(xué)出版社,2015.

      [3]MathWorks. Matlab distributed computing server [EB/OL] [2009-10-01] http://www.mathworks.com/help/toolbox/mdce/index.html.

      [4]王攀峰,杜云飛,周海芳,楊學(xué)軍.基于復(fù)小波變換的遙感圖像并行融合算法[J].計(jì)算機(jī)工程與科學(xué).2008.30(3):35-39.

      [5]閆鈞華,杭誼青,孫思佳. 基于GPU的可見光與紅外圖像融合快速實(shí)現(xiàn)[J].計(jì)算機(jī)工程.2013.39(11):249-253.

      [6]劉維.實(shí)戰(zhàn)Matlab之并行程序設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2012.

      [7]Jorge Nunez, Xavier Otazu, Octavi Fors. Multiresolution Based Image Fusion with Additive Wavelet Decomposition[J].IEEE Transactions on Geoscience and Remote-sensing.1999(3):1204-1211.

      [8]鄭曉薇,于夢(mèng)玲.基于Matlab多核集群的人臉識(shí)別算法的并行化設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用.2011.31(10):2597-2599.

      [責(zé)任編輯:張濤]

      猜你喜歡
      圖像融合并行計(jì)算小波變換
      基于小波變換的多模態(tài)醫(yī)學(xué)圖像的融合方法
      基于自適應(yīng)線程束的GPU并行粒子群優(yōu)化算法
      MATLAB在《數(shù)字圖像處理》課程中的輔助教學(xué)
      云計(jì)算中MapReduce分布式并行處理框架的研究與搭建
      矩陣向量相乘的并行算法分析
      基于互信息和小波變換的圖像配準(zhǔn)的研究
      保持細(xì)節(jié)的Retinex紅外圖像增強(qiáng)算法
      并行硬件簡(jiǎn)介
      灰色關(guān)聯(lián)度在紅外與微光圖像融合質(zhì)量評(píng)價(jià)中的應(yīng)用研究
      林火安防預(yù)警與應(yīng)急處理系統(tǒng)設(shè)計(jì)
      呼伦贝尔市| 庐江县| 舟曲县| 那曲县| 眉山市| 调兵山市| 进贤县| 林西县| 扎兰屯市| 安陆市| 姜堰市| 巢湖市| 五指山市| 大邑县| 永兴县| 鹤山市| 防城港市| 平谷区| 兰坪| 兴隆县| 广灵县| 洛浦县| 富蕴县| 凌源市| 会理县| 三亚市| 武城县| 中西区| 阜新市| 西林县| 宁河县| 牙克石市| 罗田县| 衡山县| 前郭尔| 筠连县| 车致| 新竹市| 丹阳市| 崇阳县| 中牟县|