袁昱緯,王長力,夏明卓
(中國人民解放軍91977部隊,北京 100036)
隨著成像衛星的時間分辨率不斷增加,多時相衛星影像的應用領域也逐漸擴展,主要包括地物分類[1-3]、信息提取[4-6]和變化檢測[7-8]等。應用過程中,對多時相衛星影像的存儲開銷和檢索讀取效率的要求越來越高,但衛星影像規模大、時相多,如何合理、高效地組織管理多時相的衛星影像已經成為工程應用中亟待解決的問題。
賀佑等[9]基于地圖API實現了多時相衛星影像的在線瀏覽,存儲和管理依賴于特定數據庫和API,效率無法進一步優化;郭紅燕等[10]對多時相衛星影像進行分級管理與訪問,但缺乏統一的存儲組織標準;李峰等[11]提出了多時相影像區域覆蓋最優數據集的方法,能夠在限定條件下獲取最優數據集,節省數據篩選時間。基態修正模型是組織管理多時相地理空間數據的基礎模型之一,霍亮等[12]提出基態修正模型的增量更新機制,但僅限于地理空間中的矢量數據;侯平等[13]在基于事件的基態修正模型中,采用變化檢測構建不同時相影像間的差文件,僅存儲變化值大于閾值的影像區域,減小存儲開銷,但在獲取較新時刻影像時讀取差文件和拼接操作較多;龍際夢等[14]等通過對7種典型的基態修正模型改進方法進行對比分析,提出了多基態多級差的模型結構,存儲和檢索效率較高,但沒有考慮多分辨率影像數據的組織與存儲;Heyer等[15]構建了多時相火星觀測影像數據庫,具有較高的多時相影像管理效率,但沒有論述數據組織的具體方法;Hu等[16]通過動態建立基態的方式改進了基態修正模型,提高了訪問檢索效率,但未對基態之間的距離進行優化。
本文根據用戶對不同時相衛星影像訪問檢索量的不同特點,調整多基態修正模型構建順序,通過區分不同時期衛星影像和考慮用戶突發關注,構建不同的多基態修正模型,兼顧不同時相的數據存儲開銷和訪問讀取效率,并應用于影像金字塔模型中,提出一種改進的多時相衛星影像金字塔模型及組織方法。
地理時空數據模型是組織管理多時相地理空間數據的基礎模型,能夠將多時相衛星影像統一組織在一體化的數據模型中。多基態修正模型作為地理時空數據模型的典型代表,該模型僅存儲若干指定時刻的完整數據(稱為基態文件),以及后續時刻與對應基態文件的變化數據(稱為差文件),如圖1所示,任意時刻的完整數據,可通過將基態文件及對應的若干差文件進行疊加獲得。基態文件之間的距離稱為基態距。

圖1 多基態修正模型示意Fig.1 Schematic of multi-base-state amendment model
訪問檢索效率和模型存儲開銷與基態距的選擇、差文件數量和計算方式息息相關。基態距越短,獲得完整數據所需的差文件數量越少,計算越簡單,數據訪問和檢索效率越高,但一般會造成更多的冗余存儲;基態距越長,獲得完整數據所需的差文件數量越多,計算越復雜,數據模型的存儲開銷越小,但訪問和檢索效率一般會受到影響。因此,針對不同應用的需求特點,應當選擇不同結構的多基態修正模型。
考慮到用戶對多時相衛星影像的檢索和瀏覽往往存在“厚今薄古”的特點,用戶最先瀏覽和更加關注的往往是最新時刻的衛星影像,歷史時刻的衛星影像數據隨著時間的推移,瀏覽量和關注程度逐漸下降。因此,在采用多基態修正模型獲取給定時刻的完整影像數據時,較新時刻的衛星影像應當具有更高的檢索和差文件疊加效率,以及更小的訪問時間開銷;相反,時間越久遠的衛星影像數據可以通過犧牲一定的檢索訪問效率,實現更小的數據冗余和存儲開銷。
傳統多基態修正模型一般選取起始時刻作為基態,后續時刻與其之前最近基態文件的變化部分作為差文件,而本文在構建多基態修正模型時,為了提高最新時刻衛星影像的訪問檢索效率,選取當前最新時刻影像數據作為基態,差文件為各時刻與其后續最近基態的變化部分,如圖2所示。當有更新時刻衛星影像數據需要加入模型時,則以更新時刻的衛星影像作為基態,原基態修正為與更新時刻衛星影像的差文件。采用上述構建方式,由于最新影像數據即為數據模型的基態,無需讀取差文件和疊加操作,檢索讀取效率較高,能夠獲得更好的用戶體驗。

