季順平,魏世清
武漢大學遙感信息工程學院,湖北 武漢 430079
自動化地進行遙感影像建筑物檢測和提取在城市規劃、人口估計、地形圖制作和更新等應用中都具有極為重要的意義,同時也是遙感圖像處理與應用領域一個極其困難的問題,其研究跨度超過30年[1]。當前,基于人工智能和機器學習遙感數據處理方法,特別是以深度學習為代表的圖像識別、目標檢測等技術的發展,為從遙感影像中自動化提取建筑物提供了機遇和前景。然而,由于遙感成像機理、建筑物自身、背景環境的復雜性,從遙感圖像中自動提取建筑物迄今仍然停留在理論研究和驗證階段,尚無普適性和實用性的算法及系統出現。
傳統上,從航空/航天影像中提取建筑物的主要工作集中在經驗地設計一個恰當的特征以表達“什么是建筑物”,并創建相應的特征集用于建筑物的自動識別和提取。常用的指標包括像素[2]、光譜[3-5]、長度、邊緣[6-8]、形狀[9-10]、紋理[4,11-12]、陰影[1-2,13]、高度[14-16]、語義[17-18]等。而這些指標卻會隨著季節、光照、大氣條件、傳感器質量、尺度、建筑物風格和環境發生較明顯的變化。因此,這種憑經驗設計特征的方法常常只能處理特定的數據,而無法真正做到自動化。
從2015年開始,深度學習中的卷積神經元網絡(neural convolutional networks,CNN)被逐漸引入到遙感中,并顯示了在圖像檢索、圖像分類、目標檢測中的巨大應用潛力[19-20]。CNN的成功之處在于它能夠自動學習出一個多層的特征表達,該表達將原始輸入映射到二元或多元標簽(一個分類問題)或連續的矢量(一個回歸問題)。這種自我學習特征的能力超越并逐漸替代了傳統的人工經驗設計特征的方法;特別地,為本文關注的建筑物自動提取提供了一種更具自動化和穩健性的解決方案。
建筑物提取具有較高的研究復雜度,它不僅僅是一個分類(classification)和語義分割問題(semantic segmentation),它還是一個目標檢測(object detection)和實例分割問題(instance segmentation)。2012年,隨著計算機計算能力取得長足進展,以多層(大于三層)神經元網絡為特征的深度學習技術開始顯現出極大的優越性,逐漸超越以“符號主義”為主導的傳統視覺處理技術,并逐步成為人工智能和機器學習中領域的一個研究熱點。作為視覺處理的主流深度學習框架,CNN被廣泛應用于圖像分類,并以此為基礎逐漸發展了一系列通用的CNN架構,如AlexNet[21]、VGGNet[22]、GoogleNet[23]、ResNet[24]等。在ImageNet[25]、COCO[26]等測試集上,這些架構為一個圖像輸出一個類別標簽,即離散標簽的分類。其中,ImageNet由涵蓋1000種類別的1000萬張自然圖像組成,也間接促進了深度學習方法爆發。從2015年開始,特殊的CNN架構得到發展并廣泛用于語義分割:為圖像中的所有像素都賦予類別標簽。這些架構可統稱為全卷積神經元網絡(fully convolutional network,FCN)[27],包括SegNet[28]、DeconvNet[29]、U-Net[30]等多個變種。當前,最新的建筑物提取的文獻都是采用基于FCN的語義分割方法[31-32]。文獻[31—32]采用FCN框架,并稍微改進了FCN結構用于建筑物的像素級語義分割;但是這些論文中的試驗僅僅考慮了像素上的分類精度。
顯然,建筑物提取的研究并非止于語義分割。建筑物提取的目標并非關注某個像素是不是建筑物,而更關注建筑物目標本身,包括建筑物的位置,建筑物的數量。這是一個典型的目標實例分割問題,在本文研究中就是建筑物單體分割。然而,目前基于CNN的建筑物實例分割研究在國內外相關領域關注仍然較少,并亟待填充。在深度學習中,從CNN中發展出一類特殊的網絡架構用于目標檢測,即通過回歸而非標簽分類尋找一個最優包容盒(bounding box)。由包容盒的四角坐標,進一步得到待檢測物體的位置和數量,其中最流行的是基于區域的模型(region-based model)。這些模型包括R-CNN (region-based CNN)[33],Fast R-CNN[34]、Faster R-CNN模型[35]、YOLO(you only look once)[36]。
結合建筑物的目標檢測和語義分割,可實現完整的實例分割。實例分割是指不但在對象級別發現單個建筑物實體(以包容盒的形式),而且能夠在包容盒內部通過語義分割準確識別建筑物的前景像素。最新的Mask R-CNN[37]實現了單體目標檢測的同時,進行包容盒內目標的語義分割,并且達到了很高的精度。
無論是建筑物語義分割還是尚未開展的建筑物實例分割,基于深度學習的方法強烈依賴于大容量、高精度的樣本數據庫。如果認為深度學習是智能時代的引擎,數據就是深度學習的燃料,即數據為王。ImageNet、COCO等計算機視覺界的開源數據庫極大地刺激了深度學習的發展。然而在遙感領域,像COCO這樣的大容量、高質量的數據庫尚比較缺乏。這導致兩個問題:①個體研究者將在收集試驗數據上花費大量精力;②使用不同的非開源數據庫,對理論和方法間的定量比較造成障礙,阻礙了深度學習在遙感中的快速進展。例如,最新的兩篇文獻[31—32]都采用非公開數據庫,而且作者都報告了自己所用的數據庫的精度較差,因此無法直接比較方法的優劣、無法準確評估先進的深度學習方法能達到的自動化水平。
目前,國際上共有3套開源數據集可用于建筑物提取,分別是Massachusetts數據庫[38]、ISPRS的Vaihingen和Potsdam數據庫(http:∥www.isprs.org/commissions/comm3/wg4/tests.html)、Inria數據庫[39]。ISPRS數據庫太小,只覆蓋13 km2的地區,建筑物實例太少,無法進行大范圍的應用。Massachusetts數據庫包含151張1500×1500像素的圖像,分辨率為1 m,但這個數據庫質量較差,沒有被用于最新的文獻的試驗中。Inria數據庫是2017年最新的建筑物數據庫,覆蓋405 km2,分辨率0.3 m,但目前還沒有被廣泛應用。從文獻[39]可以看出,使用主流的全卷積網絡的方法,通過交并比(intersection on union,IoU)進行評估,只能達到0.59的精度,可見數據庫質量較差。
針對以上建筑物提取在深度學習時代下的問題和瓶頸,本文提出了相應的解決方法。首先,筆者創建了一套目前范圍最大、精度最高、涵蓋多種樣本形式(柵格、矢量)、多類數據源(航空、衛星)的建筑物數據庫(WHU building dataset),并實現開源。希望能夠為深度學習時代下的建筑物提取奠定基礎,并提供了一個重要的算法性能比較標準。其次,本文提出一種改進的FCN方法,與最新的文獻相比,在建筑物語義分割中得到了領先的結果;第三,本文提出了一種改進的Mask R-CNN方法,首次實現了大場景下(18萬棟)建筑物的實例分割,經試驗驗證,其像素語義分割精度略超過基于FCN的方法。
全卷積網絡FCN是像素級語義分割的主流框架;U-Net作為FCN的一種經典的變體、獲得廣泛應用。U-Net的結構如圖1(a),包括特征編碼和解碼兩個階段。在特征編碼階段,原始輸入逐層進行卷積和降采樣,以獲得具有較低空間分辨率的高級語義特征。在解碼階段,通過上卷積操作將底層特征逐層放大2倍,并與編碼階段的同層特征串聯,并恢復至原始圖像的尺度。在原始尺度下,當前模型的預測結果與真值參考之間的差異用于通過反向傳播訓練網絡參數。U-Net只在最后一層進行圖像像素類別分類。盡管U-Net利用了來自編碼階段先前層的一些信息,但其對于多尺度信息的泛化能力是有限的。圖2顯示了一個含有大型建筑和汽車的場景的分類結果,在圖2(b)中,很多汽車被U-Net錯誤地分類為建筑物,而在第二行中,大型建筑物的右方被錯誤的分類,這兩者都表明單鏈條的上采樣不能完全傳遞尺度信息。
特征金字塔網絡(feature pyramid network,FPN)也是梯形結構,但具有多個預測輸出(見圖1(b))。FPN在每一個階段均進行預測,通過對這些輸出進行加權得到最終的損失函數。因此各階段的預測結果都用于反向傳播和網絡參數的更新。FPN可以定位不同比例的對象,因而在目標檢測中具有良好的效果。然而,在像素分割中只關注最后一層(即原始圖像分辨率下)的分割精度,其分割能力可能需要進一步強化。

