(1.石河子大學信息科學與技術學院,新疆石河子 832000;2.安徽大學互聯網學院,合肥 230039)
地球陸地是人類賴以生存和發展的物質基礎,獲取陸地表面各種資源及其變化數據是人類認識和利用陸地表面的前提。遙感技術通過人造地球衛星、航空、無人機等平臺上的遙測儀器對地球表面實施感應遙測,產生了海量的不同空間分辨率和時間分辨率的遙感數據,這些遙感數據蘊含著地球表面各類地物在空間和時間上的巨量信息。如何精確地區分各類地物是研究陸地表面的基礎性工作。遙感影像分類就是利用計算機通過對遙感影像中各類地物的光譜信息和空間信息進行分析,選擇特征,將影像中各個像元按照某種規則或算法劃分不同的類別,然后獲得遙感影像中與實際地物的對應信息[1]。在遙感影像分類方面,對于常用的單時相遙感影像分類技術,只能利用波譜反射率的異同來分類,有效信息獲取不足使得分類結果存在許多問題,比如混合像元的判定、“同物異譜,異物同譜”現象的存在、分類精度在時間和空間上難以保持穩定等。眾所周知,地表事件的發生和地物的演化,是隨著時間的推進而進行的,這使得地表覆被在時間上具有一定的變化規律。遙感影像反映出,大多數地物的波譜反射率經過長期觀測可以重復獲取,且由波譜反射率組成的時間序列表現出一定的周期性。遙感影像時間序列由于蘊含顯著的物候信息,使得不同地物擁有不同的光譜反射率軌跡,利用這些數據特點能夠更加有效地區分地物類型,時間序列在土地覆蓋分類方面已經被證明優于單時相分類[2]。
隨著深度學習的興起,學者們提出了很多基于深度學習的遙感影像時間序列分類算法,常見的用于時間序列建模的深度學習框架包括長短期記憶(Long Short-Term Memory,LSTM)網絡、門循環單元(Gate Recurrent Unit,GRU)、一維/三維卷積神經網絡(1D/3D Convolutional Neural Network,1D/3D CNN)和時間變換網絡(Temporal Transformer Network,TTN)等。利用LSTM 模型[3]的序列數據建模能力,文獻[4]提出兩種LSTM 模型(深度棧式LSTM 和深度雙向LSTM)用于MODIS時間序列分類,分類精度優于隨機森林(Random Forest,RF)和支持向量機(Support Vector Machine,SVM)分類方法。卷積神經網絡自從被提出之后被廣泛應用于各種遙感任務,包括陸地覆蓋分類[5-6]、影像分割[7]、目標檢測[8]、丟失數據重建[9]等。在這些遙感任務中,卷積神經網絡通過對影像x維和y維進行卷積操作來利用影像數據的空間特征,也就是說卷積操作主要運用在影像的光譜域或者波段域,但沒有考慮影像的時間特征。為了處理遙感影像時間序列數據,學者們又將卷積神經網絡應用于遙感影像時間序列分類。文獻[10]利用一維卷積神經網絡[11-12]可有效描述一維序列數據的特性,提出基于一維卷積神經網絡的農作物分類方法,實驗結果表明該方法分類性能優于LSTM 和傳統分類方法。文獻[13]多尺度卷積神經網絡(Multi-scale Convolutional Neural Network,MCNN)提取不同比例和頻率的特征,將特征提取和分類合并在一個框架。文獻[14]提出一種端到端的遙感影像時間序列分類深度學習算法,以一維卷積為核心構建3 個組件分別描述遙感影像各像素的波段間依賴性、全波段全卷積特征以及鄰居像素特征來實現像素級分類,并在2017 年時間序列陸地覆蓋分類挑戰賽(TiSeLaC 2017)[15]獲得第一名。由于深層LSTM形式的深層遞歸神經網絡在這種像素較少的情況下,訓練并不是很成功[14],文獻[16]利用多通道深度卷積神經網絡(Multi-Channels Deep convolutional Neural Networks,MCDNN)體系結構通過在輸入的每個維度上獨立(即并行)應用卷積,來利用多模態時間序列數據的不同特征之間的假定獨立性。指標值與反射率的測量值相關,文獻[17]提出的時序卷積神經網絡(Time Series Convolutional Neural Network,TSCNN)通過共同訓練多元時間序列以進行更好的特征提取,從而獲得了更好的分類結果。
現有的遙感影像分類算法嚴重依賴數據本身,而數據本身存在數據缺失、數據扭曲等數據異常問題。且現有分類算法大多針對某一個具體研究區,同類作物物候期相對變化很小,同類作物的時間序列數據組成像素對應的歸一化植被指數(NormalizeD Vegetation Index,NDVI)等特征曲線高度相似,直接輸入到分類算法中。實際上,同一種作物的物候期大體相似,但隨年份和區域的不同呈現出多樣性,因此對應的NDVI 等特征曲線也呈現出多樣性特征。這種遙感影像中提取的與物候期相對應的特征曲線多樣性可以通過扭曲操作來得到,即對特征曲線進行時間軸和特征值軸兩個維度進行適度的平移、拉伸、壓縮等操作,可以得到同一種作物的豐富多樣的特征曲線。目前尚無學者關注數據扭曲情形下遙感影像時間序列分類算法的魯棒性問題。文獻[4]中提出遙感影像時間序列數據存在扭曲的現象,但采取了數據增強的方式進行解決,沒有從模型和算法的角度來研究提高算法魯棒性的方法。
為解決以上問題,本文的主要貢獻有:1)提出了一種端到端的多模式與多單模式架構融合的網絡,解決數據異常情況下時間序列分類問題;2)在基于卷積神經網絡分類器中引入了能夠提取單個波段和多波段特征的結構,在網絡中結合多種特征進行時間序列分類,不僅僅是單靠其中一種;3)將模型應用到遙感影像時間序列分類中,取得了較好的效果。通過1D-CNN、MCDNN、TSCNN、LSTM 和本文的網絡進行對比,對TiSeLaC遙感影像時間序列數據集進行分類,分別對數據缺失和數據扭曲兩種數據異常情況進行分析。實驗結果表明端到端的多模式與多單模式架構融合的網絡在數據異常的情況下分類精度較高,F1值達到了93.40%。
卷積神經網絡隨著深度學習的興起,逐漸應用于遙感影像時間序列分類任務中。時間序列數據分類問題中,訓練樣本通常由一系列已標記的單序列時間序列樣本構成,假設單變量時間序列X=[x1,x2,…,xT]是有序的一組實數值,其中X的長度為T。M維時間序列XM=[X1,X2,…,XM]是由M個不同的單變量時間序列構成的多元時間序列,其中Xi∈RT。數據集D={(X1,Y1),(X2,Y2),…,(XN,YN)}是(Xi,Yi)的集合,其中Xi可以是單變量或多元時間序列,Yi是其對應的one-hot編碼標記向量。對于包含K個類別的數據集,時間序列Xi對應標記Yi∈{0,1}K,表示訓練樣本中有K個類別,Yi中僅有一個元素取1,取1 元素的索引為該時間序列的類別,其余元素均為0。多波段遙感影像提供了同一個位置上的多個不同光譜波段的強度,各個波段影像之間存在互補性和冗余性[18]。在遙感影像時間序列中,M維時間序列即是M個波段組成的多元時間序列,則數據集中地面特征可以表示為XM∈RN×T×M,其中N為像素數,T為時間序列長度即天數,M為時間序列維度即波段數量。本文中數據異常情況包括數據缺失和數據扭曲兩種情況,其中數據缺失是指丟失部分像素,即N減少,以模擬遙感影像采集中數據量少的情況。數據扭曲則是針對時間序列長度,又分為壓縮時間序列長度、拉伸時間序列長度和二者混合三種情況,即T變化,以模擬遙感影像采集中由于天氣等原因,導致缺失某天或某段時間的數據等情況。
同時,地物的時間序列數據在遙感影像中呈點簇狀分布,整體數據信息較為離散。在此情況下,LSTM 分類效果不理想[10,14]。文獻[10-12]應用1D-CNN 算法可有效描述一維序列數據的特性,解決遙感影像時序分類問題。使用MCNN[13]對時序數據集進行分類。MCNN 模型包括3 個階段:轉換階段、局部卷積階段和全卷積階段,其中轉換階段對輸入時間序列應用各種轉換,以應對現有時間序列分類方法中由于特征提取與分類過程分離所導致的無法提取不同時間尺度的不同特征的問題。MCNN 的局部卷積階段,通過在多組時間序列上進行卷積,提取不同時間尺度序列的特征。不同的分支彼此獨立,所有的輸出將通過多個具有不同大小的最大池化層。全卷積階段中將提取的所有特征連接起來,并通過多個跟著最大池化的卷積層、全連接層和softmax 層來生成最終的輸出。MCNN 整體通過這個端到端的系統,反向傳播所有的參數進行訓練。該方法可以一定程度上應對數據缺失的問題,但該方法并未對數據的各個波段之間的關系進行考慮,無法應對數據扭曲,分類精確率較低??紤]到多模態時間序列的不同特征之間的假定獨立性,多通道深度卷積神經網絡(MCDNN)[16]在輸入的每個維度上獨立并行應用卷積。MCDNN 對傳統的CNN 進行了改進,將多變量時間序列分解為單變量時間序列,即對每個Xi分別進行處理,然后在特征學習的最后連接一個多層感知機(Multi-Layer Perceptron,MLP)進行分類,但其無法應對數據缺失的情況。由于MCDNN 無法發挖掘出不同單變量之間的相互關系,TSCNN[17]聯合訓練多元時間序列進行特征提取。不同的單變量可能具有不同的價值,有的單變量區分度較大更有價值。傳統的CNN通常使用交叉熵的softmax輸出層,TSCNN的不同之處在于其使用了均方誤差(Mean Squared Error,MSE)損失函數的Sigmoid輸出層;并且在池化層部分使用平均池化層代替通常使用的最大池化層。在最后一個卷積層之后不再使用池化層。該方法考慮到了變量之間的關系,將整個數據作為一個整體進行訓練,但不能學習不相關的時間序列之間的信息,無法應對數據扭曲的情況。通過分析各分類模型的優缺點,本文提出一種端到端的多模式與多單模式架構融合的網絡。
端到端的多模式與多單模式的架構融合的網絡的整體架構如圖1 所示。該網絡主要由兩階段構成:第一部分是自動編碼階段;第二部分為分類階段。其中第一階段又分為3 個部分:第1 個部分為多元時序模型,第2 個部分為單變量時間序列模型組合,第3個部分為像素坐標輸入部分。

