張 斌 張曉靜 趙丙辰 張江霄 李舟軍
1(邢臺學院數學與信息技術學院 河北 邢臺 054001) 2(北京航空航天大學軟件開發環境國家重點實驗室 北京 100191)
對高分遙感圖像進行像素級語義分割,在地形勘探、測繪,以及水土流失監測和治理等領域都具有重要的理論意義和研究價值。但遙感圖像由于地形地貌特點各異,不同地形的尺度往往大小不一且相差較大,且圖像邊界細節也形態各異,這也給圖像分割的難度提出了挑戰[1]。本文針對此類問題,以DenseASPP網絡為基礎,提出一種改進型的注意力網絡模型。
自2015年提出全卷積網絡模型(FCN)[2]以來,基于深度卷積網絡模型的圖像分割方法一直是圖像分割領域的主流方法。但這類方法一直存在一個問題,即深層次的卷積特征圖像具有更大的感受野,卷積計算也可以獲得特征圖更抽象的特征信息,但卻會隨著每層的尺寸縮小丟失一些有關圖像分割邊界的細節信息,這種圖像經過反卷積上采樣后的分割圖像將會出現邊界細節不清;而淺層次的特征圖像具備這些細節信息,但卻不具備更抽象的特征信息。為了解決這個問題,人們提出了許多改進方法,典型的有U-Net[3]、RefineNet[4]等,這類方法是將淺層卷積與深層卷積特征圖在不同尺度結合,從而在一定程度上彌補各自的缺陷,其被稱為編碼器-譯碼器方法[5]。另一類方法就是帶孔卷積[6]方法,這類方法是使用彼此拉開距離的卷積核對特征圖像進行卷積采樣,由于卷積核具有更大的范圍,其卷起采樣后的特征圖像也具有更大的感受野,從而可以在淺層網絡獲得較全面抽象的特征圖,這種卷積核元素之間的距離就是擴張率。典型的網絡如deeplab[7-10]系列,deeplab系列網絡提出了一種帶孔卷積金字塔(ASPP)[8]的模型,使用不同擴張率的卷積核對特征圖進行卷積后合并,可以解決不同尺度圖像的分割的問題。
以上各個模型在解決圖像分割問題時都取得了很好的效果,但這些模型在對圖像卷積采樣時對于所有通道和特征圖都是一視同仁地均勻采樣。但結合我們自身觀察事物的經驗就可以發現,在注視一幅圖像時大腦在圖像各點的注意力并不是均勻的,而是有側重點的,這種注意力機制也使得我們能夠更好地找出圖像中自己感興趣的關鍵信息。
本文根據這種人類視覺注意力不均勻的機制,提出一種注意力模型,在圖像進行卷積采樣時加入了權重參數,這種權重參數在通道和特征圖兩個層面,在加入了權重參數之后,每個通道的權重是不同的,特征圖中每個點的權重也是不同的,擁有關鍵點特征的通道和特征點會在卷積采樣時得到更大的權重。而權重參數本身是通過訓練學習到的。
DenseASPP網絡[11]結合了DenseNet網絡[12]和ASPP的思想。如圖1所示,特征圖像經由不同擴張率的帶孔卷積核卷積采樣,而這些采樣后的特征圖使用密集連接的結構,這種連接使得每一層的卷積特征圖與之后的所有層結合,每一層的特征圖也是之前所有層特征圖的結合。通過不同擴張率的帶孔卷積,獲取不同尺度的目標圖像特征,再通過密集連接的方式進行結合,而這種密集連接會獲得比某一個帶孔卷積或者單純的多個帶孔卷積金字塔具有更大的感受野,而且顯然比之前的ASPP或者編碼器-譯碼器模型具有更好的特征重用的優點。同時由于不同尺度特征圖的密集連接和互相合并,也可以彌補擴張率較大的帶孔卷積核留下的空隙無法采樣細節信息的問題。該網絡還具有DenseNet的優點,即可以緩解深層網絡梯度消失的問題。DenseASPP網絡的缺點也很明顯,就是密集連接導致的內存占用過大的問題。其他網絡前層網絡的特征圖可以被覆蓋回收內存,但DenseASPP網絡由于每一層都會用到前面所有層的特征圖,本層的特征圖也會被后面的所有層使用,所以所有層的特征圖不能被覆蓋而要在每一層參與運算,而且越到后面的層,由于參與計算的特征圖的增加,計算量會越大。

