李繼文,徐杰杰,劉光燦
(南京信息工程大學 自動化學院,江蘇 南京 210044)
與自然場景相比,遙感圖像的背景信息極為復雜,圖像中含有大量無用噪聲。在目標的定位和識別上相比于自然場景有一定的挑戰性[1,2]。
隨著深度卷積神經網絡的出現,基于深度學習的語義分割方法在遙感領域的研究也得到了發展[3]。例如全卷積神經網絡FCN,場景解析網絡PSPNet[4],金字塔池網絡DeeplabV3+[5]和條帶池化網絡SPNet[6]等都展現了優異的性能。近年來,一些學者開始將注意力機制應用到圖像分割領域中。注意力機制主要作用于確定特征之間的相關性,是一種從大量信息中篩選高價值信息的手段。Woo等結合了空間和通道的注意力機制提出卷積注意力模塊CBAM[7]。Hu等構建SENet來學習通道之間的相關性[8]。Sungha等利用場景中的內在特征,提供了一個通用的注意力網絡HANet[9]。盡管語義分割技術在最近的幾年里取得了一定的成功,但是在特定的遙感圖像數據集上仍然存在局限性。部分遙感影像中包含道路、樹木、建筑物和汽車等類別,這些物體通常具有大的尺寸差異。單一大小的感受野很難獲得具有足夠表征能力的物體特征,導致特征提取不全。其次,遙感圖像中背景復雜,外形特征相似度高,容易造成誤分類現象。現階段的網絡[10-12]只是將不同層之間的信息進行簡單的加和操作,沒有注意到類間的特征相關性,無法很好解決這些問題。
為了解決上述問題,本文提出了特征融合注意力網絡FFANet,我們研究的主要工作如下:
(1)提出了一個多尺度特征表示模塊(multiscale feature representation,MFR),該模塊將骨干網絡的輸出變化為多尺度信息作為輸入[13],提取圖像不同尺度的特征,用于解決圖像中因目標大尺度變化,難以提取特征的問題。
(2)提出了一個特征融合注意力模塊(feature fusion attention,FFA),利用深層特征為淺層特征提供指引[14],有效將不同層級間的語義信息進行融合,并且將深層語義信息作為淺層語義信息的指引,加強類別之間的聯系,從而增強了空間細節信息和對目標的識別能力。
(3)我們在上采樣過程中融合了一個特征細化模塊(feature refinement module,FRM),這個模塊能夠細化高分辨率特征,提高圖像的分割精度。
(4)基于上述模塊,我們搭建了一個特征融合注意力網絡,如圖1所示。我們將該網絡在國際攝影測量與遙感學會(ISPRS)提供的Potsdam數據集和Vaihingen數據集上進行實驗,并和其它分割方法作對比。

圖1 網絡結構
遙感圖像目標尺寸變化較大,常規的模型難以充分提取其中的類別特征,同時隨著遙感圖像的分辨率不斷提高,目標的細節和空間信息變得復雜,增加了分割難度。因此,如何有效提取圖像特征是提高遙感圖像分割精度的關鍵。
本文提出的特征融合注意力網絡主要分為4個部分,如圖1所示:A部分為基于殘差塊的主干網絡ResNet-50的改進版本(詳細參數見表1),殘差結構的卷積網絡相比于普通的卷積網絡能夠提取圖像中更加復雜的特征[15],同時有效防止隨著卷積層數加深而產生的梯度消失等問題;B部分為多尺度特征表示模塊(MFR);C部分為上采樣融合模塊(FFA);D部分為特征細化模塊(FRM)。主干網絡包含四層殘差塊結構,每一層殘差塊輸出不同語義信息的特征圖,底層網絡的感受野較小,相比于高層網絡對語義信息提取力較弱,我們嘗試將底層殘差塊的網絡結構替換成3個3×3的卷積操作,以適當增強底層網絡特征提取能力。而在高層輸出中,感受野較大,空間細節信息表征力弱,我們將第三和第四個殘差塊的卷積步長降為1,使下采樣的分辨率維持在原圖的1/8,以減少像素流失。在網絡的解碼階段,為了恢復下采樣丟失的細節信息,我們令每層殘差塊輸出的特征矩陣都經過多尺度特征表示模塊,從而獲得不同尺度的上下文信息,經上采樣操作后連接到一起作為新的語義特征輸出??紤]到不同特征層之間特征的相關性,我們的網絡設置了3個特征融合注意力模塊,將殘差網絡每一層的輸出兩兩融合,以此類推。為了進一步細化融合后的語義特征,在特征細化模塊中使用殘差形式的網絡結構減少了因上采樣放大導致的信息損失,達到優化分割結果的目的。