圖1 U-Net和FPN的基本結構Fig.1 The basic structure of U-net and FPN
根據以上描述,本文提出SU-Net(scale robust u-net),即基于U-Net和FPN進行設計,專門用于處理遙感圖像中不同尺寸的物體或不同分辨率的遙感影像的多尺度問題。在SU-Net中采取了兩種策略。一是圖3中空心箭頭(除了最右邊的那個)所指的部分將FPN整合到U-Net的網絡主干中。通過預測上采樣步驟中每個尺度的分類結果,取代只對原始分辨率層進行輸出,因此可以在反向傳播和權重更新中利用多尺度信息。

圖2 不同網絡在兩張包含汽車和大型建筑物的512×512圖像上的分割結果Fig.2 Segmentation results of different networks on two 512×512 images with cars and large buildings

圖3 SU-Net的結構。彎曲和空心箭頭和相應的塊被引入U-Net骨架Fig.3 The structure of SU-net. curved and hollow arrows and blocks are introduced to a U-net backbone
二是將各個尺度上的最終特征圖進行串聯,形成含有4通道的特征圖(最右側的一個灰色箭頭和3個彎曲箭頭所指),最后通過1×1的卷積和sigmoid函數得到最終的預測圖。通過這種策略,最終的預測圖匯聚了多個尺度的信息,各個尺度的信息在反向傳播和模型訓練中都起到了積極的作用。這種簡單有效的跨尺度信息聚合在很大程度上解決了大型建筑物和小型汽車造成的檢測困難,如圖2(d)所示。
Mask R-CNN基本沿用了Faster R-CNN的目標識別框架,并在其基礎上加入一個前景分割的網絡分支。Faster R-CNN是目前R-CNN系列用于目標探測的最流行框架。如圖4所示,整個框架分成3個模塊。第1個模塊是CNN骨干框架,用來從圖像中提取特征,常用的框架是ResNet50或ResNet101。取ResNet的靠近最后的卷積層作為特征圖,用于后繼處理。整個目標識別建立在同一個特征圖上,因此做到了高效性。第2個模塊是區域建議網絡(region proposal network,RPN),該模塊用于從特征圖中發現可能含有前景目標的區域。該模塊采用大小和比例不等的矩形建議框搜尋潛在的目標,一般地,Faster R-CNN輸出排在最前面的2000個建議框。第3個部分是興趣域(region of interest,RoI)池化和最終的輸出。該部分將通過RPN得到的建議框,進行一系列卷積操作,最終得到特征向量,并借此識別目標的具體類別,同時對RPN輸出的包容盒進行精化。Faster R-CNN共有4個輸出,這4個輸出通過對損失函數加權的形式,進行反向傳播和迭代,得到最優的物體類別及包容盒。

