崔衛紅,熊寶玉,張麗瑤
武漢大學遙感信息工程學院,湖北 武漢 430079
高空間分辨率(簡稱高分)遙感影像建筑物提取在城市規劃、變化檢測、災害救援等多方面具有重要應用價值。特征選擇與特征表達是建筑物提取的重要基礎。根據特征選取方式的不同將建筑物提取方法歸納為兩類:一類是基于人工設計特征的,另一類是基于深度神經網絡自主學習特征的。
根據建筑物所特有的光譜、紋理、結構、上下文等特性,很多學者設計出了具有針對性的建筑物提取方法。文獻[1]結合結構、上下文、光譜信息3種不同類型的特征對建筑物進行提取。文獻[2]基于灰度共生矩陣提出PanTex指數來提取建筑物。文獻[3]基于Harris角點[4]、GMSR[5]、Gabor濾波和FAST特征點檢測4種特征提出一種決策融合的建筑物提取方法。文獻[6]結合雙邊濾波和EDLines線檢測[7]探測出建筑物的邊界線,然后基于線連接和閉合輪廓搜索得到完整的建筑物輪廓。文獻[8]提出了一種結合方向梯度直方圖和光譜與紋理特征的航空影像建筑物提取方法。另外,還有學者依據數學形態學提出相應的空間計算方法來提取建筑物,如形態學建筑物指數(MBI)[9]、增強的形態學建筑物指數(EMBI)[10]、面向對象形態學建筑物指數(OBMBI)[11]等。然而,人工設計特征的方法需要花費大量的精力來選擇合適的建筑物特征。盡管這些方法在少量樣本圖像上表現出良好的性能,但尚未被證明可用于大型的建筑物數據集中。
近幾年,由多層卷積濾波核組成的卷積神經網絡(convolutional neural network,CNN)受到廣泛的關注。CNN具有自動提取圖像相關特征的能力,并被應用到數字識別、自然圖像分類、圖像分割等多個方面。目前,利用CNN從高分遙感影像中提取建筑物也取得了一定成果。文獻[12]提出了一種基于塊的卷積神經網絡建筑物提取方法,以大圖塊輸入小圖塊輸出的方式學習空間上下文特征,對航空影像進行建筑物提取,并在Massachusetts建筑物數據集上表現出良好的性能。但基于塊狀的方法提取得到的建筑物中會產生塊狀不連續的現象。針對該問題,文獻[13]提出了一種多通道預測方法,同時預測道路、建筑物和背景(除建筑物和道路的其他地物)3種類別,以降低預測結果中塊狀不連續的情況。文獻[14]用全卷積神經網絡(fully convolutional neural network,FCN)[15]進行建筑物提取。用FCN提取建筑物的方法消除了由于塊狀邊界引起的不連續性;其次,由于去掉了文獻[12]提出的網絡中的全連接層,減少了參數的數量。同時,由于全卷積操作的GPU執行速度快,縮短了執行時間。但FCN反卷積上采樣結果比較模糊和平滑。上述網絡均為單輸入卷積神經網絡,也有學者提出雙輸入深度神經網絡模型提取建筑物。如文獻[16]將包含完整建筑物的256×256像素的大窗口影像輸入到Alexnet[17]網絡提取建筑物的全局特征,將僅包含建筑物局部的64×64像素的小窗口影像輸入到VGG[18]網絡中提取局部特征,結合全局和局部特征對1 m分辨率的Massachusetts數據集進行建筑物提取。Massachusetts數據集中多數建筑物為小建筑物,占20×20~30×30像素,而較大建筑物長占150~250像素,寬占70~150像素左右。當影像分辨率更高,影像中建筑物所占的像素數更多,文獻[16]提出的雙輸入網絡方法需要增大網絡中大窗口甚至小窗口的大小,這樣會造成數據量增大。受計算機硬件的限制,當網絡的輸入過大時,會出現內存不足的現象,網絡無法訓練。當僅將小窗口影像輸入到VGG16網絡提取大建筑物時,結果存在空洞。針對這種現象,本文在VGG16的基礎上提出了一種多尺度全卷積深度網絡,使得當輸入影像的窗口不能很好地覆蓋原建筑物時,大型建筑物也能被完整地提取。由此,本文中的大型建筑物是指建筑物所占像素數超過輸入影像窗口大小的建筑物。
目前,多尺度卷積神經網絡一般分為兩種。一種是基于多尺度特征圖的卷積神經網絡模型,如目標檢測任務中的SSD網絡[19],通過使用多個特征圖,同時進行位置回歸和分類,以解決高層特征圖上小物體信息少而造成檢測效果不佳的問題。在語義分割任務中PSPNet[20]將基于ResNet[21]網絡提取的特征圖,通過一個金字塔池化模塊獲得多個尺度的特征圖,然后將多尺度特征圖上采樣并串聯,從而獲得圖像的局部和全局特征。DeepLab-v2[22]提出了空洞空間金字塔池化(atrous spatial pyramid pooling,ASPP),用不同空洞率的空洞卷積層并行來獲得多尺度信息。另一種是基于多尺度影像的卷積神經網絡模型。這類模型通常將不同尺度的影像分別輸入到相同的網絡模型,得到不同尺度影像的特征,并將其融合獲得多尺度特征。不同學者獲得多尺度影像的方式有所不同,如文獻[23]將原始影像進行拉普拉斯金字塔變換,而文獻[24—25]直接將原始影像進行不同尺度的縮放。但是這種基于多尺度影像的模型受GPU內存的限制,不能很好地適應更大更深的網絡*。
本文提出了一種基于多尺度影像的全卷積神經網絡,首先將原始影像依次進行1/4、1/16、1/64、1/256等4個等級的下采樣,得到不同分辨率的影像,并分層級地進行建筑物多尺度特征提取和特征融合。為了減少網絡參數,本文用上采樣層取代全連接層。由于FCN中簡單的反卷積上采樣過程所得建筑物提取結果不夠精細,因此本文采用SegNet[26]網絡中的上采樣方法。
經典的卷積神經網絡由卷積層、池化層和全連接層組成。卷積神經網絡通過“卷積層+池化層”得到特征圖,然后將得到的特征圖轉換成一維向量輸入到全連接層,最后一層全連接層通常被傳到Sigmoid激活函數或Softmax激活函數中,用于二分類或多分類任務。VGG網絡由文獻[18]提出,是用于ImageNet數據集[27]分類的一種卷積神經網絡。該網絡取得了ILSVRC(ImageNet Large Scale Visual Recognition Challenge)比賽2014年分類項目的第2名。為此,本文將該網絡的樣本標記模式進行調整用于建筑物提取,并針對其在大型建筑物提取存在空洞的問題對該網絡模型進行改進。在ImageNet數據集分類中,輸入VGG16網絡的樣本標記用One-hot編碼表示,即以向量p=[0,0,…,1,…,0,0](第i個元素值為1,其余元素值為0)表示對應輸入圖片所屬的類別為第i類;向量p的維度為1000,代表ImageNet數據集中的1000個類別。而本文用VGG16網絡提取建筑物的數據標記為二值向量q=[0,1,…,0,1,1,0…,0,0],向量q中每個元素值取0(表示非建筑物)或1(表示建筑物),表示對應輸入影像上的像素是否為建筑物;向量q的維度與VGG16建筑物提取網絡的輸出影像大小保持一致。下面介紹建筑物提取的VGG16網絡結構。
VGG16建筑物提取網絡由13個卷積層、5個池化層、3個全連接層組成。網絡的輸入為wi×wi的影像,輸出為w0×w0的影像,輸入影像與輸出影像的中心位置相同,輸出影像中的每個像素代表其對應位置的輸入像素屬于建筑物的概率,取值在0~1之間。為了提供建筑物的上下文信息,設置wi>w0。VGG16特征提取結構(去掉全連接層)如表1所示,其中,“[3×3 conv (N) ]×m”表示由N個3×3卷積核構成的m個卷積層,這種相同參數的卷積層構成一個block;“pool/2”表示核大小為2×2的池化層。而后網絡連接3個全連接層,輸出神經元個數依次為4096、4096、w0×w0(最后一個全連接層神經元個數與輸出影像大小保持一致)。
表1 VGG16建筑物提取網絡特征提取結構
Tab.1 Feature extraction structure in VGG16 for buildings extraction

