摘 要: 提出了一種基于注冊服務(wù)的分布式并行遙感影像處理系統(tǒng)模型,利用注冊機制實現(xiàn)各類資源的集成,實現(xiàn)系統(tǒng)的可擴展性,同時給出了該模型詳細(xì)的邏輯框架和工作流程設(shè)計以及具體的關(guān)鍵技術(shù)實現(xiàn)。給出了OTSU分割算法在實驗系統(tǒng)運行的實例。
關(guān)鍵詞: 分布式遙感圖像處理" title="圖像處理">圖像處理 分布式計算 并行計算" title="并行計算">并行計算 注冊機制
隨著空間遙感技術(shù)、對地觀測技術(shù)的不斷進(jìn)步,一個以多時相、多分辨率、多傳感器、多波段為特征的多層、立體、多角度、全方位和全天候遙感對地觀測數(shù)據(jù)獲取體系正在形成,能夠獲取巨量的對地觀測空間數(shù)據(jù),同時這些數(shù)據(jù)每天還在以TB級的速度增長??焖賹崟r性、空間無限性以及成本低廉性,使遙感柵格數(shù)據(jù)日益成為數(shù)字地球重要的數(shù)據(jù)源。例如,僅美國航空航天管理局(NASA)的對地觀測系統(tǒng)每天可發(fā)回的衛(wèi)星圖像數(shù)據(jù)" title="圖像數(shù)據(jù)">圖像數(shù)據(jù)就達(dá)1012字節(jié)之多。長期以來,雖然人們積累了各種大量的圖像數(shù)據(jù),但由于缺少有效快速的處理方法,使得決策者們在進(jìn)行目標(biāo)識別、信息提取等決策分析工作時發(fā)現(xiàn)可供參考的有用信息寥寥無幾。傳統(tǒng)的集中式遙感圖像處理模式在處理能力、異地資源共享等方面存在著不足,已成為遙感圖像處理系統(tǒng)" title="圖像處理系統(tǒng)">圖像處理系統(tǒng)的一個瓶頸,無法適應(yīng)遙感圖像處理技術(shù)發(fā)展的需要。因此,遙感圖像數(shù)據(jù)的快速網(wǎng)絡(luò)化、并行化" title="并行化">并行化處理技術(shù)就顯得異常重要。
本文從遙感圖像處理系統(tǒng)存在的問題入手,提出了利用分布式技術(shù)、并行計算來構(gòu)建分布式環(huán)境下高性能遙感圖像處理系統(tǒng)的方案,并將注冊機制引入到原型系統(tǒng),實現(xiàn)各類資源的集成。同時,詳細(xì)分析了該原型系統(tǒng)的邏輯框架、工作流程設(shè)計以及關(guān)鍵技術(shù)的實現(xiàn),并給出OTSU分割算法在實驗系統(tǒng)里運行的實例。
1 實驗系統(tǒng)邏輯框架設(shè)計
根據(jù)實際的研究工作以及對相關(guān)技術(shù)的分析,借鑒了XML-RPC、CORBA、RMI等分布式體系結(jié)構(gòu),并基于中間件、JSP/Servlet、XML以及數(shù)據(jù)庫等技術(shù),設(shè)計和實現(xiàn)了一個基于MPI并行計算以及簡單過程調(diào)用RPC機制的高性能遙感圖像處理實驗系統(tǒng),并集成若干遙感圖像處理算法。為了使系統(tǒng)具有較高的動態(tài)擴展性,設(shè)計了一個基于注冊服務(wù)的機制,將圖像處理算法、數(shù)據(jù)等資源以某種統(tǒng)一的服務(wù)描述形式發(fā)布到注冊中心,自由組合滿足所需要的功能,從而使系統(tǒng)具有很高的松耦合性。
圖1描述了分布式環(huán)境下高性能遙感圖像處理系統(tǒng)的邏輯框架。
從圖1可以看出,從下至上五層模型主要包括基礎(chǔ)層、構(gòu)建層、資源服務(wù)層、系統(tǒng)應(yīng)用層以及用戶接口層。
基礎(chǔ)層即為網(wǎng)絡(luò)基礎(chǔ)設(shè)施,包括高速傳輸網(wǎng)絡(luò)基礎(chǔ)框架、主機及硬件環(huán)境、系統(tǒng)軟件支撐系統(tǒng)等,為分布式環(huán)境下的整個應(yīng)用系統(tǒng)提供物理運行平臺。
構(gòu)建層主要在基礎(chǔ)層上構(gòu)建一個分布式并行計算的支撐環(huán)境,并通過向上層提供底層的編程接口API、SDK服務(wù)包以及一些技術(shù)規(guī)范,支持應(yīng)用系統(tǒng)開發(fā)和運作。如向上層資源層的算法資源提供并行編程平臺MPI標(biāo)準(zhǔn)的MPI庫函數(shù)“mpi.h”和“l(fā)ibmpi.a”等。這一層是構(gòu)建優(yōu)秀應(yīng)用系統(tǒng)的關(guān)鍵。
資源服務(wù)層根據(jù)構(gòu)建層提供的支持,通過將所有網(wǎng)上的資源,如數(shù)據(jù)資源、算法資源、計算資源、知識資源等抽象為服務(wù),建立自己的服務(wù)資源層,為上層系統(tǒng)應(yīng)用層提供基礎(chǔ)服務(wù)。
系統(tǒng)應(yīng)用層主要功能是針對具體應(yīng)用,在資源服務(wù)層和構(gòu)建層的基礎(chǔ)上構(gòu)建適合自己需求的應(yīng)用系統(tǒng),并提供給用戶。
用戶接口層提供用戶與應(yīng)用系統(tǒng)交互的接口。
在此模型的基礎(chǔ)上,構(gòu)建了遙感圖像處理系統(tǒng)的各個邏輯功能模塊,主要包括遙感圖像的預(yù)處理、圖像分析、結(jié)果顯示等幾部分。
遙感圖像的預(yù)處理主要是一些基本的圖像處理操作,并對需要分析的圖像進(jìn)行適當(dāng)?shù)膬?yōu)化和預(yù)處理。
圖像分析部分主要由圖像分割、圖像分類以及目標(biāo)的表達(dá)與分析組成。由于系統(tǒng)中要集成大量的圖像分割算法,通過圖像分割,系統(tǒng)將原始的遙感圖像數(shù)據(jù)轉(zhuǎn)變?yōu)橛糜谙乱徊侥繕?biāo)識別的特征,并通過特征和知識庫中的先驗知識,對目標(biāo)進(jìn)行識別、分類。然后,對目標(biāo)識別所得的各種地物目標(biāo)進(jìn)行分析,并基于目標(biāo)對象的視覺知識、目標(biāo)地物周圍的環(huán)境知識,以及目標(biāo)地物間的協(xié)同知識對已識別的目標(biāo)地物進(jìn)行正確性判定,提供上層決策使用。最后,將目標(biāo)識別的結(jié)果及其各種特征存放到特征數(shù)據(jù)庫中。該模塊匯聚了大量的圖像處理算法,而這些圖像處理算法所消耗的時間較多,是系統(tǒng)的一個瓶頸。本文對部分計算復(fù)雜度高的算法采用了并行計算。
顯示模塊顯示處理得到的圖像結(jié)果,而對于地物特征主要通過虛擬地理環(huán)境、虛擬現(xiàn)實、三維顯示等手段進(jìn)行顯示。
各個邏輯功能模塊的算法以服務(wù)的形式在不同的服務(wù)器節(jié)點上實現(xiàn),并通過服務(wù)注冊機制提供給客戶。這樣,不同的客戶在實際應(yīng)用時就可以通過服務(wù)發(fā)現(xiàn)并應(yīng)用不同服務(wù)器節(jié)點上的服務(wù),就像使用本地的資源一樣,實現(xiàn)真正意義上的分布式。
2 實驗系統(tǒng)運行時的流程設(shè)計
圖2描述了處理系統(tǒng)運行時的工作流程。
從圖2中可以看出,本系統(tǒng)中有三種不同的角色:(1)Client(用戶),使用已經(jīng)發(fā)布的方法服務(wù);(2)Node(節(jié)點)由算法提供者建立,主要用來發(fā)布和執(zhí)行方法服務(wù)。復(fù)雜的算法和大數(shù)據(jù)量處理時,采用基于MPI的本地節(jié)點并行計算處理。(3)注冊中心,主要用來提供方法服務(wù)的注冊、查詢以及對用戶、方法服務(wù)等動態(tài)管理。算法提供者在提供算法的同時將該算法的一些信息,包括算法的位置、算法所需的參數(shù)以及其他一些信息發(fā)布到該注冊中心,并可隨時更改自己的算法及相關(guān)信息。通過設(shè)立注冊機制,可使系統(tǒng)變得開放、容易擴展。
該系統(tǒng)設(shè)計的主要工作流程包括算法的注冊和算法的使用兩部分。
算法的注冊:(1)算法提供者訪問算法注冊區(qū),填寫描述該算法基本信息的表單并注冊;(2)注冊中心生成一個“ServiceID.xml”的文件進(jìn)行算法信息的登記,并返回注冊結(jié)果。如圖2虛線。
算法的使用:(1)用戶訪問注冊中心,查詢需要的算法服務(wù);(2)注冊中心返回查詢結(jié)果,如果算法服務(wù)狀態(tài)欄顯示正常,說明當(dāng)前可以使用該算法服務(wù);(3)注冊中心得到使用命令后,找到相應(yīng)方法服務(wù)的所在位置,并與節(jié)點A交互。節(jié)點A遠(yuǎn)程解析在注冊中心該方法服務(wù)的參數(shù)描述文件(ServiceID.xml),并生成界面提供給用戶。用戶填寫完參數(shù),提交給A,然后A執(zhí)行該方法服務(wù);(4)最后將結(jié)果發(fā)送給用戶。如圖2實線。
3 原型系統(tǒng)實現(xiàn)
3.1 分布式系統(tǒng)環(huán)境設(shè)計
客戶端,原型系統(tǒng)前端利用JSP和JAVA Applet,通過IE瀏覽器與用戶交互。
服務(wù)器建設(shè),Tomcat作為免費的、開放源碼的JSP/Servlet容器和Web服務(wù)器,被部署在各個服務(wù)器節(jié)點上。一些功能和業(yè)務(wù)邏輯采用中間件技術(shù)(主要是COM)以及Java Servlet實現(xiàn)。
注冊中心除安裝了Tomcat服務(wù)器軟件外,還安裝了SQL Server 2000,以支持大數(shù)據(jù)量的并發(fā)操作。
3.2 算法并行化處理策略
由于遙感圖像處理系統(tǒng)所要處理的圖像數(shù)據(jù)量大,一般都在幾兆、幾百兆甚至上千兆字節(jié),而且某些處理算法計算相當(dāng)復(fù)雜、耗時多,因此對某些復(fù)雜的處理算法,在算法提供的服務(wù)器端采用了本地并行化計算的策略。同時,考慮到實際情況,并行計算硬件環(huán)境采用了局域的CLUSTER集群結(jié)構(gòu)設(shè)計,并輔以基于MPI的MPICH軟件環(huán)境。
基本思想就是采用了數(shù)據(jù)劃分的策略,如圖3。首先由主進(jìn)程主機將待處理的圖像數(shù)據(jù)劃分成若干個子區(qū)(可以是均等,也可以不均等,根據(jù)具體情況而定),每個子區(qū)作為一個單獨的處理對象分配到不同主機上,每個主機運行相同代碼,最后將每個主機處理的結(jié)果匯總,得到最終的處理結(jié)果。最后,歸結(jié)和設(shè)計了三類圖像并行處理算法:基于影像像素單元、基于影像窗口空間以及基于影像全局區(qū)域。
3.3 服務(wù)描述
本次實驗主要針對算法服務(wù)做了一定描述,具體所描述的內(nèi)容如表1。當(dāng)服務(wù)發(fā)布時,注冊中心將獲取該算法服務(wù)的基本信息存入注冊中心的數(shù)據(jù)庫表里,并將自動產(chǎn)生一個名為“服務(wù)代號.XML”的XML文件,用來保存該算法服務(wù)所需的參數(shù)信息。同時,根據(jù)圖像處理算法的特點,制定了六類參數(shù):整型、浮點型,一維數(shù)組(整型和浮點型)、二維數(shù)組(整型和浮點型)、字符串以及文件類型。對OTSU圖像分割算法服務(wù)化描述的XML片斷如下:
?。約ervice ID=“服務(wù)號”TYPE=(exe com servlet rpc)> //確定服務(wù)及其類型
<localExe>d:myserviceotsu.exe</localExe>//確定服務(wù)在節(jié)點上的具體位置
?。紆rl>http:192.168.34.25:8080virRoot</url> //確定節(jié)點位置
?。糾ethod NAME=“otsu”> //具體方法
?。糳es></des>//服務(wù)描述
?。約up>BSQ</sup> //支持處理的圖像格式
?。糹nput NUM=“0”/>//輸入?yún)?shù)描述
?。紀(jì)utput NUM=“1”> //輸出參數(shù)描述
?。糵ile type=“BSQ”> //文件參數(shù)
?。?output>
</method>
?。?service>
3.4 系統(tǒng)通信
為了使實驗系統(tǒng)具有較高的擴展性和兼容性,在設(shè)計客戶端與服務(wù)器、節(jié)點與服務(wù)器間通信時,采用了具有良好跨平臺性的XML文件格式以及SOAP協(xié)議。系統(tǒng)向后可以兼容服務(wù)形式的方法,如web services、grid services等,同時,通過在節(jié)點處設(shè)立代理服務(wù)層使得系統(tǒng)能向前兼容如微軟操作系統(tǒng)下的COM、EXE、DLL等方法??紤]到圖像處理中通常涉及圖像二進(jìn)制文件的傳輸,采用了SUN公司的帶附件的SOAP傳輸協(xié)議包SAAJ(SOAP with Attachments API for Java),并通過對數(shù)據(jù)的分塊傳輸來提高大數(shù)據(jù)量圖像數(shù)據(jù)傳輸?shù)乃俣取?BR>4 算法運行實例
考慮到當(dāng)前的研究工作,圖像處理算法一般都是在VC環(huán)境下開發(fā),通過對圖像處理算法進(jìn)行DLL以及EXE(支持MPI并行計算)形式封裝,可以輕松地發(fā)布和集成到本系統(tǒng)中。
圖4顯示了集成到實驗系統(tǒng)中的OTSU算法服務(wù)對一幅交通圖像進(jìn)行分割后的結(jié)果。
利用快速網(wǎng)絡(luò)化、并行化的遙感圖像處理技術(shù)能廉價地獲取超出單機處理能力的高性能服務(wù),大幅提高遙感圖像處理的速度和共享資源的能力。而本次實驗就是以此為指導(dǎo),結(jié)合遙感圖像處理的具體研究工作,研究和設(shè)計了基于注冊服務(wù)機制的分布式并行遙感圖像處理系統(tǒng)模型,并進(jìn)行了實驗。結(jié)果表明,分布式技術(shù)、并行計算技術(shù)以及遙感圖像處理的結(jié)合是可行的,而且基于注冊服務(wù)機制的系統(tǒng)模型有效地整合了分散的遙感圖像數(shù)據(jù)、處理算法和計算機的處理能力,改變了集中式的處理模式,收到較好的實驗效果。
參考文獻(xiàn)
1 李德仁,李 軍. 分布式遙感圖像處理中的若干關(guān)鍵技術(shù).遙感學(xué)報,1999;24(1):15~19
2 伍祥生. Java技術(shù)在圖像處理中的演變.中國圖像圖形學(xué)報,1999;(10)
3 童小陽,高培文.基于分布式應(yīng)用的系統(tǒng)注冊服務(wù)Register的實現(xiàn). 小型微型計算機系統(tǒng),2004;09(21):925~927
4 莫崇惠,陳玉健. 基于注冊服務(wù)的教育資源集成框架.計算機工程與應(yīng)用,2003;(15):188~190
5 馬偉鋒,王衛(wèi)紅,蔡家楣,駱劍承,沈占鋒. 基于網(wǎng)格的遙感圖像處理系統(tǒng)設(shè)計與實現(xiàn). 計算機工程與應(yīng)用,2004;(24):134~136
6 鄭 江,駱劍承. 基于網(wǎng)格計算環(huán)境的高分辨率遙感影像并行分割. 蘭州:高分辨率衛(wèi)星遙感數(shù)據(jù)處理與應(yīng)用研討會, 2003;9