圖4 Faster R-CNN 框架和流程Fig.4 The framework and process of Faster R-CNN
實例分割比目標識別更進一步,它不但需要對每個目標進行精確定位(以包容盒的形式),還需要對包容盒內的物體進行前景分割。Mask R-CNN是最新也最著名的實例分割算法。它直接采用Faster R-CNN實現目標識別,并同時利用全卷積網絡實現包容盒內前景目標的分割。在圖5中,在RoI層之前,Mask R-CNN的結構與圖4所示的Faster R-CNN完全相同。RoIAlign指用浮點運算來確定興趣域的目標邊框,對此前的R-CNN結構由于采用取整操作而損造成的精度損失進行了改善。Mask R-CNN在RoI池化層后同樣有類別和包容盒輸出,并新增加一個用于語義分割的子網絡,輸出Mask。這樣在一個網絡結構下,同時就實現了目標的定位、識別和語義分割。

圖5 Mask R-CNN的結構[35]Fig.5 The structure of Mask R-CNN[35]
在建筑物提取試驗中,對于小型的建筑物,Mask R-CNN的提取結果較好(包括包容盒與目標);而在提取大建筑物時,其包容盒比較精確,但是掩膜Mask的邊界存在不太精確之處,本文嘗試對其改進。原始版本的mask大小為分別為14×14像素與28×28像素,大建筑物由于縮放比例過高而損失了大量細節信息。在試驗中,修改為40×40與80×80像素,同時將包容盒的大小從7×7像素按比例設置成20×20像素。
筆者團隊用近1年時間,手工編輯了一套大場景、高分辨率的遙感建筑物數據庫(WHU building dataset)并實現開源(http:∥study.rsgis.whu.edu.cn/pages/download/),該數據庫分成航空建筑物數據庫和衛星建筑物數據庫。航空建筑物數據庫影像來自新西蘭Christchurch市,涵蓋22萬棟形式各異的建筑,地面分辨率0.075 m,覆蓋450 km2。原始的矢量數據和航空影像都由新西蘭土地信息服務(https:∥data.linz.govt.nz/)提供,然而原始數據存在大量的錯誤,如缺失、錯位等,如圖6所示,無法直接應用。因此在ArcGIS軟件中采用全人工的方式對其進行了前后3次交叉檢查和修訂,以制作高質量的建筑物矢量圖。
圖7顯示了一塊主要建筑物區域,含有18.7萬棟不同用途、不同色彩、不同大小的建筑物。為了便于深度學習方法的處理并考慮到當前GPU的容量,本文將原始影像下采樣到0.3 m分辨率,并無縫(且無重疊)分割成512×512的瓦片。選取位于中間虛線框中的14.5萬棟建筑物用于深度學習訓練,兩側實線框的4.2萬棟建筑物用于測試。圖8是不同風格、用途、尺度和顏色的航空建筑物樣本實例圖。
衛星數據庫包含數據集Ⅰ和數據集Ⅱ,其中數據集Ⅰ包含204張512×512像素的圖像,分別采集至不同衛星傳感器(ZY-3號、IKONOS、Worldview系列等)、不同分辨率(0.3 m~2.3 m)、包括中國、歐洲、北美、南美和非洲等五大洲的不同城市,如圖9所示。這套數據庫與航空數據集有明顯的區別,可用于深度學習泛化能力的評估:即在航空數據集上表現良好的學習模型是否能較好地用于衛星數據各類目標場景下。
衛星數據集Ⅱ包含6張相鄰的、色彩差異明顯的衛星遙感影像,地面分辨率0.45 m,覆蓋東亞地區860 km2的土地,如圖10所示。本文數據集主要用于評估深度學習方法對于不同數據源但建筑物類型相似的樣本的泛化能力。建筑物矢量圖同樣在ArcGIS中全手工畫出,包含3.4萬棟建筑物。與航空數據集類似,整個區域被分成17 388個512×512像素的瓦片,便于深度學習方法的應用。
表1是WHU數據集與國際開源數據集的比較。可見,該數據庫在多個指標上都超越了已有的開源數據庫。所提供的矢量樣本形式將能為建筑物的單體檢測和實例分割提供樣本,而其他數據庫難以做到。此外,除了ISPRS數據庫,WHU數據庫也是地面分辨率最高的數據庫。但ISPRS數據庫面積太小、建筑物類型太少而無法恰當地用于大范圍建筑物的提取。下節將證實WHU精度遠高于其他2套數據集,見表2。