圖2 采用最新時刻作為基態的構建方向示意Fig.2 Schematic of construction direction using the latest time as base state
根據多時相衛星影像“厚今薄古”的檢索量和瀏覽量特點,本文將多時相衛星影像按照近期和遠期分為2類,通過選取不同基態距分別構建多基態修正模型,以獲得不同的訪問檢索效率和存儲冗余程度。近期衛星影像對應的多基態修正模型選取較短的基態距或退化為序列快照模型,以一定的存儲空間為代價,獲得較高的訪問和瀏覽效率,稱為在線庫;遠期衛星影像對應的多基態修正模型選取較長的基態距,以犧牲一定的訪問和瀏覽效率,獲得更小的數據冗余和存儲開銷,稱為離線庫,如圖3所示。在線庫中的衛星影像在積累一段時間后,可根據實際情況將部分衛星影像更新至離線庫中。

圖3 在線庫與離線庫的多基態修正模型示意Fig.3 Schematic of multi-base-state correction model of online and offline library
同時,多時相衛星影像的訪問和瀏覽易受突發事件、用戶關注區域的變化而變化,部分歷史時刻的衛星影像會偶爾出現訪問量增加、檢索效率需求臨時增高的現象,若這些時刻的歷史衛星影像不處于多基態修正模型的基態上,訪問檢索效率與在線庫的衛星影像相比明顯降低。因此,為滿足因用戶突發關注造成的訪問量增加和檢索效率臨時增高的需求,本文在離線庫和在線庫的基礎上增加臨時基態,即在用戶突發關注的時刻通過其對應基態和差文件疊加操作,將該時刻構建為基態,如圖4中的灰色矩形所示。當用戶訪問量減少、檢索效率需求降低時,臨時基態恢復為差文件。由于臨時基態的臨時性,本文將其單獨組織管理,不作為基態存儲于原有的數據模型中。

圖4 臨時基態示意Fig.4 Schematic of temporary base state
影像瓦片和金字塔模型是管理大規模衛星影像的主要方式,通過采用多分辨率的組織方式,能夠有效提高大規模衛星影像的多分辨率訪問檢索效率和局部訪問檢索效率,是衛星影像應用的典型數據結構[17]。本文在傳統影像金字塔模型的基礎上,引入多基態修正模型的擴展,以管理多時相的衛星影像瓦片。
采用擴展的多基態修正模型的多時相影像金字塔如圖5所示。

圖5 采用擴展的多基態修正模型改進的多時相影像金字塔示意Fig.5 Schematic of multi-temporal image pyramid improved by using extended multi-base-state amendment model
過程如下:
① 將多時相衛星影像按照時序分為近期影像和遠期影像2類,構建影像瓦片和金字塔模型,分別對應在線庫和離線庫。
② 在線庫的構建。以金字塔模型底層為例,最新時刻的衛星影像瓦片作為多基態修正模型的基態,存儲于金字塔模型底層的對應分塊中,金字塔模型中高層級的影像瓦片,通多對下一層級對應區域的影像瓦片重采樣得到。對于最新時刻之前的衛星影像瓦片,在進行預處理后(包括影像配準、輻射校正等),通過差值法、主成分分析法和聚類法等變化檢測算法[18]構建多基態修正模型。變化檢測未超過閾值的影像瓦片,在多基態修正模型不進行存儲,僅進行標記,以表示該區域存在衛星影像;變化檢測超過閾值的影像瓦片,則將變化檢測產生的差文件存儲于多基態修正模型中。金字塔模型高層級的多基態修正模型與低層級的構建方法一致。金字塔結構的每個層級對應一個多基態修正模型。基態距在存儲空間允許的條件下盡量減小,以提高影像瓦片的檢索訪問效率。
③ 離線庫的構建。離線庫對應金字塔模型的構建方式與在線庫相同,但在多基態修正模型的基態距選擇上有所區別。離線庫的基態距在兼顧訪問和瀏覽效率的前提下盡量增大,以減少衛星影像數據的冗余存儲,降低存儲開銷。
④ 臨時基態的構建。當用戶對特定時刻歷史影像的訪問和檢索效率需求臨時增高時,則構建臨時基態。臨時基態為對應時刻的完整衛星影像數據,可通過金字塔模型中對應多基態修正模型的基態和差文件疊加獲得。為便于臨時基態的構建和刪除,臨時基態單獨構建金字塔模型,不打破原有在線庫和離線庫的金字塔模型結構及其對應的多基態修正模型。
① 新時刻衛星影像加入在線庫
當新時刻的衛星影像需要加入在線庫時,則以更新時刻的衛星影像作為基態,影像分塊及多分辨率重采樣后,將影像瓦片直接存儲于金字塔模型對應層級多基態修正模型的對應時刻,作為最新基態。原基態對應的影像瓦片與新時刻的影像瓦片進行變化檢測并形成差文件,差文件存儲于原基態的對應位置,如圖6所示。

