湯 璇, 王留召,鐘 良
(1. 武漢軍械士官學校, 湖北 武漢 430075; 2. 中國測繪科學研究院,北京 100830; 3. 長江水利委員會長江空間信息技術工程有限公司,湖北 武漢 430010)
機載激光雷達系統是集激光、GPS和慣性導航系統(INS)三種技術于一體的空間測量系統[1]。機載LiDAR系統與傳統遙感技術相比較具有自動化程度高、受天氣影響小、數據生產周期短、精度高等技術特點,是先進的獲取地表三維空間信息和影像數據的新型遙感系統。LiDAR系統通常包括激光測距設備,POS系統及相機設備。采集的數據主要包括高分辨率數碼影像、點云數據,少數還帶有波形數據。機載LiDAR獲取的數據對于國土規劃、資源調查、林業管理、城市建筑工程、數字城市及國防等領域具有重要價值[2],因此有效提高其處理效率,是預防和抵御災害侵襲、減輕災害損失、保障社會經濟的可持續發展的重要任務之一。
機載LiDAR產生的點云數據高度密集,一個飛行條帶的數據多達上千萬個點,一個測區有多個飛行條帶,所采集的點云達到幾千萬甚至上億個點,機載LiDAR設備上攜帶的框幅式相機同步獲取的影像也隨著測區大小的不同,數目從數百張到上千張不等,文件大小從數GB到數十GB。在進行數據處理時, LiDAR點云數據及影像必須經過各種預處理:濾波、分類、勻光和糾正等,算法種類繁多,且根據用戶不同需求,參數設置、處理流程各不相同,極大地限制了用戶快速獲取數據成果的需求。針對上述問題,本文提出了云計算環境下LiDAR數據產品的虛擬化處理。
所謂虛擬遙感處理產品是指目前影像庫或數據庫中尚不存在、但數據處理系統能夠按照用戶的請求而生產的產品[3]。由于用戶需求的產品不一定是標準產品,因此形成用戶需求產品的過程必然會有不同的處理流程,涉及大量的計算資源,因此,遙感產品的虛擬化必須在網絡環境中才能實現,同時面臨海量數據的網絡傳輸問題及大數據量、多計算機的網絡數據協同處理兩大問題[4]。云計算是分布式計算、網格計算和效用計算的進一步發展,是以網絡為載體,以虛擬化技術為基礎,根據用戶需求動態配置資源的新興計算模式,可以通過同時利用大量的計算機提供同步或異步計算服務,來實現超大規模的數據的快速處理[5-6]。因此將云計算與虛擬LiDAR數據產品相結合,就能夠解決用戶個性化需求及海量LiDAR數據處理之間的矛盾。
云計算平臺與傳統應用模式相比,具有很多優點[7]。云計算技術與虛擬LiDAR處理產品相結合后具備以下優點:
1) 對計算資源的要求降低。一般的計算資源包含存儲資源(內外存)、CPU資源等。由于用戶的處理請求獲取到的計算資源不一定為本地的計算機,可能同時被多個計算資源處理,因此相對于傳統的單個計算節點來說,對用戶本身的計算資源要求可大幅度降低。
2) 用戶請求獲得的數據可以不受標準數據產品的約束。通常用戶只能獲得已定義好的標準數據,但這些數據不一定滿足用戶需求。利用本處理方式,用戶可根據自身需求快速對產品進行定制,標準產品單一化和用戶需求之間多樣化的矛盾迎刃而解。
3) 推進LiDAR數據處理系統朝智能化方向發展。將現有的基于單機、單作業員環境下的LiDAR專業算法移植和封裝成處理模塊,以適應新的云計算環境,使得用戶可以方便地調用云端或本地的專業算法,組合新的處理流程,同時專業處理算法的升級也非常方便快捷,只需更換相應的處理模塊即可。
當前云計算環境有兩種建設途徑可供選擇:類似于并行計算中的緊密耦合型(tightly coupled)和類似于分布式計算中的松散耦合型(1oosely coupled)。前者被認為計算節點分布在局域網內,需要處理的過程相互之間比較“接近”,通信是可靠而穩健的;后者則被認為計算節點分布于萬維網上,處于不同網段,相互間的通信成本較高,通信有可能是錯誤的或不穩健的。本文中基于現實的網絡環境和數據安全的考慮,將云計算環境建立在局域網環境下,呈緊密耦合型分布。
平臺的設計思想將集中式任務管理和分布式任務執行相結合,上層應由監控模塊、資源及任務搜集模塊、發布管理模塊和調度模塊所組成;底層采用集中式系統管理,對局域網中的計算資源及上層提交的任務進行自動管理。系統設計的重點在于解決面向云計算環境下虛擬化LiDAR數據處理運行環境面臨的一系列問題,包括數據獲取、安全、通信與監控等。系統需要能夠屏蔽網絡底層設施的異構性,可提供局域網、廣域網范圍的硬件、軟件的無縫集成,構建一個大計算量的處理環境,使用戶不必考慮軟、硬件系統的異構。經過分析研究,上述需求實現的平臺選擇在云計算開發包Condor上進行開發實現。
Condor是由美國威斯康星大學研究開發的全新的適合云計算作業的分布式處理開發包[8-9],其突出特點是利用分布在網上的閑置資源,形成一個大吞吐量的云計算環境(Condor 計算資源池),然后通過對大粒度的任務進行分解及多個子任務在云計算環境下的并行處理來加快計算任務的執行速度,具有良好的容錯性,能在計算資源發生異常的情況下,自動將當前計算節點上的計算任務遷移到其他可利用計算資源上進行。系統主要由作業管理和資源管理兩部分組成。作業管理部分負責管理用戶作業運行,用戶可以通過它了解作業隊列,提交新的作業,查詢作業完成的情況等。資源管理部分負責監視軟、硬件資源的可用情況,進行任務資源的自動分配與調度。
LiDAR數據處理中間件的設計如圖1所示。該中間件由任務信息搜集模塊、專業LiDAR處理模塊(如圖2所示)、RAW文件數據庫、任務生成模塊、產品數據庫等組成。
1) 任務參數搜集模塊:用來接受客戶提交的任務配置參數。
2) 專業LiDAR處理模塊:目前主要包含點云濾波處理模塊、DEM生成模塊、DOM生成模塊。這些模塊的內容將現有單機上的LiDAR數據處理算法拆分為一系列專業處理模塊,每一種處理算法被封裝成一個專業處理模塊,從而達到讓現有的基于單機環境下的LiDAR專業算法適應新的云環境的目的,使得用戶可以方便調用各種專業的算法及實現算法的組合。
3) RAW文件數據庫:存儲原始的LiDAR數據資源的數據庫。
4) 任務生成模塊:根據用戶提交的任務的描述,抽取要引用的專業處理模塊和相應的影像資源來組成最終的任務文件,然后自動調用提交模塊將任務提交到基于Condor的云計算池中進行處理。
5) 提交模塊:將處理任務直接或通過Web服務提交到云計算的中央管理器,實現任務提交的透明化、自動化。
6) 任務管理器模塊:根據任務屬性,將任務池中任務自動分配到最適應的計算節點。

