陶東華,申志軍,2,穆麗娜,2,薛有為
(1.內蒙古農業大學 計算機與信息工程學院;2.內蒙古自治區農牧業大數據研究與應用重點實驗室,內蒙古 呼和浩特 010018)
近年來,隨著高分遙感衛星技術的迅速發展,遙感影像數據量呈現爆炸式增長,而遙感影像場景分類也在農業發展、生態建設、城市規劃等領域廣泛應用,因此遙感影像場景分類成為當前研究領域的熱點之一。2006年,美國麻省理工學院主持召開了場景理解研討會,會中明確表示將場景分類劃分為分類任務的研究重點,奠定了場景分類在計算機視覺領域的重要地位。
場景分類是從眾多的圖像數據中區分出具有相似場景特征的圖像,并且對這些圖像進行正確的分類[1]。一般來說,場景分類方法主要有3類。第一類是基于底層視覺特征的分類方法,主要是提取顏色、紋理、光譜等底層特征來進行分類,常見的方法有:尺度不變特征變換(Scale-Invariant Feature Transform,SIFT)[2],局部二值模式(Local Binary Pattern,LBP)[3],顏色直方圖(Colour Histogram,CH)[4],方向梯度直方圖(Histogram of Oriented,HOG)[5],這些方法具有旋轉不變,操作簡單的特點,但泛化能力弱,具有局限性。第二類是基于中層視覺表達的分類方法,在底層信息上繼續進行特征提取,并對提取到的特征進行編碼,得到更具有判別能力的特征表達,再與分類器相結合實現分類任務,其主要代表有詞袋模型(Bag-of-words model, Bow model)[6]、空間金字塔(Spatial Pyramid Matching,SPM)。該類方法相較于基于底層的視覺特征提取方法準確率有所提高,但實際操作更加復雜,不利于后續研究。第三類是基于高層視覺表達的分類方法,通過卷積神經網絡訓練深度網絡模型提取抽象語義信息,實現高層視覺信息的表達。相比于前兩類方法,此類方法具有更強的特征提取能力和模型泛化能力,使得模型性能更優。
卷積神經網絡(Convolutional Neural Network, CNN)作為深度學習的主要代表之一,憑借其較強的特征提取能力和泛化能力,在圖像領域取得令人滿意的成績。文獻[7]將卷積神經網絡運用到高分遙感影響分類中,證明了卷積神經網絡在遙感影像分類中的可行性和精度優勢。文獻[8]改進了經典模型VGG16,使用L2正則化,增加Dropout層等方法,在NWPU-RESISC45數據集上取得了91.07的分類準確率。文獻[9]提出了一種深度卷積神經網絡,在21UCmerced數據集上進行數據增廣,準確率達到了91.33%。但在類別間差距較小的情況下,其分類準確度較低。
現有工作表明,卷積神經網絡在遙感領域場景分類中具有較大的潛力和優勢。而由于遙感影像場景空間尺度大、背景復雜以及相似類別間差異性小,有效提取場景特征存在困難,導致場景分類任務的準確度不高。因此,筆者引入注意力機制(Attention Mechanism)[10],學習更明顯的特征區域信息,從而緩解復雜場景中冗余信息的干擾。
綜上,筆者提出了一種改進的遙感影像場景分類模型AResNet。該模型主要貢獻如下:①將卷積注意力模塊(Convolutional Block Attention Module,CBAM)[11]引入到殘差網絡模型ResNet[12]進行特征提取,最終證明注意力機制的引入能夠提升模型對特征區域的關注度。②將ImageNet預訓練權重遷移到AResNet中,提升模型泛化能力,加快收斂速度。
卷積神經網絡可提取圖像底層特征,進而組合形成抽象高級特征,以降低人工提取特征的額外開銷。遙感影像場景是不同語義特征的組合,不同的語義特征對應不同的底層特征,場景分類任務的關鍵就在于對特征的有效提取。卷積神經網絡逐層提取的優勢,恰好能夠應用在影像低中高層的特征提取中,進而實現影像深層特征的表達,最終取得優秀的場景分類效果。基于卷積神經網絡的遙感影像場景分類的總體流程,如圖1所示。

