仇一帆,柴登峰
(浙江大學地球科學學院,杭州 310027)
Landsat系列衛(wèi)星自1972年發(fā)射至今一直持續(xù)對地觀測,提供了全球范圍長時序連續(xù)陸地遙感記錄,是目前應用最廣泛的遙感數據集之一。然而,Landsat系列衛(wèi)星與其他光學傳感器一樣,容易受到云層及其陰影影響,研究表明,地球表面的年均云層覆蓋率在中緯度地區(qū)大約為35%,全球范圍內約為58%~66%[1-3]。遙感影像上,被云層遮擋的像素變亮,被云陰影遮擋的像素變暗,地表特征模糊[4-6],干擾地物信息的提取,影響研究結果的準確性。因此,云和云陰影檢測是Landsat影像產品生產的重要環(huán)節(jié)。
目前美國地質調查局(United States Geological Survey, USGS)官方使用CFMask(C function of Mask)算法來檢測影像上的云和云陰影,檢測結果作為質量評估(quality assessment, QA)波段保存于Landsat Collection 1 Level 1產品中。CFMask是Fmask(Function of Mask)算法的C語言實現[1,6-7],通過分析Landsat影像所有波段的大氣層頂(top of atmosphere, TOA)表觀反射率和亮度溫度,基于云和云陰影的物理屬性建立閾值規(guī)則逐像素進行檢測。這種基于閾值規(guī)則的方法在遙感影像云和云陰影檢測領域應用廣泛,但受到傳感器類型、地理位置、大氣條件等因素影響,閾值的選擇通常難以把握; 而且為了保證精度,往往會設定大量閾值規(guī)則,例如FMask就使用了超過20組閾值,增加了該方法的使用和遷移難度[6,8]。除此之外,常用的Landsat影像云和云陰影檢測方法還包括多時相檢測法和統(tǒng)計學方法。多時相檢測法基于云和云陰影的動態(tài)性,通過比較恒定視角多時相影像的光譜差異構建云檢測算法[5,9]。雖然研究結果表明多時相檢測法能有效提高云檢測精度,但在實際應用中諸如熱帶和亞熱帶等全年多云的地區(qū)很難獲取無云觀測作為參考,限制了現有多時相檢測方法的應用。基于統(tǒng)計學思想利用空間特征和光譜特征來估計影像整體云覆蓋率[10]或檢測影像上的云層[11-12]也是云和云陰影檢測的一種常見思路。
計算機性能的提升和深度學習的發(fā)展為云和云陰影檢測帶來了新思路[13-14],如Chai等[15]利用SegNet模型將像素劃分為云、薄云、云陰影或無云4個類別,實現了Landsat影像上的云和云陰影檢測。深度學習方法通常依賴大規(guī)模標注數據來訓練網絡模型,而這些數據往往是通過人工標注的方式來獲取的,成本高、耗時長、具有主觀性,不利于訓練出具有實用價值的模型。為了解決這個問題,有學者提出了弱監(jiān)督學習概念,使用不充足或不準確的監(jiān)督信息來訓練模型,減少了人工標注數據的使用,目前這個方法在計算機視覺領域已經有了一定的突破[16-17],但具體到云和云陰影檢測研究上還沒有進展。
針對上述遙感影像云和云陰影檢測方法存在的問題,本文受弱監(jiān)督學習思想啟發(fā),利用CFMask產生的云和云陰影檢測結果作為弱監(jiān)督學習樣本訓練SegNet深度神經網絡,整個訓練過程不使用人工標注的先驗數據。模型訓練完成后,對新圖像進行檢測并驗證檢測精度,定量化描述研究結果。旨在探討脫離人工標注數據訓練深度神經網絡模型進行Landsat影像云和云陰影檢測的可行性,為后續(xù)實現更加完善的云和云陰影檢測奠定基礎。
實驗數據來自Landsat Collection 1 Level 1產品和Landsat8云覆蓋評估(cloud cover assessment, CCA)驗證數據集[18]。
Level 1產品包含10個30 m空間分辨率波段,1個60 m空間分辨率的全色波段,以及QA波段。QA波段中包含的云和云陰影信息依據CFMask算法生成,根據表1列出的QA波段bit位描述或文獻[19]提供的59類QA波段值解釋規(guī)則可以解譯出影像上的云和云陰影信息。
表1 Landsat8 Collection 1 Level 1 QA波段bit位描述Tab.1 Landsat8 Collection 1 Level 1quality band bit designations
如表1所示,QA值二進制形式第4位是云像素標識,第7位和第8位存儲云陰影置信度信息。對于單個bit位存儲信息的情況,以第4位為例,若值為0表示該像素并非云像素,若值為1則為云像素; 對于用雙bit位表示的信息,以第7位和第8位為例,若從高位到低位分別為: “00”表示不存在云陰影; “01”表示云陰影存在的置信度很低(0~33%); “10”表示中等置信度(34%~66%); “11”表示置信度很高(67%~100%)[19]。QA波段能提供較高精度的云和云陰影掩模,但仍存在一定的誤差,其數據標簽并不是完全準確的。本實驗將30 m空間分辨率波段組合成的10通道多波段影像對應TOA表觀反射率和亮度溫度作為輸入數據,將QA波段派生為標注數據來訓練SegNet模型。
Landsat8 CCA驗證數據由USGS地球資源觀測與科學中心創(chuàng)建,通過人工方式標注出了影像上的云、薄云、云陰影和無云像素。驗證數據共96個場景,均勻分布于全球各大洲,覆蓋荒地、森林、灌木地、草地/農田、雪/冰、城市、濕地以及水域8個不同的生物群落區(qū)[1,18]。需要注意的是,Landsat8 CCA驗證數據只用于評估檢測結果精度,不參與模型的訓練過程。
由于Landsat影像圖幅較大,直接輸入深度神經網絡占用內存高,圖形處理器(graphics processing unit,GPU)很難負擔,因此將各場景切割為互不重疊的512像素×512像素大小子景并存儲為png格式。影像上有一些不反映地物信息的填充像素,為了簡化信息提取過程,在構建樣本集時剔除了這些包含填充像素的切割圖像。最后,每個場景約有120個512像素×512像素大小子景用于樣本集的構建,每個子景對應10個多光譜波段和1個QA波段。
本文共構建了3個樣本集,分別是: 用于訓練SegNet網絡的訓練樣本集,用于優(yōu)化網絡參數的驗證樣本集,以及用于客觀評價網絡性能的測試樣本集。本研究以Landsat8 CCA 驗證數據集的96個場景為研究對象,這些場景均勻分布于全球范圍,包含所有生物群落區(qū)類型,具有代表性。96個場景中,有64個場景未標注出云陰影,不能用于精度驗證,將這64個場景每個場景切割后的子景按80%和20%的比例隨機分配為訓練樣本和驗證樣本; 其余32個場景標注完整,用于構建測試樣本集。訓練、驗證、測試樣本集中子景數量和切割圖像數量如表2所示。
表2 樣本集子景數量和切割圖像數量Tab.2 The number of subscenes and images in sample set
本文方法實驗流程如圖1所示。
圖1 實驗方案技術流程Fig.1 Technical flowchart of experimental scheme
本方法將云和云陰影檢測視為語義分割問題,利用整幅影像的空間信息和所有波段的光譜特征對圖像進行分割,最后依據表1的QA波段位描述將語義分割結果標記為云、無云或云陰影,完成遙感影像云和云陰影檢測。
本文參考文獻[20]構建了SegNet語義分割模型,其網絡結構如圖2所示,從輸入圖像開始,從左向右依次經過編碼器(Encoder)、解碼器(Decoder)和Softmax分類器,最后到達輸出層,完成端到端的像素級分割任務。SegNet可以接受任意尺寸的輸入圖像,其原型結構的輸入為3通道圖像,本文為了能更好地學習和利用Landsat影像特征,設置模型的輸入圖像通道數為10,本文中輸入圖像尺寸為512像元×512像元。編碼器基于VGG網絡,包括卷積層、批歸一化層、ReLu激活層和池化層,卷積層均采用3像元×3像元大小卷積核,第一層卷積層中卷積核個數設置為96,池化層采用最大池化操作,并記錄池化索引,圖像經過編碼器各隱含層,實現對影像特征信息的低維提?。?解碼器包含上采樣層以及與卷積層一一對應的反卷積層,利用編碼階段保存的最大池化索引還原圖像尺寸和邊界信息,重構高維特征。編碼器-解碼器結構大大減少了模型的訓練參數,提高了網絡效率,并對邊界的描述起到優(yōu)化作用。解碼器輸出的高維特征向量輸入Softmax分器,用于預測圖像上各像素所屬類別的概率并生成一個k通道的類置信圖(k為類別個數),尺寸與輸入圖像相同。最后,具有最大概率的類別輸出為語義分割結果。
圖2 基于SegNet的網絡結構Fig.2 Network structure based on SegNet
SegNet語義分割模型的訓練以交叉熵損失函數最小化為目標,使模型對訓練樣本的預測結果盡可能地與所給標注數據標簽相匹配。模型采用反向傳播(back propagation, BP)算法,計算網絡中所有權重損失函數的梯度,反饋給優(yōu)化器(Optimizer)以更新網絡參數,實現交叉熵最小化。本文選擇自適應矩估計(adaptive moment estimation, Adam)算法作為優(yōu)化器,Adam是一種自適應學習速率的求解方法,實驗證明它能較好地解決損失函數的最優(yōu)化問題,與其他優(yōu)化器算法相比綜合性能表現更佳[21-22],Adam的一階矩估計衰減速率設定為0.9,二階矩估計衰減速率為0.999; 學習速率初始值設定為1E-4,在每一輪參數更新過程中更新學習速率。為了防止出現過擬合,模型在對每個卷積層進行RELU函數激活后,添加了一個dropout層,以一定的概率激活網絡上的神經元,本文將激活概率設置為0.5。
為了定量評價Landsat8影像云和云陰影檢測的精度,本文采用總體精度(overall accuracy, OA)和F1分數作為評價指標??傮w精度表示為檢測結果中分類正確的像素數量占測試樣本集全部像素數量的比值,F1分數是對精確率和召回率的調和平均。2個評價指標的計算公式分別為:
(1)
(2)
式中:i,j為類別標識;F1i為類別i的F1分數;Nij為本屬于類別j的像元預測為類別i的數量;pi和ri分別為類別i的精確率和召回率,計算公式如下:
ri=Nii/∑iNji,
(3)
pi=Nii/∑jNij。
(4)
為了評估本文方法的有效性和可行性,對測試樣本集進行云和云陰影檢測,并與CFMask算法結果進行對比分析。CFMask是Landsat官方云檢測方法,可以對全球范圍Landsat影像進行無偏檢測,綜合性能較好,具有權威性[1]。
從實驗結果中選取了5個典型場景進行視覺評價,如表3所示,影像1—5所示場景分別位于不同的生物群落區(qū)中,其下墊面分別為荒地、冰雪、植被(灌木)、水域和濕地; 從左至右依次是輸入圖像、地面真值、本文方法檢測結果以及CFMask檢測結果。輸入圖像以B4(R),B3(G),B2(B)合成顯示,真值為Landsat8 CCA驗證數據中經人工方式標注的云和云陰影掩模,檢測結果及真值中的云陰影、云和無云像元分別用紅色、綠色和藍色標示。由于Landsat8 CCA驗證數據提供的云和云陰影掩模在標注時區(qū)分了云類別與薄云類別,而本文方法和CFMask算法在進行云和云陰影檢測時均不區(qū)分云的厚薄,因此合并Landsat8 CCA驗證數據中的云和薄云2個類別,統(tǒng)一作為云類別來進行標示,在后續(xù)對實驗結果進行定量分析時,也作相同合并處理以驗證計算結果的精度。對于Landsat數據的實際應用而言,通常認為云像元和薄云像元都是無效的,因此將云與薄云類別合并并不會影響對本方法有效性的判斷。由表3可知,總體而言,本文方法在不同生態(tài)環(huán)境、云屬種類或云層分布條件下均能較好地判定出云和云陰影位置,識別出云和云陰影的大致邊界。相比CFMask結果,本文方法檢測出的云和云陰影更準確,與真值的匹配度明顯更優(yōu),如本文方法識別出了CFMask沒有識別出的表3中1號影像右側較薄的云層,對3號影像的卷云也有更好的識別效果,4號影像中CFMask方法結果過多估計了影像上的云層和云陰影,而本文方法改善了這一問題。
表3 云和云陰影檢測結果Tab.3 Cloud and cloud shadow detection results
為進一步驗證所提方法的有效性可行性,本文利用Landsat8 CCA驗證數據對檢測結果進行精度驗證,采用總體精度和F1分數2個指標進行定量評價,結果如表4所示。實驗結果的總體精度為85.55%,云、云陰影和無云類別的F1分數分別為78.14%,43.86%和90.62%,均高于CFMask結果。值得一提的是,與云檢測相比,精確的云陰影檢測難度更高,往往會出現大量漏檢和誤檢情況,而本文方法云陰影檢測結果的F1分數較CFMask有所提高,且精確率從35.5%提高到44.5%,標示著本方法一定程度上能夠改善云陰影檢測的精確程度,優(yōu)化云陰影檢測結果。
表4 測試樣本集檢測結果評價Tab.4 Evaluation of detection results (%)
對8個生物群落區(qū)進行單獨統(tǒng)計,大部分群落區(qū)的檢測精度優(yōu)于相同場景下的CFMask結果,其中,荒地、草地/農田、城市、灌木地和水域5個生物群落區(qū)的檢測精度均超過90%,城市場景的云和云陰影檢測精度為91.49%,較CFMask結果提高了超過10.6%,檢測性能提升顯著。但是,本文所提方法對雪/冰區(qū)域的檢測結果精度較差,這一點在表3的2號影像中也有所體現,經過分析,認為可能是由于訓練樣本標注數據在這個區(qū)域的準確率過低(低于60%),導致錯誤標簽信息對訓練過程造成的干擾難以忽視,模型無法正確地提取特征,因而出現分割結果誤差較大的問題,在后續(xù)研究中擬加入其他輔助條件做進一步篩選以提高檢測的精確程度。
1)本文利用CFMask云檢測結果替代人工標注數據訓練SegNet語義分割模型,檢測Landsat影像上的云和云陰影。結果表明,本文方法能夠實現Landsat影像上的云和云陰影檢測,總體精度達到85.55%,與CFMask結果相比有一定改善,證明了采用非人工標注數據訓練深度網絡模型進行云和云陰影檢測的思路是可行的。
2)本文方法改進了利用深度學習進行云和云陰影檢測時依賴大規(guī)模像素級云和云陰影人工標注數據的問題,降低了訓練數據的獲取成本,為后續(xù)研究奠定基礎。
3)本方法在檢測精度上仍有進一步提升的空間,下一步的研究工作擬通過結合其他篩選條件,對標注數據中的顯著錯誤,如冰雪與云的混淆錯誤,進行初步糾正后再用于網絡模型訓練來進一步提高Landsat影像云和云陰影檢測精度。