圖1 DenseASPP網絡模型[11]
本文對DenseASPP網絡進行了改進,改進后網絡的設計如圖2所示。網絡使用了與DenseASPP相似的結構,使用擴張率分別為1、3、6、12、18、24的六種帶孔卷積核對特征圖進行采樣,并使用密集連接的網絡結構,后一層的帶孔卷積特征圖與前面所有層的帶孔卷積特征圖合并。本文對DenseASPP網絡的改動有三點。第一是加入了注意力模型,包括通道注意力模型和空間注意力模型,即在通道和特征圖兩個層面加入權重參數,將通道和空間位置的權重矩陣作為系數乘以特征圖,這樣可以使具有關鍵信息的特征點得到強化。第二是針對DenseASPP網絡在密集連接時帶來的內存占用和計算量過大問題,在帶孔卷積采樣時使用了分組卷積和剪枝策略,分組卷積使計算量減小,但同時也減少了通道間的特征信息融合,會使分割效果大打折扣,因此,本文在分組卷積之后加入了預排序操作,重新打亂混合通道間的特征信息;同時為了進一步減小計算量,本文還提出在訓練時計算特征通道的權值,對權值較小的通道進行剪枝,即舍去權值較小的通道,這樣做并不會影響分割效果,因為訓練的結果表明每次的迭代計算會逐漸集中到權重較大的特征通道,而剪枝策略的引入可以大幅減小網絡的測試時間,也實現了網絡的稀疏化。第三是加入了擴張率為1的帶孔卷積,即普通卷積。這是由于注意力模型的引入使得網絡的抽象特征得到強化,在開始階段加入一個普通卷積層可以加強細節信息的權重。

圖2 本文改進的網絡模型
本文提出的注意力模型有通道注意力模型和空間注意力模型,通道注意力模型提供了通道的權重參數,使含有豐富特征信息的通道得到更大的權重,空間注意力模型則提供了特征圖的空間權重參數,使特征圖中的關鍵點得到更大的權重。本文加入的注意力模型只應用在特征圖的通道上,并沒有應用在其他帶孔卷積的通道上,因為密集連接網絡結構實際是對同一幅特征圖的信息重用,對所有密集連接通道都使用注意力模型會使得某些信息得到過分強化而削弱其他信息,還有可能產生過擬合以及內存占用過大等一系列問題,本文在后面測試部分的結果也證明了這一點。兩種注意力模型沒有采用并行結構而是采用串行結構的設計,且是通道注意力模型在前、空間注意力模型在后的結構,經過實際測試發現這種結構效果是最好的。
2.3.1通道注意力模型
通道注意力模型借鑒了SENet的思想,采用先壓縮再擴張的模型[13],其結構如圖3所示。假設有C×H×W的特征圖像,其中:C是通道數;H和W分別是圖像的高和寬。首先要進行通道層面的特征圖壓縮,即將每個通道的特征圖分別進行平均值池化的處理,把特征圖變為C×1×1的大小,即每個通道的特征圖只有1個點,壓縮過程的計算為:
(1)
式中:uc是某通道H×W的特征圖;zc是壓縮后的1×1的特征圖;Fsq表示壓縮后的特征圖的計算公式。式(1)完成對某一通道特征圖的所有點求平均值。這里不使用最大池化的原因是每個通道的特征圖是被池化成為1個點,而不是一個縮小的特征圖。在這種前提下,如果某個通道的特征圖有某個數值最大的噪聲點,就會對這個通道的權重產生很大的影響,所以平均池化的方法更能反映某通道特征圖的整體特性。

