黃 鴻,張 臻,嵇 凌,李政英
(1.重慶大學 光電技術與系統教育部重點實驗室,重慶 400044;2.中國電子科技集團公司第三十四研究所,廣西 桂林 541004)
高光譜遙感技術利用高光譜傳感器,以連續細分的波段對目標區域同時成像,獲取的圖像包含豐富的輻射、空間和光譜信息,廣泛應用于地物分類、像元解混等研究中。高光譜遙感圖像分類在土地監測、環境保護、防震減災等領域發揮著重要的作用[1-2]。影響高光譜遙感分類精度的因素主要有兩個,其一是高光譜圖像波段多所導致的“維數災難”問題,其二是光譜異質性導致的“同物異譜”“同譜異物”問題[3]。
針對“維數災難”問題,學者們提出一系列特征提取方法以改善地物分類性能。按照是否利用樣本先驗信息,特征提取方法可分為無監督、監督和半監督學習3種。其中,無監督學習方法在無類別信息的前提下學習特征進行分類,如主成 分 分 析(Principle Component Analysis,PCA)[4]、鄰域保持嵌入(NPE)[5]。監督學習方法利用樣本的先驗信息來提升分類性能,典型方法如 線 性 判 別 分 析(LDA)[6]、邊 界Fisher分 析(MFA)[7]和部幾何結構Fisher分析(LGSFA)[8]。高光譜圖像由于標記樣本困難,存在著大量未標記樣本,半監督學習能夠同時利用少量標記樣本和大量無標記樣本,取得了更好的分類性能[9],典型方法包括半監督鑒別分析(SDA)[10]、半監督局部鑒別分析(SELD)[11]、基于稀疏編碼的幾何子空間投影(SCGSP)[12]和監督稀疏流形鑒別分析(S3MDA)[13]。上述方法在高光譜遙感圖像分類中取得了較好的分類結果,但依賴淺層特征描述子,在地物類別多且空間分布復雜時其分類性能受限[14]。
深度學習技術以其優秀的非線性映射能力,通過端到端方式從數據中分層學習高層抽象特征,有效提升了分類性能,代表方法有SAE,DBN,CNN等[15-16]。然而,深度學習參數量較大,依賴于大規模訓練樣本以保證模型的可靠性,且忽略了對高光譜圖像中內部流形結構的探索[17]。黃鴻等提出DMRBN,將對深層特征的提取和對高光譜流形結構的探索同時考慮在內,在樣本量較少時優于常用的特征提取方法和端到端模型[18]。然而高光譜圖像具有空間一致性[19],該方法忽略了訓練樣本豐富的空間信息,不利于改善“同物異譜”“同譜異物”問題。
為了綜合利用高光譜圖像標記樣本和大量未標記樣本的局部空間信息以及光譜信息,本文提出了一種基于深度-流形學習的半監督雙流網絡(Semi-supervised Dual Path Network,SSDPNet),以解決“維數災難”以及“同物異譜”“同譜異物”問題。SSDPNet以神經網絡(Neural Network,NN)作為光譜流,2DCNN作為空間流,分別提取深度光譜、空間特征。為了使提取到的特征更具有鑒別性,并且綜合利用大量未標記樣本,在圖嵌入框架下設計了一種半監督流形重構圖模型,以度量標記樣本之間的流形邊界并保持無標記樣本中的局部幾何結構關系。此外,設計了基于均方誤差和流形學習的聯合損失函數,以優化空間流與光譜流網絡,通過全連接層自適應調整兩路網絡權重,最后利用訓練好的網絡對測試像素的標簽進行預測。在黑河與WHU-Hi龍口高光譜數據集上進行的實驗表明,該方法有效地利用了光譜和空間信息互補的優勢,在分類精度上具有明顯的優勢。
針對高光譜圖像分類領域少量標記樣本的高維特性,以及光譜異質性導致的“同物異譜”、“同譜異物”問題,本文綜合利用大量無標記樣本信息,提出了SSDPNet算法,其流程如圖1所示。
圖1中,x l=[x l,1,x l,2,x l,3…,x l,Nl],表示標記樣本,x u=[x u,1,xu,2,x u,3…,x u,Nu],表示無標記樣本,以上述樣本為中心,選取11×11尺寸的圖像塊并經過PCA算法降維后作為空間流輸入,分別 表 示 為。假 設 高 光 譜 數 據 集χ=[x1,x2,x3,…,x N],N為樣本個數,每個樣本包含D個光譜波段,樣本標簽l(x i)∈{1,2,…,c},其中c為樣本類別數。

