国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Matlab的遙感圖像IHS小波融合算法的并行化設計

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

王淼

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

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

0 引言

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

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

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

1 Matlab并行計算

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

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

2 IHS小波融合算法并行設計

2.1 基本原理

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

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

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

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

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

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

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

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

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

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

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

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

3 實驗及結(jié)果分析

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

3.1 實驗環(huán)境

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

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

3.2 結(jié)果分析

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

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

表1 IHS小波融合并行化性能對比

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

4 結(jié)語

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

【參考文獻】

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

[2]劉金碩,等.基于CUDA的并行程序設計[M].北京:科學出版社,2015.

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

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

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

[6]劉維.實戰(zhàn)Matlab之并行程序設計[M].北京:北京航空航天大學出版社,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]鄭曉薇,于夢玲.基于Matlab多核集群的人臉識別算法的并行化設計[J].計算機應用.2011.31(10):2597-2599.

[責任編輯:張濤]

猜你喜歡
圖像融合并行計算小波變換
基于小波變換的多模態(tài)醫(yī)學圖像的融合方法
基于自適應線程束的GPU并行粒子群優(yōu)化算法
MATLAB在《數(shù)字圖像處理》課程中的輔助教學
云計算中MapReduce分布式并行處理框架的研究與搭建
矩陣向量相乘的并行算法分析
基于互信息和小波變換的圖像配準的研究
保持細節(jié)的Retinex紅外圖像增強算法
并行硬件簡介
灰色關(guān)聯(lián)度在紅外與微光圖像融合質(zhì)量評價中的應用研究
林火安防預警與應急處理系統(tǒng)設計
浦北县| 贵定县| 丹凤县| 张掖市| 岳阳县| 建德市| 达尔| 湖口县| 措美县| 赤峰市| 东莞市| 洛隆县| 五峰| 三都| 中阳县| 鸡东县| 淮北市| 绥芬河市| 安阳市| 中方县| 绥宁县| 秭归县| 贵溪市| 当涂县| 榆社县| 普安县| 宿松县| 平山县| 三门峡市| 鸡西市| 兴宁市| 临猗县| 博爱县| 巴彦淖尔市| 新巴尔虎左旗| 科技| 江安县| 惠水县| 漯河市| 广德县| 五原县|