圖1 端到端的多模式與多單模式架構融合的網絡Fig.1 End-to-end multi-mode and multi-single-mode architecture fusion network
多元時序模型的輸入為整個多維時序數據整體,這樣可以很好地衡量多個單變量之間的關系。通過3 個卷積層進行特征抽取,并且進行扁平化,輸出整體多維時間序列數據的特征。單變量時間序列組合則是對各個單變量時間序列單獨進行多尺度的提取,包括兩個帶著最大池化層的卷積層,其中各個單變量在第一層卷積之后進行連接,并再次卷積。第二層卷積之后的特征圖也進行連接,再進行卷積與扁平化。該特征與單個通道及第一層后的連接特征圖共同進行最大池化與扁平化后連接,送入自動編碼階段的最后一層,輸出一系列單變量時間序列的特征。像素坐標輸入部分則將經過預處理的像素坐標,按比例縮放后直接送入最后一層。自編碼階段最后一層連接以上3 個部分的輸出,將其輸入分類階段。總的來說,待分類的時間序列數據會以整體和單個變量的形式分別輸入網絡,經過不同的卷積神經網絡,得到所有的特征集合,其中包括不同尺度的特征,最后與像素坐標一同連接,得到時間序列特征。
分類階段則是通過全連接層的疊加對自動編碼階段得到的時間序列特征進行分類。將5 個全連接層間學習到的時序特征映射到樣本標記空間。并在第2 個全連接層與第3 個全連接層使用Dropout,使得神經元與其他隨機挑選神經元共同工作,來避免模型過擬合,增加了泛化能力。最后一層的全連接層通過softmax 獲得分類概率,對像素進行分類,得到地物的類別標簽。最終整個網絡以時序特征的分類損失為整體的網絡損失進行反向傳播,得到端到端的時間序列分類模型。網絡的整體學習過程將在下文進行具體的介紹。
由于時序分類網絡對待時序數據角度不同,一個假定時間序列不相關,可以應對數據缺失情況;另一個則認為這些時間序列是一整個實體,可以應對數據扭曲的情況。本文提出的端到端的多模式與多單模式架構融合的網絡則可以將二者結合起來,以解決遙感影像時間序列數據異常的問題。
時間序列分類問題中,訓練樣本通常由一系列已標記的單變量時間序列樣本構成,假設單變量時間序列X=[x1,x2,…,xT]是有序的一組實數值,其中X的長度T。M維時間序列XM=[X1,X2,…,XM]是由M個不同的單變量時間序列構成的多元時間序列,其中Xi∈RT。
在整個體系結構中的自動編碼階段,使用了3 種不同的模型,輸入數據首先被用來訓練一個多元時序模型卷積神經網絡,將M維遙感影像時間序列作為一個整體進行處理,輸入時序數據的維度是T×M,即對XM整體進行卷積。通過連續三層卷積,其中每層包括為32個尺寸為3×3的卷積核,以獲得整體的時間序列特征。
各類地物對應的遙感影像時間序列變化不一,單靠一種波段很難進行分類,且各個波段信息之間存在一定的冗余。因此需要對多個單變量進行結合。單變量時間序列模型對M維時間序列數據XM=[X1,X2,…,XM]中每一維單獨進行處理,即對X=[x1,x2,…,xT]進行處理;并且將M個處理后的數據在不同的層級進行連接以獲取不同尺度的時間序列,如圖2 所示。每個波段的時間序列被輸入到卷積層中,第一個卷積層包括8 個尺寸為3×3 的卷積核。每個波段的第二個卷積層包括4個尺寸為3×3的卷積核。分別在第一個、第二個卷積層后對得到的特征圖進行連接,對第一層卷積后的連接特征圖使用8個尺寸10×10的卷積核進行卷積并卷積,對第二層卷積后的連接特征圖使用4個尺寸為10×10的卷積和進行卷積,并且將得到的結果扁平化與每個通道卷積后的結果扁平化后連接。這樣既結合了單變量進行訓練,又使用了不同尺度的特征進行采樣,豐富了卷積網絡所提取到的特征圖,有利于解決數據扭曲的問題。
自動編碼階段的第3 部分模型負責處理像素的坐標,預處理按比例縮放的像素坐標并與另外兩個模型的結果連接,交給全連接層一起處理。

