劉德祥,張海榮,承達瑜,彭正濤,趙安周
(1.中國礦業(yè)大學 環(huán)境與測繪學院,江蘇 徐州 221116;2.河北工程大學 礦業(yè)與測繪工程學院,河北 邯鄲 056038)
高分辨率的地球觀測技術(shù)提供了大量的高分辨率遙感圖像,可以精細地描述各種地理空間對象,例如建筑物、水系、道路等[1]。建筑物是城市基礎(chǔ)地理信息的重要組成部分,從高分辨率遙感圖像中自動提取建筑物對城市管理、規(guī)劃和監(jiān)測有非常大的幫助[2]。傳統(tǒng)的建筑物提取方法主要依賴于人工設(shè)計的特征如長度、邊緣、紋理、陰影、光譜等,這種憑經(jīng)驗設(shè)計的特征一般只適用于特定的數(shù)據(jù),魯棒性較差[3]。因此,研究高魯棒性和高效建筑物提取方法非常有必要。隨著深度學習的不斷成熟,卷積神經(jīng)網(wǎng)絡(luò)逐漸應(yīng)用到建筑物提取,并且取得了不錯的效果[4-6]。目前,比較流行的建筑物提取方法多是采用基于全卷積神經(jīng)網(wǎng)絡(luò)FCN的語義分割方法[7]。U-Net、SegNet、PSPNet、Deeplab系列等[8-13]作為FCN的經(jīng)典變體,在建筑物提取領(lǐng)域也得到廣泛應(yīng)用。季順平等[14]提出了一種改進U-Net的建筑物提取方法SU-Net,將U-Net解碼部分的多尺度預測結(jié)果拼接,使得最終的預測圖匯聚了多個尺度的信息,一定程度上解決了因目標尺度大小不一帶來的提取困難的問題。張浩然等[15]將U-Net與條件隨機場(conditional random field,CRF)結(jié)合實現(xiàn)遙感影像中建筑物提取,將條件隨機場作為一種后處理方法優(yōu)化U-Net的提取結(jié)果。張春森等[16]提出了一種改進SegNet的建筑物提取方法,融合PSPNet中的金字塔池化模塊捕獲多尺度特征。Shao等[17]提出了一種建筑物殘差修正網(wǎng)絡(luò)(building residual refine network,BRRNet),首先在預測模塊使用不同膨脹率的膨脹卷積捕獲多尺度特征,接著將預測模塊的輸出作為殘差優(yōu)化模塊的輸入進一步優(yōu)化真實值與預測值之間的殘差,有效地提高了建筑物提取的準確性。王俊強等[18]將Deeplabv3+與條件隨機場結(jié)合用于遙感影像典型要素提取。上述方法,一類是通過優(yōu)化特征提取方式如在網(wǎng)絡(luò)中加入膨脹卷積或空間金字塔池化模塊提高模型精度;另一類是通過后處理方式如條件隨機場、圖像形態(tài)學等方法進一步優(yōu)化提取結(jié)果。然而,基于空間金字塔的方法以非自適應(yīng)方式聚合上下文信息,且所有尺度的特征都采用同類上下文信息,不能滿足不同像素需要、不同上下文依賴的要求;基于膨脹卷積的方法在保證參數(shù)量不變的情況下雖然可以獲得更大范圍的特征信息,但實際上無法獲取密集的上下文信息。后處理方法在一定程度上能對提取結(jié)果進一步優(yōu)化從而提高提取精度,但該類方法更多地受限于優(yōu)化前的提取結(jié)果。
針對上述問題,本文提出了一種融合注意力機制的建筑物提取網(wǎng)絡(luò)(residual dilated attention network,RSDANet)。該方法采用深度學習中經(jīng)典的Encoder-Decoder結(jié)構(gòu),在Encoder中,設(shè)計了一個多級的殘差連接塊(residual dilated block,RSD Block),多級殘差連接可以將特征學習問題轉(zhuǎn)移到學習殘差映射的殘差映射,這比原始殘差映射更容易學習[19]。在RSD Block模塊特征提取后,加入兩個特征金字塔模塊(feature pyramid networks,F(xiàn)PN),特征金字塔對每一種尺度的特征進行特征提取和融合,實現(xiàn)多尺度的特征表示,并且每種尺度的特征都具有較密集的語義信息??紤]到遙感影像細節(jié)信息繁多,需要進一步提取高層特征圖中對象之間的相互關(guān)系,提出一種注意力機制(weighted-convolutional block attention module,W-CBAM),該注意力機制以全局上下文信息作為約束條件抑制或增強特征。在Decoder中,使用跳躍連接將語義信息更豐富的高層特征圖與空間信息更豐富的低層特征圖逐步融合,充分的利用空間和語義信息,使提取結(jié)果更細致。
RSDANet是一個基于編碼器-解碼器(Encoder-Decoder)結(jié)構(gòu)的建筑物提取網(wǎng)絡(luò),其總體結(jié)構(gòu)如圖1所示。該網(wǎng)絡(luò)主要由殘差網(wǎng)絡(luò)、空洞卷積、深度可分離卷積、注意力機制等組成。在Encoder中,首先,經(jīng)過四層RSD Block初步提取特征,在RSD Block中,取消池化采用步長為2的卷積層來壓縮特征圖;其次,為了使每種尺度的特征達到多尺度的特征表達,在RSD Block后加入一個雙向的特征金字塔模塊;最后,將特征金字塔處理后的特征通過注意力機制W-CBAM進行自適應(yīng)的特征抑制或增強。在Decoder中,通過Skip-Connection逐步將語義信息豐富的低分辨率特征與空間信息更豐富的高分辨率特征融合,最后恢復到原圖大小。
本文提出了一種多級殘差連接塊RSD Block,該結(jié)構(gòu)包括兩個殘差單元和三個殘差連接,具體結(jié)構(gòu)如圖2所示。第一個殘差單元與He等[20]提出的殘差網(wǎng)絡(luò)ResNet結(jié)構(gòu)相同,由2個3*3的卷積層串聯(lián),外接一個殘差連接,并在每個卷積層后加入批量歸一化Batch Normalization和RELU激活函數(shù)。由于普通卷積感受野較小,局部特征的提取效果較好,為了提取更大范圍的特征,在第二個殘差單元中采用空洞率為2的空洞卷積。由于使用雙重殘差結(jié)構(gòu),模型過大、參數(shù)過多,為了進一步減少參數(shù)量,提高網(wǎng)絡(luò)的速度,在第二個殘差單元中將深度可分離卷積和空洞卷積結(jié)合,使用空洞率為2的深度可分離卷積。最后,在兩個殘差單元外接一個殘差連接。另外,RSD Block中去掉池化層,設(shè)置卷積步長為2完成特征下采樣。RSD Block中使用了兩種不同的殘差單元,可充分利用局部特征和局部特征周圍的上下文信息。
注:?拼接;⊕逐像素相加(Add);?逐像素相乘;α*Fcs+0.5*d4,其中α為可訓練權(quán)重;Fcs為增強或仰制后的特征;r1、r2、r3、r4,d1、d2、d3、d4為卷積得到的特征;u1、u2、u3、u4,o1、o2、o3、o4為上采樣得到的特征;c4、s4分別為通道注意力和空間注意力提取得到的特征。圖1 RSDANet結(jié)構(gòu)圖
圖2 RSD Block結(jié)構(gòu)圖
在經(jīng)過四層步長為2的RSD Block初步的特征提取后可以得到四個不同尺度的特征r1、r2、r3、r4,為了進一步將不同尺度特征融合,設(shè)計了一個簡單雙向的FPN結(jié)構(gòu),該結(jié)構(gòu)如圖3所示,依次進行自上而下的Up-FPN和自下而上的Down-FPN,實現(xiàn)多尺度特征融合。Up-FPN首先對r4進行卷積得到特征u4,u4通過上采樣與r3融合得到特征u3,u3按照同樣方法得到特征u2、u1。Down-FPN則是對u1進行卷積得到特征d1,d1下采樣與u2融合得到特征d2,最后依次得到特征d3、d4。經(jīng)過雙向FPN處理后,特征金字塔對每一種尺度的特征圖進行特征提取,使得每種尺度的特征圖能夠產(chǎn)生多尺度的特征表示,并且所有尺度的特征圖都具有較強的語義信息。
圖3 雙向FPN結(jié)構(gòu)圖
通過RSD Block以及雙向FPN對輸入數(shù)據(jù)進行特征提取,可以得到包含豐富語義信息的多尺度特征。為了進一步提取高級特征圖中對象之間的相互關(guān)系,提出了一個W-CBAM模塊以自適應(yīng)的方式抑制或增強特征,該模塊結(jié)構(gòu)如圖4所示。該結(jié)構(gòu)結(jié)合了卷積注意力模塊(convolutional block attention module,CBAM)[21]和Dual Attention[22],在CBAM的基礎(chǔ)上加入Dual Attention的融合方式,即給定一個初始值為0的可訓練權(quán)重α,在網(wǎng)絡(luò)訓練過程中逐漸調(diào)節(jié)權(quán)重,權(quán)重為0時,相當于不進行注意力機制。W-CBAM由通道注意力和空間注意力構(gòu)成。首先,通道注意力使用全局平均池化、最大池化將d4∈Rw×h×c空間維度的特征聚合到通道維度得到特征Fcm∈R1×1×c、Fca∈R1×1×c。其次,使用兩個全連接層對聚合后的兩種特征Fcm、Fca進一步提取,將處理后的特征通過逐像素相加方法融合,融合后得到特征e4∈R1×1×c,e4可視作通道維度的全局上下文信息,通過全局上下文信息與輸入特征逐像素相乘來抑制或增強特征得到特征Fcs∈Rw×h×c。再次,賦予Fcs一個初始值為0權(quán)重α并與d4使用逐像素相加方法融合,得到特征c4∈Rw×h×c,此時d4的值取一半;空間注意力則從空間維度出發(fā),將d4∈Rw×h×c通道維度的特征聚合到空間維度得到Fsm∈Rw×h×1、Fsa∈Rw×h×1,聚合方式與通道注意力相同,分別取平均和最大值。然后,將聚合后的特征拼接得到新的特征f4∈Rw×h×2,使用5×5大小的卷積核對f4特征提取和通道壓縮得到特征g4∈Rw×h×1,該特征可看作空間維度的全局上下文信息,相似地,將其與d4逐像素相乘得到Fcs∈Rw×h×c,賦予Fcs一個初始值為0權(quán)重α并與d4融合,得到s4∈Rw×h×c,此時d4的值取一半。最后,將空間注意力和通道注意力處理后得到的特征c4、s4逐像素相加,由于d4參與兩次逐像素相加運算,故取一半。多尺度特征經(jīng)過全局上下文信息作為約束條件進一步處理,可以有效地增強或抑制特征,使得遙感影像中建筑物和背景更好被區(qū)分。
注:本圖圖注詳見圖1及上文。圖4 W-CBAM結(jié)構(gòu)圖
特征解碼器模塊用于恢復編碼器提取的語義特征,生成與輸入數(shù)據(jù)大小相同的預測圖。在解碼器中,使用雙線性上采樣和卷積結(jié)合的方式放大特征圖。而在編碼器部分,由于遙感影像通過卷積操作不斷下采樣,分辨率被壓縮到非常小,損失了很多的空間位置信息,不利于精確的預測圖生成。為了解決這個問題,本文借鑒U-Net的處理方法,通過Skip-Connection把低層的特征圖融合起來,通過融合特征分辨率較高、層數(shù)淺、含有豐富空間信息的特征,更利于生成精細的預測圖。
選取某區(qū)域的高分二號遙感影像作為數(shù)據(jù)源驗證本文算法,將標注好的數(shù)據(jù)按256像素×256像素大小分割得到2 000張圖片作為訓練數(shù)據(jù)集,記作GF2-TrainSet,部分訓練數(shù)據(jù)如圖5所示,上半部分圖片為遙感影像,下半部分圖片為標注結(jié)果。從剩余的遙感影像中截取一塊影像并分割得到2 700張遙感影像作為測試數(shù)據(jù)集,記作GF2-TestSet。
圖5 訓練數(shù)據(jù)
為了使模型有較好的魯棒性,對訓練數(shù)據(jù)做隨機裁剪、擴充、旋轉(zhuǎn)、翻轉(zhuǎn)、濾波等操作擴充樣本,數(shù)據(jù)增強結(jié)果如圖6所示。
圖6 圖像增強結(jié)果
本次訓練分為兩個階段,使用常用的交叉熵損失函數(shù)和Adam優(yōu)化器。第一個階段使用學習率為0.001進行初步訓練;第二個階段降低學習率為0.000 1微調(diào)模型。具體訓練超參數(shù)見表1。算法實現(xiàn)使用Tensorflow+Keras深度學習框架,在GPU(Tesla T4)提供的運算環(huán)境下完成訓練,訓練過程中的準確率(accuracy)和損失(loss)如圖7所示。
表1 訓練超參數(shù)
圖7 訓練損失和準確率曲線
為了更好地驗證本文算法的分割效果,實驗采用語義分割中常用的像素準確率(pixel accuracy,PA)、像素平均交并比(mean intersect over union,MIoU)作為精度評定指標[23]。在介紹上述指標時,先要了解混淆矩陣,如表2所示,它是一種特定的矩陣用來呈現(xiàn)算法性能,其每一列代表預測值,每一行代表真實值。
表2 混淆矩陣
其中,TP表示真正類,即樣本的屬性為正類,預測結(jié)果也為正類;FN表示假正類,即樣本的屬性為正類,預測結(jié)果為負類;FP表示假負類,即樣本的屬性為負類,預測結(jié)果為正類;FN表示真負類,即樣本的屬性為負類,預測結(jié)果也為負類。像素準確率PA的計算如式(1)所示,像素平均交并比MIoU的計算如式(2)所示。
(1)
(2)
使用2.1節(jié)介紹的超參數(shù)訓練,網(wǎng)絡(luò)收斂后得到建筑物提取模型。使用該模型在測試數(shù)據(jù)集GF2-TestSet測試得到的整體結(jié)果如圖8所示,可以看出提取結(jié)果與真實值高度重合。
圖8 RSDANet提取結(jié)果
為了進一步驗證本文算法,本文同時和U-Net、Deeplabv3+算法對比,各算法在測試數(shù)據(jù)集GF2-TestSet上的精度評價指標如表3所示。從表3可以看出,RSDANet算法精度最高,而U-Net參數(shù)量最多,提取速度最慢,Deeplabv3+使用MoblieNetV2作為特征提取網(wǎng)絡(luò)時,雖然很大程度上減少了參數(shù)量,提高了建筑物提取速度,但在測試集GF2-TestSet的提取效果卻最差;在使用Xception65作為特征提取網(wǎng)絡(luò)時,Deeplabv3+方法在測試集上MIoU提高了4.75%,同時PA提高了0.79%。本文方法相比于Xception65+Deeplabv3+方法,不僅MIoU提高了2.24%,PA提高0.31%,算法的參數(shù)數(shù)量也有所減少,兼顧了精度和速度。
表3 不同算法的精度評定指標對比
不同算法的部分提取結(jié)果如圖9所示。從圖9的提取結(jié)果可以看出,相對于U-Net、Deeplabv3+等算法,本文方法的誤檢、漏檢都有相應(yīng)的減少,提取結(jié)果更接近于真實值,基本上能提取出所有的建筑物目標。
圖9 不同算法提取結(jié)果對比
為了驗證W-CBAM的有效性,本文同樣做了相應(yīng)的驗證,即去掉RSDANet中的W-CBAM模塊以及在U-Net中加入W-CBAM模塊進行對比,對比結(jié)果如表4所示。從表4可以看出,無論是U-Net還是RSDNet方法,在加入W-CBAM注意力模塊后,PA、MIoU指標均有提高,說明W-CBAM模塊的有效性。
表4 W-CBAM驗證結(jié)果
本文提出的融合注意力機制的建筑物提取網(wǎng)絡(luò)模型實現(xiàn)了以自適應(yīng)的方式進一步約束遙感影像特征,可以有效解決遙感影像中因細節(jié)信息復雜導致的特征提取困難、分割精度低等問題。同時,該注意力機制與其他語義分割算法如U--Net、Deeplab等結(jié)合也十分方便。為了獲得更豐富、更大范圍的上下文語義信息,設(shè)計了一個多殘差連接塊RSD Block,在普通的殘差結(jié)構(gòu)之后增加了一個帶有空洞卷積的殘差結(jié)構(gòu),借助空洞卷積,可以增大感受野,使卷積核映射的特征范圍更大。除此之外,模型中還加入了雙向的特征金字塔結(jié)構(gòu)用于捕獲多尺度信息,提高模型的泛化能力。實驗結(jié)果表明,該方法在建筑物提取方面有不錯的表現(xiàn)。不過,模型的邊緣檢測精度仍有待提高,下一步將重點研究加入建筑物的邊緣約束條件,并將其擴展至本文方法。同時,希望可以在該方法的基礎(chǔ)上擴展,實現(xiàn)遙感影像中其他地物目標的提取。