表1 改進ResNet-50的詳細參數設置
在自然圖像的語義分割中,多尺度上下文信息的提取非常重要,這同樣適用于遙感圖像。正如上文所述,遙感圖像中目標尺寸差異明顯,僅僅通過單一的尺度信息提取目標特征沒有足夠的表征力。
為了緩解目標大小的差異對主干網絡的特征提取的影響,我們構建了多尺度特征表示模塊,并在模塊中引入了多個空洞卷積的分支[5]。與普通卷積相比,空洞卷積在相同大小特征圖下可以獲得更大感受野,同時不會引入過多的計算量。如圖2所示,當空洞率rate=1時,為普通的3×3卷積操作,當空洞率rate=2時,表示在每兩個卷積核之間插入一個零值,相當于5×5卷積操作。

圖2 不同空洞率的空洞卷積
圖3所示為該模塊內部結構,對于輸入特征圖E,經過3部分融合運算得到輸出特征圖E′。圖中第1部分是特征圖本身,第2部分為3個并行的卷積塊分支,每個分支由一個3×3的空洞卷積和一個1×1的卷積塊組成,相比于DeeplabV3+中ASPP模塊所使用的空洞卷積空洞率更小,分支更少,本文使用的遙感數據圖像大小為256×256,使用較大空洞率的空洞卷積無法對特征圖進行有效的運算。綜合考慮空洞率和分辨率大小的關系,空洞率分別設置為[1,3,5]能夠最大限度下改善感受野并提高分割精度。在空洞卷積后加入1×1卷積是為了降低通道數統一維度。第3部分為全局池化的分支,用于提取全局特征信息。

圖3 多尺度特征表示模塊
以ResNet-50作為網絡的主干網絡,它的每個殘差塊對應不同結構的特征圖輸出。在圖像分割任務中,殘差網絡的最后一層往往包含更豐富的語義信息,由于頻繁的采樣導致圖像像素流失,通常在深層網絡的輸出部分進行多尺度特征融合。然而,考慮到淺層網絡對小目標特征也有一定的提取力,于是在ResNet-50的4個殘差塊后都加入了MFR模塊,以充分捕獲網絡各個階段的多尺度特征和上下文細節信息。
隨著神經網絡深度的增加,網絡從輸入到輸出會經過多個下采樣卷積層,從而初步擴大感受野,得到高層語義特征。在這個過程中,靠近底層的特征圖分辨率雖然高但缺少語義信息,而靠近高層的特征圖雖然語義信息豐富但是分辨率低,空間細節信息少[16]。以往特征融合的工作主要分為3點:①融合高低特征層信息后進行特征細化;②在融合高底層特征信息后只提取語義特征信息進行加權;③先提取高層語義信息進行加權,再融合高低特征信息。而我們的工作受SENet和CBAM的啟發,在特征融合的過程中引入注意機制,先加強底層特征的空間細節信息,再利用高層特征的豐富語義信息,以加權方式提高特征的類別識別能力。
1.3.1 語義信息的增強
圖4所示的是SENet的一個基本單元塊,輸入特征圖A的大小為h′×w′×c′。Conv是一個標準的卷積操作,對原始的特征圖進行降維后得到大小為h×w×c的特征矩陣A′。然后進行壓縮和激勵兩步運算。

圖4 SENet基本單元塊
壓縮部分是將特征圖A′進行空間上的全局平均池化操作,獲得1×1×c的向量q,向量q代表通道上權重值,具體過程可由如下公式表示
(1)
式中:h和w分別代表特征圖的長和寬,A′c(i,j) 表示特征圖A′對應第c個通道上坐標為 (i,j) 的特征值Fgp(A′c),即是對這個通道維度上所有特征值的和取平均值。
激勵部分是通過兩個全連接層的變換來捕獲通道間的依賴性,其計算過程由以下公式表示
k=Ffc(q)=Sig(W2Re(W1q))
(2)
式中:W1和W2分別代表兩個全連接層的降維參數,Re(·) 代表ReLU激活運算,Sig(·) 代表Sigmoid激活運算。Ffc(q) 的計算將上文生成的向量q進行了維度轉換。
將輸出k與特征圖A′對應通道元素相乘得到最終輸出特征圖A″。
1.3.2 空間信息的增強
圖5展示的是空間注意力模塊,對于大小為h×w×c的特征圖B,通過通道維度上的全局平局池化和全局最大池化操作獲得兩個富含空間信息的特征矩陣v和u,大小為h×w×1。兩個特征矩陣拼接后,經卷積運算再與原特征圖B作乘積得到最終輸出特征圖B′。具體過程如下