圖7 航空數據集中的絕大部分Fig.7 Most part of aerial dataset

圖8 不同風格、用途、尺度和顏色的建筑物樣本Fig.8 Examples of the aerial dataset with different architectures, purposes, scales and colors

圖9 來自全球的不同傳感器不同城市的衛星遙感影像建筑物樣本Fig.9 Examples of the satellite dataset with different architectures from cities over the world

圖10 由6張衛星影像組成的覆蓋860 km2的東亞區域Fig.10 An area of 860 km2 covered by six satellite images in East Asia

表1 WHU數據庫與其他國際開源數據庫的總體比較
文中利用3個指標評估檢測結果的準確性。第1個是交并比IoU,指算法檢測到的建筑物像素與真實的正像素的交集以及它們的并集之間的比值。IoU一般作為目標檢測和語義分割中的最常用指標。第2個是準確率(Precision),算法檢測到的建筑物像素中真實正像素的百分比。第3個是召回率(Recall),即算法檢測到正確建筑物像素占地面真實正像素的百分比。
為保證公平性,在所有數據集中都采用2/3樣本進行訓練,其余作為測試。網絡模型統一采用標準的U-Net。在訓練過程中,使用修正線性單元(rectified linear unit,ReLU)作為激活函數。試驗在以TensorFlow作為后端的Keras框架下進行,每次輸入6張圖像,利用Adam算法進行網絡優化,學習速率設置為0.000 1,所有參數根據正態分布進行初始化。整個訓練過程在單個NVIDIA Titan Xp GPU上大概需要3 h左右的時間。

