郭文,張蕎
(1.自然資源部第三航測遙感院,成都 610100;2.西南石油大學地球科學與技術學院,成都 610500)
基于高分辨率遙感影像的建筑物提取對地圖制作、城市鄉(xiāng)村規(guī)劃、違建監(jiān)測、數(shù)字城市建立、人口估計等應用具有重要意義,隨著越來越多的高分辨遙感衛(wèi)星投入使用,在提高地物光譜特征,突出地物結構、紋理和細節(jié)等信息的同時,也因為衛(wèi)星觀測角度問題造成地物遮擋,尺度的增大帶來了嚴重的異物同譜現(xiàn)象,以及影像噪聲增加等問題,限制了遙感影像建筑物自動提取精度。
傳統(tǒng)方法主要是基于影像的光譜和空間特征信息,通過圖像分割和特征提取技術,如尺度不變特征變換(scale-invariant feature transform,SIFT)、方向梯度直方圖(histogram of oriented gradient,HOG)、面向對象[1-2]等,獲得遙感影像中的特征或分割對象,再選取支持向量機(support vector machine,SVM)、決策樹、隨機森林、條件隨機場等分類器進行類別劃分[3-4]。然而,基于光譜和空間特征信息的分類方法在處理背景復雜、地物繁多的影像時都顯得不足,其中最大缺陷是泛化能力較差,即訓練后的模型或規(guī)則難以適用不同地區(qū)、不同數(shù)據(jù)源的遙感影像。
2006年Hinton等[5]提出了深度學習的理論,深度學習是一種通過構建神經(jīng)網(wǎng)絡來模擬學習和人腦思維方式的自主特征學習方法,通過非線性表達來獲取數(shù)據(jù)中的高級抽象特征,并構建數(shù)學模型以提高分類精度和檢測準確率。近年來各種深度學習網(wǎng)絡,如卷積神經(jīng)網(wǎng)絡(convolutional neural network,CNN)[6]、遞歸神經(jīng)網(wǎng)絡(recurrent neural network,RNN)[7]完成了各種高性能的計算機視覺任務,如圖像分類[8]、自然語言處理[9]、語音識別[10]等。
由于CNN在圖像分類方面取得了較好的效果,許多學者基于CNN發(fā)展了遙感影像語義分割算法。2015年,從CNN發(fā)展而來的全卷積神經(jīng)網(wǎng)絡(fully convolutional networks,F(xiàn)CN)[11]語義分割方法,采用全卷積層代替?zhèn)鹘y(tǒng)CNN中的全連接層,可以直接獲得像素級別的分類結果,是第一個真正的端到端的像素分類模型[12-13],目前已經(jīng)有多種語義分割網(wǎng)絡,如Segnet[14],U-net[15],PSPNet[16]和DeepLab[17]等,這些語義分割網(wǎng)絡的提出為遙感影像建筑物自動提取提供了可能性。但是將FCN應用到遙感影像建筑物提取時,需要通過逐像素標記類別構建樣本數(shù)據(jù)集,這也阻礙了FCN在遙感影像分類中的深入應用。
目前,國際上已經(jīng)有少量開源的遙感影像建筑物樣本數(shù)據(jù)集,如ISPRS的Vaihingen和Potsdam數(shù)據(jù)集(http://www2.isprs.org/commissions/comm3/wg4/semantic-labeling.html)、Massachusetts數(shù)據(jù)集[18]、Inria數(shù)據(jù)集[19]、WHU數(shù)據(jù)集[20]等,以上數(shù)據(jù)集主要是以航空影像為主,僅WHU數(shù)據(jù)集包含一部分衛(wèi)星影像,但在一些重大項目中,如第三次全國國土調查、地理國情監(jiān)測、全球地理信息資源建設等,仍需要構建大量的樣本以滿足重大項目建筑物自動提取的需求。
針對建筑物自動提取的難題,本文提出基于高分衛(wèi)星遙感影像和地理國情監(jiān)測矢量數(shù)據(jù)快速構建大規(guī)模的建筑物樣本數(shù)據(jù)集,并采用一種注意力增強的全卷積神經(jīng)網(wǎng)絡,實現(xiàn)從衛(wèi)星遙感影像中自動提取建筑物。
針對遙感影像的多尺度問題,傳統(tǒng)的方式是通過多尺度輸入圖像的方式來構建多尺度特征,特征金字塔網(wǎng)絡(feature pyrimad network,F(xiàn)PN)[21]借鑒了這一思想,但是在網(wǎng)絡內(nèi)部構建特征金字塔,實現(xiàn)多尺度特征融合,將包含更多語義信息的高層網(wǎng)絡特征與包含更多幾何細節(jié)信息的淺層網(wǎng)絡特征串聯(lián)融合。本文針對高分衛(wèi)星遙感影像的建筑物自動提取,采用一種基于FPN的語義分割網(wǎng)絡FPN-SENet,提升遙感影像建筑物分類精度,F(xiàn)PN-SENet主體網(wǎng)絡框架如圖1所示,而在特征圖提取部分,采用了SE (squeeze-and-excitation)模塊[22],如圖2所示。
圖1 FPN-SENet網(wǎng)絡框架Fig.1 Structure diagram of FPN-SENet
圖2 SE模塊單元Fig.2 Squeeze-and-excitation block
一個SE模塊單元中,F(xiàn)tr為傳統(tǒng)的卷積結構,X和U分別為輸入(H′×W′×C′)和輸出(H×W×C),U=[u1,u2,…,uc],公式為:
(1)
式中:xs為第c個通道的輸入特征圖;uc為第c個通道的輸出特征圖;vc為第c個卷積核的參數(shù);C′為輸入通道數(shù)量。
增加SE模塊后,首先對卷積層輸出的特征圖U,采用全局平均池化(global average pooling,GPA)進行壓縮操作Fsq,公式為:
(2)
然后對壓縮后的z,使用2個全連接層進行激勵操作Fex,第一個全連接把C個通道壓縮成了C/r個通道來降低計算量,其中r是壓縮的比例,后面跟了ReLU函數(shù),第二個全連接再恢復回C個通道,后面跟接Sigmoid函數(shù),公式為:
s=Fex(z,W)=σ(g(z,W)=σ(W2δ(W1z)),
(3)
式中:δ為ReLU函數(shù);σ為Sigmoid函數(shù);W1為C/r×C的降維矩陣;W2為C×C/r的升維矩陣。
通過壓縮和激勵操作,學習到各個通道間的關系,得到不同通道的權重,然后將SE模塊計算出的各通道權重值分別與原特征圖對應通道的二維矩陣相乘,得出的結果輸出,公式為:
(4)
SE模塊為網(wǎng)絡模型提供了一種通道域注意力機制,讓模型更加關注信息量較大的特征圖,而抑制那些不重要特征圖。
交叉熵損失函數(shù)是遙感影像分類任務中最常用的一種損失函數(shù)(L_bce),可從預測值(pr)與真值(gt)之間的交叉熵計算得到,公式為:
L_bce=-gt·ln(pr),
(5)
本文引入dice系數(shù),將交叉熵與dice系數(shù)之和作為新的損失函數(shù),對FPN-SENet網(wǎng)絡模型進行訓練,定義為:
L_bce_dice=L_bce+L_dice,
(6)
L_dice=1-F,
(7)
(8)
式中:precision為準確率;recall為召回率;β為準確率和召回率之間的平衡系數(shù),本文β取值為1,表示準確率和召回率同等重要。
由于受計算機硬件設備的限制,采用FCN對遙感影像進行訓練和預測時,需將遙感影像和樣本圖像裁剪成較小尺寸的圖像進行處理,但是在分塊進行遙感影像預測分類時,2塊之間的邊界附近可能存在明顯拼接縫的現(xiàn)象,常見的方法是通過重疊切割減少分塊拼接痕跡[23],提升分類效果,而本文引入一種二次樣條窗函數(shù),進行平滑拼接預測分類,該窗函數(shù)由一維二次樣條窗函數(shù)擴展而來,公式為:
(9)
w1(n)=2t(n)2,1≤n≤0.25M,0.75M≤n≤M,
(10)
w2(n)=1-2(t(n)-1)2,0.25M (11) (12) 該窗函數(shù)的一維剖面和二維形狀如圖3所示,將該窗函數(shù)的權重系數(shù)與模型預測分類的二維圖斑矩陣相乘,可以突出分塊圖斑中心區(qū)域,而抑制分塊圖斑邊緣區(qū)域,并以圖像塊邊長的1/2作為滑動步長,在整幅待預測影像上進行滑動預測,獲得平滑預測的分類圖斑。 (a)系數(shù)圖 (b)剖面圖 深度學習模型訓練需要大量的樣本庫,本文制作了大規(guī)模的逐像素標注樣本數(shù)據(jù)集:首先,收集整理地理國情監(jiān)測成果數(shù)據(jù)中的地表覆蓋矢量數(shù)據(jù)和對應的高分辨率衛(wèi)星遙感影像,該地表覆蓋數(shù)據(jù)是基于高分辨率遙感影像進行人工目視解譯,并結合一定的指標和規(guī)則制作完成,其主要內(nèi)容和采集指標參考《地理國情普查內(nèi)容與指標》[24];然后,選取地表覆蓋矢量數(shù)據(jù)中房屋建筑較多的地區(qū)作為樣本制作區(qū)域,同時去除衛(wèi)星影像中有云覆蓋的區(qū)域,裁剪出房屋矢量數(shù)據(jù)和對應區(qū)域的衛(wèi)星影像,再將房屋矢量數(shù)據(jù)轉化為柵格格式,形成與衛(wèi)星影像逐像素對應的標簽數(shù)據(jù),完成建筑物的樣本標注;最終,選取了200景衛(wèi)星遙感影像完成多源衛(wèi)星遙感建筑物樣本數(shù)據(jù)制作,其中高分二號影像約占1/2,北京二號和高景一號影像各占1/4。 本文將制作的建筑物樣本數(shù)據(jù)集簡稱為SCRS Buildings Dataset,樣本影像的覆蓋范圍約1萬km2,總像素約10億個,其中,建筑物占比為8%。初始的樣本數(shù)據(jù)尺寸大小并不一致,在模型訓練之前,可以根據(jù)神經(jīng)網(wǎng)絡模型的輸入尺寸將初始樣本裁剪成固定大小的小樣本,若按照512像素×512像素裁剪,可以制作約50 000個小樣本。由于樣本制作采用了融合后的衛(wèi)星遙感影像,每個樣本影像包含4個波段,樣本影像的空間分辨率為0.5~0.8 m,樣本示例如圖4所示,分別是3種衛(wèi)星的真彩色影像、假彩色影像、標簽數(shù)據(jù)。由于樣本標簽從地理國情監(jiān)測成果數(shù)據(jù)而來,許多建筑物標簽有圖斑綜合現(xiàn)象,即房屋建筑區(qū)內(nèi)面積小于1 600 m2的綠化林地、綠化草地、硬化平地等綜合成建筑物類別,如圖5所示。 (a)北京二號真彩色影像 (b)高分二號真彩色影像 (c)高景一號真彩色影像 (a)真彩色影像 (b)假彩色影像 (c)標簽數(shù)據(jù) 試驗基于TensorFlow和Keras深度學習開源框架,采用python語言編程實現(xiàn),試驗操作系統(tǒng)為Ubuntu 16.04,GPU顯卡選用NVIDIA GTX1080TI。模型訓練時,將訓練樣本分為訓練集和驗證集,驗證集占總樣本的1/3,Batch_size設置為6,樣本圖像輸入尺寸為512像素×512像素,利用Adam算法進行網(wǎng)絡優(yōu)化,學習率設置為0.000 1。 精度評估采用基于誤差矩陣為核心的分類精度評價方法[25],評價指標包括總體精度(OA)和Kappa系數(shù)、F1分值和IoU(交并比)[26],公式為: (13) (14) (15) 式中:TP為屬于類別C被正確分到類別C的樣本;FN為不屬于類別C的樣本被錯誤分類到類別C;FP為不屬于類別C的樣本被正確分類到了類別C的其他類。F1和IoU取值為0~1之間,值越大,分類精度越好。 為了分析SCRS數(shù)據(jù)集的性能,采用FPN-SENet分別在WHU數(shù)據(jù)集和SCRS數(shù)據(jù)集上進行訓練、測試:①WHU 衛(wèi)星數(shù)據(jù)II(Satellite dataset Ⅱ (East Asia)),包含2幅訓練數(shù)據(jù)和1幅測試數(shù)據(jù),將訓練數(shù)據(jù)裁切成512像素×512像素大小,2/3為訓練集,1/3為驗證集,利用訓練后的模型對測試數(shù)據(jù)進行分類和精度評估;②SCRS數(shù)據(jù)集,將訓練數(shù)據(jù)裁切成512像素×512像素大小的圖像,2/3為訓練集,1/3為驗證集,利用訓練后的模型對測試數(shù)據(jù)進行分類和精度評估。其中,SCRS的測試數(shù)據(jù),分別在不同區(qū)域選取高分二號2景、北京二號2景、高景一號2景影像,從每一景中裁剪出高寬為5 000像素×5 500像素建筑物豐富的影像,拼接成一幅高寬為5 000像素×33 000像素的測試數(shù)據(jù),如圖6所示。 (a)真彩色影像 表1給出了FPN-SENet分別在WHU數(shù)據(jù)集和SCRS數(shù)據(jù)集上的測試精度,表明SCRS建筑物提取的精度接近目前國際上精度最高的開源衛(wèi)星影像建筑物數(shù)據(jù)集(WHU數(shù)據(jù)集),但是WHU數(shù)據(jù)集的影像只有3個波段,而SCRS數(shù)據(jù)集的影像有4個波段,可以選擇用真彩色影像或假彩色影像,從表 1可以看出,假彩色影像的F1值和IoU比真彩色影像高2.9和4.0百分點。 表1 SCRS數(shù)據(jù)集與WHU數(shù)據(jù)集的比較Tab.1 Comparison of the SCRS dataset with the WHU dataset 目前遙感影像的像素級分類幾乎都是基于FCN,于是本文以SCRS數(shù)據(jù)集中的真彩色影像為輸入,對目前較為流行的幾種FCN模型進行評估,表 2給出了FCN-8s,Segnet,U-net,PSPNet和本文方法(FPN-SENet)的分類精度,測試數(shù)據(jù)仍選擇圖5的影像。從測試結果來看,F(xiàn)PN-SENet取得了最優(yōu)的結果,相對于表現(xiàn)次之的U-net,本文方法的F1值和IoU高出2.4和3.1百分點,比PSPNet的結果高出5.7和7.4百分點。從文獻中得知,傳統(tǒng)方法的準確率難以超過50%[20],而表2中語義分割模型的F1-score均超過了70%,說明深度學習方法在衛(wèi)星影像建筑物提取中具有很好的應用前景。 表2 不同網(wǎng)絡模型的比較Tab.2 Comparison of the FPN- SENET with other networks 為了提升FPN-SENet在SCRS數(shù)據(jù)集上提取建筑物的性能,本文嘗試用多種損失函數(shù)對SCRS數(shù)據(jù)集進行訓練和測試,表3顯示了不同損失函數(shù)模型在測試數(shù)據(jù)的精度,影像輸入波段為假彩色3波段,L_bce模型的建筑物提取準確率最高,達到了84.7%,L_dice模型的召回率最高,達到了83.3%,而L_bce-dice能夠在準確率和召回率之間取得平衡,保證提取精度最優(yōu),F(xiàn)1分值和IoU分別達到了81.7%和69.1%。 表3 不同損失函數(shù)的比較Tab.3 Comparison of results from models trained with different loss functions 本文在整幅測試影像進行分類時,采用了平滑預測的后處理方式,圖7顯示了基于窗函數(shù)平滑拼接的效果,可以看出,采用分塊直接拼接時,圖像塊之間存在明顯的拼接痕跡,分塊邊緣處的地物不連續(xù);而基于窗函數(shù)平滑拼接的結果中,地物在塊與塊之間過渡更自然,圖斑連續(xù)性更好,邊界更整齊。采用精度最優(yōu)的模型,對測試影像的自動提取效果如圖8所示,可以看出本文方法能夠很好地從高分辨率衛(wèi)星影像中提取建筑物。 (a)測試影像 (b)分塊直接拼接 (c)基于窗函數(shù)平滑拼接 (a)測試數(shù)據(jù)整體效果 本文基于國產(chǎn)高分衛(wèi)星影像和地理國情監(jiān)測成果數(shù)據(jù),制作衛(wèi)星影像建筑物數(shù)據(jù)集,該方法能夠快速制作大規(guī)模的像素級標注數(shù)據(jù)集,且采用一種基于注意力增強的特征金字塔建筑物提取網(wǎng)絡對數(shù)據(jù)集進行測試,主要結論如下: 1)本文制作的衛(wèi)星影像數(shù)據(jù)集的建筑物提取精度接近國際先進的開源衛(wèi)星影像建筑物數(shù)據(jù)集,且數(shù)據(jù)集影像為4波段。 2)本文提出的網(wǎng)絡模型,在建筑物提取上的精度優(yōu)于其他常用的FCN網(wǎng)絡。 3)通過改進損失函數(shù)、基于窗函數(shù)平滑拼接的技術手段,能夠進一步提高建筑物提取精度和效果。本文結合國家重大項目需要提出的衛(wèi)星影像建筑物自動提取方法,能夠為深度學習方法在遙感解譯領域的深入應用提供借鑒意義。未來將繼續(xù)研究深度學習方法針對不同數(shù)據(jù)源、不同時相衛(wèi)星影像的適用性,并制作更多地物類型、更大規(guī)模的遙感影像樣本數(shù)據(jù),推廣深度學習方法在遙感自動解譯領域的應用。2 基于多源衛(wèi)星影像和矢量成果數(shù)據(jù)的建筑物樣本集制作
3 試驗與分析
3.1 與WHU衛(wèi)星數(shù)據(jù)集比較
3.2 常用FCN模型比較
3.3 不同損失函數(shù)的比較
3.4 基于窗函數(shù)平滑拼接的效果
4 結論