摘要:遙感圖像元數據的提取是遙感信息集成共享中的核心問題和根本前提。該文在網格環境下,通過對圖像參數的標準化映射和頭文件的分析,根據元數據獲取原理,設計了元數據自動提取算法。同時將算法封裝為遵循WSRF標準、對外提供統一接口、可供整個網絡共享的全局資源。應用結果表明,該技術大幅度降低了元數據提取的操作復雜度,提高了效率、精確度和自動化程度,具備良好的即插即用性。
關鍵詞:網格服務;遙感圖像頭文件;元數據;自動提取;WSRF
中圖分類號:TP391文獻標識碼:A文章編號:1009-3044(2010)03-565-04
Automatic Extraction of Remote Sensing Data Based on Grid Service
CHENG Yan-yan, CUI Bin-ge
(College of Information Science and Engineering, Shandong University of Science and Technology, Qingdao 266510, China)
Abstract: Extraction of metadata from remote sensing image acts as the precondition and is the core issue for integration and sharing of remote sensing information. This article presents an automatic extraction algorithm of the metadata in the grid environment according to the standardization mapping of image parameters, the analysis of image header_file and the principles of metadata extraction. Meanwhile, basing on the WSRF standard, the algorithm is encapsulated as global resource with unified interface and shared by the whole network. Results show that the algorithm can reduce the complexity of metadata extraction, whereas improve the efficiency, accuracy and automation to a great extent.
Key words: grid service; header_file of remote sensing image; metadata; automatic extraction; wsrf
近年來,遙感技術發展迅速,特別是隨著衛星技術及航空遙感的發展和人們需求的提高,以及全球信息化的加快,遙感作為一種信息快速獲取的手段就顯得尤為突出,遙感數據也已經在測繪、氣象、國土資源勘察、災害監測與環境保護、國防、能源、交通、工程等諸多學科和領域得到了廣泛的應用。遙感圖像元數據體現了遙感圖像的基本特征信息,也是檢索遙感圖像的重要依據。這些元數據信息通常存放在遙感圖像的頭文件或圖像文件中,如:軌道號、數據獲取時間、傳感器類型、圖像范圍、處理級別、圖像行列數、投影方式、圖像中心及四角經緯度等。因此如何獲取遙感圖像元數據信息就成為遙感圖像信息集成中的關鍵。本文正是針對遙感圖像元數據提取問題設計了一套解決方案。事實上,這些參數名稱及參數值大多以文本形式存在,完全可以由用戶自己編寫算法來實現元數據的讀取。因此,該文提出了基于影像頭文件的自動提取遙感圖像元數據算法,并將這些算法及代碼封裝成網格服務,通過“熱插撥”的方式集成到系統(平臺)中,從而提高系統(平臺)對于新的遙感圖像類型的自學習能力。
1 相關工作
隨著航天與航空遙感技術的發展,衛星遙感數據正以驚人的速度增長,如何操縱這些海量的衛星遙感數據,使得遙感數據為各個領域的人們提供遙感信息服務,這必然給遙感數據的共享帶來嚴峻的挑戰。當前遙感的應用領域已經擴展到國土資源、氣象、環境、水利、礦產、電力等各個行業中。而國內外遙感數據集成的研究工作大多處于初級階段,即采用物理集中的方式實現遙感圖像數據的集成。人們在網格服務、遙感圖像處理等與本課題相關的方面做了大量工作。
1.1 遙感圖像處理方面
遙感圖像處理就是利用計算機通過數字處理的方法來增強和提取遙感圖像中的專業信息。由于遙感圖像的數據量巨大且處理復雜,現有的研究工作集中在利用網格技術實現海量遙感圖像數據的快速處理。國防科技大學完成了圖像處理算法的網格化和服務化工作,基本完成了應用于網格環境的遙感圖像處理并行函數庫的建設和集成工作。華中科技大學開發的圖像處理網格應用平臺主要研究圖像處理復雜任務的劃分、分解和作業調度,圖像處理應用資源及服務的管理、配置和監視等。
1.2 網格服務方面
2002年6月,Globus聯盟首次在全球網格論壇(GCF)上提出了開放式網格服務體系結構(OGSA)的理念[1]。不久,GGF及時推出了開放網格服務基礎架構(OGSI)草案。OGSI規范提出了網格服務的概念,并針對網格服務定義了一套標準化的接口。 OGSA-DAI經過配置后可以訪問關系型數據庫、XML數據庫、文本文件等,是一種用于實現分布和異構數據集成的中間件,在很多項目中得到了較好的應用。
現有的圖像參數提取方法是使用專門的圖像處理軟件(如ENVI、ERMapper和PCI等)來讀取并顯示圖像的參數信息,再通過人工的方式寫入到數據庫中。這樣做不僅耗時耗力,而且有可能造成判讀誤差。遙感圖像處理的數據量越來越大,同時對處理的精度及速度要求也越來越嚴格,很大程度上給圖像處理技術帶來了新的挑戰。遙感影像數據通常分布在地理區域不同的組織內,傳統的遙感圖像處理模型無法將各種自治、分布和異構的數據資源在邏輯上整合在一起,使得大量寶貴的遙感數據資源無法得到及時有效的處理、分析與存儲,成為“信息孤島”。
對于普通的數據源來說,OGSA-DAI的功能是足夠用的,盡管其配置比較麻煩。然而,不同遙感圖像元數據的數據模型、數據模式和數據語義差別非常大,無法通過簡單的參數配置實現圖像元數據的集成。而且OGSI規范過分強調網格服務和Web服務的差別,沒有對資源和服務進行區分[4],導致了兩者不能更好地融合在一起。為了解決OGSI和Web服務之間存在的矛盾,Globus聯盟和IBM推出了Web服務資源框架(WSRF)。它在重構開放網格體系結構(OGSA)的基礎上,將網格與Web服務技術相結合,更好地利用了現有的XML模式,同時也利用了新的Web服務標準如Web資源尋址。尤其是WSRF特有的資源模型(WS-Resource),更合理地將Web服務和有狀態資源聯系在一起[2]。
該研究正試圖從以上兩個方面進行改進:一方面是針對不同類型遙感圖像的特征,結合圖像處理算法的特點進行算法上的改進。這種方法從遙感元數據獲取的原理出發,對數據提取算法進行進一步的優化,在單機處理的情況下,以達到遙感圖像快速化、精確化的處理要求。另一方面,利用網格[3]這個把整個網絡整合成一臺巨大超級計算機的環境,采用WSRF標準將元數據提取這個計算資源封裝成一個WS-Resource結構的網格服務。它建立在Web服務之上,通過Web服務發布系統發布,具有Web服務的基本功能,屏蔽了資源的復雜性和異構性,而且還可以利用資源的狀態屬性保存會話的狀態,并對外提供統一規范的訪問接口,有效地解決網絡化制造中資源標準化封裝的難題。而目前已有的方案大多是普通的制造信息數據共享方式,無法達到以標準的資源服務形式屏蔽資源內部的實現方法和機制,難以實現資源的透明化使用和管理的目的。
2 遙感圖像元數據提取算法的設計
現有的很多影像數據包中含有頭文件,記錄了影像元數據一些重要的人工可讀信息,如衛星、儀器、傳感氣、模式、條帶號、行編號、西邊界經度、東邊界經度、北邊界緯度、南邊界緯度、中心日期時間等。因此,在使用遙感數據之前,首先要從圖像文件的頭部將這些參數信息提取出來。對于不同類型的衛星和傳感器,參數在頭文件中的存放格式不完全相同,如果依靠人工獲取,不僅效率低而且精度差。其實,絕大多數頭文件都是可讀的便于程序判斷的文本格式,每一個位置的字符都有嚴格的定義,程序判斷起來反而更加準確方便。該文設計的自動提取影像頭文件中遙感圖像元數據算法正是針對這個需求來實現的。
由于不同衛星搭載不同的傳感器或者同一顆衛星搭載不同的傳感器后所拍攝的圖像格式不盡相同,導致了遙感圖像頭文件格式多樣化,例如LANDSAT-5衛星(美國陸地衛星五號)的TM傳感器(專業制圖儀)采用固定字節數的方式保存參數信息;LANDSAT-7衛星的ETM+傳感器采用類似于XML文件的樹狀結構保存參數信息;ENVISAT-1衛星的ASAR傳感器采用每行一條記錄的方式保存參數信息。而每種算法只能處理一類頭文件,因此對于每一種衛星和傳感器,有必要規定算法可以識別的圖像頭文件類型。不僅如此,有的遙感圖像元數據信息并不是單獨存儲在頭文件中,而是直接包含在圖像文件的頭部,這些衛星圖像文件通常比較龐大,但我們需要的元數據信息卻只占了其中很小一部分。例如ENVISAT-1衛星搭載ASAR傳感器時的圖像文件,總大小有60MB左右,其中元數據信息只有30KB。若將整個圖像文件內容讀入內存后再解析,勢必造成冗余,降低算法的運行效率。所以在操作此類文件時僅需定位到我們關心的內容,讀取圖像元數據信息即可。
在設計算法之前我們還需要定義一個衛星參數的配置文件satellite.xml,以XML格式標準化元數據信息,在元數據提取過程中提供衛星原始參數名到標準參數名的映射。配置文件將每種衛星搭載不同傳感器時所包含的參數詳細信息(包括頭文件中的原始參數名稱、參數的中文定義、參數類型、參數大小、參數映射的標準字段名)一一列出。不是所有的參數都是我們所關心的,而且同一種參數在不同衛星的頭文件中往往具有不同的原始名稱,所以我們制定了一套元數據標準(參見表1),規定了我們關心的參數的中文名稱、標準英文名稱、定義及數據類型,以此屏蔽元數據之間的異構性。定義參數配置文件和標準元數據的好處在于當某顆衛星所拍攝的遙感影像參數有所變化時,我們只需要同步修改配置文件及元數據標準,而無需對元數據提取算法做任何改動,整個提取過程對用戶來說也是透明的。對于遙感圖像的元數據提取功能,我們不可能在設計時將所有遙感圖像文件格式一網打盡,必須考慮到集成系統的可擴展性。用戶可以自行定義新型圖像文件的參數描述和處理代碼,然后這些配置文件和源代碼就可以通過“熱插拔”的方式集成到系統中。配置文件satellite.xml格式示例如下:
…
…
…
設計算法時,首先根據用戶選擇的衛星、傳感器種類判斷需要獲取頭文件的字節數,將這些內容讀入內存, 然后分步定位,判斷要獲取的元數據信息。這時需要解析我們事先定義的衛星參數配置文件satellite.xml,獲得用戶所選衛星、傳感器包含的參數信息。以Landsat_5衛星、TM傳感器為例。先從配置文件中解析得某參數“NmberofRows”(圖像列數),再回到頭文件中,按行檢索,定位到文本信息“OBJECT = NumberofRows”處,然后判斷此參數是否有值,即在隨后幾行文本信息中查找“VALUE”,若存在,則“VALUE=”后的以非空格、非“=”號開始,以空格或者回車或者tab字符結束的字符串即為參數值。如“VALUE = 22”就表示參數“NmberofRows”的值為“22”。確定參數值不為空后,還應該判斷參數值的格式,因為有些參數值的表達式是“VALUE=(***,***,***,***)”,例如衛星影像的四角經、緯度。這種情況則要將參數值依次分離出來賦予不同的參數。由于每種影像的頭文件存儲格式不同,(可以通過查詢其文件格式文檔說明來了解具體的存儲格式),因此需要針對不同格式的文件進行不同的判斷,進而做一些特殊處理。如“ENVISAT”這顆衛星影像頭文件中的參數“SENSING_START”和“SENSING_STOP”分別代表“景開始時間”和“景結束時間”,其參數值格式為“17-NOV-2002 10:44:33.017851”。這就需要我們將其中的月份信息“NOV” 轉換為“11”,提高元數據的可讀性和實用性。衛星參數解析結束,相應的尋值過程也自動終止。同時以XML格式的字符串返回參數提取結果,其中每一節對應一個參數的詳細信息(包括參數名、值、類型等),整個過程完全由程序嚴格控制。如果影像頭文件類型無法通過程序識別,或者沒有包含頭文件,則需要人工判斷,并手工輸入該影像的元數據內容[4]。圖像元數據提取流程圖參見圖1。
3 遙感圖像元數據自動提取網格服務的實現
3.1 元數據自動提取網格服務的設計
為了提高系統的性能和可擴展性,實現異構分布環境下資源的共享和協同,必須有效地解決資源的統一描述與標準化封裝問題。因此我們按照衛星和傳感器的類型,將已有的圖像參數提取算法分別設計為單獨的計算資源,并進一步封裝成基于WSRF,遵循約定接口標準,在本地應用服務器中部署,需要時被遠程系統調用執行的網格服務。用戶能夠一致透明服務對外提供的統一接口,從而使分布、異構的計算資源在通信時具有共同的語言和即插即用的特性[2]。定義的元數據提取網格服務統一接口規范參見表2。
元數據提取網格服務的功能是根據衛星影像的參數配置文件,分析一幅圖像的頭文件內容,以獲取一些重要的參數值。服務的輸出參數為XML格式的字符串,每一節對應于一個參數的詳細信息。
封裝后的服務對外提供三類接口:Web服務訪問接口,服務注冊接口和數據源接入接口,如圖2所示。
3.2 元數據自動提取網格服務的開發
該文是在Eclipse環境下利用GT4(Globus Toolkit)來進行元數據提取網格服務的開發。GT4網格服務的開發中,開員做的的工作就是對項目文件和配置步驟(反復進行編譯、鏈接、部署等)進行修改。如果沒有諸如 Eclipse 之類的集成開發環境,在反復重復開發的過程中,只能在很多工具(編輯器、命令行 shell、文件管理器、編譯工具、應用程序容器等)之間不斷地來回切換。為此我們安裝了GDT(Grid Development Tools)、Tomcat插件以及網格服務的部署容器ws-core,并進行適當的配置[6]。 而Eclipse可在一個單一的項目抽象中管理所有這些開發活動,使得從編碼到部署到調試都可以在Eclipse中實現,從而大幅度簡化了網格服務的開發過程。
實現了元數據提取算法的接口后,就可以使用GT4中的部署工具將已封裝好的服務部署到Globus容器WSRF中。容器啟動后,服務請求者就可以通過統一的服務訪問接口調用元數據提取網格服務。
4 實驗測試
根據實際需要,我們將封裝完好的遙感元數據自動提取網格服務“熱插撥”集成到海洋遙感數據集成與共享平臺中,以驗證服務的可用性。
4.1 海洋遙感數據集成與共享平臺
此平臺能夠并發訪問各個網絡節點的遙感數據并對數據訪問結果進行處理和綜合顯示,為遙感數據提供一種靈活、動態和一致的共享機制。整個平臺數據的獲取完全依賴于元數據提取功能模塊。我們將設計的元數據自動提取網格服務嵌入到平臺中來實現這一功能。
4.2 結果分析
平臺向用戶提供以RPC方式調用的web服務統一接口。平臺中元數據提取模塊的具體工作流程如下:
平臺首先要求用戶將要進行數據提取的遙感圖像文件上傳到系統應用服務器上。在如圖3所示的平臺操作界面中,用戶需要提供服務調用的接口參數,即選擇圖像對應的衛星、傳感器、圖像文件的本地路徑以及服務器的目標路徑并將文件上傳。成功的將圖像文件上傳到服務器指定目錄后,平臺開始調用元數據提取網格服務,自動進行圖像元數據的抽取,而不再需要用戶添加任何手工操作,實現了真正意義上的參數自動提取。
由于網格服務不能返回自定義的復雜數據類型,而層次結構良好的XML可跨平臺并易于在任何應用程序中讀寫數據,所以我們選擇以XML格式字符串作為元數據提取服務的返回值,使得服務具有跨平臺和可移植的優點。客戶端只需解析此XML字符串,提取結點的圖像元數據信息,并以Web界面形式直觀的將數據值呈現給用戶,如圖4所示。整個元數據提取過程耗時僅3-5秒。與原系統中利用專業圖像處理軟件來進行圖像數據的提取相比,降低了操作復雜度,提高了效率和數據精確度。
可以看到,在嵌入自動提取遙感數據功能模塊后,系統整個元數據提取功能的實現變得更加簡單、高效。由于我們事先已經將算法依照衛星和傳感器的類型,分別設計為單獨的計算資源,并進一步封裝成基于WSRF,遵循約定接口標準,在本地應用服務器中部署,需要時被遠程系統調用執行的網格服務,從而將計算資源由局部資源轉變為可供整個網絡應用共享的全局資源。網格服務對外提供的統一接口,使得用戶能夠以一致透明的方式對其進行訪問,進而又賦予分布、異構的計算資源即插即用的特性。如此一來,封裝完好的元數據提取計算資源可以隨時嵌入系統,并與其后的數據歸檔工作很好的銜接起來,真正實現數據的自動化管理。結束了過去數據提取與錄入脫節、手工輸入數據的笨拙方式。用戶在使用此計算資源時,只需提供統一的接口參數即可。實現了計算資源通過標準的接口和行為以服務的形式進行網絡之間的信息交互與共享,這也正是我們采用網格服務的目的所在。
5 結束語
該文成功實現了在網格環境下自動提取遙感圖像元數據,替代了過去人工獲取圖像元數據的傳統工作模式,削減了工作復雜度的同時提高了準確性。并能夠以封裝完好的網格服務形式嵌入到任何系統中,為遙感數據資源的松耦合集成與按需共享奠定了基礎。隨著我國衛星遙感技術的發展,更多的遙感圖像數據等待著我們去處理,該文提出的算法還只是針對一些特定格式的圖像頭文件奏效。因此,進一步探討設計一種能兼容絕大多數頭文件格式的遙感圖像元數據提取算法是十分必要的。網格服務的開發中,工具是重要的手段。在合適的工具基礎上,希望我們能進一步開發網格的應用程序,進而更好的理解網格的理論和其實際應用中的優勢。
參考文獻:
[1] Foster I,Kesslman C,NICK J M.The Physiology of the Grid:An Open Grid Services Architecture for Distributed Systems Integration[EB/OL].http://www.globus.org/research/ papers/ogsa.pdf.
[2] 井浩,張璟,李軍懷.基于WSRF的網絡化制造資源Web服務封裝的研究[J].計算機工程與應用,2007,43(15):22-25.
[3] Foster I.What is the Grid? A Three-point Checklist[C]//Proc.of the 8th IEEE International Symposium on High Performance Distributed Computing,1999.
[4] 杜曉,晉佩東,郭大海,等.遙感影像快速入庫和元數據提取系統的研究[J].國土資源遙感,2006,9(3):80-83.
[5] Gopi K,Liang Fang,Yi Huang, et al.Building web services for scientific grid applications[J].IBM Journal of Research Development,2006,50(2/3):249-260.
[6] 紀磊.網格工具使用小結[EB/OL].(2006-12-02).http://www.itpub.net/archiver/tid-680180.html.