孫舜蓉
?。üI(yè)和信息化部電信設備認證中心,北京 100088)
摘要:為了滿足遙感衛(wèi)星實時云檢測要求,提出了一種基于光譜角的云檢測算法。首先在多光譜譜段構成的歐式空間中構造參考云矢量;然后計算圖像中各像元矢量與參考云矢量的光譜角,對光譜角進行高斯濾波生成云掩膜;最后計算得到圖像中云量百分比。利用該算法對156景人工標注過的LandSat7有云圖像進行云檢測,結果表明本文算法云檢測整體精度能到達83.6%,平均執(zhí)行速度為360 ms。本文算法原理簡單,執(zhí)行速度快,檢測效果好,具有星上實時應用潛力。
中圖分類號:P407.8文獻標識碼:ADOI: 10.19358/j.issn.1674-7720.2017.06.006
引用格式:孫舜蓉. 一種基于光譜角原理的多光譜遙感圖像云檢測算法[J].微型機與應用,2017,36(6):16-18,21.
0引言
未來的遙感衛(wèi)星將向著更高空間分辨率、更高時間分辨率、更高光譜分辨率以及更高輻射分辨率的方向發(fā)展,這將導致圖像數據量的成倍增長,給星上硬件資源帶來巨大壓力。中國科學院地理空間數據云系統(tǒng)[1]對2014年1月1日到2015年1月1日的Landsat 7 ETM+ 湖北省的135景圖像進行云量統(tǒng)計,結果見表1所示。若定義云量小于5%的圖像為干凈圖像,則該比例僅為20%,即80%的圖像都或多或少地被云圖污染。云量在80%以上的圖像55景,占總圖像的40.78%,這部分圖像屬于云圖嚴重污染圖像,基本上沒有應用價值,因此可以不需要從衛(wèi)星下傳到地面。同樣的結論可以從CNES(法國空間研究中心)對SPOT5圖像的統(tǒng)計中得到。地面神經網絡分類器對SPOT5圖像分類結果表明80%以上為“有云”。
除氣象衛(wèi)星外,云圖在高分辨率遙感圖像中有害無益,一是污染圖像,對地物識別造成困難;二是占用了大量寶貴的運算和存儲資源;三是占用有限的傳輸帶寬。這三方面使得相機有效成像時間縮短,極大地限制了衛(wèi)星的成像能力。因此,開發(fā)星上實時高效的云檢測算法勢在必行。星上可根據云量的檢測結果對原始圖像進行針對性的處理,可以有效改善衛(wèi)星成像效率,然而星上云檢測遠不如地面云檢測成熟。
云檢測算法在文獻[2]、[3]中得到很好的歸納總結??傊?,現有算法具有以下特點:
?。?)云判算法多為地面應用,發(fā)展比較成熟,但星上實時云判研究較少。
(2)單譜段云圖檢測基于圖像閾值、圖像紋理進行云判別。由于云千變萬化,云檢測分類器往往難以區(qū)分與云具有相似紋理的冰雪下墊面。
?。?)云檢測算法針對特定的傳感器進行量身定制,還沒有一種云檢測算法能適應所有類型的傳感器。
?。?)地面算法較為復雜,不適合直接移植到星上應用,基于光譜和紋理的分類思想具有借鑒意義。
本文在分析云和典型地物的光譜反射率特性的基礎上,給出利用光譜角進行云檢測的算法原理和步驟,然后對比自動云覆蓋評估算法,給出云檢測結果以及代碼執(zhí)行效率,最后給出分析結論。
1算法原理及實現流程
不同地物由于物理特征的不同,各自具有獨特的光譜反射特性。圖1為云和典型地物的光譜反射率曲線。由圖1可見,在0.4μm ~0.9μm可見光區(qū)域,云具有相對高的反射率,但是比冰雪低;在1.4μm以上的短波紅外譜段,云的反射率比冰雪、土壤和植被的反射率都高。多光譜探測器的光譜響應在其譜段范圍內響應是近似線性的,那么,典型地物反射率曲線等價于探測器對地物的光譜響應曲線,也就是說地物反射率越高,表現為圖像的量化值越大。而且,譜段越多,光譜分辨率越高,描繪的光譜曲線越完整,利用發(fā)射率信息對地物的區(qū)分度就越高。本文提出一種利用光譜矢量表征地物,進而利用光譜矢量與標準地物參考矢量之間的相似性,即光譜角的大小和矢量長度來對地物進行分類的方法,原理描述如下。
對于具有n個譜段的多光譜圖像,圖像像元可用n維矢量來表示,例如圖2中的Pi。假設Pr為某地物參考矢量,若Pi與Pr的指向相近,且長度也相近,則可以認為Pi與Pr相似。Pi的長度可以通過對Pi的求模操作即|Pi|來得到,而Pi與Pr間的光譜角可用如下數學表達式得到:
αi=arccos(Pi·Pr/|Pi|·|Pr|)(1)
式中:αi為圖像像元矢量與參考像元矢量之間的夾角,即光譜角,代表了光譜響應的相似性,其變化范圍是[0,π/2]。Pi·Pr為矢量點乘操作,|Pi|表示Pi的長度,|Pr|表示Pr的長度。光譜角度越小,同時矢量長度越接近,則被估計像元的光譜響應與參考像元的光譜響應就越相似,參考物與被估計像元為同一類型的概率就越高。如圖2所示,假設圖像有3個譜段,分別用i,j,k表示,αi就是像元Pi與參考像元Pr之間的光譜角。
基于光譜角的云檢測流程如圖3所示。
基于以上分析,提出基于光譜角的云檢測算法如下:
(1)計算遙感圖像某像元Pi與云參考像元Pr的之間的光譜角,見式(1)。
(2)為了利用矢量的長度信息,構造一個包含像元Pi矢量與云參考像元Pr矢量長度的高斯濾波器,對αi進行濾波,即乘以一個高斯權重系數GsCoef,該權重系數由式(2)得到,范圍是(0,1 ]。高斯系數的作用是給那些矢量長度與參考像元矢量長度接近的像元賦予較大的權重,直觀解釋就是矢量長度相近的像元更有可能是同一類地物。濾波結果為Cgsi,其范圍是(0,1]。
GsCoef=e-((|Pi|-|Pr|)2/(0.35·|Pr|2))(2)
Cgsi=GsCoef*(π-αi)/π(3)
(3)取適當的閾值對Cgsi進行二值化,即當minThreshold<Cgsi<=maxThreshold時,該像元Ci為云,否則非云。其中minThreshold為最小閾值,maxThreshold最大閾值。
if (Cgsi>minThreshold && Cgsi<=maxThreshold)
Ci=1;//該像元判斷為云
else
Ci=0;//該像元判斷為非云
(4)重復步驟(1)~(3),依次完成所有像元檢測,生成云掩膜。統(tǒng)計云像元所占比例,為后續(xù)處理做好準備。
2實驗結果
為了便于比較,本文利用開源遙感圖像處理軟件Grass7.0提供的自動云評估ACCA算法C++代碼,與文中的光譜角云檢測算法C++代碼,從整體檢測精度(Cloud Overall Accuracy, COA)以及執(zhí)行速度上進行比較。計算平臺為:Lenovo Windows 7 64 bit PC; Intel Core i52520 @2.5 GHz CPU; 4.00 GB RAM。
從美國地質調查局網站得到156景經過人工標注的Landsat7圖像,作為本文云檢測精度評價的標準圖像。此156景數據分布在9個不同的緯度區(qū)域,對不同地域的云分布有一定統(tǒng)計意義,同時它們是文獻[3]中所采用的212幅人工標注圖像的子集。在這156景8 bit量化的遙感圖像中,圖像專業(yè)分析人員利用Photoshop中的圖像套索工具一點點地分離云和非云像元。
綜合考慮檢測精度和運算速度,本文取Landsat7中的Band1(450~515 nm),Band3(630~690 nm),Band4(750~900 nm),Band5(1 550~1 750 nm)作為試驗對象,利用這四個譜段構造光譜角進行云檢測。同時,為了更好地模擬在軌實時處理過程,利用從原始圖像截取的1 024像元×1 024像元大小的含不同云量的圖像進行試驗。云參考矢量Pr取(225,215,182,168),minThreshold取0.6,maxThreshold取1,比較結果如圖4~6所示。
對于參考圖像,ACCA算法耗時較長,平均耗時為2 299.6 ms。耗時曲線中顯示對不同的圖像,耗時相差較大,這是因為ACCA算法針對不同的地物采用不同的算法分支,而某些分支中包含有循環(huán)處理。SA執(zhí)行速度很快,平均耗時僅為361.1 ms。
圖7是帶云的原始圖像,圖8是人工標注的云圖像,圖中,云標注為全白,非云地物為全黑。典型的ACCA云檢測結果如圖9所示,SA檢測結果如圖10所示。整體檢測精度分布如表2所示,可知ACCA的整體檢測精度達到89.05%,高于SA算法的83.6%。對檢測誤差較大的圖像進行分析發(fā)現,高緯度地區(qū)覆蓋的冰和雪常被誤檢為云,因為冰雪反射率與云接近,且具有較高亮度;對薄云的漏檢在兩種算法中均存在,SA算法相對較嚴重。
3結論
分析可知,SA的檢測精度略低于ACCA,但是仍然高于83%。最為關鍵的是,SA算法執(zhí)行時間僅為ACCA算法執(zhí)行時間的1/6,這在實時圖像處理中尤為重要。對于高緯度地區(qū)SA算法的過檢問題,可以針對高緯度地區(qū)的冰雪特點,適當調高閾值,提高檢測精度。在軌應用時,一些實際問題例如圖像的輻射校正、幾何校正、圖像匹配等問題需要加以考慮。
參考文獻
[1] 侯舒維, 孫文方, 鄭小松. 遙感圖像云檢測方法綜述[J]. 空間電子技術, 2014, 11(3).6877.
?。?] TAPAKIS R, CHARALAMBIDES A G. Equipment and methodologies for cloud detection and classification: a review[J]. Solar Energy, 2013,95(5): 392430.