圖5 空間注意力模塊
FAM(B′)=Concat(Apl(B),Mpl(B))
(3)
式中:Concat(·) 指通道維度上的拼接,Apl(·) 指通道維度上的全局平均池化操作,Mpl(·) 指通道維度上的全局最大池化操作。
1.3.3 空間信息與語義信息的結合
本文提出的特征融合注意力模塊如圖6所示。在特征融合注意力模塊中,輸入的高層語義特征H經過兩倍的上采樣得到和底層大小相同的特征H′,再與底層特征L拼接成新的特征,然后利用3×3的卷積對進行降維得到融合特征圖U,該過程可由以下公式表示

圖6 特征融合注意力模塊
U=C3×3(Concat(L,UP(H)))
(4)
式中:UP(·) 表示雙線性插值上采樣,Concat(·) 指通道維度上的拼接,C3×3為3×3的卷積運算。
融合后的特征圖U利用空間注意力模塊進一步增強它的空間細節信息,具體過程如下
U′=U⊙C7×7(FAM(U))
(5)
FAM(H′)=Concat(Apl(U),Mpl(U))
(6)
式中:⊙表示空間維度上對應特征的乘積運算,C7×7為7×7的卷積運算,Concat(·) 指通道維度上的拼接,Apl(·) 指通道維度上的全局平均池化操作,Mpl(·) 指通道維度上的全局最大池化操作。
接著通過全局平均池化提取高層語義特征H′的實數向量作為低層語義特征的指引,它的通道數對應U通道的權重分布,二者在通道維度上作乘積運算增強了通道之間的相關性。具體公式如下
U″=U′?(Ffc(Fgp(H′)))
(7)
(8)
式中:?表示通道維度上對應特征的乘積運算,h和w分別代表特征圖的長和寬,H′c(i,j) 表示特征圖H′對應第c個通道上坐標為 (i,j) 的特征值。
最后將兩個不同信息的特征圖逐像素對應相加,獲得最終特征圖Y。具體公式如下
Y=U″⊕H′
(9)
式中:⊕表示在高層特征圖H′與底層特征圖U″按對應像素作加和操作。
在遙感圖像上,復雜背景特征和不同尺寸的類別差異性仍會導致目標邊緣粗糙等問題。為了提取更精確的特征信息,條件隨機場CRF是最常用的一種后處理方法,雖然這種方法應用于卷積神經網絡,但是沒有進行端到端的訓練。在我們的模型中提出一種新的特征細化模塊(FRM),可以作用于端到端的網絡訓練[17]。該模塊是ResNet中殘差模塊的一種變體結構,對前端網絡生成的粗糙結果作進一步細化處理。
如圖7所示,特征細化模塊由1×1卷積層和殘差單元組成。1×1卷積層將輸出特征圖的通道數統一,殘差單元執行特征自適應和細化操作,殘差單元中3×3和5×5的卷積層相當于進行了兩次感受野不同的細化操作。我們將該模塊放在網絡輸出之前,將FFA模塊的輸出作為輸入特征X,最終的輸出結果為X′。在進一步提取了特征信息的同時避免了特征圖因直接上采樣導致的像素流失。因此,我們認為該模塊在一定程度上細化了輸出特征。