圖1 SSDPNet算法流程Fig.1 Flow chart of SSDPNet algorithm
SSDPNet模型由NN,2DCNN,半監督流形重構圖模型,以及自適應全連接層四部分組成。NN和2DCNN分別提取標記樣本和大量未標記樣本的光譜-空間信息。為了使提取到的特征具有鑒別性,在圖嵌入框架下設計了一種半監督流形重構圖模型,以度量標記樣本之間的流形邊界且保持無標記樣本中的局部幾何結構關系,再由全連接層自適應學習空-譜兩個網絡權重,得到光譜-空間聯合鑒別特征,之后進行分類。
半監督流形重構圖模型由監督重構圖M1(·)和無監督圖M2(·)組成。監督重構圖可學習到少量標記樣本中的內蘊流形結構信息。具體來講,首先對各樣本點利用與其屬于同一類別的近鄰點進行重構;然后,利用同類樣本點的近鄰點以及各近鄰點對應的重構點設計類內重構圖,在特征提取空間中保持頂點間的相似性,使得類內特征更加聚集;與此同時,利用不同類別樣本點的近鄰點以及各近鄰點對應的重構點設計類間重構圖,在低維投影空間中抑制點間關系,使得類間特征更加分離。無監督圖用來探究大量無標記樣本中的局部幾何結構信息,并在特征提取空間中保持這種關系,使得提取到的特征保持其原有的幾何近鄰結構。
2.1.1 面向標記樣本流形結構學習的監督重構圖
由于高光譜圖像具有空間一致性,相鄰像素大概率屬于同類地物,即存在大量同質區域。通過對各樣本點周圍的同類近鄰樣本進行線性重構可減少噪聲所帶來的影響,同時能更好地保持同類數據間的局部線性結構。
對 于 樣 本點x l,i以及 其 鄰 域點x l,j,二者 之 間的重構權重R ij通過最小化重構誤差獲得,相應的目標函數定義如下:

為實現地物精細分析,對于從雙流網絡中提取到的空-譜特征,期望來自同一類的樣本盡可能地接近,而來自不同類的樣本盡可能地遠離。為了實現該目標,在半監督流形重構圖模型下設計了監督重構圖,它包含一個類內重構圖Gw(X,W w)和 一 個 類 間 重 構 圖Gb(X,W b)。Gw(X,W w)用于描述數據中被期望保留的特性,其中X表示圖的頂點,為類內圖權值矩陣,用于度量樣本x l,i和x l,j之間的類內相似性。若 圖 中 兩 個 頂 點x l,i,x l,j屬 于 同 一 地 物 類別的kw個類內近鄰點,則用權值為w wij的邊連接二者,w wij表示了兩頂點之間的相似關系,具體定義如下:

Gb則表示應該被避免的特性,X同樣表示圖的頂點為類間圖權值矩陣,用于度量樣本x l,i和x l,j之間的類間相似性。若x l,j屬于x l,i的kb個類間最近鄰點,則將二者用權值為的邊連接,權重定義如下:

式中:x l.i∈N K b(x l,j)表示x l,j是x l.i非同類數據的K b近鄰點,l(·)同樣代表標記樣本標簽的one-hot編碼向量。
為使提取到的特征具有可分性,期望類內近鄰點與其相應重構點的距離越來越近,類間近鄰點與其重構點的距離越來越遠。因此,類內圖目標函數Jw(·)和類間圖目標函數Jb(·)可分別表示為:

式中M w和M b分別定義如下:

因此,監督重構圖的目標函數M1(·)定義為:

2.1.2 面向未標記樣本流形結構學習的無監督圖
對于從雙流網絡中提取到無標記樣本的空-譜特征,為使它在低維嵌入空間中保持其原有的幾何近鄰結構,在半監督流形重構圖模型下設計了無監督圖。無監督圖利用無標記樣本探索高光譜數據的局部幾何鄰域關系,并在網絡優化過程中,由無標記樣本提取到的深度特征能夠保持原始樣本間的結構信息。

式中:w uij由第i個和第j個訓練樣本之間的幾何距 離 確 定,且表 示 無標記樣本數。無監督圖可以在深度特征中保持無標記樣本間的幾何近鄰關系,相應的目標函數為:


式中參數α和β用于平衡標記樣本和無標記樣本對模型的影響。
SSDPNet算法用NN作為光譜流以提取深度光譜特征。假設NN有H層,則第h層(1<h<H)第i個樣本輸入輸出之間的代數關系為:

