邱 夢,尹浩宇,陳 強,劉穎健
(中國海洋大學 計算機科學與技術系,山東 青島 266100)(*通信作者電子郵箱liuyj@ouc.edu.cn)
國際衛星云氣候計劃(International Satellite Cloud Climatology Project, ISCCP)提供的數據表明,在使用衛星遙感技術獲得的地球信息中,地球表面50%以上被云覆蓋,云量占了很大的比率。云是一種重要的氣候要素,云數據的收集和有云區域的檢測可以幫助分析天氣情況、環境變化,了解氣候特征,對海表/地表大氣研究以及海表/地表反演工作有很重要的意義。對云的檢測與分類可以幫助有效防范與云相關的自然災害,如臺風、暴雨、雷電等,以減少生命財產損失。在某些研究領域,如海表溫度反演,大量云的存在會影響遙感數據的可用性,從而降低數據的利用率, 因此,云檢測問題已經成為衛星遙感數據應用首要解決的問題,做好云檢測工作能為后續云剔除、云分類以及其他領域遙感數據的應用打下堅實的基礎。
傳統的云檢測方法主要以閾值分割方法為主,云在可見光和近紅外光譜中表現的特性是高反射率低亮溫,利用這一特性,可以選擇合適的閾值確定像素上是否有云[1-2]。隨著遙感數據數量和種類的增加以及對云檢測精確度要求的不斷提高,固定閾值方法已經無法滿足要求。動態閾值相對于固定閾值具有更好的靈活性、適應性以及可擴展性,出現了一些自動分割或自動閾值云檢測方法[3-4]取代原有的固定閾值方法, 但是總體來說,目前已有的動態閾值方法自動化程度仍然較低,很難滿足云檢測的需要。 另一類傳統云檢測方法主要是根據云的紋理、形狀、灰度等物理特征來進行分類。支持向量機(Support Vector Machine, SVM)[5]、Bag-of-Words 模型[6]、貝葉斯時空算法[7]以及逐步求精算法[8]等分類算法在云檢測方面得到了較好的應用, 但是依據云的物理特征進行分類時,計算量大且較為復雜,需要的數據種類也較多。近年來,一些新興的智能方法開始應用于云檢測領域,主要是利用深度學習神經網絡(Neural Network, NN)進行分類[9-10],綜合多種算法模型也成為新的趨勢[11-13]。新興的智能云檢測方法相對傳統檢測方法自動化程度得到了一定的提升,但是泛化能力相對較弱,尤其在數據受冰雪影響較大時,檢測結果會產生較大偏差。
為了解決云檢測領域存在的上述問題,本文首先針對云的遙感特性以及遙感數據特點進行分析,找出合適的判據以及判斷方法,進行云的二值分割工作; 然后將深度置信網絡(Deep Belief Network, DBN)與最大類間方差法Otsu相結合,提出一種自動云檢測算法框架DOHM(DBN-Otsu Hybrid Model),采用自適應閾值代替傳統人工標定固定閾值,從而實現云檢測的全自動化。通過與SVM、概率神經網絡(Probabilistic Neural Network, PNN)、神經網絡(NN)、樸素貝葉斯分類器(Bayes)和普通DBN算法等5種常用方法進行實驗對比,無論從可視化定性分析還是定量分析的角度,DOHM算法的云檢測結果均表現最優。
在多光譜掃描輻射計得到的遙感數據中,每個像素點(Pixel)上的信息是該點的輻亮度信息,顯示了在一定譜段內該像素點單位面積的輻射能量。組成成分不同,在光譜譜段的反射率等參數就會不同,所以可以利用這些特征來區分云和其他物質,具體可以利用以下三種特性:
1) 對比度特性(Contrast Signature), 利用不同成分在太陽光光譜波段(0.3~3 μm)的反射性能不同和在熱紅外波段(3~20 μm)紅外輻射不同來區分不同的物質,反射性能與成分有關,紅外輻射與溫度有關。在本文涉及的海域上空云檢測中,云和海表的反射率差距較大,相對于海表,云的反射率很高,在熱紅外波段,海表和云的亮溫明顯不同,利用這一點可以進行云區域的檢測。
2) 光譜特性(Spectral Signature), 主要是同一種物質在不同波段的反射率有一定的區別,在熱紅外波段反射率隨波長變化。云在每個波段的反射率較為均勻,但薄云在短波光譜段上反射率較強。
3) 空間特性(Spatial Signature), 主要是指不同物質在空間上表現出不同的變化規律。海表在面積幾千平方公里的空間反射率變化不大,而云在幾百米的空間反射率變化就很大。
本文云檢測所采用的數據集是AVHRR數據集,AVHRR是搭載在美國NOAA系列衛星上的高級甚高分辨率輻射計,空間分辨率能達到星下1.1 km。目前AVHRR已經由4個通道(channel)發展為5個通道,包含了可見光紅色波段、近紅外、中紅外、熱紅外等多個波段,每一個通道都有不同的波長數據,總體來說,通道1和通道2為反射率,通道3~通道5為亮溫數據,本文的研究中,實驗數據選取經緯度范圍分別為105.0°E~145.0°E, 10.0°N~50.0°N,具體如圖1所示。