圖7 特征細化模塊
1.5.1 實驗環境及參數設置
實驗環境使用的深度學習框架為Pytorch1.7,開發環境為Python3.6,通過一張顯存為11 G的GeForce RTX20800Ti GPU計算。
實驗參數設置如下:輸入圖片大小為256×256,每次選取18張樣本圖像訓練網絡,初始化學習率設置為0.01,優化器采用SGD算法,動量參數為0.9。網絡訓練使用的損失函數為交叉熵損失函數,其中交叉熵損失函數定義為
(10)
式中:N表示圖像中像素的數量,M表示類別數量,yij為符號函數,如果像素i對應標簽類別等于類別數j則取1,反之取0,pij代表像素i屬于類別j的預測概率。
1.5.2 評價指標
在語義分割的過程中,為評估分割方法的性能效果,我們使用了如下指標:召回率(R)、準確率(P)、F1分數(F1)、總體精確度(OA)、交并比(IoU)和平均交并比(MIoU)
(11)
(12)
(13)
(14)
其中,真正例(TP)表示正確預測正例的像素數,假正例(FP)表示錯誤預測正例的像素數,真反例(TN)表示正確預測反例的像素數,假反例(FN)表示錯誤預測反例的像素數。
每一類交并比(IoUi)和平均交并比(MIoU)定義如下
(15)
(16)
式中:k為預測類別數,pij和pji分別對應假反例和假正例,pij表示屬于類別i的像素被預測成j的像素,pji表示屬于類別j的像素被預測成i的像素,而pii表示屬于類別i的像素被預測成i的像素。
實驗包括多尺度融合注意力網絡模型在ISPRS的Potsdam數據集和Vaihingen數據集上的消融實驗以及和現有模型的對比實驗。
ISPRS提供了城市分類和三維建筑重建測試的兩個最先進的機載圖像數據集Postdam和Vaihingen。這兩個數據集都采用了高分辨率正交照片和相應的圖像匹配技術產生的數字地表模型(DSM),也都涵蓋了城市場景。Potsdam是一個典型的歷史城市,有著大的建筑群和狹窄的街道,而Vaihingen是一個相對較小的村莊,有許多獨立的建筑和小的多層建筑。每個數據集內涵蓋有6個標記類別:路面、建筑物、低矮植被、樹木、汽車以及復雜的背景。

ISPRS的Vaihingen數據集包含3波段IRRG(紅外、紅色和綠色)圖像數據。頂層影像和DSM的空間分辨率為9 cm,有33幅大小不一的遙感圖像。由于Vaihingen數據相比于Potsdam數據的圖像較小,以相同的方式切割可能造成數據量不足。所以我們挑選其中的28張,按像素步長90,裁剪為256×256的像素大小,得到10 248張訓練樣本,再將剩余圖像按相同方式裁剪得到2261張測試樣本。
2.2.1 Potsdam數據集消融實驗
為了驗證多尺度融合注意力網絡框架結構的有效性,我們在Potsdam數據集上對網絡的3個模塊:多尺度特征表示模塊(MFR)、特征融合注意力模塊(FFA)和特征細化模塊(FRM)依次進行消融實驗。本實驗中,使用ResNet-50作為骨干網絡,所有的模型均使用相同配置環境和訓練策略,由于在ImageNet上學習到的預訓練參數對遙感圖像的提升較小,所以后面實驗涉及到的模型不設預訓練權重,具體實驗結果見表2。

表2 FFANet在Potsdam數據集上的消融實驗
實驗結果表明,網絡中添加的多尺度特征表示模塊(MFR)、特征融合注意力模塊(FFA)和特征細化模塊(FRM)均有一定的效果,與最初的骨干網絡ResNet-50相比,FFANet的MIoU、OA和F1分別提升了2.6%、1.6%和1.7%,驗證了該網絡能夠有效地提升分割精度。圖表中,各個類別的IoU也有相應的提升,但是樹木這一類別的提升相對有限,這可能和該類的幾何特征和顏色紋理有關。在遙感圖像中,樹木枝葉間參雜著草地、路面等其它特征,使網絡在學習的過程中受到了噪聲影響,從而導致特征識別困難。
2.2.2 Potsdam數據集對比實驗
為了對網絡作更全面的評估,我們在Potsdam數據集上將模型與現有的幾個網絡作對比。如表3所示,在對比的網絡中,FCN-8的MIoU和OA指標較低,由于它使用VGG16作為骨干網絡,相比于ResNet-50特征提取能力較弱。PSPNet使用了金字塔池化模塊提取上下文信息,DeeplabV3+使用了空洞卷積增大了感受野,在一定程度上都提升了分割的精度,但這些網絡在特征融合部分沒有考慮到淺層特征和深層特征之間的聯系,只是在通道維度上直接拼接,對復雜的遙感圖像背景特征提取力較差。SPNet對于道路和水流等條狀目標的特征提取效果較好,在建筑物和汽車等遙感目標分割上有所欠缺。我們提出的FFANet網絡融合注意力機制建立了不同特征層之間的聯系,同時MIoU和OA指標均超過這些語義分割模型。FFANet的MIoU、OA和F1分別達到了74.4%、87.7%和84.9%。