式中A h和b h是神經網絡第h層的參數。NN同樣引入均方誤差損失函數來度量預測值與實際值的殘差,計算如下:

SSDPNet的光譜流構造了一個協同損失函數,不僅可以計算預估結果和真實標簽向量之間的差值,而且通過設計好的半監督圖模型提高了提取到的深度特征的可分性,相應的損失函數表示如下:

迭代過程是網絡優化的關鍵步驟,光譜流的迭代策略設計見式(14),并采用隨機梯度下降法計算最佳的模型參數。光譜流損失函數J1關于NN第h層網絡參數矩陣的梯度:

式中:

算法在訓練過程中根據每一層計算得到的導數更新該層的網絡參數,若η1表示光譜流學習率,則第h層的參數更新為:

本文算法采用2DCNN作為空間流提取深度局部空間特征。若輸入N個圖像塊X Pi(1≤i≤N),則卷積后特征圖的生成過程如下:

式中:表示卷積神經網絡第m-1層的特征圖,k m表示第m層的卷積核,b m表示偏移向量,最后通過f(·)即sig非線性激活函數得到第m層的特征圖Y P,mi。
原始圖像X P經過卷積層和池化層的交替傳遞,最后通過全連接網絡得到提取出的特征,并使用均方誤差作為損失函數。JC(Y P|k,b,AFc)表示為原始圖像X P經過前向傳導后所得輸出與期望值的殘差,表示為:

式中:AFc為全連接層權重,real(·)表示樣本的真實值。為了使卷積網絡提取到的局部空間特征具有鑒別性,設計了基于空間流的深度流形聯合損失函數J2以協同度量卷積網絡殘差以及流形間距,J2表示為:


第m層卷積核網絡參數b m,k m的梯度分別為:

式中:

若η2表示空間流學習率,則第m層參數更新為:

本文采用黑河以及WHU-Hi龍口公開高光譜數據集進行對比實驗。黑河數據集[20]是由中國國家自然科學基金委員會黑河計劃科學數據中心用CASI/SASI傳感器于中國甘肅省黑河流域地區采集到的高光譜圖像。該圖像由684×453個像素和135個光譜波段組成,共104 917個已標記樣本點。空間分辨率為2.4 m,包含玉米、土豆等8種土地物類別,假彩色圖和真實地物分布如圖2所示。

圖2 黑河數據集假彩色圖與顏色標記的真實地物圖Fig.2 False color map and color marked real feature map of Heihe dataset
WHU-Hi龍口數據集[21]由武漢大學RSIDEA研究組收集和共享的高光譜圖像分類研究的基準數據集,是通過安裝在無人機頭部上的納米級高光譜傳感器在中國湖北省各地的農業區獲得的,包含玉米、棉花、芝麻、闊葉大豆、窄葉大豆和水稻等9種地物類別。圖像的空間分辨率約為0.463 m,尺寸為550×400,包含270個波段,假彩色圖和真實地物分布如圖3所示。

圖3 龍口數據集假彩色圖與顏色標記的真實地物圖Fig.3 False color map and color marked real feature map of LongKou dataset
為驗證本文算法的有效性,選取RAW,無監督學習方法PCA,NPE,監督學習方法LDA,MFA,LGSFA,1DCNN,2DCNN,3DCNN,DMRBN,DLPNet,半 監 督 學 習 方 法SDA,SELD,SCGSP,S3MDA等與本文方法進行對比。其中,RAW表示不進行任何特征提取,直接采用分類器對樣本進行分類。對于SSDPNet,根據經驗α與β均取0.1,訓練次數為3 000,學習率設置為1。以上實驗均在64位Windows操作系統,i7-7800X中央處理器,32 G內存的條件下進行。每種算法重復進行10次實驗,以均值±標準差(STD)的形式表征總體分類精度(Overall Accuracy,OA)、平均分類精度(Average Accuracy,AA)以及Kappa系數(Kappa Coefficient,KC),以便綜合比較并判斷各算法的分類性能。OA表示樣本分類正確的個數除以總個數,它從總體上展現了所有樣本分類正確的概率。AA指每種地物的分類精度取和后求得的平均值,但OA和AA僅側重于分類結果正確的樣本,未考慮錯分樣本和漏分樣本。鑒于此,引入以離散多元法為基礎的KC來更全面地評估算法性能。
為了分析無標記樣本數目對網絡性能的影響,在黑河數據集中每類選取5個標記樣本,并且每類分別選取50~500的無標記樣本作為訓練集,其余樣本作為測試,進行10次實驗,結果如圖4所示。