網絡層名網絡層結構輸出特征圖與輸入影像大小之比block 1[3×3 conv (64)]×2pool 1pool/21/4block 2[3×3 conv (128)]×2pool 2pool/21/16block 3[3×3 conv (256)]×3pool 3pool/21/64block 4[3×3 conv (512)]×3pool 4pool/21/256block 5[3×3 conv (512)]×3pool 5pool/21/1024
影像中大型建筑物的結構特征和上下文特征往往難以在較小的影像塊中反映出來,因此輸入CNN的影像塊應盡可能大。輸入CNN的影像越大,待訓練的參數越多,受計算機硬件的限制,輸入影像不能無限制的增大。針對輸入影像中難以包含大型建筑物全局特征的問題,本文在VGG16的基礎上引入金字塔結構。由于全連接層參數過多,將其用具有編碼器-解碼器結構的全卷積神經網絡取代,構建一種新的網絡。
本文采用最大池化的方式將輸入影像依次進行1/4、1/16、1/64、1/256的下采樣,得到4種低分辨率的影像,分別記為scale1—scale4。在現有基于多尺度影像的卷積神經網絡中,通常使用相同的網絡結構處理不同尺度的影像,進而得到多尺度特征圖,這種方式導致計算量增加。為此,本文以VGG16為基礎網絡結構,稱其為網絡主干。網絡主干對原始影像進行卷積和池化操作后得到大尺度特征圖,如圖1中虛線框部分。網絡主干pooll(l=1,2,3,4)層的輸出與scalel影像大小相同,將pooll層的輸出和scalel影像分別輸入到blockl+1網絡模塊中,得到兩個尺度影像的特征。這樣每次僅對兩個尺度的特征圖進行融合,既可以得到多尺度的特征,又可以避免同一網絡結構重復多次的計算。所得到的兩個尺度特征圖維度和大小相同,可以直接將其在相應維度上進行相加,共同輸入到后續的網絡模塊中。
SegNet和FCN是兩種經典的全卷積網絡。編碼過程圖像不斷縮小,解碼過程圖像不斷上采樣放大。文獻[26]通過試驗表明,SegNet中的上采樣比FCN中所使用的反卷積上采樣在語義分割中表現出更好的性能。SegNet在上采樣過程中引入池化索引功能,使得在內存使用上SegNet比FCN更為有效。另一方面,FCN為了精細試驗結果,上采樣過程中將反卷積結果與編碼過程得到的特征圖結合,訓練比較繁瑣。因此本文使用SegNet網絡中的上采樣層來替代VGG16中的全連接層。
通過試驗對比發現,當經過3次上采樣時建筑物提取精度最高,因此本文并未將圖像上采樣到原始輸入圖像的大小。
本文所提出的網絡完整結構如圖1所示,記為VGG16_Pymaid_Upsample,簡稱VPU。圖中“紅色”圖層表示“卷積層+激活函數ReLU”、“黃色”圖層表示“池化層”、“綠色”圖層表示Segnet上采樣層。不同的圖層大小表示該層輸入影像(或特征圖)的相對大小,輸入影像對應的預測輸出標記為最右邊紅框內的影像。

