劉春容, 寧 芊,2*, 雷印杰, 陳炳才
(1.四川大學電子信息學院, 成都 610065; 2.新疆師范大學物理與電子工程學院, 烏魯木齊 830054; 3.大連理工大學計算機科學與技術學院, 大連 116024)
隨著遙感技術的飛速發展,獲取大量高分辨率的遙感圖像越來越容易,這些高質量的遙感圖像在實際生產生活中有著廣泛的應用,如精細農業、森林火災檢測、城市規劃[1]等。高分辨率遙感圖像包含了非常豐富的地物紋理信息和空間語義信息,如何將大量的遙感圖像進行準確分類是遙感圖像解析的重要研究內容。
遙感圖像場景分類方法根據特征提取的層次可分為低層特征處理和中層特征處理兩大類方法。低層特征通常采用場景圖像的顏色[2]、方向梯度[3]、密度特征[4]、特征點[5]、變換域的紋理[6]等進行描述。這些低層特征不能很好地對中層語義進行描述,難以跨越低層到高層語義的鴻溝,泛化能力差。目前遙感圖像分類算法主要集中于中層語義特征建模,如視覺詞袋(bag of visual words,BoVW)模型[7]、空間金字塔匹配(spatial pyramid matching,SPM)模型[8]、概率潛在語義分析(probabilistic latent sementic analysis,pLSA)模型[9]等方法,雖然這些方法能一定程度地縮小低層到高層語義的鴻溝,但其對圖像深層特征的提取和場景的尺度變化缺乏有效的處理措施,難以在復雜場景分類中取得較高精度。
近年來隨著深度學習的快速發展,以卷積神經網絡為代表的深度神經網絡[10]在圖像識別、自然語言處理等領域中取得了較好的結果,也有不少研究人員將其應用到遙感圖像場景分類任務中[11]。經典卷積神經網絡模型有VGG[12](visual geometry group)、AlexNet[13]、GoogleNet[14]、ResNet[15]等。Tianshun Z[16]等對AlexNet模型進行了改進,將改進后的模型與遷移學習結合進行遙感圖像分類實驗,在不增加訓練時間的同時提升了分類精度。Muhammad[17]等選擇預訓練的VGGNet作為深度特征提取器,采用典型相關分析對不同層的特征進行融合,該方法在遙感圖像場景分類任務中取得了較好的結果。Li等[18]提出了一種自適應多尺度深度融合殘差網絡,自適應特征融合模塊通過學習權值來突出有用信息,有效地抑制了無用信息。王改華等[19]提出了一種基于多分辨率和殘差注意力機制相結合的圖像分類模型,通過在DenseNet網絡稠密塊中添加多分辨率因子來控制瓶頸層層數,此外還在模型中引入了殘差注意力機制,能有效地從大量信息中篩選出少量重要的信息。張桐等[20]提出了一種深度多分支特征融合網絡的方法進行遙感圖像場景分類,利用多分支網絡結構提取中、高、低三個層次的特征信息,將三個層次的特征進行基于拆分-融合-聚合的分組融合,提升了模型的表征能力。王雨瀅[21]等提出一種深度學習和支持向量機相結合的圖像分類模型,基于實際圖像改進卷積神經網絡,并提取訓練集的圖像特征,通過使用訓練集的深度特征來訓練支持向量機(support vector machine, SVM)分類器。史文旭[22]等提出了一種基于卷積神經網絡(convolutional neural network, CNN)的多尺度方法結合反卷積網絡的特征提取算法并對腺癌病理圖像進行分類,利用反卷積操作實現不同尺度特征的融合,然后利用Inception結構不同尺度卷積核提取多尺度特征,最后通過Softmax方法對圖像進行分類。藍潔等[23]提出一種基于跨層精簡雙線性池化的深度卷積神經網絡模型,首先根據Tensor Sketch算法計算出多組來自不同卷積層的精簡雙線性特征向量,然后將歸一化后的特征向量級聯送至softmax分類器,最后引入成對混淆對交叉熵損失函數進行正則化以優化網絡。
正如上述所言,越來越多的深度學習方法被運用到遙感圖像分類任務中,這些方法與傳統機器學習方法相比有了很大提升,但針對遙感圖像空間信息復雜,圖像中關鍵物體小并且尺度變化大等問題,這些方法還不能夠對遙感圖像信息進行很好的描述。同時隨著神經網絡的加深,網絡變得更加復雜和難以訓練,導致分類準確率飽和甚至下降。
針對上述問題,提出一種改進的ResNet50網絡模型,在殘差塊中引入分組卷積和可分離卷積,以減少網絡的參數量和計算量,加速模型的收斂。同時在每一個大的卷積組后嵌入多尺度縮聚與激發模塊(squeeze and excitation block, SE block),將不同尺度的特征進行融合,提高通道間的依賴性,并以此進行模型訓練,以驗證本文方法對遙感圖像的分類有效性。
隨著深度神經網絡層數的不斷增加,網絡的學習能力越來越強,但相對的網絡的收斂速度會減慢,梯度在傳播過程中會消失,導致無法對前面網絡層的權重進行有效調整。傳統卷積神經網絡,網絡中除了第一層外,每一層的輸入都來源于上一層的輸出,而殘差神經網絡采用跳躍式結構,使得深度殘差網絡可以越過中間幾層直接將參數傳遞給后面的層,降低了網絡的復雜度,解決了深層次網絡的退化問題,促進了網絡性能的提升。
殘差神經網絡的網絡結構如圖1所示,該網絡借鑒了高速網絡的跨層連接思想。在圖1所示的殘差單元結構中,x為網絡的輸入,H(x)為最優解映射,F(x)代表殘差項,直接把輸入x傳到輸出作為初始結果,輸出H(x)=F(x)+x,當F(x)=0時,H(x)=x,即恒等于映射。殘差神經網絡的訓練目標就是要使得殘差項F(x)=H(x)-x的結果逼近于0。讓網絡學習F(x)=0相比于更新該網絡的參數來學習H(x)=x更簡單,該層學習F(x)=0的更新參數能夠更快收斂。該種結構的殘差網絡與沒有采用跳躍式結構的網絡模型相比,其輸入的數據更加清晰,能最大程度的保留數據的準確性。

