仇 龍
(北京科技大學(xué)資產(chǎn)經(jīng)營(yíng)公司 北京 100083)
遙感技術(shù)是在20 世紀(jì)60 年代逐步發(fā)展起來(lái)的新興技術(shù)[1]。 通過(guò)非接觸傳感器接收目標(biāo)地物的電磁波信息,遙感圖像的獲得能夠測(cè)量目標(biāo)地物的幾何和物理特性,并以可視化的形式展現(xiàn)出來(lái)。 由于不同地物在遙感圖像中具有獨(dú)特的特征,因此可以通過(guò)提取和學(xué)習(xí)這些特征來(lái)區(qū)分不同的地面物體。 隨著遙感技術(shù)的不斷發(fā)展,遙感數(shù)據(jù)被廣泛應(yīng)用于都市規(guī)劃、農(nóng)林、地質(zhì)、生態(tài)等行業(yè),這些應(yīng)用也在一定程度上推動(dòng)了遙感技術(shù)的進(jìn)步。 高光譜圖像已成為遙感技術(shù)發(fā)展的重要趨勢(shì),相對(duì)于傳統(tǒng)遙感技術(shù),高光譜遙感利用數(shù)百個(gè)成像波段,每個(gè)波段的寬度通常小于10 nm,并在某個(gè)光譜范圍內(nèi)連續(xù)分布。 高光譜圖像蘊(yùn)含豐富的光譜和空間信息,因此在農(nóng)業(yè)、環(huán)境、監(jiān)測(cè)、醫(yī)學(xué)等許多重要領(lǐng)域廣泛應(yīng)用。 高光譜圖像分類作為上述應(yīng)用中的關(guān)鍵技術(shù),是遙感領(lǐng)域中的一項(xiàng)重要任務(wù)。
在過(guò)去幾十年中,針對(duì)高光譜圖像分類的傳統(tǒng)方法得到了不斷發(fā)展,這些方法通過(guò)將每個(gè)像素點(diǎn)分類為獨(dú)特的土地覆蓋標(biāo)簽,例如最大似然、最小距離、K 近鄰、隨機(jī)森林、貝葉斯模型、神經(jīng)網(wǎng)絡(luò)等。 其中,基于核的支持向量機(jī)是最重要的分類器之一。 支持向量機(jī)通過(guò)建立最佳的超平面來(lái)分離訓(xùn)練樣本,從而獲得較高的高光譜分類精度。然而,這些傳統(tǒng)方法通常只用來(lái)提取邊緣、紋理等淺層次特征,難以應(yīng)對(duì)高光譜遙感圖像的類內(nèi)差異性高和類間差異性低的挑戰(zhàn)。 例如,類內(nèi)差異性高是指同一類別的像素在鄰域內(nèi)可能具有不同的形狀,其中一些是直線形狀,而其他一些是彎曲形狀,僅從它們的淺層特征來(lái)進(jìn)行判斷和分類,可能會(huì)導(dǎo)致這些像素被模型誤判定為不同類別。 類間差異性低是指不同類別的像素的紋理可能極其相似,模型易誤判定其為相同類別。 在這些情況下,傳統(tǒng)的底層特征提取方法可能無(wú)法獲得最優(yōu)的分類結(jié)果。 因此,研究人員開(kāi)始探索更好的高光譜圖像分類方法。
自2006 年Geoffrey Hinton 提出深度置信網(wǎng)絡(luò)后,深度學(xué)習(xí)得到了眾多學(xué)者的廣泛關(guān)注,深度學(xué)習(xí)的主要目的就是建立能夠模擬生物體的大腦進(jìn)行分析新知識(shí)和學(xué)習(xí)所需特征的神經(jīng)網(wǎng)絡(luò)[2]。 Yann LeCun 于1998 年設(shè)計(jì)的卷積神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)的典型應(yīng)用。 卷積神經(jīng)網(wǎng)絡(luò)由卷積層、池化層和全連接層組成,是一個(gè)多層神經(jīng)網(wǎng)絡(luò)。 近年來(lái),各種經(jīng)典模型的不斷提出使得卷積神經(jīng)網(wǎng)絡(luò)的識(shí)別準(zhǔn)確率持續(xù)提高,使計(jì)算機(jī)具備超越人類的識(shí)別能力。圖像可以直接作為卷積神經(jīng)網(wǎng)絡(luò)的輸入,無(wú)需任何處理,并可進(jìn)行端到端的訓(xùn)練任務(wù),省去了傳統(tǒng)機(jī)器學(xué)習(xí)中的手工設(shè)計(jì)特征提取和數(shù)據(jù)重建過(guò)程。 隨著深度學(xué)習(xí)技術(shù)的不斷推陳出新,遙感圖像場(chǎng)景分析也迎來(lái)了新的變革[3]。
目前,許多學(xué)者開(kāi)展了深度學(xué)習(xí)技術(shù)在遙感圖像處理上的應(yīng)用。 趙爽[4]將卷積神經(jīng)網(wǎng)絡(luò)用于遙感影像的處理,并將其與傳統(tǒng)人工神經(jīng)網(wǎng)絡(luò)方法進(jìn)行對(duì)比。 劉大偉等[5]將深度學(xué)習(xí)中的深度信息網(wǎng)絡(luò)應(yīng)用于高分辨率遙感影像的研究。 基于深度學(xué)習(xí)的高光譜遙感圖像分類方法可以提取更高層次的特征,從而獲得更好的分類結(jié)果。 與傳統(tǒng)的機(jī)器學(xué)習(xí)方法相比,基于深度學(xué)習(xí)的高光譜遙感圖像分類方法不僅省去了手工設(shè)計(jì)特征提取的過(guò)程,還在分類精度上有了顯著的改進(jìn)。 然而,目前仍存在三個(gè)普遍的問(wèn)題:第一,過(guò)度增加卷積神經(jīng)網(wǎng)絡(luò)的層數(shù)可能會(huì)阻礙網(wǎng)絡(luò)的融合。 第二,大多數(shù)現(xiàn)有方法忽略了不同層之間的相關(guān)信息。 第三,在聯(lián)合提取光譜特征和空間特征時(shí)仍然存在一定的挑戰(zhàn)。 為了解決這些問(wèn)題并提高分類性能,本研究構(gòu)建了一種新的雙流密集殘差網(wǎng)絡(luò),詳細(xì)介紹了網(wǎng)絡(luò)框架和一些參數(shù)設(shè)置,并在一個(gè)知名的高光譜圖像數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn)。 實(shí)驗(yàn)結(jié)果表明,與其他先進(jìn)的分類方法相比,本研究提出的雙流密集殘差網(wǎng)絡(luò)具有更優(yōu)越的分類性能。
Indian Pines 數(shù)據(jù)集是由美國(guó)印第安納州的農(nóng)林地區(qū)于1992 年使用波長(zhǎng)范圍為0.4 ~2.5 μm 的機(jī)載可視紅外成像光譜儀,通過(guò)連續(xù)的220 個(gè)成像波段對(duì)地物信息進(jìn)行收集。 該數(shù)據(jù)集實(shí)際上是一張像素分辨率為145×145 的圖像,其空間分辨率為20 m。 在實(shí)際分類中,背景像素被排除,剩下的10 249 個(gè)像素是地物像素。 這個(gè)數(shù)據(jù)集總共包含16 類地物,主要以農(nóng)作物為主。 圖1 為Indian Pines 圖像的偽彩圖,由第25、19、8 這三個(gè)波段組成,顯示了真實(shí)地物標(biāo)簽。
圖1 Indian Pines 數(shù)據(jù)集可視化偽彩圖(左)和真實(shí)標(biāo)簽(右)
為了處理高光譜遙感圖像分類問(wèn)題,首先需要建立整個(gè)實(shí)驗(yàn)平臺(tái)的軟硬件環(huán)境。 在軟件配置方面,本文選擇使用TensorFlow 框架,并需要在系統(tǒng)中配置相應(yīng)的環(huán)境。 實(shí)驗(yàn)將在Linux 系統(tǒng)下進(jìn)行,因此需要配置統(tǒng)一計(jì)算設(shè)備架構(gòu)(compute unified device architecture,CUDA)。 本文使用Windows 系統(tǒng)通過(guò)PyCharm 軟件進(jìn)行遠(yuǎn)程操作,并使用Python 語(yǔ)言編寫模型代碼。 此外,為了生成偽彩圖,本實(shí)驗(yàn)還將使用MATLAB 軟件。 在硬件配置方面,本文使用一臺(tái)配備Ubuntu 系統(tǒng)的計(jì)算機(jī),并配備一塊NVIDIA GeForce GTX 1080Ti 圖像處理器(graphics processing unit,GPU)。 該GPU 將提供計(jì)算能力支持,加速深度學(xué)習(xí)模型的訓(xùn)練和推理過(guò)程。 通過(guò)以上軟硬件環(huán)境的搭建,可以為高光譜遙感圖像分類問(wèn)題的研究提供必要的計(jì)算平臺(tái)和工具支持。
高光譜數(shù)據(jù)是一個(gè)具有三個(gè)維度的立方體形狀數(shù)據(jù),包括一維光譜信息和二維空間信息。 本文的方法是通過(guò)兩個(gè)分支分別學(xué)習(xí)光譜特征和空間特征。 因此,需要對(duì)三維高光譜數(shù)據(jù)進(jìn)行劃分,將每個(gè)像素塊對(duì)應(yīng)的光譜向量和相鄰的空間區(qū)域送入網(wǎng)絡(luò)。 這里的空間相鄰區(qū)域是由三個(gè)波段組成的偽彩圖,大小為21×21 像素,由像素點(diǎn)及其上下左右的10 個(gè)相鄰像素組成。 主成分分析(principal component analysis,PCA)是常用的數(shù)據(jù)降維技術(shù)。 通過(guò)采用PCA 將空間分支的成百個(gè)光譜帶壓縮為三個(gè)光譜帶,不僅可以減少光譜帶的冗余,還可以減輕計(jì)算負(fù)擔(dān)。 通過(guò)PCA,保留了光譜帶的主要特征,雖然會(huì)丟棄一些光譜特征,但空間特征保持不變。 由于空間分支主要關(guān)注空間特征,因此丟棄少量光譜特征對(duì)分類結(jié)果的影響不大。
本文設(shè)計(jì)的雙流密集殘差網(wǎng)絡(luò)的整體分類系統(tǒng)框架如圖2 所示。 將高光譜遙感數(shù)據(jù)劃分為一系列譜向量及其相應(yīng)的空間鄰域。 對(duì)于這些空間鄰域:首先引入PCA 對(duì)光譜信息進(jìn)行壓縮,以提高訓(xùn)練速度。 然后,將訓(xùn)練數(shù)據(jù)送入雙流密集殘差網(wǎng)絡(luò)中,利用反向傳播來(lái)更新參數(shù)。 最后,利用最優(yōu)模型的參數(shù)對(duì)測(cè)試數(shù)據(jù)進(jìn)行預(yù)測(cè)。
圖2 高光譜遙感圖像分類整體框架
如圖3 所示,雙流密集殘差網(wǎng)絡(luò)主要由三部分組成:光譜特征學(xué)習(xí)、空間特征學(xué)習(xí)和特征融合。 所設(shè)計(jì)的網(wǎng)絡(luò)具有兩個(gè)分支,上面的分支輸入一維光譜向量,且該分支中所有的卷積和池化操作都屬于一維計(jì)算,用于光譜特征學(xué)習(xí)。 下面的分支輸入每一個(gè)像素對(duì)應(yīng)的空間近鄰區(qū)域,且該分支中所有的卷積和池化操作都屬于二維計(jì)算,用于空間特征學(xué)習(xí)。 在空間分支中,由于高光譜數(shù)據(jù)的通道有上百個(gè),先通過(guò)PCA 選取三個(gè)光譜帶形成偽彩圖,對(duì)所得到的偽彩圖提取空間特征。 考慮上下文信息可以提取更豐富的特征,將像素的近鄰區(qū)域塊被設(shè)置為空間分支的輸入。 為了公平比較,采用跟其他方法相同的21×21 像素塊作為空間分支的輸入。 該深度卷積網(wǎng)絡(luò)的兩個(gè)分支,首先通過(guò)一維/二維卷積層和池化層得到淺層特征,隨后通過(guò)密集殘差網(wǎng)絡(luò)得到深層特征。 同時(shí),如圖3 中的殘差塊上方的曲線箭頭所示,通過(guò)跳躍連接將淺層特征和深層特征結(jié)合,進(jìn)一步提高分類結(jié)果。 最后,將得到光譜特征和空間特征通過(guò)全連接層結(jié)合起來(lái)。 需要注意的是,最后一層全連接層的隱藏卷積神經(jīng)元節(jié)點(diǎn)的個(gè)數(shù)必須等于分類的類別數(shù),而且還需要通過(guò)一種常用的激活函數(shù)——Softmax函數(shù)來(lái)預(yù)測(cè)每個(gè)類的概率分布,輸出分類結(jié)果以及整體分類精度。
圖3 雙流密集殘差網(wǎng)絡(luò)結(jié)構(gòu)圖
如圖3 所示,雙流密集殘差網(wǎng)絡(luò)主要由三個(gè)部分組成:光譜特征學(xué)習(xí)、空間特征學(xué)習(xí)和特征融合。 該網(wǎng)絡(luò)采用兩個(gè)分支的設(shè)計(jì):上面的分支(光譜分支)接收一維光譜向量作為輸入,其中的卷積和池化操作都屬于一維計(jì)算,用于學(xué)習(xí)光譜特征。 下面的分支(空間分支)接收每個(gè)像素對(duì)應(yīng)的空間近鄰區(qū)域作為輸入,其中的卷積和池化操作都屬于二維計(jì)算,用于學(xué)習(xí)空間特征。 在空間分支中,由于高光譜數(shù)據(jù)的通道數(shù)較多以及更好地捕獲上下文信息,使用經(jīng)過(guò)PCA 降維后的圖像像素的近鄰區(qū)域塊作為空間分支的輸入。 為了公平比較,采用與其他方法相同的21×21 像素塊作為空間分支的輸入。 該深度卷積網(wǎng)絡(luò)的兩個(gè)分支首先通過(guò)各自的卷積層和池化層提取淺層特征,然后通過(guò)密集殘差網(wǎng)絡(luò)獲得深層特征。 同時(shí),通過(guò)跳躍連接(如圖3 中殘差塊上方的曲線箭頭所示),將淺層特征和深層特征結(jié)合起來(lái),進(jìn)一步提高分類結(jié)果。 最后,將得到的光譜特征和空間特征通過(guò)全連接層進(jìn)行融合。需要注意的是,最后一層全連接層的隱藏神經(jīng)元節(jié)點(diǎn)數(shù)量必須與分類的類別數(shù)相等,并通過(guò)Softmax 函數(shù)輸出每個(gè)類別的概率分布,以得到分類結(jié)果和整體分類精度。
受到ResNet[6]和DenseNet[7]的啟發(fā),這樣的結(jié)構(gòu)在一定程度上減輕了在訓(xùn)練過(guò)程中的梯度消失問(wèn)題,并證明了增加網(wǎng)絡(luò)的層數(shù)可以同時(shí)提高模型的準(zhǔn)確性。 為了實(shí)現(xiàn)這一目標(biāo),本文設(shè)計(jì)了密集殘差模塊,如圖4 所示。 密集殘差模塊包括淺層的特征提取層、級(jí)聯(lián)的殘差塊、密集特征融合模塊和反卷積上采樣模塊,通過(guò)殘差連接的方式,既沒(méi)有引入額外的參數(shù),也沒(méi)有增加模型的復(fù)雜度。 具體來(lái)說(shuō),殘差塊采用了“瓶頸塊”設(shè)計(jì),以減少參數(shù)數(shù)量。 光譜分支的殘差塊包含三個(gè)階段的卷積層,卷積核的尺寸分別為1×1、3×1 和1×1。 空間分支的殘差塊也包含三個(gè)卷積層,卷積核的尺寸分別為1×1、3×3 和1×1。 第一層的1×1 卷積將通道數(shù)從75 降低到17,最后一層的1×1 卷積將通道數(shù)恢復(fù)到75。 與傳統(tǒng)的普通卷積神經(jīng)網(wǎng)絡(luò)相比,該設(shè)計(jì)將網(wǎng)絡(luò)的總參數(shù)減少了約95%,顯著提高了訓(xùn)練效率。 為了驗(yàn)證其有效性,本文還比較了具有相同層數(shù)的普通網(wǎng)絡(luò),結(jié)果表明其精度達(dá)到飽和后迅速下降。 因此,本文重點(diǎn)關(guān)注這種結(jié)構(gòu),以增加網(wǎng)絡(luò)深度。 為了解決下采樣過(guò)程中卷積和池化操作導(dǎo)致的信息丟失問(wèn)題,網(wǎng)絡(luò)的后端采用反卷積操作來(lái)恢復(fù)信息。 反卷積并不能完全恢復(fù)卷積前的矩陣,但可以恢復(fù)尺寸,通過(guò)自動(dòng)填充以使輸出矩陣與指定的輸出矩陣形狀相同。
圖4 密集殘差網(wǎng)絡(luò)細(xì)節(jié)圖
同時(shí),深度卷積神經(jīng)網(wǎng)絡(luò)的超參數(shù)選擇非常重要。 本文通過(guò)實(shí)驗(yàn)分析了殘差塊數(shù)目和殘差塊中卷積核數(shù)目對(duì)模型分類精度的影響,并得出了最優(yōu)網(wǎng)絡(luò)的超參數(shù)配置,如表1 所示。 其中,n 表示波段數(shù)目,m 表示像素點(diǎn)數(shù)目。光譜分支采用一維卷積,空間分支采用二維卷積,每個(gè)殘差塊包含三個(gè)卷積層,前兩層的通道數(shù)設(shè)置為17,最后一層的通道數(shù)設(shè)置為75。
表1 網(wǎng)絡(luò)的超參數(shù)配置
損失函數(shù)的設(shè)計(jì)在卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)化中起著至關(guān)重要的作用。 在理想情況下,損失函數(shù)能夠衡量實(shí)際輸出與期望輸出之間的接近程度,通??梢允褂媒徊骒刈鳛榫W(wǎng)絡(luò)的損失函數(shù)。 交叉熵的值越小,代表兩個(gè)概率分布越接近[8]。 交叉熵公式如式(1)所示。
式(1)中n表示參與訓(xùn)練的數(shù)據(jù)集樣本的個(gè)數(shù),概率分布p(xi)為期望的模型的輸出,即標(biāo)簽,概率分布q(xi)為實(shí)際的模型的輸出,H(p,q)表示交叉熵的值。 整個(gè)網(wǎng)絡(luò)的損失函數(shù)被定義為平均交叉熵值。 在卷積神經(jīng)網(wǎng)絡(luò)迭代學(xué)習(xí)過(guò)程中,當(dāng)損失值達(dá)到最小且基本不再變化時(shí),可以終止訓(xùn)練,即網(wǎng)絡(luò)參數(shù)如權(quán)重和偏差達(dá)到最佳值。 此外,為了優(yōu)化學(xué)習(xí)過(guò)程,常使用Adam 算法作為優(yōu)化算法,它具有高效和易于實(shí)現(xiàn)的特點(diǎn)。
在本節(jié)中,設(shè)計(jì)了實(shí)驗(yàn)以重點(diǎn)驗(yàn)證密集雙流殘差網(wǎng)絡(luò)在高光譜遙感圖像分類中的效果。 為了公平比較,本文的數(shù)據(jù)劃分方式將按照以前的高光譜遙感圖像分類方法的設(shè)置,從Indian Pines 數(shù)據(jù)集中隨機(jī)抽取10%的訓(xùn)練樣本。
為了評(píng)估神經(jīng)網(wǎng)絡(luò)模型的性能,需要使用評(píng)價(jià)指標(biāo)來(lái)確定分類結(jié)果的準(zhǔn)確性。 一種常見(jiàn)的方法是將預(yù)測(cè)的分類結(jié)果與實(shí)際的標(biāo)簽進(jìn)行比較,從而創(chuàng)建一個(gè)混淆矩陣?;煜仃嘋是一個(gè)r階方陣,具有r行r列,這里r指的是類別數(shù)。 如式(2)所示,Cij表示應(yīng)該分到第i類樣本卻被分到第j類樣本的所有總數(shù)。 因此,混淆矩陣對(duì)角線上的元素表示被正確分類的樣本數(shù)量,而非對(duì)角線上的元素表示被錯(cuò)誤分類的樣本數(shù)量。 因此,混淆矩陣對(duì)角線上的元素之和越大,模型的分類效果就越好。 相反,如果非對(duì)角線上的元素之和較大,則模型的分類效果較差。
在高光譜圖像分類中,通常使用三個(gè)指標(biāo)進(jìn)行評(píng)估,即總體準(zhǔn)確度(overall accuracy, OA)、平均準(zhǔn)確度(average accuracy,AA)和一致性系數(shù)(Kappa)[9]。 具體而言,總體準(zhǔn)確度OA 表示被正確分類的像素?cái)?shù)量占整個(gè)圖像的比例,可以根據(jù)混淆矩陣計(jì)算得出[10],如式(3)所示。平均準(zhǔn)確度AA 是各個(gè)類別精度的平均值。 Kappa 通過(guò)對(duì)精度進(jìn)行加權(quán)測(cè)量來(lái)計(jì)算,代表了一致性程度和穩(wěn)健性的度量標(biāo)準(zhǔn),也是基于混淆矩陣計(jì)算的,如式(4)所示。
式(3)、式(4)中N代表測(cè)試集像素點(diǎn)總數(shù),Ni表示測(cè)試集樣本中第i類的像素點(diǎn)總數(shù),r為類別數(shù),Cii表示第i類被分為第i類的像元素,Ci+表示第i類的真實(shí)像元素,C+i表示被分為第i類的像元素。
為了驗(yàn)證所提出的方法的有效性,在實(shí)驗(yàn)中將本文提出的方法與其他高光譜遙感圖像分類方法進(jìn)行了比較,包括支持向量機(jī)(support vector machine,SVM)、卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)、深度卷積神經(jīng)網(wǎng)絡(luò)(deep convolutional neural networks,DCNN)、雙分支卷積神經(jīng)網(wǎng)絡(luò)(two?branche deep CNN,Two?CNN)、像素對(duì)卷積神經(jīng)網(wǎng)絡(luò)(CNN with pixel?pair features,CNN?PPF)和波段自適應(yīng)光譜空間網(wǎng)絡(luò)(band?adaptive spectral?spatial Net,BASS?Net)。 為了進(jìn)行公平的比較,訓(xùn)練樣本選擇使用與之前方法相同的數(shù)量,從Indian Pines 數(shù)據(jù)集中隨機(jī)抽取了10%的訓(xùn)練樣本用于訓(xùn)練網(wǎng)絡(luò)。 表2 顯示了在不同方法下使用Indian Pines 數(shù)據(jù)集時(shí)的性能比較結(jié)果。 顯然,傳統(tǒng)的機(jī)器學(xué)習(xí)方法SVM 的性能表現(xiàn)不佳。 此外,CNN 方法的性能也不佳,這是因?yàn)樗雎粤丝臻g信息。 相比較于其他方法,提出的方法在性能上有所提升。 圖5 展示了所有方法的分類圖像,本文所提出的方法具有最少的誤分類像素。
表2 Indian Pines 數(shù)據(jù)集在不同分類方法下的精度
圖5 Indian Pines 數(shù)據(jù)集下不同方法的分類結(jié)果圖
為了解決高光譜遙感圖像分類問(wèn)題,本文設(shè)計(jì)了一種能高效處理有限訓(xùn)練樣本的雙流密集殘差網(wǎng)絡(luò)。 從雙流結(jié)構(gòu)、密集殘差網(wǎng)絡(luò)兩個(gè)方面提高了高光譜遙感圖像分類精度。 該框架包含提取光譜特征的一維密集殘差網(wǎng)絡(luò)和提取空間特征的二維密集殘差網(wǎng)絡(luò)。 將光譜特征與空間特征相結(jié)合,可以顯著提高分類性能。 通過(guò)在可公開(kāi)獲取的高光譜數(shù)據(jù)集Indian Pines 上所進(jìn)行的實(shí)驗(yàn)表明,本文搭建的框架不但能夠提取出比其他方法更加深層次的特征。 而且與傳統(tǒng)的方法和其他深度學(xué)習(xí)網(wǎng)絡(luò)相比,本文所設(shè)計(jì)的網(wǎng)絡(luò)可以獲得較高的分類性能。