圖1 VPU網絡結構Fig.1 VPU neural network architecture
2.2.1 最大池化下采樣
在CNN中,有最大池化和平均池化兩種圖像下采樣方式。本文對比以上兩種下采樣方法以及圖像處理中的3種采樣方法(最鄰近法、雙線性內插法、三次卷積內插法)的區別。將圖2所示的576×576像素的影像分別采用以上5種采樣方法依次進行1/4、1/16、1/64、1/256下采樣處理。

圖2 576×576 像素的原始影像Fig.2 The original image with 576×576 pixels
圖3(a)—(e)依次表示1/4倍最大池化、平均池化、最鄰近法、雙向性內插法和三次卷積內插法下采樣的結果。1/4倍下采樣時,從目視上難以判別不同方法下采樣后影像的變化,因此用灰度直方圖對下采樣結果進行分析。圖4(a)—(e)分別對應圖3(a)—(e)下采樣后圖像紅綠藍三波段的灰度直方圖。從圖中可以看出,最大池化和最鄰近法下采樣結果中尖銳處較多,而平均池化、雙線性內插法及三次卷積內插法下采樣結果中相對比較平滑。
進一步,當下采樣級數更大時(圖5(a)為以上5種下采樣方式1/64倍下采樣結果,圖5(b)為5種下采樣方式1/256倍下采樣結果),最大池化后的結果相對于其他幾種方法的結果邊界處信息更明顯;最鄰近法下采樣后結果中顯示出明顯的椒鹽噪聲;而平均池化、雙線性內插法和三次卷積內插法去除了圖像中尖銳的變化,得到均勻平滑的圖像,建筑物的邊界處被模糊,細節被削弱。綜合考慮,本文采用邊界信息更豐富的最大池化下采樣方法來得到多尺度影像。