圖1 殘差網絡單元示意圖
分組卷積最早在AlexNet中出現,由于計算資源有限,通常將卷積操作分配給多個圖形處理器(graphics processing unit,GPU)分別進行處理,最后將多個GPU的結果進行融合。分組卷積的原理如圖2所示,假設輸入尺寸為H×W×C,卷積核的個數為N,大小為k×k,將輸入特征圖分為G個組,在圖2中G=2,則每一組的輸入特征圖數量為C/G,每組的卷積核個數為N/G,每組卷積核只與其所對應組的輸入進行卷積。

圖2 分組卷積
對于普通卷積來說,卷積核的總參數量為
p1=k×k×N×C
(1)
分組卷積所對應的卷積核參數總量為
p2=k×k×(N/G)×(C/G)×G
(2)
從計算結果可以看出,經過分組卷積可將總參數量降為原來的1/G,其用少量的參數量和計算量就能產生大量的特征圖。
深度可分離卷積分為深度卷積(depthwise convolution)和逐點卷積(pointwise convolution)兩個過程,在進行卷積操作時將通道和空間區域分開考慮,對于不同的輸入通道采取不同的卷積核進行卷積。深度卷積過程如圖3所示,假設輸入大小為H×W×C,C為通道數,在圖3中C=3。假設卷積核個數為m,大小為k×k×1。則在深度卷積中,將輸入分為了C組,每一組做k×k×1的卷積,每一個卷積核只提取其所在通道的空間特征。

圖3 深度卷積
逐點卷積的原理如圖4所示,其將經過逐通道卷積后的特征做m個普通的1×1卷積,經過逐通道卷積核逐點卷積后的輸出為H×W×m。

圖4 逐點卷積
對于普通卷積來說,在相同參數設置的情況下輸出為H×W×C,其計算量為
p=H×W×C×m×k×k
(3)
深度卷積的計算量為
p1=H×W×C×k×k
(4)
逐點卷積的計算量為
p2=H×W×C×m
(5)
則深度可分離卷積相當于將普通卷積的計算量壓縮為