圖4 黑河數據集上不同無標記樣本數目下的實驗結果Fig.4 Experimental results of different unlabeled sample numbers on Heihe data set
從圖4可以看出,OA和KC隨著無標記樣本數的增加而逐漸變高,而后逐漸趨于穩定,證明通過構建無監督圖,保持無標記樣本的局部幾何結構,能夠提升網絡的性能。但當無標記樣本數達到一定程度后,其內部包含的結構信息逐漸趨于飽和,分類精度趨于平穩。
為了評估每種方法在不同標記樣本數目下的分類精度,每類隨機選取ni個(ni=5,10,20,…,50)標記樣本,每類500個無標記樣本進行試驗。表1給出了每種特征提取方法以及不同標記樣本下的10次實驗結果的分類精度以及標準差。
從表1可以看出,當樣本量很小時,由于先驗信息不足,監督學習方法性能受限,CNN等深度學習方法陷入過擬合,LDA,LGSFA等監督流形學習方法的性能遜于無監督學習方法(如PCA、NPE),半監督學習方法(如SDA,SELD等)優于無監督、監督學習方法。因為半監督學習方法不僅可以利用少量標記樣本中的先驗信息,還可以利用無標記樣本中的局部幾何結構信息。隨著標記樣本數目的增加,各種算法的分類精度逐漸增加,其中深度學習方法增速尤為明顯,這是因為標記樣本可提供充足的鑒別信息,深度學習方法可以學習到泛化性更強的抽象特征。本文算法在同時利用了標記樣本的空-譜鑒別特征以及大量無標記樣本中的局部幾何結構信息,因此不論樣本數多還是少,分類精度與其他監督、半監督、無監督方法相比均具有較強的競爭力。

表1 不同算法在黑河數據集上的分類結果(總體分類精度±標準差)Tab.1 Classification results with different methods on Heihe data set(overall accuracy±Std) (%)
為了探究SSDPNet各個模塊的作用,在黑河數據集上進行消融實驗。實驗中每類選取5個、50個標記樣本,無標記樣本均為每類500個。具體設置為:(1)僅使用2DCNN提取空間特征;(2)在2DCNN基礎上引入半監督流形重構圖模型,這里稱為2DCNN+SSGragh;(3)僅使用神經網絡提取光譜特征,稱為NN;(4)在神經網絡基礎上引入半監督流形重構圖模型,稱為NN+SSGragh。消融實驗結果如表2所示。

表2 黑河數據集上的消融實驗結果(總體分類精度±標準差)Tab.2 Ablation experimental results on Heihe dataset(overall classification accuracy±standard deviation)
消融實驗結果表明,2DCNN和NN在半監督流形重構圖的作用下,分類精度得到進一步提升。這是因為圖模型可以挖掘樣本中的內部流形結構,并且保持無標記樣本中的局部幾何結構,因此可以得到更有鑒別性的特征。SSDPNet的分類結果是最高的,因為其通過全連接層自適應調整空-譜兩路網絡的權重,得到具有鑒別性的空間-光譜特征。
為了對比每種算法在不同地物類別上的分類精度,從黑河數據集中隨機選取0.1%的標記樣本、1%的無標記樣本用作訓練,其余用作測試。表3為不同算法下不同地物類別的OA,AA和KC。圖5展示了相應的實際地物分類效果。
從圖5可以看出,本文算法相比其他方法分類圖錯分點較少,更為平滑,尤其是在“Corn”“Artificial Surface”類別上取得不錯的效果,而其余算法則出現了“椒鹽”現象。表3中,本文算法由于同時考慮了樣本的局部空間特征、光譜特征以及內在流形結構的探索,分類性能得到了有效的提升,因此OA,AA,KC均為最高,且在大多數地物類別上也取得不錯的效果。深度學習方法(1DCNN、3DCNN)等在某些地物類別上精度較低且標準差值較大,這是因為此類地物樣本數過少以致其陷入過擬合。

圖5 各算法在黑河數據集上的分類結果Fig.5 Classification results of each algorithm on Heihe data set

表3 不同算法在黑河數據集上各類地物的分類結果Tab.3 Classification results of each class samples via different methods on Heihe data set (%)