圖1 實驗數據經緯度范圍
1)DBN。
DBN起源于機器學習,它由Hinton在2006年提出,是深度學習神經網絡中的一種。DBN模型由多個RBM (Restricted Boltzmann Machine)網絡組成,通過訓練的方式調節各個神經元之間的權重,可以讓整個網絡按照最大概率來生成訓練數據。DBN由多層神經元組成,神經元有顯性神經元和隱性神經元兩種,顯元用于輸入,隱元又叫特征檢測器(feature detector),用于捕捉來自輸入層的數據的相關信息,提取特征。多個RBM堆疊便組成了DBN的基本結構。
DBN的訓練采用逐層無監督訓練法,每一層的RBM都單獨采用無監督的方式進行訓練,先充分訓練第一個RBM,固定第一個RBM的權重和偏移量,以此重復多次,確保輸入特征向量在映射到不同的特征空間時,能夠最大程度保留原本的信息,這一步叫作“預訓練”,預訓練之后要進行微調(Fine-Tuning),微調過程在DBN的末層,主要是設置一個分類器,用于接收RBM的輸出作為分類器的輸入,采用有監督的方式訓練分類器,訓練過程中用Contrastive Wake-Sleep 算法[14]進行調優,能夠準確高效地重構訓練數據。
2)Otsu算法[15]。
最大類間方差法又叫大津法、Otsu算法,是一種經典的非參數無監督自適應閾值分割方法,該方法計算方便,不受圖像亮度和對比度等因素的影響,是目前圖像閾值二值化最理想的算法。Otsu算法根據目標和背景的灰度特征,將目標數據分為背景和前景兩部分,計算兩者之間的類間方差,類間方差可以用來說明灰度分布是否均勻,方差越大證明兩部分之間的圖像區別越大,當有一些目標和背景互相被檢測錯誤時,兩類之間的方差會減小,在Otsu中,一幅圖像的灰度值為[0, 1, …,X-1],每個灰度值i像素個數為ni,總像素數是N,圖像灰度均值為μr,Otsu算法就是確定一個閾值T,將圖像上的像素點分成C1和C2兩類,并且使得式(1)最大:
(1)
其中:ω1(T)和ω2(T)是事件發生的概率,μ1(T)和μ2(T)是內平均值,σ1(T)和σ2(T)是C1和C2的方差,分別定義為式(2)~(7):
(2)
(3)
(4)
(5)
(6)
(7)

針對已有檢測方法存在的問題,本文提出了DOHM算法模型,將深度學習神經網絡DBN和自動閾值分割算法Otsu相結合,在保留了DBN算法的優點的同時,實現了閾值的自動選取。