圖2 多單模式的架構Fig.2 Multi-single-mode architecture
本階段使用具有256 個神經元的全連接層,激活函數為線性整流函數(Rectified Linear Unit,ReLU)。數據經過128個神經元的全連接層,并且以0.3 的概率神經元不工作,再經過64個神經元的全連接層,以0.3的概率神經元不工作,避免過擬合。最后通過32個神經元的全連接層,連接到softmax層對像素進行分類。分類階段通過在128 個神經元、64 個神經元和32個神經元這3個全連接層之間增加Dropout層,來避免過擬合,增加模型的泛化能力。
模型使用自適應矩估計Adam 優化器,學習率為0.001,每個批次的大小Batch size 的大小為256,共計50 個Epoch。動態調整學習率,每次調整時學習率變為原學習率的0.2 倍。經過3 個Epoch 訓練后,模型性能不再提升,學習率減小。學習率的下限為0.000 01。
采用TensorFlow 2.2.0 開源框架,搭建在操作系統為Ubuntu16.04,Python 版本為3.6 的平臺上,平臺顯卡型號為GeForce GTX TITAN XP。本文設置模型學習率(Learning Rate,LR)為0.001,每個批次的大小Batch size 為256,訓練數據集次數Epochs為100。對比模型的參數如下。
1D-CNN:LR=0.01,Batch size=256,Epochs=100,降采樣因子為2,即時間序列下采樣為原先的二分之一。滑動平均窗口大小為4,即時間序列的值為本值與該位置前兩個和后兩個的平均值。