圖3 通道注意力模型的結構
壓縮后的特征圖(實際應該是特征向量,因為每個通道的特征圖實際只是一個數值)再進行擴張操作,其過程如下:
s=Fex(z,W)=σ(W2σ(W1,z))
(2)
式中:z是經過壓縮后的特征圖,也就是式(1)中的zc的所有通道的集合(zc是某一個通道的特征圖);s是擴張后的權重向量;Fex表示對壓縮后的特征圖進行擴張;W表示擴張超參數矩陣;W1和W2是用于降維和升維的超參數矩陣;δ是ReLU函數;σ是Sigmoid函數。壓縮后的特征圖z首先經過全連接的維度壓縮,即乘以一個大小為C×(C/16)的超參數矩陣W1,使向量降維為C/16,這里降維的目的是繼續擴大權重向量的感受野,同時降低計算復雜度。之后通過ReLU層后,再通過超參數矩陣W2完成升維,W2的維度為(C/16) ×C。其中W1和W2的超參數都通過反向傳播學習得到。升維后的向量通過Sigmoid層變為通道為C(即C×1×1大小)的權重參數向量s,最后再按通道分別乘以原特征圖。
2.3.2空間注意力模型
空間注意力模型[14]的思想與通道注意力模型相似,也是采用先壓縮再擴張的思路。其模型結構如圖4所示,C×H×W的特征圖首先按照通道層面進行最大池化,計算過程如下:
zhw=Fsq(uhw)=max(uhw)
(3)
式中:zhw是特征圖某點壓縮后的結果;uhw特征圖某點所有通道值的集合,也就是求特征圖某點所有通道值的最大值作為特征點的值,最后求得所有點的值后即得到單通道(H×W×1)的特征圖。這里使用最大池化是因為這樣可以將最明顯的特征點保存下來,而取平均值則會使特征圖像的權重參數變得平滑,不再突出特征權重,也就失去了注意力模型的意義。

圖4 空間注意力模型的結構
壓縮后的特征圖(實際應該是特征矩陣,因為此時特征圖變為H×W×1大小,即單通道特征圖)還要經過擴張計算,得到權重矩陣。其計算過程為:
(4)

本文的網絡以DenseASPP網絡為基礎,DenseASPP網絡結構與DenseNet網絡相似,其繼承了DenseNet的很多優點,比如可以有效控制梯度消失問題等。但同時也繼承了其缺點,由于采用了密集連接結構,其每一次卷積的結果需要在后面的卷積中繼續使用,導致上一層卷積的特征圖不能被覆蓋,而下一次卷積的特征圖需要重新申請新的內存,隨著網絡的加深,過多的卷積特征圖會造成內存占用過大,使訓練和測試時間較長[15]。本文對網絡結構進行了優化,在帶孔卷積時使用了分組卷積,并運用適當的剪枝策略,使訓練時間減少為原來的1/5,同時分割精度并沒有明顯的下降。
2.4.1分組卷積
分組卷積的操作最早在VGGNet網絡[16]中就已經出現過了,當時由于計算能力無法完成大型網絡的運算,而采用分組計算的方式。而分組卷積會使計算量大幅減小,但帶來的問題就是分組后組間的交互計算沒有了,這對網絡的效果影響很大。本文網絡在使用分組卷積時,帶孔卷積操作使用分組對于分割精度影響較小,這是因為帶孔卷積操作不涉及通道間的交互計算,各通道間本來就彼此獨立。而在1×1卷積時采用分組卷積則對精度影響很大,因為1×1卷積涉及到通道間的交互,分組后各分組彼此獨立,無法獲得其他分組的信息。所以,本文網絡在1×1分組卷積之后使用了預排序操作,其目的與ShuffleNet中的通道洗牌操作[17]相似,增加不同通道間的交互。具體操作是將1×1分組卷積后的特征圖按不同通道重新隨機排序,這樣原來通道間的孤立狀態被打破,各個通道間的信息實現了交互。另外,在訓練和測試時的結構略有不同,在訓練時在分組卷積之后,還有剪枝操作,而在測試時由于剪枝已經完成,使用的是稀疏化之后的網絡結構,所以測試時只有分組卷積操作。
改進后的分組帶孔卷積模型如圖5所示。輸入特征圖首先經過BN-ReLU層和1×1卷積,這與原DenseASPP網絡結構一致。而原DenseASPP網絡的1×1卷積雖然也實現了降維,減少了通道,但對網絡的優化很有限。因為過多減少通道會影響分割效果,而且由于原DenseASPP網絡中1×1卷積對通道的減少是隨機和均勻的,這可能會舍去含有關鍵點信息的通道特征。本文改進的網絡則按照權重參數進行剪枝,只舍去權值較低的通道信息,這使得網絡稀疏化的同時還保留了關鍵信息。