表2 WHU數據庫與其他開源數據庫的比較
與本文的數據集相比,Massachusetts數據集的質量和分辨率要低得多,且存在許多錯誤標簽,其IoU和準確率/召回率分別比WHU數據集低30%和20%,這對FCN在精確檢測建筑物中的應用產生了負面影響。Inria數據集包含來自5個城市的航空影像,但由于每個城市的數據量相對較少,且經過目視檢查,發現存在許多房屋的標簽遺漏,導致其結果在IoU上比WHU差14%,在召回上差20%。該試驗證實本文提出的WHU建筑物數據集應該是目前國際上精度最高的開源數據庫。
目前最先進的建筑物提取方法幾乎都基于FCN結構。表3回顧了U-Net、多尺度U-Net和本文提出的SU-Net在WHU數據集上的表現。SU-Net取得了最優的結果,相比U-Net高出4%,比2018年最新的結果[40]高出3%。由于已經達到極高的識別率(95%的準確率和94%的召回),3%可看作是一個顯著的進展。
同時,這些結果也反映出同傳統方法相比(往往難以超過50%的準確率),基于深度學習的方法已經將建筑物提取推進到一個新的自動化水平。

表3 與文獻[40]等方法的比較
為了驗證本文方法的優越性和穩定性,也在另一套開源數據集Inria上與最新的另外一篇論文的MLP方法[39]進行比較。從表4看出,本文的方法比MLP在IoU上要高出20%。本文方法運行效率很高,整個網絡訓練只需要3 h左右,而MLP的方法僅僅在微調階段就需要50 h。此外,試驗也表明本文方法在這套數據集上比U-Net和文獻[40]的方法分別高出1.9%和0.8%。

表4 在Inria數據集上各種方法的比較
由于WHU數據庫提供了建筑物矢量文件,可以較好地應用于建筑物的單體實例分割。本文基于每個建筑物矢量進一步創建了包容盒,并與像素標簽一起用于改進Mask R-CNN模型的訓練。
由于Mask R-CNN要比FCN慢很多,本文只采用了4萬棟航空圖像的建筑物作為訓練,其他14萬棟建筑物作為測試,即訓練區域和測試區域對換,訓練模型耗時約20 h。圖11示意了兩幅圖像的分割結果。圖中的絕大部分房屋都被精確的包容盒定位,并且包容盒內的建筑物前景也得到了相當好的分類。

圖11 建筑物單體實例分割的結果示例Fig.11 Example of the result of segmentation of a single instance of a building
表5顯示了改進MASK R-CNN在14萬棟建筑圖像上的目標檢測(包容盒)以及前景分割的定量結果。其中,AP50表示將IoU大于50%的被檢測建筑物看作正確統計,所繪制的Precission-Recall曲線下方的面積;召回率83.4%表達了所有單體建筑物中,有83.4%被正確識別。由于FCN等語義分割方法只能統計像素分割的結果,本文在相同的訓練集下,將U-Net的結果與改進Mask R-CNN中的前景分割精度作了比較。從表3可見,在相同的訓練數據集下,Mask R-CNN的IoU比U-Net高0.5個百分點,這應該是由于更多輸入信息(包容盒回歸)得到的輕微提升。改進的Mask R-CNN由于加大了包容盒和mask的外框大小,減輕了過高的縮放比例帶來的信息損失,因此相對于原始的Mask R-CNN,在包容盒和mask上都得到了0.5個百分點的提升。雖然提升較小,但說明本文方法思路的正確性。
本文報告了遙感影像建筑物提取的數個重要研究進展。第一,與當前國際同類數據集相比,本文建立了一套范圍最大、精度最高、涵蓋柵格和矢量樣本形式、航空/航天數據源的建筑物數據庫,并實現開源。該數據庫便于研究人員使用、便于方法間的比較、便于新方法的快速發展;同時該數據集提供的矢量形式能夠拓展建筑物提取的研究范圍,即從當前的像素級語義分割推廣至單體建筑物的實例分割乃至多邊形提取。第二,本文提出一種基于全卷積網絡的建筑物語義分割方法,與最先進的方法相比,達到了領先水平。第三,本文將建筑物提取研究從像素級的語義分割推廣至目標實例分割,實現以建筑物為對象的識別和提取,并取得了比語義分割更好的結果。
最后,希望通過本文的開源數據庫和相應的方法研究,能夠促進建筑物提取的研究進一步發展,最終實現建筑物語義專題估計的自動化、智能化。