所使用的數據集是來自于TiSeLaC(The time Series Land Cover classification challenge)[15],2014 年在留尼汪島的23 幅Landsat 8 影像生成的時間序列數據集。留尼汪島影像如圖3(a)所示,土地覆蓋類型如圖3(b)所示。

圖3 留尼汪島遙感影像Fig.3 Remote sensing images of Reunion Island
該遙感影像級別為2A,尺寸為2 866 像素×2 633 像素,地面分辨率30 m。在每個時間戳,每個像素有10 個特征值,包括7 個表面反射率(海岸波段ultra blue、藍波段blue、綠波段green、紅波段red、近紅外波段NIR、短波紅外1 SWIR1 和短波紅外2 SWIR2)和3 個輻射指數:NDVI、歸一化水指數(Normalized Difference Water Index,NDWI)和亮度指數(Brightness Index,BI)。而數據集的土地覆蓋類型數據,即像素類別標簽則是由2012 年Corine 土地覆蓋地圖[19]和2014 年Graphical Land Parcel 注冊信息聯合標注而得,以保證其真實可靠。訓練集包括81 714個像素,測試集為17 973個像素,共計9個類別,如表1所示。

表1 數據集類別分布Tab.1 Dataset class distribution
數據集中地面特征可以表示為XM∈RN×T×M,其中N=81 714 個像素,T=23 d,M=10 為特征數量即波段數與輻射指數數量之和。
本文通過數據處理來模擬數據異常情況。首先是數據缺失情況,即存在部分像素點缺失。本文采用隨機刪減策略進行模擬,即通過一定概率隨機刪除部分像素點,并最終只保留固定數量的像素點進行數據訓練。其次,針對數據扭曲,包括時序數據壓縮操作、拉伸操作和兩者混合操作。其中:圖4(a)表示原始時間序列;壓縮操作表現為基于時序數據按照固定步長進行抽取,如圖4(b)所示;拉伸操作表現為對特定時序區間進行線性插值進行數據填充,如圖4(c)所示。