圖3 1/4倍下采樣的5種結果Fig.3 The 5 results of downsampling to quarter of the original image

圖4 5種下采樣結果的灰度直方圖Fig.4 Gray histogram of the 5 downsampling methods

圖5 1/64倍與1/256倍級數下采樣結果比較Fig.5 Comparison of 1/64 and 1/256 times downsampling
2.2.2 多尺度特征融合
為了顯示多尺度特征融合的效果,將圖2所示的576×576像素的影像輸入到VPU網絡(3次上采樣)中,并將不同尺度影像所得特征圖及融合后的特征圖進行可視化分析。
觀察可視化的結果,可以發現scale 1—scale 3影像所得到的特征圖與網絡主干特征圖融合起到了特征加強的作用。將pooll層輸出特征圖和scalel影像輸入到blockl+1網絡模塊后提取的特征圖分別記為FM_pooll、FM_scalel;將特征圖FM_pooll和特征圖FM_scalel對應維度相加融合后所得特征圖記為FM_addl。以sacle3影像特征圖及特征融合的結果為例,如圖6(a)—(c)所示,分別表示FM_pool3、FM_scale3、FM_add3中前36維特征圖的可視化結果。觀察圖6(a)和圖6(b)中白色虛線框標示的特征圖,在大尺度的高層特征圖中建筑物的邊緣輪廓信息已經模糊,而在小尺度的低層特征圖中建筑物邊界細節信息更多。這使得多尺度特征結合后所得到的特征圖信息更豐富,使得建筑物邊界提取更精準。
而scale 4影像所得到的特征圖與網絡主干特征融合后的效果與之前幾個尺度融合的效果存在差異。如圖6(d)—(f)所示,分別表示FM_pool 4、FM_scale 4、FM_add 4中前64維特征圖的可視化結果。從圖中可以看出,特征圖融合后的結果FM_add4與網絡主干所得到的特征圖FM_pool4可視化結果相近。這表明scale 4影像所得特征圖對最終結果影響較小,網絡訓練過程中會對不同尺度來源的特征圖進行權重分配。scale 4影像所保留的建筑物信息抽象,對建筑物提取的作用相對較小,這時網絡訓練過程中對其分配的權重較小。