圖5 改進后的帶孔卷積操作模型
2.4.2剪枝策略

(5)
根據Wj的值進行剪枝,隨著訓練過程的迭代,逐步舍去較小的Wj的輸出特征值,實驗結果表明每次迭代輸出的特征值實際都是由固定的幾個輸入提供的,所以其他的輸入特征值被剪枝后,并不會對測試結果有很大的影響。在進行測試時,每個分組只對這幾個輸入計算輸出特征值即可,這樣就實現了網絡的稀疏化,大大減少了計算量。
本文使用了武漢大學的開源遙感圖像數據集WHU-RS19,該數據集共有機場、海岸、橋梁、耕地、沙漠等共計19個分類的遙感圖像數據,每個分類約50幅左右遙感圖像,合計共1 005幅原始圖像,每幅圖像分辨率為600×600。除去草地、沙漠、森林等單一背景的遙感圖像外(單一背景的遙感圖像無須分割),又加入我們自己采集的遙感衛星圖像,共有1 632幅原始圖像。我們又通過圖像鏡像、圖像旋轉、改變對比度、改變亮度、圖像數據倍乘等方式進行了圖像增強,最終的圖像數據集共有10 835幅圖像。取其中8 835幅作為訓練集,另外2 000幅圖像作為測試集。
圖像數據集獲取之后還需要進行圖像標注,因為原始圖像數據集是進行圖像分類,并未進行像素級圖像分割的標注,還需要對原始圖像數據集進行手工標注。本文借鑒了文獻[18]的方法,該方法只需在同一分類上劃線即可快速標注。大部分增強的圖像不需要進行標注,只需對原始圖像進行標注即可,因為增強后的圖像數據集標注的結果與原始圖像基本一致。
我們的實驗測試硬件環境為一臺CPU為Intel Xeon E5 2600 v3系列的12核處理器,內存為16 GB,GPU為RTX2080Ti 11 GB顯存的服務器。軟件環境為Ubuntu16操作系統,TensorFlow1.4環境。
評價標準使用了圖像分割的兩大指標平均精度(MPA)和平均交并比(MIOU)進行評價。平均精度是指多次測試的分類正確的像素占圖像全部像素的比值平均值,平均交并比是多次測試的分割預測圖像與圖像真實值重復像素占全部所有像素的比值平均值。另外,為了評價優化前后的性能,使用了測試平均時間,即模型完成多次圖像分割所用時間的平均值。
3.3.1注意力模型測試
首先測試注意力模型,這里主要測試了DenseASPP加入注意力模型的效果以及兩種注意力模型的順序。測試結果如表1所示。以DenseASPP網絡為基準進行比較測試,當僅加入通道注意力模型時,平均精度提高了0.45百分點,平均交并比提高了1.1百分點,這比僅加入空間注意力模型提升的0.09百分點和0.53百分點來說是比較顯著的,說明通道注意力模型對精度的影響更大。在測試時間上,由于兩種模型的加入增加了計算量,平均測試時間有0.5 ms的增加,其中通道注意力模型用時更長,這主要因為它的計算量更大。當兩種注意力模型都加入時,我們對比了兩種注意力模型并行、先空間后通道和先通道后空間的三種網絡結構,三種結構在平均精度和平均交并比上都比單加入通道或者空間模型有提高,也說明了兩種注意力模型一起使用的效果更好。但在平均測試時間上,并行模型稍快,先空間后通道模型稍慢,但都比原網絡慢1 ms以上。綜合對比后,先通道注意力模型,后空間注意力模型的效果是最好的。