圖1 遙感影像場景分類總體流程
基本卷積神經網絡結構通常包含3層,分別是輸入層、隱含層、輸出層。隱含層中包含4部分,分別是卷積層、池化層、激活函數、全連接層。其詳細結構,如圖2所示。

圖2 卷積神經網絡框架
卷積層主要通過線性操作進行特征提取和特征映射,所以也稱為特征提取層,結構通常為組合卷積,參數主要包含卷積核尺寸大小、卷積核數量、步長、填充方式等。其計算如式(1)所示。
(1)

池化層是過濾卷積層的輸出圖像,是對卷積層輸出的特征向量降維,減少特征圖的尺寸,簡化計算復雜度。第l層的第j個特征圖的計算如公式(2)所示。
(2)
激活函數能夠在神經網絡中加入一些非線性因素來解決復雜問題。筆者使用線性整流函數(Rectified Linear Unit,ReLU)[13],ReLU是一個分段線性函數,在輸入為負值時,輸出為0,神經網絡中神經元不會激活,使網絡具有稀疏性,減少參數之間的依賴關系,進而緩解過擬合和梯度消失問題,其計算如公式(3)所示。
f(x)=max(0,x)
(3)
全連接層將每個神經元與前一層網絡的神經元連接,對輸入的高階不變性特征進行分類,輸出圖像的高層特征,最后使用分類器進行計算,得到最終輸出,即輸入圖像所對應類別標簽的概率。筆者使用Softmax分類器計算每個類別的概率,其計算如式(4)所示。
(4)
公式(4)中,k為訓練集中的類別總數,aj表示上一層節點輸入全連接層后輸出的第j類的值;Sj表示經過Softmax分類器后第j類樣本對應的概率值。
通常,神經網絡的深度越深模型的學習能力越強,而模型網絡層數的增加會產生梯度消失,進而出現網絡退化問題,導致層數越多訓練誤差越大。深度殘差學習思想可有效緩解梯度消失現象,緩解網絡退化問題,殘差網絡引入殘差結構通過恒等映射(Identity Mapping)形成跳躍結構,不僅降低深層網絡的訓練負擔,也提高了網絡模型的準確率。筆者所提出的AResNet由ResNet50改進得到,Resnet50網絡參數,如表1所示。

表1 ResNet50網絡參數表
殘差塊(Residual Block)是殘差網絡的一個重要結構,即在網絡結構中增加一個恒等映射。殘差塊結構,如圖3所示。

圖3 殘差塊
對于網絡的輸入x,假設H(x)是最優解,傳統做法是讓網絡層無限逼近H(x),而殘差網絡的思想是構建F(x)=H(x)-x。當H(x)=x時,卷積層也稱為冗余層,此時F(x)=0,殘差塊的功能為恒等映射。實際F(x)取0的可能性極低,其值為卷積層所學習的新特征,從而使得特征提取性能更優。ResNet50 使用“1×1+3×3+1×1”疊加卷積的瓶頸結構(Bottleneck Residual Block),其中前后兩個“1×1”的卷積核分別用來降維和恢復維度,中間“3×3”的卷積核不僅用于加深網絡,且能更好地提取非線性特征。
注意力機制思想來源于人類視覺注意力機制,即人類獲取信息的時候,僅會關注當前場景中的關鍵信息,忽略其他無關信息,進而實現信息的有效提取。深度學習中的注意力機制跟人類視覺的注意力機制類似,其核心思想就是從眾多信息中獲取當前任務所需的關鍵信息,抑制無關信息的干擾。
2017年,WANG等人提出的Residual Attention Networks[14]將注意力機制用在所有維度上,出現了特征信息冗余,計算量大等問題。2017年,HU等人提出的SE Module[15]只在通道維度上使用注意力機制,忽略了空間維度上的特征信息。筆者使用卷積注意力模塊CBAM,其將通道注意力和空間注意力結合以獲取特征圖,從通道和空間兩個維度學習特征“是什么”和“在哪里”,進而實現對圖像差異性的重點關注,使得場景分類任務可以取得更加優異的分類結果。圖4為卷積注意力模塊CBAM結構圖。