(6)
從上述計算結果可以看出,深度可分離卷積相比于普通卷積,在深度一樣的情況下大大減少了模型的計算量。
SENet(squeeze and excitation networks)是一種輕量級的網絡結構,它通過對特征通道間的依賴關系進行建模來獲取每個特征通道的重要程度,然后依照這個重要程度提升有用的特征通道并抑制對當前任務不重要的特征。SENet對輸入特征進行Squeeze和Excitation兩個重要的操作,通過Squeeze操作對輸入的每個通道進行全局平均池化得到通道描述子,Excitation操作利用兩層全連層為每個通道生成權重,最后將Excitation的輸出權重與先前特征進行重新加權,完成在通道維度上對原始特征的校準。
殘差神經網絡由多個bottleneck block殘差塊和convolution block殘差塊堆疊構成。bottleneck殘差塊的主路徑包含三個卷積層,第一部分1×1的卷積核用于減少特征通道的數量;第二部分3×3的卷積核用于進行特征的提取,同時減少了參數的數量;第三部分的1×1卷積核可以保證輸出通道數等于輸入通道數,在保證數據可靠性的同時增加了網絡的深度,可以對數據進行充分的提取,進而提高模型的性能。同時殘差塊中引入了BN(batch normalization)算法,加快了網絡的收斂。convlution殘差塊結構與bottleneck殘差塊結構相似,區別之處在于其分支上增加了一個1×1的卷積層,用于調整輸入特征的尺寸。
對殘差神經單元進行了改進,改進后的bottleneck block和convolution block結構分別如圖5、圖6所示。

圖5 改進后bottleneck block結構(SGBB)

圖6 改進后convolution block結構(SGCB)
bottleneck block中第一部分和第二部分的普通卷積替換為深度可分離卷積,第三部分普通卷積替換為分組數為2的分組卷積。convolution block中的第一部分保持不變,第二部分卷積采用深度可分離卷積,第三部分卷積采用分組數為2的分組卷積,分支上的卷積保持不變。改進后的殘差塊大大減少了整個網絡的參數量和計算量,加快了網絡的收斂,在通道數不變的情況下加強了模型的特征提取能力。
在常規SE block中的全局平均池化前先對輸入分別做1×1和3×3的卷積,將兩組卷積結果相連接,再進行Squeeze和Excitation操作。其結構如圖7所示。多尺度SE block有效地將不同尺度的特征進行融合, 通過全連層和非線性激活層得到多尺度特征圖的權重,然后將學習得到的權重與輸入特征圖相乘,通過對通道特征的重校準提升了有效特征的權重,增強了網絡的特征表達能力,使得遙感圖像場景分類精度得到提升。

圖7 多尺度SE block(MSEB)
采用ResNet50作為基礎模型,其bottleneck block和convolution block分別使用上文所對應的改進結構,即SGBB和SGCB,本文中對網絡的層數進行了調整,在conv3_x和conv4_x上分別去掉了1個和3個bottleneck block殘差塊,由于分組卷積和深度可分離卷積的引入,大大減少了網絡的參數量和計算量,有利于加快模型的收斂。同時在每一個大的卷積組后嵌入多尺度SE模塊(MSEB),自動獲取每個遙感圖像特征通道的重要程度,有效增強有用特征,抑制用處不大的特征,進一步提升了網絡的性能和泛化能力。改進后的網絡結構如圖8所示。

圖8 本文網絡結構
實驗數據集1為航空圖像數據集(aerial image dataset, AID[24]),該數據集由華中科技大學與武漢大學聯合制作并于2017年發布,其中包含機場、森林、學校等30類遙感場景圖像,每類遙感圖像的樣本數量為200~420張不等,尺寸均為600×600像素,該數據集共計10 000張圖像。各類圖像部分示例如圖9所示。

圖9 AID數據集部分場景圖像
實驗數據集2為UCMerced_Land Use(UCMLU)[25]數據集,選自美國地質調查局國家城市地圖航空遙感圖像,包含建筑、飛機、棒球場、海灘等21類遙感場景圖像,每類包含100張大小為256×256像素的圖像,該數據集共計2 100副圖像,空間分辨率為0.3 m,各類圖像部分示例如圖10所示。