圖1 處理中間件模型

圖2 專業處理模塊
7) 產品數據庫:存放處理成果的數據庫。
由于LiDAR數據處理過程多為逐點或逐像素處理,因此大部分LiDAR數據處理的過程可分解為若干個可以同時進行的步驟,通過該處理中間件可將傳統的線性任務轉變成適應云計算的并行化處理的子任務,從而達到提高計算速度,滿足用戶個性化需求,充分利用網絡中空余的計算資源的目的。
試驗平臺采用C++語言開發,云計算環境為Condor,測試時云計算池的配置由6臺計算機構成,其中4個節點的配置為雙核3.0 GHz的CPU,內存2 GB,另外2個節點的配置為 單核2.66 GHz的CPU,內存1 GB。一臺作為主節點,額外部署了中央管理器,因此該節點除計算功能外還承擔協調計算任務、匹配計算資源的職能。另外5臺作為普通計算節點。當配置完成后,6臺計算機都同時具有提交和執行計算任務的功能。
整個云系統通過1 Gbps的千兆局域網互聯,實際測試網絡速度最大為50 MB/s,操作系統為Windows7。專業算法模塊為點云濾波、DEM生成、DOM生成。這些算法模塊的實現無需對現有代碼進行改動,只需在其上構建遵循相應接口的功能,調用該算法庫即可,從而達到軟件算法資源的最大共享及利用。云計算的任務提交界面如圖3所示。

圖3 任務控制界面
試驗時,根據任務需求,用戶可提前設置需要調用的資源、算法模塊及處理參數,指定數據的處理順序。系統將依據任務屬性自動在云環境中匹配到當前可獲得的最優計算資源作為計算節點參與計算,從而達到充分利用計算資源、優化數據處理效率的目的。
試驗測試成果見表1、表2。表中統計的時間為了準確,均為測試三次的平均時間。