圖6 特征圖可視化Fig.6 Feature map visualization
本文選擇中國上海市嘉定區和美國Massachusetts兩個地區的數據集來驗證改進網絡的有效性,國內和國外建筑物在結構和復雜度方面差異很大。上海市嘉定區影像中建筑物以住宅小區、別墅區、廠房3種類型的建筑物為主。住宅小區中建筑物長占40~60像素,寬占10~30像素;別墅區建筑物一般占25×25~40×40像素;廠房所占像素大于100×100,較大的廠房可達500×400像素左右,為大型建筑物。Massachusetts數據集中建筑物以別墅區和商業中心為主,其中別墅區建筑物約占20×20~30×30像素,而商業中心中多數建筑物長占150~250像素,寬占70~150像素左右,為大型建筑物。
本文用放寬的查全率-查準率曲線(relaxed precision-recall curve)[12]進行精度評價。預測結果的二值圖中1代表建筑物,0代表非建筑物。記N1為預測值為1的像素個數,N2為真實值為1的像素個數,Nr_p為預測值為1且周圍3個像素范圍內存在真實值為1的像素個數,Nr_r為真實值為1且周圍3像素范圍內存在預測值為1的像素個數。放寬的查全率(RP)和放寬的查準率(RR)的計算公式如下
(1)
最終選擇放寬的查全率-查準率曲線上查全率和查準率相差最小的平衡點為精度評價指標,記為bp,并取bp值為平衡點處的RR。
本文選用收斂較快的交叉熵損失函數[28](如式(2)所示)L來定量評價訓練樣本集中的真實值y(i)和預測值y′(i)(i=1,…,n;n為訓練樣本的個數)之間的差異,并使用小批量隨機梯度下降(mini-batch stochastic gradient descent,mini-batch SGD)的方法來最優化損失函數
(2)
在訓練網絡學習參數的過程中,不同網絡的超參數設置相同:初始學習率λ=0.005,學習率衰減頻率τ=104,學習率衰減率μ=0.1,動量值m=0.9,權重衰減值w=0.000 5。
上海市嘉定區試驗數據為0.5 m分辨率的天地圖影像,由RGB 3個波段組成。試驗區影像大小為18 000×18 000像素,選擇試驗區7/9的數據作為訓練樣本集,1/9作為交叉驗證集,1/9作為測試樣本(6000×6000像素),選擇其中5990×5990像素的區域進行精度評價。
參考文獻[16]所提出的建筑物提取方法,當使用Massachusetts建筑物數據集時,對應的VGG16網絡分支中的輸入影像大小為64×64像素(簡稱64×64,以下影像大小的描述均使用簡稱),輸出影像大小為16×16。對于64×64的檢測窗口而言,Massachusetts數據集中別墅區建筑物為小建筑物,而商業中心建筑物為大型建筑物。同時64×64的檢測窗口約是最大的小型建筑物的2倍,這樣有利于獲得小型建筑物的上下文語義信息。針對本文嘉定區影像數據,當檢測窗口為64×64時,對于長寬為40~60像素的住宅小區,64×64的檢測窗口不足以反映其上下文信息。如圖7(c)所示,當影像輸入為64×64時,VGG16網絡存在對大型建筑物提取不完整的現象。因此嘉定區建筑物檢測時,檢測窗口設定為128×128(約是最大的小型建筑物的2倍)。如圖7(d)—(e),對比VGG16和VPU(2次上采樣)兩種方法在128×128的網絡輸入時對大型建筑物提取的結果,可以看出本文提出的方法對大型建筑物的空洞現象有一定程度的改進。

圖7 預測結果Fig.7 The prediction results
為了說明本文輸入窗口大小選擇的有效性,將本文方法以128×128的影像輸入時的結果與VGG16網絡在128×128和64×64兩種不同輸入影像大小時的結果進行精度比較,以嘉定區測試集中的5990×5990區域進行試驗,結果如表2所示。

表2 建筑物提取精度
當VGG16網絡的輸入影像窗口大小為128×128時,預測精度高于64×64大小的影像輸入,表明適當增加上下文信息時,可以提高建筑物的提取精度。本文提出的方法相較于VGG16精度有所提高。

圖8為用不同的上采樣次數的網絡對576×576大小的影像進行預測的結果,其中,圖8(a)和(b)分別表示576×576的原始影像和對應的標記。通過目視解譯,當2次上采樣時,影像中大型建筑物仍存在少許空洞;當5次上采樣時,試驗結果中拼接處會存在明顯的拼接縫隙。分析其原因,當5次上采樣時,預測和訓練的輸入和輸出圖像大小均為128×128,使得邊界處缺少上下文語義信息,從而導致試驗結果中存在明顯的拼接縫。而3次上采樣和4次上采樣的目視效果相對較好。

圖8 不同上采樣次數的網絡建筑物提取結果Fig.8 The results of buildings extraction with different times of upsampling
同時,本文通過定量的方法分析了整景嘉定區測試樣本的試驗結果,并用表格和放寬的PR曲線圖兩種形式表示不同上采樣次數所對應的建筑物提取精度。如表3和圖9(a)所示,從中都可以看出,當3次上采樣即網絡輸出影像大小為32×32時,建筑物提取精度最高。因此最終的VPU網絡選擇3次上采樣。