圖10 UCMLU數據集部分場景圖像
在以上兩個數據集中,分別從每類遙感場景圖像中隨機選取80%的圖像作為訓練數據集,剩余20%的圖像作為測試數據集。同時為了達到更好的測試效果,對兩個數據集都采用在線數據增強的方式進行數據集擴充,增強方式包括隨機旋轉、隨機縮放、隨機裁剪、垂直變換等操作,并將所有圖像尺寸統一為256×256像素大小。
本文中采用Adam優化器對模型進行優化訓練,初始學習率設置為0.001,當測試集的損失值持續5個epoch不再下降時,將學習率調整為原來的0.1倍,學習率的最小值設置為0.000 01。更小的batch_size有助于增強模型的泛化能力,將batch_size設置為20,網絡一共經過100個epoch進行充分訓練,損失函數采用交叉熵。
本文中實驗的環境為:Windows10操作系統,2.90 GHz Intel(R) Core(TM) i7-10700 CPU,內存為16 GB,GPU使用NVIDIA GeForce RTX 2070,顯存為8 GB。神經網絡訓練使用keras框架。
本文中采用總體分類精度(overall accuracy)、混淆矩陣(confusion matrix)和每秒浮點運算次數(floating-point operations per second,FLOPS)這三種評價指標對所提出方法的分類性能進行分析評估。總體分類精度指被正確分類的樣本個數占總樣本數的比值,能夠很好地表征分類精度。混淆矩陣能更直觀地展現每一類場景圖像的分類準確率以及該類被錯分為其他類的情況。計算量指浮點運算數,可以用來衡量模型的復雜度,精度越高,計算量越小,則網絡的性能越好。本文中所有分類準確率值均為5次獨立重復實驗結果的平均值。
3.4.1 網絡分組數對比實驗
為了更合理地選擇分組卷積的分組數,本文將網絡分組數分別設置為2、4、8組進行對比實驗,在AID和UCMLU兩個數據集上的實驗結果分別如表1所示。

表1 分組數對AID、UCMLU數據集分類精度的影響
從實驗結果可以看出,分組數為2相比分組數為4和8在兩個數據集上都能取得更高的分類精度,因此本文中將分組數設置為2。
3.4.2 AID數據集結果分析
為了分析本文改進殘差神經單元和引入多尺度SE block對分類精度的影響,分別對傳統CNN(ResNet50)、在殘差結構引入分組卷積和可分離卷積的方法(SG_ResNet50)以及在SG_ResNet50基礎上嵌入多尺度SE block的方法在AID數據集上進行了實驗。三種方法平均分類精度隨迭代次數的變化關系如圖11所示。從圖11中可以看出,使用未做任何改進的ResNet50做全訓練的分類精度最低;對殘差單元結構進行改進后,由于引進了分組卷積和可分離卷積,減少了網絡的參數和計算量,改進后的模型SG_ResNet50比ResNet50準確率增長速度更快,模型更快收斂,并且分類準確率達到了90.42%,高于ResNet50準確率1.88%;最后在SG_ResNet50的基礎上嵌入多尺度SE block,分類精度有了進一步提升,達到了91.92%,說明多尺度SE block的引入有效地提升了模型性能。

圖11 ResNet50、SG_ResNet50、本文模型分類精度對比
表2中給出了ResNet50、SG_ResNet50、SG_ResNet50_SE和本文模型四種網絡結構的性能對比,從結果可以看出,SG_ResNet50相比于ResNet50的計算量降低了60%,平均精度提升了1.88%,表明在殘差結構中引入分組卷積和深度可分離卷積大大降低了網絡的計算量,同時分類準確率有了較大的提升。在SG_ResNet50的基礎上引入多尺度SE block,在計算量幾乎不變的情況下分類精度有了進一步提升(提升了1.5%)。同時本文模型的平均精度比SG_ResNet50_SE提高了0.6%,表明引入多尺度SE的模型效果優于標準SE模型。