圖4 卷積注意力模塊(CBAM)結構
本模型以殘差網絡resnet50為基本結構,將卷積注意力模塊CBAM引入到resnet50結構中相鄰殘差塊之間,利用CBAM的通道注意力決定學習什么特征,利用CBAM的空間注意力決定學習何處的特征,更好的關注相似類別間的差異性,從而提高模型的特征提取能力,該模型的結構圖如圖5所示。
在卷積神經網絡模型中,利用前向傳播計算網絡模型的輸出值,對于第m層卷積層,計算公式如(5)所示。
(5)
模型使用交叉熵損失函數計算損失,計算如公式(6)所示。
(6)

最后利用Adam(Adaptive Moment Estimation)算法優化損失,輸出最終模型權重。
實驗在Centos6.2系統下進行,實驗環境是基于Centos6.2的Pytorch深度學習框架,采用GPU進行加速訓練,其型號為NVIDIA Tesla P40。
訓練過程中,Batch-size為16,Epoch為20,Learning-rate為0.0001,使用Adam算法優化損失。

圖5 AResNet結構
本次實驗的數據集是西北工業大學創建的公開遙感圖像場景分類數據集NWPU-RESISC45。數據集一共包含45個場景類別,每個類別有700張圖片,每張圖片的像素大小是256×256,共計31 500張。此數據集的遙感影像空間分別率從每像素0.2m~30m不等。由于該數據集的影像,相同類別間差異性較大,不同類別間相似性較小,非常適用于場景分類等任務。
本實驗將數據集按照8∶2的比例劃分為訓練集和測試集兩部分,訓練集用于訓練模型參數,測試集用于測試已訓練的模型。以ImageNet預訓練權重初始化網絡參數,在卷積神經網絡模型中進行前向傳播,得到輸出值,使用交叉熵損失函數判斷真實值和預測值之間的分布差距,用Adam算法優化損失,最后得到模型AResNet。詳細的訓練過程,如圖6所示。

圖6 訓練和驗證過程流程
為了評價模型AResNet的有效性,將該模型與現有的場景分類模型或方法在同一個數據集上進行比較,結果見表2。由表2可以看出,AResNet加入了注意力機制,使得其分類效果明顯優于其他方法與模型。

表2 不同方法在NWPU45數據集的準確率對比
AResNet在NWPU-RESISC45數據集上進行試驗,得到表3的實驗結果。由表3可知,AResNet在編號為1,2,……,24,這24個類別取得了不錯的分類結果,平均分類準確率達到了97.3%,原因是具有特別的區別于其他類別的特征。編號為25,26,……,45,這21個類別分類表現一般,平均分類準確率是90.9%,特別是編號為41,42,43,44,45,這5個類別的分類準確率均沒有達到90%,原因是這5種類別具有高度相似的場景特征。

表3 AResNet在NWPU-RESISC45數據集的分類結果
如圖7所示,在(a)中,編號41、42這2個類別,背景中植被覆蓋率較高,且中間的特征區域也具有相似的形狀特征,導致類別錯分。在(b)中,編號43、44、45,這3個類別,同樣具有高度相似背景,其特征區域都具有規則、方正、棱角分明的特點,所以導致出現錯分情況。

(a).41 (b).42 (c).43 (d).44 (e).45
筆者提出了基于注意力機制的殘差網絡模型AResNet。通過引入CBAM,使得模型可以適應背景復雜,背景冗余度高,不同類別差異性較小的遙感影像數據集,提高了模型的特征提取能力,使其可以聚焦到更具有辨別性的特征區域。相比較于已有的工作結果,AResNet在NWPU_RESISC45數據集上的準確率提高到了94.3%,其中40類的分類準確率都保持在90%以上。然而,對于相似場景的分類效果不夠理想,準確率有待提高。因此,下一步,考慮在網絡模型的特征提取方面進行優化,以適應更多相似背景下的遙感影像數據,提高模型的分類準確率。