表3 建筑物提取精度
嘉定區建筑物最終提取的二值圖如圖10(c)所示,提取精度為0.970 9。
Massachusetts建筑物數據集由文獻[12]提供,共有151張1500×1500的1 m分辨率的航空影像,其中137張影像訓練樣本、4張交叉驗證樣本、10張測試樣本。由于文獻[12—13,16]均在Massachusetts建筑物數據集上進行各自的網絡測試,因此將以上幾種方法建筑物提取結果與本文方法進行對比試驗,結果如表4所示。文獻[12—13]提出的單輸入網絡中輸入影像大小為64×64,因此本文網絡所選用的影像輸入大小也為64×64,經過3次上采樣后網絡的輸出為16×16。

圖9 建筑物提取精度Fig.9 The accuracy of buildings extraction

圖10 嘉定區建筑物提取結果Fig.10 The results of buildings extraction on the Jiading dataset

表4 建筑物提取的bp值
從表4可以看出,本文方法的精度高于其他幾種方法,最終建筑物提取精度為0.966 6,對應的放寬的PR曲線如圖9(b)所示。圖11展示了一組本文方法對Massachusetts地區建筑物的提取結果,其中圖11(a)為原始影像,(b)為對應的建筑物標記,(c)為建筑物提取結果,結果中小建筑物和大建筑物均可以被很好地提取出來。

圖11 Massachusetts數據集建筑物提取結果Fig.11 The results of buildings extraction on Massachusetts dataset
本文所用的試驗區中大型建筑物有兩種,Massachusetts數據集中的大型商業中心和嘉定試驗區的廠房。其中大型商業中心建筑物大小相近,而廠房的大小跨度相對較大(100×100~500×500之間大小不等)。本文以一個商業中心建筑物和3個不同大小的廠房樣本圖像為例,對比原始VGG16網絡與最終的VPU(3次上采樣)網絡提取的效果。針對Massachusetts數據集中大型商業中心建筑物,兩個網絡輸入的影像大小均為64×64。
針對上海市嘉定區試驗,兩個網絡輸入的影像大小均為128×128,3個樣本圖像的大小依次為516×357、244×211和337×386。圖12和圖13中每一行圖像從左到右依次表示原始樣本圖像、樣本標記、VGG16網絡建筑物提取結果、VPU網絡建筑物提取結果。從圖中可以看出,本文所提出的VPU網絡可以改善VGG16網絡對于大型建筑物提取時存在的空洞現象。

圖12 商業中心建筑物提取時空洞現象的改進Fig.12 Improvement of the hole phenomenon for the business center
本文針對VGG16網絡對高分影像中大型建筑物提取結果不完整的問題,提出了一種基于多尺度影像的全卷積神經網絡模型。該方法有效地利用了建筑物不同尺度下的特征。通過對上海市嘉定區和Massachusetts遙感影像進行建筑物提取,驗證了本文方法的有效性。
試驗結果表明:①相比于平均池化、最鄰近法、雙線性內插法和三次卷積內插法下采樣,最大池化下采樣得到的多尺度影像中可以保留建筑物的邊界信息,更有利于建筑物的提取;②多尺度特征的綜合可以更清楚地展現目標特征;③當卷積神經網絡的輸入影像大小不同時,形成的上下文背景信息不同,豐富的上下文結構有利于對建筑物的提取;④本文方法不僅對建筑物類型較少、結構簡單的Massachusetts地區建筑物可以很好地提取,而且對建筑物種類繁多、結構復雜的上海市建筑物有很好的提取效果。
本文的兩組試驗數據中,同一組數據的訓練樣本集和測試樣本集的影像波段數、空間分辨率和時相等均相同。而實際應用中,用于建筑物提取的高分辨影像可能是不同成像傳感器、不同時間、不同光照條件下獲得的不同空間分辨率影像,如何設計適用于不同來源數據的建筑物提取網絡模型是值得進一步研究的問題。這樣既避免了網絡在不同數據源上重復訓練,同時增加了網絡模型在工程應用中的普適性。

圖13 廠房提取時空洞現象的改進Fig.13 Improvement of the hole phenomenon for the workshops