付華聯,馮 杰, 李 軍,劉 軍
(1. 成都理工大學,四川 成都 610000; 2. 中國科學院深圳先進技術研究院,廣東 深圳 518055)
遙感影像應用廣泛,如資源、環境、災害、區域、城市等各個方面[1-5]。根據國際衛星云氣候計劃ISCCP(International Satellite Cloud Climatology Project)提供的全球云量數據顯示,云覆蓋了全球60%以上的地球表面[6-7]。因此,星載遙感觀測不可避免地要進行云檢測。遙感影像在成像過程中受到云層的遮擋,導致原地物光譜失真,對影像的信息提取造成很大的影響[8]。因此,實現遙感影像云檢測與識別具有重要的意義。
風云系列氣象衛星為氣象、海洋、農業、林業、水利、航空、航海和環境保護等領域作了巨大貢獻。氣象衛星云圖中云檢測、定量判別及其計算機實現是氣象衛星云圖信息處理的主要工作。由于風云衛星云檢測方法偏少,因此需要在遙感影像云檢測的基礎上進行研究。目前遙感圖像云檢測方法眾多,文獻[9]總結了4種基本的云檢測方法:物理法、基于云的紋理和空間特性的檢測方法、模式識別檢測法、綜合優化方法。物理方法必須要找到合適的光學閾值[10-12],模式識別法依賴于正確的訓練數據集和特征的組合來確定方法的性能優劣,紋理特征[13]則可以進一步提高云識別的性能,但是沒有一種普適的特征集能識別所有的云和地面。
近年來,機器學習在生態、醫學、遙感、交通及其他領域都取得了較大的成功[14-16]。在遙感影像的數據背景下,通過對遙感影像進行訓練,通過機器學習思路能夠發掘影像潛在的復雜而又豐富的信息[17-19]。本文提出一種基于機器學習中隨機森林算法的風云衛星遙感影像云檢測方法。該方法首先使用隨機森林算法對國家氣象衛星中心(National Satellite Meteorological Centre,NSMC)FY-2G產品的訓練樣本進行訓練得到模型;然后,利用NSMC的FY-2G產品的測試樣本來測試隨機森林訓練好的模型;最后,將隨機森林(random forest,RF)云檢測方法得到的結果與大津法(Otsu)[20]、NSMC云產品數據對比分析。
隨機森林作為一種集成分類器,具有訓練樣本數量需求少、人工干預少、分類精度高的特點,可以處理高維數據并快速得到分類結果。本文充分利用NSMC的FY-2G衛星云分類結果,根據隨機森林原理在NSMC分類基礎上進行試驗,得到理想的效果;最后將隨機森林的云檢測結果與Otsu云檢測、NSMC的聚類的結果比對。
NSMC云分類生成過程分為以下幾個步驟:
(1) 分割段單位,計算大像素點的均值和方差。
(2) 對于每一個段,求出拋物線模型的參數,去除拋物線外部的像元。
(3) 提取均勻像元,分析表明大像元的方差事跡反映像元分布的均勻程度。在大像元方差的直方圖上,方差值小的一部分占較大比例。在一個段內做大像元方差的直方圖,可以得到一個最大的波峰,找到這個波峰右側的波谷作為閾值,如果得到的像元數大于段內總像元數的5%,即將此值作為均勻像元閾值;如果像元數小于段內總像元數的5%,將在直方圖上由最小值開始累加像元數,直至得到的像元數超過總像元數的5%,以此作為閾值。根據最后得到的閾值,就可以得到段內的均勻像元。
(4) 對于均勻像元,可以用直方圖進行分析、分類處理。首先分析水汽直方圖,得到相應的類別;然后對每個類別用紅外直方圖作進一步分類,將均勻像元劃分到多個類別中。直方圖分析涉及直方圖平滑、波峰波谷自動識別、容錯處理等步驟。
(5) 使用最小距離法將剩余的像元歸入相應的類別中。
(6) 根據紅外-水汽散點圖的斜率,將已獲得的各類別標定為具體的云類。
(7) 由于按照段區域分割,可能會造成兩個相鄰段之間云類的不連續,因此最后要進行段間云類的重新匹配處理。
RF算法是一種基于分治思想的集成學習策略,針對回歸樹(CART)的多分類器模型。RF由大量決策樹構成,每棵樹都依賴于一個隨機向量,其中所有的向量都是獨立同分布的。每棵樹進行獨立分類運算得到各自的分類結果,根據每棵樹的分類結果投票決定最終的結果。
在RF算法中,首先需要定義兩個參數n和m,其中n代表決策樹的數量,m代表分裂每個節點上屬性特征的數量。首先,從原始訓練樣本集中抽出n個樣本,剩余數據對分類誤差進行估計;然后,把每個樣本集作為訓練集生成單棵決策樹,在樹的每個節點處,從特征變量中隨機選m個特征變量作為預測變量,從中選出一個最優的特征變量進行分類。RF采用分類與CART算法來生成決策樹。在CART算法中,每個節點根據基尼指數(GINI Index)來選擇最佳分裂樹形,對于給定的訓練集,基尼指數公式如下