圖4 時間序列數據操作Fig.4 Operations for time-series data
為客觀評價卷積神經網絡的分類性能,本文使用精確率(Precision)、召回率(Recall)和F1值作為評價指標。其中真陽(True Positive,TP)、假陽(False Positive,FP)、假陰(False Negative,FN)和真陰(True Negative,TN)分別表示:
TP:實際為正、預測為正的樣本數量;
FP:實際為負、預測為正的樣本數量;
FN:實際為正、預測為負的樣本數量;
TN:實際為負、預測為負的樣本數量。
1)精確率。
精確率指模型預測為正的樣本中實際也為正的樣本,占被預測為正的樣本的比例,即:

精確率體現了模型對負樣本的區分能力,精確率越高,模型對負樣本的區分能力越強。
2)召回率。
召回率指實際為正的樣本中,被預測為正的樣本,占實際為正的樣本的比例,即:

召回率體現了模型對正樣本的識別能力,召回率越高,模型對正樣本的識別能力越強。
3)F1值。
F1 值是評價卷積神經網絡性能的常見指標。F1 值通過精確率和召回率計算,公式如下:

F1 值作為精確率和召回率的調和平均值,其值越高,說明模型越穩健。
本文比較了不同模型在數據缺失與數據扭曲情況下對時序數據分類性能的影響。以23 d時間序列數據為原始數據集,1D-CNN、MCDNN、TSCNN、LSTM 和端到端的多模式與多單模式架構融合的網絡這五種時序分類網絡得到的結果如表2 所示,F1 值分別為88.47%、86.34%、88.68%、92.41% 和93.40%。其中:1D-CNN 采用Adam 優化器,初始學習率為0.001;MCDNN 采用隨機梯度下降策略(Stochastic Gradient Descent,SGD)與0.01的學習率;TSCNN采用學習率不變化的Adam優化器,學習率為0.001。由于LSTM形式的深層遞歸神經網絡在這種像素較少的情況下,訓練效果不佳[14]。本文所使用的LSTM網絡為借助LSTM結構對端到端的多模式與多單模式架構融合的網絡進行結合,以提升LSTM網絡性能。通過將本文網絡中的多元時序模型,替換為輸出維度為512 的LSTM網絡,對時序數據進行整體特征提取,再結合網絡中的多單變量網絡與像素坐標,最后在分類階段對數據進行分類。
在這種原始情況下,五種時序分類網絡的精確率和召回率相仿,說明其對正負樣本的識別能力都很強。從中可以看出,端到端的多模式與多單模式架構融合的網絡對時序數據分類性能最好,精確度達到了93.5%。而數據缺失的情況,即以80%的概率刪除訓練集中的像素點,剩余16 343個像素點。當訓練數據變少時,端到端的多模式與多單模式架構融合的網絡的F1值仍然最優。同時,MCDNN 在此時受影響較大,精確度只有73.31%,且各個網絡的F1 值均有所降低,說明訓練數據減少會影響分類效果。其中對TSCNN 影響最小,精度下降約4%。端到端的多模式與多單模式架構融合的網絡的前后變化較小,說明數據量變小對其影響較小。端到端的多模式與多單模式架構融合的網絡由于使用三種不同模型來對原始時序數據進行分類,故而較為分類效果穩定,可以應對數據缺失的問題。
為模擬數據扭曲的情況,本文壓縮部分時序數據同時拼接剩余數據,共剩余6 d時序數據。此時在數據缺失情況下表現優異的TSCNN,分類精度卻下降最大,說明在時間維度較小的數據集中,將所有波段特征作為一個整體,區分度較低。本文模型性能受影響較小,仍能保持92.65%的F1值,分類性能優于其他模型。為模擬數據采集較少的情況,即只有15 d時序數據的情況下,需要考慮對數據進行填充,通過線性插值的方法對其進行填充,將數據填充回原數據集的大小進行訓練。在這種情況下,得到的分類結果與原始數據的分類結果基本一致,說明這類時序數據中線性插值的方法是有效的,可以提高訓練數據較少時的分類精度。而在數據拉伸的情況下,本文通過對相鄰時間區間的數據進行之間線性插值,獲得共40 d 時序數據,并對此進行分類。在這種情況下由于1D-CNN 和MCDNN網絡結構較為簡單,對遙感影像時序數據描述能力較弱,可能會產生過擬合現象,導致分類效果變差F1值降低;但TSCNN和本文提出的端到端的多模式與多單模式架構融合的網絡結構考慮到了將多維特征作為整體學習,模型復雜描述能力強,在數據較為復雜的情況下,仍能有效表示時序數據??梢钥紤]擴充時間維度來增加數據,提升模型分類能力。

