王圣杰,劉長星,杜嵩
(西安科技大學 測繪科學與技術學院,西安 710054)
圖像語義分割以中高層語義信息為輔助信息對圖像進行逐像素分割,圖像中每個像素分別對應著預先定義的類別標簽[1]。圖像的語義分割在諸多領域已有廣泛的應用,如醫(yī)療影像檢測、自動駕駛、安防等領域,能夠準確快速地對目標物體與背景進行分割處理,進而提取出所需目標物。其中,在遙感影像建筑物提取領域,圖像語義分割技術解決了傳統(tǒng)建筑物提取技術耗時長、工作量大、提取精度低等問題,逐漸成為建筑物提取的新潮流。因此,如何使用語義分割技術快速、精確、智能地提取遙感影像中建筑物成為現在研究熱點之一。
近年來,隨著深度學習與計算機技術不斷發(fā)展,傳統(tǒng)基于人工設計特征的語義分割技術逐漸被取代,深層次、高效率的語義分割模型陸續(xù)被提出。2012年Alex等[2]在ILSVRC(imagenet large scale visual recognition challenge)大賽上首次提出AlexNet網絡,并取得了當時最好的成績;Shelhamer等[3]提出了全卷積神經網絡(fully convolutional networks,FCN),將原分類網絡中全連接層用卷積層代替,消除了卷積神經網絡(convolutional neural networks,CNN)只能輸入固定尺寸圖像的弊端,實現了任意大小圖像的輸入與輸出,成為后續(xù)圖像語義分割不可缺少的模型;Olaf等[4]提出了U-Net網絡,通過捷徑連接的思想將編碼中的特征圖與解碼中對應大小的特征圖進行融合,上采樣時恢復更多的空間信息;He等[5]提出ResNet網絡,該網絡利用了殘差學習在增加網絡深度的同時解決性能退化的問題;Chaurasia等[6]提出了LinkNet網絡,以U-Net網絡的U型結構為基礎,將ResNet模型作為信息提取網絡,通過捷徑連接將淺層信息傳遞至網絡深層,更有利于圖像的語義分割。
考慮到建筑物提取受建筑物本身特性與其周圍環(huán)境的影響,研究者通過引入不同形式的注意力機制以及采用不同的上采樣方式優(yōu)化網絡結構,以提高模型的分類性能和分類準確率。Hu等[7]提出的SENet(squeeze-and-excitation networks)網絡,通過引入通道注意力建模通道之間的相互依賴關系,自適應地重新校準通道的特征響應,該模型獲得了2017年ImageNet圖像識別冠軍;劉浩等[8]通過SENet網絡設計了特征壓縮激活模塊,構建了SE-Unet網絡,加強了網絡特征的學習能力,驗證了其對大小各異、形狀不規(guī)則的建筑物有很好的識別效果和分類精度;Li等[9]在SENet的基礎上提出了SKNet(selective kernel networks)網絡,該網絡更注重卷積核的重要性,在SK模塊上不同分支采用不同大小的卷積核提取圖像特征信息,特征信息經過融合處理將權值映射到不同分支上再進行融合,提高了對圖像整體和細節(jié)特征的提取能力;馬震環(huán)等[10]提出新的解碼器結構,通過引入自注意力機制對級聯(lián)的深層特征與淺層特征解碼,降低了上采樣時的精度損失;程曉悅等[11]提出一種新的語義分割算法,在網絡中使用密集層結構,采樣分組卷積加快計算速度,同時引入注意力機制改善分割效果;Zhang等[12]提出空間注意力模塊,對圖像特征圖不同部分匹配不同的權重;Woo等[13]提出了CBAM(convolutional block attention module)模塊,結合通道和空間注意模塊,對圖像不同通道不同位置給予關注,實驗結果驗證了先通道再空間的方式最優(yōu)。上述網絡模型都是通過引入不同形式的注意力機制加強網絡對特征的學習能力并取得不錯的效果。Badrinarayanan等[14]提出SegNet,在編碼階段使用最大池化提取準確的位置信息,在解碼階段使用反池化方式恢復圖像大小,使得圖像某些邊緣信息得以保存;Tian等[15]提出DUpsampling(data-dependent upsampling)方法代替?zhèn)鹘y(tǒng)的雙線性插值法,允許解碼器將待融合的特征降采樣到特征圖的最低分辨率,減少了解碼器計算量的同時擴大了特征聚合的設計空間,使得解碼器能夠利用更好的特征聚合。這些網絡模型通過改變原來的上采樣方式,以提高模型恢復特征圖像素級預測能力。
盡管語義分割算法在實際提取中有較好的提取精度,但是仍存在一些問題:設計神經網絡時對感受野的自適應變化沒有重視,導致網絡學習特征能力有限,進而影響網絡的預測能力;獨立于數據、不考慮每個像素預測之間的相關性是雙線性上采樣過于簡單的原因,進而導致其精確恢復像素級預測的能力有限;在上采樣-下采樣過程中易產生信息丟失問題,造成提取精度降低。
針對以上問題,本文設計了一種語義分割算法。以U-Net網絡結構為基礎,在編碼器中引入卷積核注意力機制加強網絡感受野的自適應變化,根據輸入自適應地調整其感受野大小,采用非線性聚集的方法聚合多尺度信息,強化有用特征抑制無用特征;在解碼器中使用DUpsampling方式,利用語義分割標簽空間的冗余從編碼器的低分辨率輸出中恢復像素級預測;在編碼器-解碼器中利用捷徑連接將淺層特征與深層特征進行融合,并在交叉熵函數的基礎上結合dice函數作為補充訓練網絡模型。
本文以U-Net網絡結構為基礎,采用編解碼架構。編碼過程中利用SKNet網絡中選擇性卷積核引入卷積核注意力機制,對輸入圖像自適應調整其感受野大小,聚合多尺度信息。解碼過程中使用DUpsampling恢復特征圖的像素級預測,從而達到較好的分類結果。構建的SD-Unet網絡結構如圖1所示。
圖1 整體網絡結構
注意力機制(attention mechanism)可以理解為一種資源分配機制,在視覺方面,其核心思想是突出對象的某些重要特征。通過注意力機制可以使神經網絡具備專注于其輸入(或特征)子集的能力:選擇特定的輸入。為對比分析文本所提網絡的優(yōu)越性,以U-Net網絡為基礎,引入不同形式的注意力機制進行比較。
卷積核注意力機制通過SKNet網絡中SK模塊實現。SK模塊具有不同的分支形式,各分支上不同大小的卷積核組成了選擇性卷積核。該模塊通過非線性方法聚合來自多個卷積核的信息,較為全面地提取圖像中目標物整體和局部細節(jié)特征。本文采用雙分支形式的SK模塊,主要由Split、Fuse、Select三個子模塊組成,如圖2所示。
1)子模塊Split。對任意給定的特征圖X∈RH1×W1×C1,用3×3、5×5的卷積核進行兩次卷積映射處理,計算如式(1)所示。
(1)
(2)
接著對融合后的特征圖U采用全局平均池化操作來嵌入全局信息,得到特征通道的統(tǒng)計信息并生成S∈RC,即S的第C個元素通過空間維數H×W收縮U來計算,如式(3)所示。
(3)
為加強網絡對有用特征的學習能力,通過Ffc操作壓縮全局信息得到特征Z∈Rd×1,以引導精確的自適應選擇。Ffc是一個簡單的全連接層,其作用是對全局平均池化后的特征圖通道數降維,再經過批標準化和ReLU激活函數處理,最后升維至原先數目。
Z=Ffc(s)=δ(B(Ws))
(4)
式中:δ代表ReLU激活函數;B表示批標準化處理,W∈Rd×c。其中,本文通過引入r(reduction ratio)來控制d對模型的影響,r為下降率,計算如式(5)所示。
(5)
式中:L為d的最小值,本文網絡中L設置為32。使用跨通道的軟關注自適應地選擇不同空間尺度信息,在通道方向上使用Softmax操作,最后得到輸出是兩個矩陣a和b,則b為冗余矩陣,雙分支情況下b=1-a。
(6)
式中:V=[V1,V2,…,Vc],Vc∈RH×W表示特征圖V的第c個通道的特征信息。通過擴展方程式可以推導出更多分支的情況。
圖2 SK模塊示意圖
通道注意力機制本質是對特征圖間每個通道中的特征進行加權計算,對不同特征給予不同程度的關注??梢酝ㄟ^引入通道注意力機制(SE模塊),實現網絡在編碼階段對特征的學習能力。SE模塊主要依賴特征圖間各通道之間的關系進行建模,實現自動調整各通道的特征響應,結構如圖3所示。
該模塊工作流程為:先將任一輸入的X∈RH′×W′×C′進行Ftr操作轉換成U∈RH×W×C,Ftr可以理解為傳統(tǒng)的卷積操作;再對卷積輸出的U進行Fsq(全局平均池化)操作,將U壓縮成Zc,計算如式(7)所示。
(7)
為利用壓縮后的信息完全捕獲信道上的依賴關系,通過兩級全連接Fex操作將壓縮數據激活,并用Sigmoid激活函數將輸出限制到[0,1]的范圍;最后將輸出的值作為scale乘到U的C個通道上,作為下一級的輸入數據。
圖3 SE模塊示意圖
混合域注意力機制通過融合空間和通道注意力機制所關注的不同信息,彌補各自的局限,在網絡結構中依次嵌入通道和空間注意模塊。本文將CBAM模塊引入U-Net網絡中。CBAM模塊結構如圖4所示。
圖4 CBAM模塊示意圖
特征圖率先進入的是通道注意力模塊。該模塊與SE模塊大致相同,主要區(qū)別是CBAM中依次使用了全局平均池化和全局最大池化兩種池化方式,相較于SE模塊提取到更加豐富的高層次特征。將通道注意力模塊的輸出作為空間注意力模塊的輸入,同樣使用全局平均池化和全局最大池化??臻g注意力模塊操作過程為:首先,將輸入的特征圖(H×W×C)經過池化操作得到兩個高層次特征圖(H×W×1),并在通道維度上進行連接;然后,對連接后的特征圖進行卷積處理,使用Sigmoid函數將輸出限制到[0,1]的范圍;最后,將輸出值作為scale乘到通道上,得到經過雙重注意力調整的最終輸出結果。
L=loss(Softmax(bilinear(F),Y))
(8)
(9)
(10)
式中:可以使用標準隨機梯度下降(SGD)進行優(yōu)化。
(11)
另一種使用未壓縮的Y作為真值來監(jiān)督恢復分辨率的(Softmax(DUpsampling(F)))的特征圖(式(12))。
L=loss(Softmax(DUpsampling(F),Y))
(12)
式(12)使用DUpsampling代替了原始的雙線性上采樣,相當于在空間維度上應用1×1卷積,卷積核存儲在W中。具體的上采樣過程如圖5所示。
圖5 上采樣過程
為驗證實驗結果,本文采用總體分類精度(OA)、精確率(precision)、召回率(recall)、F1分數、交并比(IoU)作為精度評價指標。
表1 特征計算示意表
表1中,1表示建筑物像素;0表示非建筑物像素;TP表示正確分類的建筑物特征;TN表示正確分類的非建筑物特征;FP表示錯誤分類的建筑物特征;FN表示錯誤分類的非建筑物特征。
WHU數據集是由武漢大學季順平教授和其團隊建立的,是一個大型、準確、開源的數據集,主要包括航空建筑物數據庫和衛(wèi)星建筑物數據庫[18]。其中,衛(wèi)星建筑物數據庫包含數據集Ⅰ和數據集Ⅱ,數據集Ⅱ覆蓋范圍廣、包含建筑物種類多,是評價建筑物提取算法的理想區(qū)域,所以本文選用數據集Ⅱ作為實驗數據。該數據主要由六張相鄰的衛(wèi)星遙感影像組成,影像覆蓋東亞地區(qū)內860 km2的土地,且影像分辨率為0.45 m,如圖6所示。將原始數據經過ArcGIS軟件處理得到深度學習方法應用的17 388個512像素×512像素的子圖像,其中包含了3.4×104棟建筑物。
圖6 由六張衛(wèi)星影像組成的覆蓋860 km2的東亞地區(qū)
通常在訓練神經網絡時,足夠多的訓練樣本會使網絡的訓練效果變好。為解決獲取新數據成本高、難度大的問題,本研究采用數據增強技巧實現數據量的擴充,如放大、縮小、旋轉和翻轉等操作對數據進行增強。具體擴充過程是:對數據集Ⅱ中含有少量甚至沒有建筑物像素的負樣本數據進行剔除,將剔除后的4 000多個樣本數據進行垂直、水平、旋轉(逆時針90°、180°、270°)、轉置和橫向等操作進行增強。
神經網絡的內部參數可以通過優(yōu)化算法迭代得到,在訓練時需人為設置一些超參數來指導模型進行學習,如:學習率、優(yōu)化函數和權重衰減參數等。初始學習率設置為1×10-4,使用自適應學習率的Adam優(yōu)化函數,權重衰減參數為1×10-7,批次為5。本實驗通過Keras框架實現,使用內存32 GB,英偉達GTX1080Ti顯卡的服務器進行訓練,共訓練50個epoch。
1)對常用的語義分割模型進行訓練并在測試集上進行測試,驗證精度如表2所示。可以看出,U-Net模型的提取精度最高,與SegNet模型相比,IoU高出了0.95%,recall高出了0.22%,F1分數高出了0.68%;與結合捷徑連接和殘差學習的LinkNet模型相比,IoU高出了0.81%,recall高出了2.47%,F1分數高出了0.31%。因此,本文在U-Net模型基礎上加入注意力機制更符合實際應用,對提升建筑物提取精度有更好的研究意義。
表2 常用語義分割模型的比較 %
2)為驗證加入SE模塊、CBAM模塊、SK模塊后模型對建筑物的提取精度,分別進行訓練與測試,驗證精度如表3所示??梢钥闯?,加入不同注意力機制后模型的提取精度均有所提升。其中,加入SE模塊與CBAM模塊較原U-Net模型在IoU上提升1.01%、0.63%,recall提升了1.77%、1.22%,F1分數提升了0.59%、0.38%;加入SK模塊后提取精度提升最高,在IoU上提升了1.06%,recall提升了3.61%,F1分數提升了0.6%。圖7和圖8分別展示了加入不同注意力機制后網絡模型的ROC曲線(receiver operating characteristic)和PR曲線(精確率和召回率的曲線),圖中左半部分是整體曲線圖,右半部分是局部放大圖。AUC表示ROC曲線下的面積,BEP表示PR曲線中精確率與準確率相等處的取值,AUC與BEP的數值越大說明模型的分類效果越好。從圖中各模型的AUC和BEP標注值可以看出,加入注意力機制后模型的分類性能均有所提升。
表3 加入注意力機制分割模型的比較 %
圖7 引入注意力機制的U-Net模型的ROC曲線整體和局部圖
圖8 引入注意力機制的U-Net模型的PR曲線整體和局部圖
3)為驗證數據依賴上采樣是否能準確地恢復像素級的預測,以及能否提高建筑物提取的精度,本文采用結合卷積核注意力機制并在解碼器端用DUpsampling代替雙線性插值構建SD-Unet模型,同時使用相同的測試集進行驗證,驗證精度如表4所示??梢钥闯觯瑯嫿ǖ腟D-Unet模型提取精度均達到最高,相較于U-Net模型在IoU上提升了1.41%,recall提升了3.35%,F1分數提升了0.9%;相較于SK-Unet模型在IoU上提升了0.35%,F1分數提升了0.3%,precision提升了0.59%。SD-Unet網絡模型的ROC曲線與PR曲線如圖9、圖10所示,左半部分是整體曲線圖,右半部分是局部放大圖。在ROC曲圖中,SD-Unet模型的ROC曲線位于SK-Unet、U-Net模型曲線的上方,其模型效果總體優(yōu)于SK-Unet和U-Net,并且SD-Unet的AUC值最大,為0.989 6;在PR曲線圖中,SD-Unet模型的PR曲線包含SK-Unet、U-Net模型曲線,分類效果最優(yōu),且SD-Unet的BEP點處的值為0.826 2;從各項測評指標可以看出,SD-Unet模型對建筑物的自動化提取具有較好的魯棒性。
表4 SD-Unet、SK-Unet、U-Net模型的比較 %
圖9 U-Net、SK-Unet和SD-Unet模型的ROC曲線整體和局部圖
圖10 U-Net、SK-Unet和SD-Unet模型的PR曲線整體和局部圖
4)根據圖11顯示進行可視化結果分析:圖11(a)中第1張影像包含了一些大型建筑物,第2張影像主要由小型建筑物組成;圖11(b)部分是對兩張原始影像進行目視解譯的結果;圖11(c)~圖11(e)是常用語義分割模型的提取結果,與目視解譯法對比可知,在大型建筑物提取中雖然能夠提取出建筑物的大致地理位置,但建筑物邊緣提取較為粗糙,在圖中左上角位置都出現誤檢的現象;圖11(f)~圖11(i)是引入不同形式注意力機制與SD-Unet模型的提取結果,相對于常用的語義分割模型其誤檢問題有明顯的減輕,且建筑物的邊緣也有明顯的改善,其中SD-Unet模型對大型建筑物提取效果最優(yōu),但未完全解決大型建筑物距離較近時出現的“粘連”現象。在小型且不規(guī)則的建筑物提取中,常用的語義分割模型普遍存在漏檢、誤檢的問題,圖11(c)~圖11(e)可以明顯看出,建筑物的邊緣提取不完整,甚至有的建筑物的大致形狀也無法確定;圖11(f)~圖11(i)中SD-Unet模型提取結果最優(yōu),在確定建筑物大致形狀的基礎上明顯減少了漏檢、誤檢等問題,甚至對某些小建筑物邊緣做了平滑處理。模型可視化結果上,SD-Unet網絡無論對大型建筑物還是小型建筑物,都有較好的提取效果,較之前算法在分類性能和分類準確率上有了明顯提升。圖中紅框標注的是提取中有明顯漏檢、誤檢、形狀差異較大以及邊緣粗糙等問題的建筑物。
圖11 模型在WHU數據集上預測結果可視化對比
本文在遙感影像建筑物提取問題中,引入卷積核注意力機制加強網絡對建筑物特征的學習能力,使用DUpsampling上采樣代替?zhèn)鹘y(tǒng)雙線性上采樣提高模型恢復特征圖像素級預測能力,構建SD-Unet網絡,在WHU建筑物數據集上和多種網絡結構進行對比,得出如下結論。
1)SD-Unet在編碼過程中根據輸入圖像自適應調整感受野大小,同時還在解碼過程中利用DUpsampling恢復圖像尺寸,提高網絡對建筑物整體結構和局部精細特征的提取。SD-Unet在WHU測試集上的實驗結果在交并比、總體精度、精確度、召回率以及F1分數上分別為76.25%、98.86%、86.13%、87.07%、85.85%,超過了本文引用的常用語義分割模型以及在U-Net網絡基礎上引入不同形式注意力機制的網絡。
2)在WHU數據集上,SD-Unet網絡在定量精度指標上超過了其他語義分割模型。從影像預測結果看,常用語義分割模型無論對大型還是小型建筑物都能較準確地提取,而引入注意力機制的模型對大型建筑物的整體結構與小型建筑物的邊緣提取結果均有明顯提升,其中SD-Unet模型提取結果最優(yōu)。
3)本實驗中SD-Unet在WHU數據集上取得較好的結果,但雙分支形式的SK模塊是否是模型最優(yōu)結構以及對不同遙感影像是否有良好的泛化性,是接下來的研究重點。