羅 想,張 蕎,黃 昶
(1.自然資源部第三航測遙感院,四川 成都 610100;2.西南石油大學地球科學與技術學院,四川 成都 610500)
隨著深度學習在機器視覺領域取得突破,深度學習理論和方法開始被引入遙感影像的處理與分析中[1-5]。目前,基于FCNs 的眾多網(wǎng)絡模型很快被引入到遙感影像分類中[6-15],但是要實現(xiàn)像素級別分類,需要構建逐像素類別標記的樣本數(shù)據(jù)集,這也阻礙了FCNs在遙感影像分類中的實際應用。
為了提高圖像語義分割精度,眾多學者在深度學習網(wǎng)絡中引入注意力機制,注意機制能夠自動發(fā)現(xiàn)重要信息、增強語義,起到提高圖像語義分割精度的效果。Jie[16]提出了基于通道注意力的網(wǎng)絡SENet,通過自動學習各個特征通道的重要程度,注意力機制也已經(jīng)被學者用于遙感影像的分類中,確定了較好的分類效果[17]。
基于上述分析,本文圍繞衛(wèi)星遙感影像地表覆蓋信息提取,使用高分辨率衛(wèi)星影像建立一套地表覆蓋分類的像素級樣本數(shù)據(jù)集,并設計一種基于全卷積神經(jīng)網(wǎng)絡的語義分割模型,實現(xiàn)地表覆蓋信息高精度、自動化提取。
本文采用一種基于PSPNet[18]改進的語義分割網(wǎng)絡PSP-SENet,該網(wǎng)絡在特征圖提取部分,采用SE 模塊[20],關注特征信息量較大的通道,而在解碼部分利用金字塔池化模塊,融合多個尺度的特征圖,主體網(wǎng)絡框架如圖1所示。
圖1 PSP-SENet網(wǎng)絡結構圖
輸入圖像經(jīng)過特征圖提取模塊提取到原始特征圖,金字塔池化模塊對原始特征圖進行池化,金字塔池化模塊是一個并行四層結構,4 個池化分支的輸出尺寸大小分別為1×1、2×2、3×3 和6×6,再通過上采樣,對4 個池化分支結果進行融合,得到金字塔池化特征圖,然后與原始特征圖映射合并起來,再進行卷積,生成最終預測圖(圖2)。
圖2 SE模塊單元
一個SE 模塊單元中,F(xiàn)tr為傳統(tǒng)的卷積結構,X和U 分別為輸入(H′×W ′×C′)和輸出(H×W ×C),U=[u1,u2,…,uC],即
然后對壓縮后的Z ,使用2個全連接層進行激勵操作Fex,第一個全連接把C個通道壓縮成了C/r個通道來降低計算量,其中r是壓縮的比例,后面跟了RELU 函數(shù),第二個全連接再恢復回C個通道,后面跟接Sigmoid函數(shù),即
式中,δ為RELU 函數(shù);σ為Sigmoid 函數(shù); W1為C/r×C的降維矩陣;W2為C×C/r的升維矩陣。
通過壓縮和激勵操作,學習到各個通道間的關系,得到不同通道的權重,然后將SE 模塊計算出的各通道權重值分別與原特征圖對應通道的二維矩陣相乘,得出的結果輸出
SE 模塊為網(wǎng)絡模型提供了一種通道域注意力機制,讓模型更加關注信息量較大的特征圖,而抑制那些不重要特征圖。
PSP-SENet 網(wǎng)絡結構如表1 所示,表中卷積核大小用n×n表示,卷積核大小之后的數(shù)字為卷積核個數(shù),其他網(wǎng)絡層后的數(shù)字代表輸出通道數(shù),全連接層后面中括號“[]”的數(shù)字是SE 模塊中2 個全連接層的輸出尺寸。
如表1所示,PSP-SENet首先對尺寸為480×480的輸入影像進行特征圖提取,特征圖提取部分的結構取自文獻[18]中的SE-ResNet-50,得到60×60 特征圖之后,使用平均池化,將特征圖分別池化成1×1、2×2、3×3 和6×6 大小,然后再分別使用雙線性插值上采樣方法,上采樣到60×60,并與之前的60×60 特征圖進行拼接,拼接之后再上采樣到480×480 的尺寸,最后連接到softmax激活層。
表1 PSP-SENet的網(wǎng)絡結構和參數(shù)
交叉熵損失函數(shù)是遙感影像分類任務中最常用的一種損失函數(shù)(L_cce),可從預測值(pr)與真值(gt)之間的交叉熵計算得到。
本文引入dice 系數(shù)構建損失函數(shù),對PSP-SENet網(wǎng)絡模型進行訓練,dice損失函數(shù)(L_dice)定義為:
其中,
式中,β為準確率和召回率之間的平衡系數(shù),本文β取值為1。
同時,提供一種交叉熵損失與dice損失之和的損失函數(shù)(L_cce_dice)
式中,F(xiàn)1和IoU 取值為0 到1 之間,值越大,分類精度越好。本文在多分類任務中,采用F1均值和IoU均值評價分類模型的整體性能。
本文采用資源三號衛(wèi)星影像,選取3 個區(qū)域,制作了5 種常見地表覆蓋類型的樣本數(shù)據(jù),類別包括耕草、林地、建筑、道路、水體,影像覆蓋區(qū)域位于東南亞,樣本數(shù)據(jù)如圖3所示。
圖3 訓練樣本數(shù)據(jù)(左圖為衛(wèi)星影像,右圖為標簽)
訓練樣本數(shù)據(jù)采用資源三號全色與多光譜融合影像,地面分辨率為2.1 m,4 個波段包含可見光(R、G、B)和近紅外(IR)波段,樣本影像覆蓋的地表面積約3 400 km2,樣本像素量達到千萬級,未對樣本進行增強處理前,樣本數(shù)量約1 300 個圖像塊(480×480),樣本數(shù)量與國際上優(yōu)秀的開源數(shù)據(jù)集差不多。樣本數(shù)據(jù)中每個類別的像素數(shù)量如圖4 所示,5 種地物覆蓋類型的像素數(shù)量差異明顯,耕草和林地的數(shù)量遠遠大于其他三類,道路的數(shù)量最少,訓練樣本數(shù)據(jù)存在數(shù)據(jù)不均衡問題。
圖4 訓練樣本中不同類別的像素數(shù)量
為了測試分類模型的性能,本文從東南亞地區(qū)的另外一景資源三號衛(wèi)星影像中裁切出一塊地物豐富的區(qū)域,測試影像覆蓋面積約13 km2,對模型的分類結果進行精度測試,影像和參考標簽如圖5所示。
圖5 測試數(shù)據(jù)(左圖為衛(wèi)星影像,右圖為標簽)
本文方法基于TensorFlow和Keras深度學習開源框架,采用python語言編程實現(xiàn)。實驗環(huán)境:操作系統(tǒng)為Ubuntu 16.04,GPU顯卡為NVIDIA GTX1080TI。
為了測試PSP-SENet 提取地表覆蓋信息的性能,分別做如下實驗與分析:①對比PSP-SENet和其他語義分割網(wǎng)絡;②測試影像波段對PSP-SENet模型的影響;③測試ImageNet 預訓練模型對PSP-SENet 的性能提升;④測試不同損失函數(shù)訓練時,對PSP-SENet性能的影響。
2.3.1 對比常用語義分割網(wǎng)絡
Segnet 和U-Net 是經(jīng)典的語義分割網(wǎng)絡,近年來常被用于遙感影像的信息提取[20],本文采用相同的訓練和測試數(shù)據(jù),分別對Segnet、U-Net 和PSP-SENet進行訓練和測試。圖6 為3 種網(wǎng)絡模型對測試影像的分類結果,表2 給出了定量評價精度,耕草、林地、建筑、道路、水體單個類別的精度指標采用F1值(本文其他表格中單個類別的精度指標均為F1值),訓練和測試影像的輸入波段均為可見光波段(RGB)。
圖6 不同網(wǎng)絡模型的測試結果圖
表2 不同網(wǎng)絡模型的測試精度/%
從圖6可以看出,Segnet、U-Net和PSP-SENet均能夠有效識別出耕草、林地、建筑,但是水體的提取精度只有60%左右,而且道路難以被識別出來。表2顯示,3 種網(wǎng)絡模型對林地的識別精度最高,道路最低,PSP-SENet 的OA、MF1和MIoU 均 高 于Segnet、U-Net,除了道路,PSP-SENet 模型對單個地物類型的識別精度均高于其他2種網(wǎng)絡模型。
2.3.2 比較影像的不同波段組合
衛(wèi)星遙感影像的光譜范圍通常包含可見光和近紅外,為了充分挖掘衛(wèi)星遙感影像波段豐富的優(yōu)勢,本文采用不同波段組合的衛(wèi)星影像進行訓練和測試,分析不同輸入波段對地物的識別能力。
表3給出了3種波段組合的模型測試精度,IRRG(近紅外、紅色、綠色)波段組合和4 波段(IRRGB)的MF1相等、MIoU和OA相差僅為0.1%,RGB波段組合的精度指標遠低于其他2種波段組合,MF1比其他2種波段組合的低了8.5%。從不同地表類型的精度來看,IRRG和IRRGB2種波段組合對道路、水體的提取精度有很大提升,說明近紅外波段在道路和水體識別中,有一定優(yōu)勢。
表3 不同輸入波段的模型精度/%
2.3.3 采用ImageNet預訓練模型初始化
本文采用在ImageNet數(shù)據(jù)集上訓練后的模型,對PSP-SENet 特征圖提取部分進行初始化,實現(xiàn)網(wǎng)絡模型參數(shù)遷移學習,即將從2012 ILSVRC ImageNet 數(shù)據(jù)集上訓練得到的SE-ResNet-50模型,對PSP-SENet特征提取部分對應的網(wǎng)絡層參數(shù)進行初始化,然后在遙感數(shù)據(jù)集上進行訓練,得到最終的分類模型。由于ImageNet數(shù)據(jù)集只有RGB波段,本文采用RGB波段的預訓練模型分別對RGB 和IRRG 2 種影像波段組合的模型進行初始化,表4 給出了采用預訓練模型初始化后模型的精度表3 對比,可以看出,采用ImageNet 預訓練模型初始化后的模型,分類精度有了較大提升,RGB 波段模型的MF1、MIoU 分別提高了9.1%、8.8%,IRRG 波段模型的MF1、MIoU 分別提高了3.7%、3.3%,由此可見,對于遙感影像小樣本,采用ImageNet 預訓練模型對語義分割模型進行參數(shù)初始化,能夠有效提升模型分類精度。
表4 ImageNet預訓練模型初始化的模型精度/%
2.3.4 比較不同損失函數(shù)
由于訓練樣本中不同類別之間的數(shù)據(jù)量不均衡,模型難以有效識別數(shù)據(jù)量的類別,這是遙感影像模型訓練中常見的難題。本文制作的訓練樣本數(shù)據(jù)中,道路樣本數(shù)量遠遠小于其他類別的樣本數(shù)量,為了提高道路的識別能力,本文在1.3.3 節(jié)的基礎上,將dice 系數(shù)引入到損失函數(shù)中,采用2 種不同dice 損失函數(shù)對模型進行訓練。表5 給出了不同損失函數(shù)模型的測試精度,其中,為了獲取更好的分類效果,影像輸入波段為IRRG,初始化采用了ImageNet 預訓練模型。
對比表5與表4,采用交叉熵和L_dice損失函數(shù)訓練的模型,整體精度相差不大;從單個類別的F1值來看,采用L_dice訓練的模型,道路的提取精度提升了14.1%,但是其他類別的F1值均有所下降。
從表5 可以看出,采用交叉熵與dice 之和作為損失函數(shù)(L_cce_dice),模型在不降低其他類別識別精度的情況下,提升了對道路的識別精度,整體精度(MF1、MIoU和OA)也有提升,說明對于類別不均衡的訓練樣本數(shù)據(jù),可以采用交叉熵與dice之和作為損失函數(shù),提高模型的分類精度。
表5 不同損失函數(shù)模型的測試精度/%
2.3.5 最優(yōu)分類結果
PSP-SENet 最優(yōu)測試模型的分類圖斑和圖斑邊界如圖7 所示,該結果采用的模型為表5 中采用L_cce_dice 損失函數(shù)訓練的模型,從圖中看出,PSP-SENet 能夠實現(xiàn)高分辨率衛(wèi)星遙感影像的地表覆蓋信息提取,圖斑邊界的細節(jié)如圖8 所示,耕草、林地、水體的圖斑邊界與影像中地物邊界套合較好,房屋建筑和道路受到其他地類的遮擋影響,圖斑邊界與影像中地物邊界套合存在一定誤差,但是能夠提取出建筑房屋區(qū)域和道路的整體輪廓。
圖7 PSP-SENet最優(yōu)測試模型的分類圖(紅色線條為分類圖斑的邊界)
圖8 PSP-SENet模型提取的圖斑細節(jié)(紅色線條為分類圖斑的邊界)
本文圍繞高分辨率衛(wèi)星遙感影像地表覆蓋信息提取,建立了一套涵蓋耕草、林地、建筑、道路、水體的像素級分類數(shù)據(jù)集,并采用注意力增強與多尺度特征融合神經(jīng)網(wǎng)絡實現(xiàn)衛(wèi)星影像語義分割,通過對資源三號衛(wèi)星影像的測試,結果表明:①使用近紅外、紅色、綠色3 個波段組合的影像,對地表覆蓋的識別能力高于紅色、綠色、藍色3 個波段組合的影像;②使用在大規(guī)模數(shù)據(jù)集(ImageNet)上預訓練的模型對語義分割網(wǎng)絡特征圖提取部分進行初始化,能夠提升網(wǎng)絡在遙感影像小規(guī)模訓練樣本數(shù)據(jù)集上的分類精度;③采用交叉熵與dice 系數(shù)之和作為損失函數(shù),可以解決在類別不均衡樣本數(shù)據(jù)集上訓練模型的難題;④本文建立的遙感影像分類數(shù)據(jù)集和分類方法能夠有效地從高分辨率衛(wèi)星影像上提取地表覆蓋信息,可為全球地表覆蓋制圖、生態(tài)環(huán)境保護等工作提供技術支持。