表3 FFANet在Potsdam數據集上的對比實驗
為了便于直觀比較模型的預測結果,圖8展示了不同模型下的可視化結果圖,圖中每一行表示一幅遙感圖像在各個模型下的分割圖,從左到右依次是FCN-8、DeeplabV3+、PSPNet、SegNet、SPNet和FFANet。

圖8 本文方法和其它方法在Potsdam數據集上的分割結果
對于第一幅圖,由于低矮植被這一類別紋理特征復雜,其它5個網絡在識別的過程中均有錯誤分類的區域,同時測試圖左下角的一小塊建筑物分割效果較為粗糙。對于第二幅圖,由于汽車本身之間的差異性,造成了其它網絡的誤分類,從而引入了過多噪聲,而在FFANet中很好解決了這一問題。對于第三幅圖,體現了FFANet的目標識別能力,較好區分了低矮植被和樹木這兩種特征相似的目標。對于第四幅圖,從建筑物的分割效果可以看出FFANet相比其它網絡具有較好的特征提取能力。
2.2.3 多尺度特征表示模塊消融實驗
在多尺度特征表示模塊(MFR)的消融實驗中,我們探討了空洞率大小和模塊作用位置對于網絡性能的影響。如表4所示,位置×1表示添加一個MFR模塊,×4表示添加4個MFR模塊,實驗結果表明模型的精度隨著MFR模塊數量增加而提升,所以說在主干網絡特征提取的初級階段也有提升的空間。與此同時,我們發現大的空洞率并不能給模型性能帶來好的提升,空洞率設置為[1,3,5]的情況下,模型指標達到最優,MIoU和OA分別為74.4%,87.7%,說明小的空洞率更適合該數據集圖像的分割。

表4 MFR模塊消融實驗
2.3.1 Vaihingen數據集消融實驗
為了驗證本方法的泛化能力,在Vaihingen數據集上進行了消融實驗,同樣采用MIoU、OA和F1作為評價指標。實驗結果見表5,從表5中數據可以得知,本文模型較Baseline的MIoU有明顯提高,提升了2.4%。說明網絡的3個模塊在Vaihingen數據集上均有一定效果。

表5 FFANet在Vaihingen數據集上的消融實驗
汽車這一類別在Vaihingen數據集中是一個較難處理的類別,因為與其它類別相比,汽車像素的數量遠遠要小,并且汽車本身也存在著較大的差異性。例如,圖像中汽車顏色的多樣性也會導致類別內的巨大差異。我們的方法在汽車的類別中的識別效果較好,IoU4提升了6.3%。
2.3.2 Vaihingen數據集對比實驗
表6給出了本方法在Vaihingen數據集上與現有模型的對比實驗結果。與PSPNet、SPNet、DANet[18]、SegNet以及最近提出的一種分割方法MACUNet[22]相比,FFANet的MIoU、OA和F1分別達到了78.1%、91.4%和87.2%。

表6 FFANet在Vaihingen數據集上的對比實驗
圖9給出了現有模型在Vaihingen數據集上的可視化結果圖。對于第一幅圖,建筑物樓頂的水泥臺被其它網絡錯誤分類成道路和汽車,左上角的樹木也沒能識別出來。對于第二幅圖,在淡灰色的低矮植被區域,其它網絡或多或少的都有特征提取不全的地方。對于第三和第四幅圖,相比于其它網絡,FFANet的分割結果圖較為清晰,不會引入過多噪聲。

圖9 本文方法和其它方法在Vaihingen數據集上的分割結果
針對遙感圖像中目標多尺度現象以及特征信息復雜的問題,本文提出了一種特征融合注意力的遙感圖像分割網絡。在數據集處理階段有針對性地選擇了部分的遙感大圖像,切割過程中按一定步長滑動切分,豐富了數據的多樣性。網絡在主干網絡增加了下采樣過程中特征圖的分辨率,然后利用多尺度特征表示模塊提取圖像中目標的多尺度上下文信息,以增強對目標的特征提取能力。在特征融合注意力模塊中引入了注意力機制的概念,將深層特征的通道信息作為淺層特征的指引,通過建立了二者之間的聯系來改善解碼過程中錯誤分類等現象。在最后的上采樣輸出過程中,利用殘差結構進一步細化特征,提高了分割精度。
本文的模型仍然存在一些問題,例如:路面、建筑物、樹木和低矮植被在邊界附近任存在大量噪聲,遙感圖像在邊界信息的提取上亟待改進。我們將繼續優化該模型,在不降低分割精度的情況下,優化邊緣分割效果,使分割邊界更加平滑。