DOHM框架的輸入是維度為9的特征向量(v1~v9),分別為:5個通道數據、通道2和通道1的比值、通道3和通道4的差、通道3和通道5的差以及通道4和通道5的差。數據輸入后便進入DBN訓練部分,訓練部分用于調整網絡結構以達到最優,最后進入Otsu以自動確認閾值。
DOHM算法具體步驟如下:
1)輸入特征向量(v1~v9),輸入之后進行網絡訓練、調參和微調,用來確定最終的網絡結構。以云檢測為例,特征向量輸入之后經過DBN的訓練,最終確定的最優的網絡結構為2層,第1層有6個節點,第2層有3個節點,相當于有2個RBM,各有6個、3個節點,訓練過程中第1個RBM的輸出作為第2個RBM的輸入,各節點設置節點之間的權重,訓練出來的參數將會傳遞給對應的NN。
2)在實驗進入DBN最后一層時,加入Otsu算法,將DBN的參數作為Otsu算法的輸入,以自適應的方法來自動確定閾值,根據這個閾值,能夠確定最終數據的分類。
3)得到最終結果。
云檢測實驗步驟可以大致分為3部分: 第1部分是對輸入的AVHRR(Advanced Very High Resolution Radiometer)數據進行預處理,包括數據的清洗、人工標注有云無云區域以及數據集的建立,數據清洗用來剔除無效數據,人工標注用來對像素點進行標記,標記后的數據中每個像素點都會有一個標簽來表明自己是否是有云像素點,數據集的建立應當根據實驗目的來選擇合適的訓練集和測試集;第2部分是特征提取,依據云的遙感特性以及DOHM中的網絡特性來選取合適的特征,作為DOHM算法的輸入;第3部分是DOHM的訓練過程,這一部分主要是對DOHM網絡進行訓練,并不斷調整網絡結構以達到最優的實驗結果,訓練之后的DOHM便可以對輸入進來的數據進行自動云檢測工作。
1)預處理。
實驗所用數據是AVHRR通道數據,涵蓋了AVHRR的所有5個通道。地理位置上選取經緯度范圍為105.0°E~145.0°E, 10.0°N~50.0°N的數據,如圖1所示,時間跨度上包含了2011年全年的數據。
通道1~通道5的實驗數據首先要進行一定的預處理,利用數據清洗判斷是否是無效數據,若是無效數據標記并拋棄,得到有效數據后,進行第1步處理,即有云區域和無云區域的提取,提取后進行人工標記作數據標簽,并根據特征數據庫分別建立有云數據庫和無云數據庫,建立好數據庫后設計實驗所用的數據集,本實驗將2011年12個月份的數據分別按月份標號1~12,作為實驗所用數據集,按照實驗規劃分別建立訓練集和測試集,根據特征數據庫特性,提取特征向量作為DOHM的輸入,預處理階段步驟如圖3所示。

圖3 預處理步驟示意圖
本文云檢測實驗將數據分為兩部分用于交叉驗證,訓練集(Training set)和測試集(Testing set),訓練集用于DOHM模型的訓練,測試集用來檢驗網絡分類的效果,訓練集用于DOHM模型的訓練,測試集用來檢驗網絡分類的效果,本文實驗將12個月的數據集分為6組,每組中選取了數據差別較大的兩個月,具體如表1所示,每組中的兩個月交替作為訓練集和測試集,例如組1:1月作為訓練集,7月作為測試集,然后交替,7月作為訓練集,1月作為測試集,以此類推,一共進行了12次驗證實驗。

表1 數據集分組
每個數據集里都有一定比例的有云數據和無云數據,這樣可以防止網絡被嚴重偏置。由于目前存在的云檢測算法都存在著一定的誤差,所以為了保證數據的準確性,本文實驗采用人工手動標記法來標定有云區域和無云區域。
2)特征提取。
傳統的云檢測方法大多只選取某個通道或是某幾個通道作為輸入,從中提取特征向量,輸入數據的單一容易導致網絡訓練不充分,致使檢測結果出現偏差。為了克服這一缺點,本文選擇了AVHRR全部5個通道數據,并且新構建了通道2和通道1的比值、通道3和通道4的差、通道3和通道5的差、通道4和通道5的差這4個特征作為DOHM的輸入,如表2所示。