圖6 新時刻衛星影像加入在線庫流程示意Fig.6 Flow chart of adding satellite images to online library at new time
② 在線庫更新至離線庫
在線庫中較早時刻的衛星影像在訪問和檢索量下降至一定程度后,或者當在線庫的存儲開銷大于一定閾值時,在線庫中較早時刻的衛星影像可根據實際情況切換至離線庫中。切換過程中,先通過差文件與對應基態文件疊加的方式恢復這些時刻對應的完整影像瓦片,再通過與新時刻影像加入在線庫相同的方式加入離線庫,如圖7所示。

圖7 在線庫更新至離線庫流程示意Fig.7 Flow chart of updating online library to offline library
本文采用Visual Studio 2015開發環境,在QGIS開源代碼的基礎上,設計并實現了一個多時相衛星影像存儲管理原型系統。實驗影像來源于Esri ArcGIS和Google Earth,衛星影像數據量約23.6 GB,共9個不同時相,時間跨度為2014年2月—2021年11月,衛星影像的局部樣例如圖8所示。

圖8 多時相衛星影像示例Fig.8 Example of multi-temporal satellite image
在應用實例中,將最新3個時相的衛星影像作為在線庫,多基態修正模型的基態距設置為2個時相,其余6個時相的衛星影像作為離線庫,多基態修正模型的基態距設置為4個時相,并選取離線庫中的第2個時相作為臨時基態。采用本文提出改進的多時相影像金字塔模型進行數據組織后,最新衛星影像讀取結果如圖9(a)所示,在線庫中次新時刻衛星影像的讀取結果和其差文件對應區域示意圖如圖9(b)所示。離線庫中的臨時基態對應影像讀取結果如圖9(c)所示。

(a) 最新時刻衛星影像讀取結果
通過上述實驗,驗證了本文提出算法的可行性。在對不同時相的衛星影像進行讀取和瀏覽時,雖然會損失部分變化較小的歷史影像,但能夠保留不同時相主要的影像信息。由于在線庫、離線庫分別采用不同的基態距,在線庫能夠獲得相對較高的讀取效率,離線庫能夠實現相對較低的存儲開銷。
根據多時相衛星影像“厚今薄古”的檢索瀏覽特點,采用最新時刻衛星影像作為基態、前序時刻作為差文件的多基態修正模型構建順序,將多基態修正模型擴展為在線庫、離線庫,通過分別采用不同基態距的多基態修正模型兼顧不同時相的數據存儲開銷和訪問讀取效率需求,同時根據用戶偶發的關注構建對應時刻的臨時基態,提高關注時刻歷史衛星影像的訪問讀取效率。將擴展的多基態修正模型應用于多時相影像金字塔模型中,在線庫、離線庫和臨時基態分別進行數據組織,并提出了多時相衛星影像金字塔的構建和更新方法,為大規模多時相衛星影像的組織管理提供了新的可行途徑。此外,為進一步減少多時相衛星影像的冗余存儲,提高瀏覽時的效率和可視化效果,不同時相間的影像壓縮算法值得進一步研究。