為進一步驗證本文方法的有效性,同樣在龍口數據集中每類隨機選取ni個(ni=5,10,20,…,50)標記樣本,500個無標記樣本進行試驗。表4給出了每種特征提取方法以及不同標記樣本下的10次實驗結果的分類精度以及標準差。
從表4可以看出,各個算法的分類精度均隨著標記樣本數目的增加而增加,這是因為數目越多的標記樣本可以提供的類別先驗知識更加豐富。深度學習方法(如CNN,DMRBN)在樣本量較少時,分類精度不如傳統流形學習方法(如MFA,SELD)。這是因為數目不足的訓練樣本使其陷入過擬合,但是隨著樣本數的增加,其強大的非線性映射能力使得其精度逐漸優于其他流形學習方法。深度流形學習方法優于1DCNN等深度學習方法,因為它不僅提取深度抽象信息,還探索了內部的流形結構,不過由于只考慮了光譜信息,因此性能遜于3DCNN。本文方法不管在小樣本還是大量樣本的情況下都取得了較高的精度,這是因為與深度學習方法相比,SSDPNet不僅利用了標記樣本與未標記樣本的深度光譜特征,還利用了其周圍的局部空間特征,可以自適應調整空-譜網絡權重。此外,還利用了無標記樣本中的局部幾何結構信息。

表4 不同算法在龍口數據集上的分類結果(總體分類精度±標準差)Tab.4 Classification results with different methods on LongKou data set(overall accuracy±std) (%)
為進一步研究SSDPNet各個模塊的作用,在龍口數據集上進行消融實驗。實驗中每類選取5個、50個標記樣本,500個無標記樣本。具體設置為:(1)僅使用2DCNN提取空間特征;(2)在2DCNN基礎上引入半監督流形重構圖模型,實驗中稱為2DCNN+SSGragh;(3)僅使用神經網絡提取光譜特征,實驗中稱為NN;(4)在神經網絡基礎上引入半監督流形重構圖模型,稱為NN+SSGragh。消融實驗結果如表5所示。

表5 龍口數據集下的消融實驗結果Tab.5 Ablation experimental results on Longkou data set
在龍口數據集上的消融實驗結果證明,訓練樣本數目不同時,NN和2DCNN兩路網絡的性能有些許差異,因此需要通過全連接層自適應調整空-譜兩路網絡的權重,使得精度占有優勢的網絡權重更大,反之權重更小,SSDPNet性能更加優異。該結果同樣可以證明半監督流形重構圖對2DCNN和NN的優化作用,因為它可以挖掘標記樣本中的內部流形結構,并且保持無標記樣本中的局部幾何結構。
為了對比每種算法在不同地物類別上的分類精度,從龍口數據集中隨機選取0.1%的標記樣本、1%的無標記樣本用作訓練,其余用作測試。表6為不同算法下不同地物類別的OA,AA和KC。圖6展示了龍口數據集實際地物分類效果。
圖6中,本文算法產生的同質區域更為平滑,尤其是在“Rice”“Corn”類別上取得了不錯的效果。從表6可以看出,SSDPNet對龍口數據集上各類地物的分類精度均較高,各項評價指標均為最高。由此表明,本文算法能有效地提取標記樣本的深度空-譜鑒別信息,比其他只能利用光譜鑒別信息的算法鑒別性更高,性能更好。同時,SSDPNet能夠有效利用無標記樣本中的局部幾何結構信息,比3DCNN等只能利用標記樣本信息的算法精度更高。

圖6 各算法在龍口數據集上的分類結果Fig.6 Classification results of each algorithm on Longkou data set

表6 不同算法在龍口數據集上各類地物的分類結果Tab.6 Classification results of each class samples via different methods on Heihe data set (%)

本文提出了一種半監督雙流網絡,該網絡由空-譜雙流網絡結構、半監督流形重構圖和一種融合方案組成。光譜流采用NN提取每個像素點光譜波段的光譜信息,以前述樣本為中心構建圖像塊并在空間流中采用2DCNN來提取空間信息。此外,構建了半監督圖模型,并設計了基于深度-流形聯合損失函數以優化NN和2DCNN。在網絡末端通過全連接層來自適應平衡兩個網絡的權重,充分平衡提取到的空-譜特征。在WHU-Hi-龍口和黑河高光譜數據集上的實驗表明,該方法優于其他算法,尤其是在訓練樣本量比較少時具有更加明顯的優勢。但是該方法忽略了利用圖像上下文之間的關系,因此下一步將探討如何引入圖卷積網絡,以進一步提取圖像豐富上下文信息,并將該算法拓展到目標檢測領域。