表1 注意力模型對比測試結果
3.3.2網絡優化性能測試
在性能優化測試一項,本文目標是在平均精度和交并比沒有明顯變化的前提下減少平均測試時間,因為測試時間基本上可以體現出網絡計算量和性能。測試數據如表2所示,首先對比了表1的DenseASPP網絡和加入本文的注意力模型的網絡。需要說明的是,從表2第3行開始,測試項是逐漸增加的,比如第5行加入通道排序,則是在加入了前面的帶孔卷積分組以及1×1卷積分組之后再加入通道預排序得出的數據。從數據可知,當加入帶孔卷積之后,測試平均時間減少到一半以下,而測試平均精度和平均交并比分別下降了0.01百分點和0.03百分點,并沒有明顯下降。當加入1×1卷積分組后,平均精度和平均交并比分別下降了28百分點和27百分點,雖然平均測試時間也降低了12.2 ms,但這項改動對網絡性能影響較大,原因在前文已經分析過了,主要是1×1卷積分組后隔絕的各個通道間信息的交互。所以要加入通道預排序,加入這項后可以看到平均精度和平均交并比又恢復到之前的水平,雖然仍然低于加入1×1卷積分組卷積之前的狀態,但僅比之前下降了0.1百分點左右。最后再加入剪枝策略,隨著計算量的減少,測試時間進一步大幅下降到最初優化之前的1/5,而平均精度和平均交并比比優化之前(表2第2行)僅下降0.34百分點和0.13百分點,達到了我們的預期。

表2 網絡優化性能對比測試結果
3.3.3網絡模型對比測試
我們還對比了本文改進后的網絡和DenseASPP網絡在不同場景下的圖像分割表現,如圖6所示。可以看到,在對耕地、河流等簡單場景的遙感圖像分割時,兩種網絡都有比較好的表現,除了有部分邊界交代不清,基本能夠正確分割,但在對復雜的城市遙感圖像進行分割時,DenseASPP出現了一些分類錯誤,而本文網絡則錯誤率更低且邊界更清楚。

(a) 原始圖像 (b) 手動分割 (c) 本文網絡 (d) denseASPP圖6 遙感圖像分割效果對比測試
同時還對比測試了幾個經典網絡與本文改進后的網絡的圖像分割的結果,數據如表3所示。U-Net網絡由于是相對較早的網絡,僅僅是編碼器-解碼器的簡單結構,其應用主要在醫學圖像分割上,在對遙感圖像分割時效果不是很理想,僅有62.23%的平均精度。較新的Deeplab v3+網絡也是使用了帶孔卷積金字塔,其效果與DenseASPP網絡相近,而且由于其沒有采用密集連接,測試平均時間更少。DenseASPP網絡數據前文已經列出,而本文改進后的網絡在對遙感圖像分割時平均精度比最好的DenseASPP網絡提高了1.1百分點,平均交并比提高了1.42百分點,而且平均測試時間也減少為DenseASPP的1/5,說明本文提出的分組卷積核剪枝策略取得了很好的效果。

表3 不同網絡模型遙感圖像分割對比測試結果
3.3.4遙感圖像場景測試
最后測試了本文的網絡在不同遙感圖像場景中的表現,測試結果如表4所示。在場景較為簡單的橋梁、耕地、河流等上平均精度可以達到95%以上,平均交并比可以達到90%以上;而在較復雜的場景比如機場、車站、城市等場景上則有80%左右的平均精度和70%左右的交并比。因為這些場景中有小的目標物比如汽車、飛機等我們并沒有給以標注,導致有些分類識別錯誤,另外有些高樓的陰影較大,給準確分割造成了一定困難。而對海岸線的分割精度較低主要是由于海岸線原始圖片分辨率較低,導致邊界界定不清。

表4 本文網絡在不同場景遙感圖像下的測試結果 %
本文對DenseASPP網絡進行了改進,首先引入了通道注意力模型和空間注意力模型,使得敏感信息有更大的權重,測試結果表明,這種改進有助于提高圖像分割的精度;其次對網絡進行了優化,在帶孔卷積時用分組卷積實現,其中在對1×1分組卷積之后增加了通道預排序層,有效解決了1×1分組卷積導致的圖像分割精度下降問題,另外還通過剪枝策略實現了網絡的稀疏化,有效減少了計算量。優化和改進后的網絡在對遙感圖像測試的平均精度比原DenseASPP網絡提高了1.1百分點,而平均測試時間減少為原來的1/5。本文的網絡在對不同場景的遙感圖像測試時發現在對原始圖像存在陰影和模糊背景的圖像測試效果還不是很理想,今后可以考慮增加圖像預處理模塊,加大圖像的銳度、去除陰影等干擾信息,或者考慮增加陰影分割學習,對圖像陰影部分的分割線進行學習,并達到能夠預測陰影分割線的效果,網絡在不同場景的遙感圖像下將具有更強的魯棒性。