表2 DOHM的輸入特征向量
由于大氣中存在水汽,所以不同通道中的反射率和發射率也不同,總體來說,利用反射率參數要比發射率參數更能夠有效消除數據上的不確定性。依據文獻[16]可知,無云區域通道2和通道1的反射率之比在0.75以下,比值大于0.9小于1.1的是有云海域,所以,v6的閾值可以設置為0.8~0.9,薄云相對于大氣來說,能夠產生將對較大的差值,所以通道4和通道5的差值可以主要用來檢測薄云,有云區域和無云區域在通道3和通道5表現出不同的特性,云在通道3的反射率更高而晴空在這個波段表現出很高的透明性,薄云在通道3上光學透射率會更高,此外,由于普朗克黑體輻射方程是非線性的,因此能夠產生更大的v8差值,不僅在白天,夜間v8也可以用來作為判斷是否有云的一個判據。
3)DOHM訓練過程。
訓練過程分為預訓練和微調兩步。文獻[17]提出了一種逐層無監督的貪婪預訓練方法,目的是能夠在映射到不同的特征空間時,盡量保留最多特征向量的特征信息,輸入向量(v1~v9)和第一層隱層單元構成了第一個RBM,第一個隱層單元含有6個神經元節點,訓練之后將會得到一系列的參數傳遞至第2個RBM,第2個RBM單元含有3個節點,前1個RBM的輸出是后1個RBM的輸入,如此重復,直至網絡訓練完全。
預訓練之后是微調,與預訓練階段的無監督訓練方式不同,微調是有監督的訓練過程,在每一層的RBM中,權值是單獨的,即權值只要在該層達到最優的效果即可,而不用去保證整個網絡達到最優值。DBN在訓練開始前會隨機初始化權值,特殊的訓練方式使得DBN避免了局部最優化問題,減少了訓練時長,提高了訓練效率。將訓練后得到的參數傳遞至對應的NN,最終的網絡結構便是9-6-3結構,與傳統的DBN方法不同的是,本文采用了Otsu自動閾值分割算法,能夠在DBN的最后一層自動獲取閾值,這使得DOHM模型減少了人工設定閾值的工作量,而且取得了更高的運行效率。
為了更有效、更直觀地展現DOHM模型的檢測結果,本文選取了五種常用的云檢測方法進行對比,從不同的方面給出實驗結果以及討論,這五種方法分別是:SVM、PNN、NN、樸素貝葉斯分類器(Bayes)和普通DBN算法。
為了盡可能全面有效地展現各個檢測方法的優劣性,在時間的選擇上,本文選擇了不同季節、不同時間的例圖進行比對,地點都是所取經緯度范圍內海域,由于本文主要研究海域上空云檢測,所以本文實驗都已經將陸地自動屏蔽掉,并選取通道4作為原始對比圖像。
圖4和圖5為6種方法的檢測結果,其中子圖(a)為通道4原圖。通過對每次實驗的六種方法檢測結果進行橫向對比,很明顯可以看出,DOHM、DBN和SVM方法檢測結果明顯好于其余三種方法。仔細對比云檢測的邊緣處理和檢測細節處理,DOHM的表現更好,NN表現最差,值得注意的是通過時間軸縱向相比來說,DOHM在冬季和初春季節表現不如其余季節,這可能是由于冬季和初春季節溫度較低,高緯度海域有冰雪覆蓋,而冰、雪在亮溫通道表現出和云相似的性質,導致檢測結果出現偏差,其余五種方法都或多或少出現了這個問題,但DOHM的表現仍然是較好的。綜上所述,通過橫向和縱向對比,DOHM方法在六種方法中檢測結果最為優秀。

圖4 六種方法在2011- 08- 10T05:08云檢測結果