表2 AID數據集上不同模型性能對比
在測試集上進行5次獨立重復試驗平均分類準確率的混淆矩陣如圖12所示,總體平均分類準確率為91.92%。由圖12可以看出,30類場景圖像中有22類的分類精度均高于90%,說明本文提出的方法對復雜場景圖像具有較好的分類性能。同時從實驗結果可以看出學校和廣場的分類精度最低,分別只有78%和67%,其中學校容易被劃分為工業區和密集住宅區,廣場容易被劃分為中心區域和公園,說明本文所提出的方法對存在二義性的場景圖像分類性能還有待進一步提高。

圖12 AID場景分類混淆矩陣
為了驗證本文方法的優勢,將本文方法在AID數據集上的分類精度與近幾年具有代表性的幾種方法進行對比,各方法的分類精度如表3所示。由表3可以看出,文提出方法的分類精度相比于中層特征提取方法BoVW(SIFT)提升了23.55%,相對于以深度卷積神經網絡為特征提取框架的VGG-VD-16和GoogLeNet,分類精度分別提升了2.28%和5.53%。同時與未做任何改進的ResNet50相比提升了3.38%,證明本文所提出的模型在遙感圖像場景分類中有一定優越性。

表3 AID數據集上不同方法的平均分類準確率
3.4.3 UCM數據集結果分析
為了進一步驗證本文提出模型的有效性,在UCMLU數據集上進行了實驗,21類場景圖像分類結果如圖13所示,總體平均分類精度達到了93.52%。由圖13可以看圖,大部分場景圖像類別分類準確率在90%以上,其中農業、棒球場、海灘等九類場景圖像的分類準確率達到了100%,可見該方法對紋理差異較小的場景類別分類準確率較高。
為了更加直觀地分析每一類場景圖像的分類效果,圖14給出了每一類場景分類準確率柱狀圖。從圖14中可以看出仍有部分類別場景圖像分類準確率較低,如高速公路和立交橋,其分類準確率分別只有78%和84%。結合圖13的混淆矩陣分析可知,高速公路分類準確率較低是因為其和十字路口以及立交橋的場景十分相似,易造成誤分。此外,中等密度住宅區與密集住宅區地物信息高度相似,造成部分中等密集住宅區被錯分為密集住宅區。

圖14 UCMLU每類場景圖像準確率柱狀圖
UCMLU數據集上不同模型的性能對比如表4所示,可以看出本文提出的模型相比于未做任何改進的殘差網絡大大降低了網絡的計算量,同時擁有更高的分類準確率,體現了其強大的特征提取能力。

表4 UCMLU數據集上不同模型性能對比
表5列出了本文提出方法在UCMLU數據集上的分類精度與一些現有方法的對比結果,由表5可以看出,傳統的低中層特征提取方法如視覺詞袋(bag of visual word,BOVW)的分類精度最低,而卷積神經網絡由于其強大的特征提取和學習能力,使用其進行場景圖像分類相比于傳統方法有進一步提升。而本文提出的改進殘差網絡模型與以下幾種較為流行的方法相比得到了最高分類精度(93.52%),相對于直接使用ResNet50進行分類訓練,本文方法的分類精度提升了10.24%。

表5 UCMLU數據集上不同方法的平均分類準確率
針對遙感場景圖像空間信息復雜、圖像中關鍵物體小并且尺度變化大等問題,提出一種改進殘差網絡的場景圖像分類方法。該方法以殘差神經網絡ResNet50為基礎框架,在殘差單元中引入分組卷積和可分離卷積,有效減少了網絡的參數量和計算量。同時引入多尺度SE block模塊,通過對多尺度特征的校準提升了有效特征的權重,進一步提升了模型的性能。在AID和UCMerced_Land Use兩個數據集上的分類精度分別達到了91.92%和93.52%,相比于常規的殘差網絡ResNet50分別提升了3.38%和10.24%,證明本文方法在遙感場景圖像分類上的可行性和有效性。但本文方法對地物信息及其相似的場景類別分類效果一般,如何對模型進行改進以適應場景信息更豐富、規模更大的數據集是下一步研究方向。