(1)
式中,T為學習器{h1,h2,…,hT}集合的個數;f(CiT)/T為所選類屬于Ci的概率。
GINI指數可以衡量類間差異性,當GINI指數增加時,類間的差異性增加;反之,類間差異性減少。如果子節點的基尼指數小于父節點,則分裂該節點。當GINI指數為0時,終止分裂,一類被分離出來。當n個決策樹生成森林時,用這n個決策樹的預測結果來預測新的數據集。

(2)
在FY-2G衛星云檢測中,首先從NSMC云檢測結果中隨機選取一定數量具有代表性的像素點組成總訓練樣本集,利用自舉重采樣(boot-strap)方法,隨機產生訓練集(即采用有放回的方式從總訓練集中抽取N次組成新的訓練集);然后選取合適的特征作為分類屬性,利用每個訓練集,生成對應的決策樹用于分類;最后將影像的所有像素點作為測試樣本,組成測試樣本集,利用每個決策樹對各個像素點進行分類。采用式(2)的投票方法,將決策樹輸出最多的類別作為測試機樣本所屬的類別。
1.3.1 數據獲取
本文采用從NSMC下載的2015年6月3日8:00—11:00時刻FY-2G衛星的HDF5格式全圓盤圖。試驗中使用其可見光波段、紅外1波段、紅外2波段、紅外3波段、紅外4波段5個波段的數據,其中可見光波段的波長范圍為0.55~0.9 μm,星下點分辨率為1.25 km;紅外1波段的波長范圍為10.3~11.3 μm,星下點分辨率為5 km;紅外2波段的波長范圍為11.5~12.5 μm,星下點分辨率為5 km;紅外3波段的波長范圍為6.3~7.6 μm,星下點分辨率為5 km;紅外4波段的波段范圍為3.5~4.0 μm,星下點分辨率為5 km。
1.3.2 隨機森林的參數選取
隨機森林在處理FY-2G影像云檢測時兩個主要的影響參數為:生成一棵決策樹所隨機選取的屬性特征數量(簡稱特征數量)m和最終生成的決策樹數量n,選擇最佳的分類影響參數,可以提高分類的準確性。實現隨機森林算法,m的大小關系到遙感影像分類時構建出的決策樹能力強弱及決策樹之間的相關性。隨機森林中決策樹的數量n決定了隨機森林得票數和準確率,依據大數定理,當n增加時,模型泛化誤差收斂。隨機森林選擇屬性特征的過程為:①計算每個特征的重要性,并按降序排序;②確定要剔除的比例,依據特征重要性剔除相應比例的特征,得到一個新的特征集;③用新的特征集重復上述過程,直到剩下m個特征(m為提前設定的值);④根據上述過程中得到的各個特征集和特征集對應的袋外誤差率(out of band,OOB),選擇袋外誤差率最低的特征集。
本文為了找到最佳的m和n值,選擇了多個參數的組合進行試驗,在抽樣過程中,采用袋外數據進行內部誤差估計,產生OOB誤差,OOB被用來預測分類的正確率。通過比較不同組合的OOB(準確度),來選擇最佳的屬性特征數量值和決策樹數量。
1.3.3 訓 練
本文基于NSMC的云檢測結果,采用隨機森林進行訓練的步驟如下:
(1) 選取樣本。訓練樣本是整個待分類區的具有代表性的樣本,樣本的選擇影響分類的精度,為了避免選擇的樣本對分類精度的影響,訓練樣本不但要保證典型性,還要保證隨機性。本文從NSMC云分類產品中隨機選取200 000個有云像素點和200 000個無云像素點作為訓練的原始訓練樣本。
(2) 選取訓練特征。為了提高隨機森林的模型預測能力,本文對訓練樣本作了一定的增強處理,即除了選取當前像素點外,還選取了該像素的3×3鄰域內的所有像素構成訓練樣本。這樣做的理由是本文認為樣本點附近的3×3鄰域的點與樣本點有一定的親和性,具有很大程度的可信度。最終選取樣本的5個波段像素點的灰度值、5個波段灰度值對應的均值和方差,以及云和非云的標記作為訓練特征。
對于第i個樣本點,其對應的訓練樣本格式如下
〈x1,x2,…,x45,x46,…,x55〉i,yi
(3)
式中,x1~x45為5個波段中每個樣本點3×3鄰域9個像素的灰度值;x46~x55為5個波段樣本點灰度值對應的均值和方差;yi為該樣本點為云或非云的標記。
1.3.4 測 試
將測試樣本數據作為輸入,輸入到訓練完成的隨機森林模型,測試其分類的結果。選取測試數據時,首先對FY-2G數據每幅影像的5波段影像的每一個像素點選取其鄰域的灰度值,構成測試數據的輸入;其次基于隨機森林訓練得到的模型,判斷該測試數據的輸入所屬的類別,0表示無云,1表示有云;最后對所有像素點遍歷執行上述操作,得到最終的云檢測結果。
試驗使用的遙感數據來源為NSMC的FY-2G衛星的HDF5格式全圓盤圖,計算機配置為Intel(R) Core(TM) i5-6300HQ CPU @2.3 GHz 2.3 GHz,4 GB內存。FY-2G云檢測的分類結果以國家氣象衛星官方公布的云分類產品數據為準。由于目前沒有完全真實的云檢測結果,本文以NSMC的云檢測結果作為真值,將試驗結果與NSMC的云分類結果進行對比。
本文使用命中率(probability of detection,POD)、誤報率(false alarm ratio,FAR)和臨界成功指數(critical success index,CSI)來評價該試驗效果。各個評價指標的計算公式為
(4)
式中,NH表示FY-2G的云檢測結果和NSMC云產品中都為云的像素點頻數;NM表示FY-2G云檢測結果中無云而NSMC云產品中有云的像素點頻數;NF表示FY-2G云檢測結果中有云而NSMC云產品中無云的像素點頻數。
圖1為FY-2G衛星2015年6月3日的9:00的圖像及各個方法的云檢測結果圖。圖中,白色表示云,黑色表示非云。將圖1(a)、(b)與(c)對比可知,Otsu云檢測結果存在大面積的錯檢、漏檢,造成錯檢的原因是沒有選取到合適的閾值,將部分非云區域錯判為云。圖1(d)是隨機森林云檢測結果,從圖像上看很接近NSMC云檢測結果,由圖像的C區域可以看出,NSMC的云檢測結果存在部分水體誤判為云的情況,隨機森林能夠正確地標識誤判區域。
圖2(a)—(d)為圖1(a)中A區域可見光通道圖像、NSMC云檢測圖像、Otsu云檢測圖像、RF云檢測圖像;圖2(e)—(h)為圖1(a)中B區域可見光通道圖像、NSMC云檢測圖像、Otsu云檢測圖像、RF檢測圖像;圖2(i)—(l)為圖1(a)中C區域可見光通道圖像、NSMC云檢測圖像、Otsu云檢測圖像、RF檢測圖像。
將圖2(a)—(d)對比可知,Otsu云檢測存在大面積的錯檢和漏檢,部分非云區域誤判為云。基于RF云檢測方法與NSMC云檢測結果基本一致,且能將一些含云量較小、薄云低云部分正確標記出來;將圖2(e)—(h)對比可知,NSMC云檢測將含云量較稀疏的地方標記成連續成片云,而RF的結果能正確標記;由圖2(i)—(l)可知,NSMC云檢測將部分水體誤判為云,隨機森林能較好地正確區分云和水體。
圖3為FY-2G衛星2015年6月3日11:00圖像的各個云檢測方法得到的結果圖。將圖3(b)、(c)、(d)對比可知,Otsu云檢測結果相比NSMC云檢測結果存在誤判,而RF云檢測結果與NSMC云檢測結果接近,說明本文的方法可行。
圖4(a)—(d)為圖3(a)中A區域可見光通道圖像、NSMC云檢測圖像、Otsu云檢測圖像、RF云檢測圖像;圖4(e)—(h)為圖3(a)中B區域可見光通道圖像、NSMC云檢測圖像、Otsu云檢測圖像、RF云檢測圖像;圖4(i)—(l)為圖3(a)中C區域可見光通道圖像、NSMC云檢測圖像、Otsu云檢測圖像、RF云檢測圖像。
圖4(b)—(d)中,RF云檢測與NSMC云檢測結果比較接近,RF云檢測將部分少檢的區域標記出來;圖4(f)—(h)中,Otsu云檢測將部分非云區域錯判為云,NSMC云檢測將部分非云區域誤判為云區,RF云檢測能夠比較準確地標記NSMC誤判的區域;將圖4(j)—(l)比較可知,RF云檢測在部分區域優于NSMC的云檢測結果。
計算Otsu、RF云檢測結果的命中率(POD)、誤報率(FAR)、臨界成功指數(CSI)3個評價指標,見表1。
由表1可知,FY-2G衛星在2015年6月3日上午8:00—11:00,Otsu云檢測的命中率(POD)比較低,誤報率(FAR)偏高,臨界成功指數(CSI)均在50.31%以下,而且Otsu云檢測結果和NSMC云檢測結果的臨界成功指數為30%~50%。而RF云檢測誤報率(FAR)相比Otsu云檢測的誤報率(FAR)較低。RF云檢測結果和NSMC云檢測結果的臨界成功指數(CSI)為78.16%~80.14%,比Otsu云檢測結果提升了很多。試驗結果表明,該方法提高了云檢測的精度,有效解決了云漏檢、錯檢。
本文提出了基于隨機森林的云檢測方法,并應用于FY-2G影像,而且將其云檢測結果、大津法云檢測結果與國家氣象衛星中心云檢測結果進行比較。從整體來看,隨機森林算法能夠在一定程度上標識國家氣象衛星云檢測產品中的錯檢區域。試驗結果表明,該方法具有一定的優勢:準確率高,對于不同類型的云均有較好的檢測結果。本文方法能在一定程度上改善云的錯檢和漏檢,提高云檢測精度。但筆者僅僅將FY-2G影像有限的鄰域灰度值特征用于訓練,取得了較好的云檢測結果,下一步的研究將集中于完善隨機森林模型,更進一步提高云檢測精度。