圖5 六種方法在2011- 12- 02T12:11云檢測結果
直觀對比展現DOHM檢測結果優勢之后,還需要對檢測結果作進一步細致的定量分析。定量分析要對網絡的分類結果進行驗證,為了檢驗網絡分類的準確性和魯棒性。
1)正確率和標準差。
正確率是對12次測試實驗正確率取均值,標準差是這12次測試實驗正確率的標準差,可以從這兩方面分析各種方法的準確性和魯棒性。六種云檢測算法的正確率如圖6(a)所示,標準差如圖6(b)所示。正確率能夠直觀表現一個算法的準確性,而標準差能夠在一定程度上說明算法的魯棒性,標準差越小,說明算法更健壯。從圖6綜合來看,DOHM模型在六種方法里正確率最高且標準差最小,說明該方法在保證算法健壯的同時達到了檢測正確率最高的目的。SVM方法的正確率不如DBN和DOHM高,NN、PNN和Bayes方法的標準差比其他三種方法高出很多。值得注意的是,綜合正確率和標準差來看,DBN和DOHM方法的結果差距并不大,但是DOHM在DBN基礎上實現自動閾值分割的同時又能提高正確率,已經極大地提高了DBN方法的適應性和可擴展性。

圖6 六種方法的實驗性能比較
2)虛警率和漏檢率。
為了更好地分析各方法的綜合檢測結果,本文使用虛警率(False Alarm Rate, FAR)和漏檢率(Miss Rate, MR)來進一步分析DOHM檢測結果,虛警率和漏檢率定義分別如式(8)、式(9)[18]所示:
FAR=NC/MC
(8)
MR=CN/TC
(9)
其中:NC是無云像素點被檢測為有云像素點的個數,MC是檢測出的所有有云像素點個數,CN是有云像素點被檢測為無云像素點的個數,TC是海表面所有有云像素點個數。根據定義,計算出的具體數值對比情況如表3所示。

表3 六種方法的FAR和MR %
虛警率FAR和漏檢率MR是一對相互矛盾的指標,理想狀態下希望這兩個指標都達到最低, 但實際上,由于這兩個指標的矛盾性,很難找到一種方法使這兩個指數同時降到0,一般情況下都是在保證一個錯誤率在某個值以下,讓另一個錯誤率盡可能得小,盡量平衡好兩者之間的關系。在本文實驗中,由于更注重的是檢測的準確度,所以虛警率和漏檢率中本文更關注虛警率的大小。從表3中可以看出,DBN方法和DOHM方法的虛警率都達到了0,再單獨比較這兩種方法的漏檢率,DOHM的漏檢率相對更低,所以綜合這兩個指標,DOHM方法表現更好。值得注意的是,在漏檢率MR中,指數最低的是PNN方法,但是其虛警率高達25.52%,說明該方法沒有很好地平衡虛警率和漏檢率之間的關系。
根據實驗結果分析,DOHM較好地平衡了虛警率和漏檢率之間的關系,在六種檢測算法中,DOHM的云檢測結果表現最好。
本文提出了一種基于DBN和Otsu的自動云檢測算法框架——DOHM,該模型綜合使用了DBN和Otsu算法,減小了算法的人工干預程度,在實現自動云檢測的同時,正確率可提高至95%以上,不論是定量分析還是可視化定性分析,DOHM都在與目前主流檢測方法的對比中取得了很好的成績,有著廣闊的應用前景。云檢測工作是遙感數據利用的第一步,是后續云剔除、云分類的基礎,不僅有助于更好地了解云的形態和結構,還能提高遙感數據的利用率。
隨著計算機技術和衛星遙感技術的發展,對云檢測精度的要求越來越高,單一的云檢測算法已經無法滿足目前云檢測應用發展的需求,未來檢測方法趨于多樣性、綜合性、自動化。利用基于機器學習的檢測算法解決云檢測相關問題成為未來發展的主要趨勢,深度學習神經網絡將會成為未來檢測識別算法中的主力軍。
致謝 感謝中國海洋大學衛星地面站提供衛星資料。