表1 各算法模塊的并行測試
常用于分析并行算法性能的指標參數是加速比(speedup)和效率(efficiency)。設定一個已知任務的串行處理算法,其時間復雜度為Ts,該任務并行處理的時間復雜度為Tp,使用處理器個數為P,則可以定義
加速比=Ts/Tp
效率=Ts/P·Tp
在采用云計算處理方式時,每次任務獲取的處理器個數是一個動態的值,因此目前通常采用加速比來衡量并行處理帶來的處理效率的提升[10]。

表2 加速比
一般加速比的值理論上不會超過處理器的個數,加速比幾乎等于處理器數目的并行處理情況也是極為少見,這是因為在任務分解后,并行處理時,LiDAR數據的傳遞和程序的響應過程將占據大量的通信開銷。
不同節點數并行處理的加速比見表2。從表2可以看出,增加處理節點數可以有效提高LiDAR數據的處理效率,但是由于數據通信時間的影響,加速比不隨著計算節點的增長呈線性增長。在試驗中,對于大數據量的影像微分糾正生成DOM的效率提升是最小的,而點云內插生成DEM的處理加速效果較為明顯,這是因為影像微分糾正處理中輸入數據與輸出數據傳輸的時間與計算所占的時間相比較大,直接導致其加速比較小;而在相同計算節點數的情況下,點云內插算法得到的加速比約為DOM處理加速比的2.4倍,這反映了在云計算環境下任務的計算量越大,需要通信的數據量越小,則加速比的提高就會越明顯。
通過上述測試可推論出,在云計算環境下可采用以下適當的策略來有效提高數據的處理效率:
1) 使計算和通信過程重疊,即在計算的同時進行通信,隱藏網絡延遲。
2) 算法分解中,注意增大計算的粒度,減少數據的交互性,以降低通信開銷。
3) 提高網絡的速度,可大幅度降低通信開銷,減輕網絡負載,直接增進整個云計算的處理速度。
云計算環境中的虛擬化組織的概念及對虛擬化組織中的各種數據、算法服務和計算資源的管理和調度,為LiDAR產品虛擬化提供了強大的載體。借助迅猛發展的網絡技術,將傳統的單機、單作業員集中式LiDAR數據處理模式轉換為基于網絡的云計算處理方式。本研究設計了適合云計算平臺的LiDAR處理中間件,通過云計算來解決數據密集型和計算密集型的處理,滿足了用戶對于個性化LiDAR產品的需求,并通過試驗分析表明,該計算平臺可有效結合各種軟件算法與硬件資源,實現LiDAR數據的自動化與并行化處理,較大地提高LiDAR數據產品的生產效率。
參考文獻:
[1] WEHR A, LOHR U. Airborne Laser Scanning——an Introduction and Overview[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 1999, 54(2-3): 68-82.
[2] 楊玲, 劉春, 吳杭彬, 等. 顧及矢量特征的機載 LiDAR 點云數據壓縮方法[J]. 地理與地理信息科學, 2009, 25(4): 25-30.
[3] DI Liping.Customizable Virtual Geospatial Products at Web/Grid Service Environment[C]∥IGARSS 2005.Seoul:[s.n.],2005:231-237.
[4] 馬洪超, 徐宏根, 狄黎平, 等. 論地球空間網格環境下的遙感產品虛擬化[J]. 武漢大學學報: 信息科學版, 2007, 32(9): 808-816.
[5] ARMBRUST M,FOX A,GIFFITH R,et al.Above the Clouds:a Berkeley View of Cloud Computing[EB/OL].[2009-10-08].http:∥www.eecs.berkeley.edu/Pubs/TechRpts/2OO9/EECS-2009-28.htm1.
[6] BUYYA R,YEO C S,VENUGOPAL S,et al.Cloud Computing and Emerging IT Platforms:Vision,Hype,and Reality for Delivering Computing as the 5th Utility[J].Future Generation Computer Systems,2009,25(6):599-616.
[7] 王鵬.走進云計算[M]. 北京: 人民郵電出版社,2009.
[8] CHASE J S, IRWIN D E, GRIT L E, et al. Dynamic Virtual Clusters in a Grid Site Manager[C]∥12th IEEE International Symposium on High Performance Distributed Computing. [S.l.]: IEEE, 2003:487-495.
[9] V?CKLER J S, JUVE G, DEELMAN E, et al. Experiences Using Cloud Computing for a Scientific Workflow Application [C]∥Proceedings of the 2nd International Workshop on Scientific Cloud Computing. [S.l.]:ACM, 2011: 15-24.
[10] 黃曉玲, 陳桂林, 趙生慧.基于云計算的并行測試方案設計與實現[J]. Computer Engineering, 2012, 38(24):41-46.