表2 時序數據分類結果 單位:%Tab.2 Results of time-series data classification unit:%
綜合考慮各種情況,端到端的多模式與多單模式架構融合的網絡的分類結果均好于其他模型,說明了其能應對數據異常的問題。
在原始情況下,五種時序分類網絡的時間性能如表3 所示。由于1D-CNN 需要對原始時間序列數據進行轉換,對于單一時間序列輸入進行降采樣和滑動平均等變化,所以訓練用時最長,性能最差,其余模型時間性能接近。MCDNN 用時最短,單個Epoch 用時為2.006 s,效率最高。其次是TSCNN。本文模型單Epoch 用時與LSTM 基本一致,分別為5.016 s 和5.018 s。綜合精度與時間性能,本文模型效果更好。

表3 時序數據分類用時Tab.3 Time consumption of time-series data classification
本文網絡在9個地物類別的分類效果有所不同,圖5展示了在9 類不同地物分類任務上的混淆矩陣。從圖中可以看出,9 個類別都可以被區分開,其中其他作物類相對區分度較低,其原因主要是其在訓練樣本中所占數量較少,訓練較為不充分。城市地區與其他建筑物由于光譜反射率較為接近,也存在一定的誤分現象。

圖5 混淆矩陣Fig.5 Confusion matrix
遙感影像時間序列分類在遙感影像分類中十分重要,本文提出了一種端到端的多模式與多單模式架構融合的網絡,可以通過結合多元時序模型和多尺度單變量模型進行特征提取,與像素坐標匯總后進行分類,并通過使用公開遙感影像時序數據集對1D-CNN、MCDNN、TSCNN、LSTM 和本文模型進行驗證,實驗表明:在數據異常的情況下,本文模型仍然保持了分類精度優于其他模型,且F1 值變化較小,說明了本文模型具有魯棒性。該模型在解決時序分類的問題上,尚有進一步研究的空間,后續工作將使用模型初始化方法提高模型分類精度,以及研究更極端條件對模型的影響。