陳紅順,鄭榮升
(北京師范大學珠海分校信息技術(shù)學院,廣東珠海 519087)
自2006年Hinton提出深度學習以來,深度學習已經(jīng)在計算機視覺等領(lǐng)域取得了巨大成功[1]。2015 年,Jonathan 等提出全卷積神經(jīng)網(wǎng)絡(Fully Convolutional Network,F(xiàn)CN),并將其用于圖像語義分割[2],隨后各種深度學習語義分割網(wǎng)絡如UNet、SegNet、DeepLab系列相繼被提出,并在圖像語義分割任務獲得了不錯的效果[3-6]。
建筑物是一種具有顯著特征和代表意義的復雜人工地物,建筑物的快速、準確提取對城市規(guī)劃、災害評估等應用具有重要意義。目前,已有基于深度學習的建筑物提取研究大多將建筑物提取看作是遙感圖像的語義分割[7-8]。實際上,建筑物提取是一個典型的實例分割問題,在關(guān)注某個像素是不是建筑物的同時,還應該關(guān)注建筑物的空間位置和建筑物的數(shù)量[9]。Mask R-CNN 作為一個實例分割模型,已應用到許多領(lǐng)域,并具有較高的分割精度[10-11]。目前,國內(nèi)外部分學者將Mask R-CNN 用于遙感建筑物提取,取得了一定成果[12-13]。
實例分割可以看成是目標檢測和語義分割相結(jié)合,不僅需要正確找到圖像中的目標,還需要對每個目標的像素進行精確分割。Mask R-CNN 是一個用于實例分割的通用架構(gòu),是對目標檢測網(wǎng)絡Faster R-CNN[14]的擴展。Mask R-CNN 由兩部分構(gòu)成,一部分是負責目標檢測的Faster R-CNN;另一部分是預測目標掩膜(Mask)的FCN。此外,Mask R-CNN 使用ROIAlign 替代Faster R-CNN 中的RoiPooling,提高了目標檢測的精度,同時也有利于實例分割。Mask R-CNN 定義了一個多任務損失,如式(1)所示:

其中,Lcls和Lbox分別為分類誤差和檢測誤差;Lmask是語義分割分支的損失。輸入Mask 分支的每個特征圖經(jīng)過一系列卷積和轉(zhuǎn)置卷積操作后,輸出k×m×m大小的特征圖,k表示輸出的維度即總類別數(shù),每一個維度對應一個類別可以有效規(guī)避類間競爭,m×m表示特征圖的大小。Lmask為平均二值交叉熵函數(shù),其對每一個像素進行分類,對每一個維度利用sigmoid 函數(shù)進行二分類,從而判斷其所屬類別。
Mask R-CNN 有兩種網(wǎng)絡結(jié)構(gòu):Faster R-CNN/ResNet 和Faster R-CNN/FPN,如圖1 所示。前者是在Faster R-CNN 基礎(chǔ)上添加分支用于實例分割任務,并且與分類和box回歸任務共享大部分特征,最后上采樣到14×14 大小的特征圖,再使用1×1 卷積得到80(目標類別數(shù))個Mask;后者是在Faster R-CNN/FPN 的基礎(chǔ)上添加分支用于實例分割任務,特征直接來自Roi Align,得到14×14的Pooling特征,經(jīng)過四個3×3 大小卷積核的卷積以及一個反卷積,最后得到28×28 大小的特征圖,同樣使用1×1 卷積得到80(目標類別數(shù))個Mask。

圖1 Mask R-CNN網(wǎng)絡結(jié)構(gòu)
文中基于TensorFlow與Keras實現(xiàn)了Mask R-CNN,采用Faster R-CNN/ResNet 結(jié)構(gòu)(見圖2),其中主干網(wǎng)絡分別選擇ResNet50、ResNet101和ResNe Xt101[15]提取原始遙感圖像的特征,采用RPN(Region Proposal Network)網(wǎng)絡區(qū)域候選生成框,使用ROI Align 方法進行區(qū)域特征聚集,語義分割與分類、回歸部分并行地采用不同的網(wǎng)絡。

圖2 文中網(wǎng)絡結(jié)構(gòu)
SpaceNet 是用于建筑物和道路提取的衛(wèi)星遙感數(shù)據(jù)集,文中選取Las Vegas 區(qū)域用于訓練和測試。該區(qū)域的遙感影像由Wordview-3 衛(wèi)星拍攝,分辨率為0.3 m,數(shù)據(jù)集已將原始遙感影像裁剪為200 m×200 m 固定大小的影像,并以Geojson文件標記出影像中對應的建筑物多邊形,影像覆蓋范圍共計216 km2,包含151 367 個建筑物多邊形。該遙感影像為包含八個波段的多光譜影像,像元深度為16 位。首先從多光譜影像中提取RGB 波段,然后做歸一化處理,最終合成彩色圖像;從Geojson 文件提取出建筑物的坐標,并生成相應的建筑物掩膜圖像,如圖3 所示。訓練集和測試集的劃分采用數(shù)據(jù)集的默認劃分,每次訓練從訓練集中隨機選取10%作為驗證集。

圖3 SpaceNet數(shù)據(jù)集示例數(shù)據(jù)
模型的訓練和測試在裝有兩個GPU(型號為NVDIA GeForce RTX 2080Ti 11 GB)的計算機上進行。SpaceNet 數(shù)據(jù)量較少,直接在SpaceNet 數(shù)據(jù)集訓練模型難以收斂。COCO 是一個大型圖像數(shù)據(jù)集,可用于目標檢測、語義分割、實例分割等常見的計算機視覺任務[16]。由于COCO 數(shù)據(jù)集里包含了大量不同類型的圖像,因此非常適合用于模型的預訓練。文中先將Mask R-CNN 模型在COCO 數(shù)據(jù)集進行預訓練,然后在SpaceNet 數(shù)據(jù)集上直接加載在COCO 數(shù)據(jù)集進行預訓練得到的模型權(quán)重,繼續(xù)進行訓練。訓練過程中,模型(主干網(wǎng)絡為ResNet101)的總損失和Mask 部分損失的變化如圖4 所示。從圖4 可以看出,當模型訓練到160 個epoch 時,總損失與Mask 部分損失均達到較低水平,模型停止訓練。

圖4 訓練過程中的loss變化曲線
為了評價建筑物提取的效果,采用常用的評價指標AP(Average Precision)對檢測精度和Mask 精度進行評價。
設P、R分別代表精準率(Precision)與召回率(Recall),計算公式分別如下:

式中,TP 表示正確預測的類別;FP 表示錯誤預測的類別;FN 表示未被預測的類別。以R為橫軸、P值為縱軸,可以得到PR曲線。AP 表示平均精準度,就是對PR曲線上的P值求均值。
在實際建筑物提取中,隨機選取10 張建筑物提取結(jié)果圖像用于精度評價。先計算建筑物預測邊界矩形與真實建筑物邊界矩形的并交比(IoU),如果IoU≥0.5,則認為該建筑物被正確檢測,屬于TP 類別;若檢測為建筑物但實際為非建筑物,則屬于FP類別;沒有被檢測出的建筑物屬于FN 類別。最后統(tǒng)計各類別(TP、FP 和FN)數(shù)量用于計算相應AP,從而對檢測精度進行評價。對于檢測到的建筑物,根據(jù)建筑物Mask 分支得到的分割結(jié)果和相應的建筑物掩膜,評價建筑物分割精度。在建筑物分割精度評價中,TP 表示正確預測的建筑物像元,F(xiàn)P 表示錯誤預測的建筑物像元,F(xiàn)N 表示未被預測的建筑物像元,然后統(tǒng)計各類別(TP、FP 和FN)像元數(shù)量,計算相應AP 用于評價Mask 精度。
為比較不同主干網(wǎng)絡對訓練精度的影響,對采用不同主干網(wǎng)絡的Mask R-CNN 分別進行160 個epoch 訓練后,在測試集上進行建筑物提取,按照2.3節(jié)進行精度評價,其結(jié)果如表1 所示。圖5 是利用訓練后的Mask R-CNN 模型(主干網(wǎng)絡為ResNet101)在測試集進行建筑物自動提取的結(jié)果。從圖5 可以看出,Mask R-CNN 建筑物提取的效果整體比較理想,主干網(wǎng)絡采用ResNet50 的模型,其建筑物檢測精度和Mask 精度均較高,分別達到了88.44%、85.23%;主干網(wǎng)絡采用ResNet101 和ResNeXt101[15]的模型建筑物提取精度非常接近,均明顯優(yōu)于主干網(wǎng)絡采用ResNet50 的模型,檢測精度和Mask 精度分別達到了96%、94%以上。

表1 Mask R-CNN不同主干網(wǎng)絡的精度比較

圖5 Mask R-CNN建筑物提取結(jié)果
仔細觀察圖5 可以發(fā)現(xiàn),Mask R-CNN 在建筑物檢測方面還存在一些問題,主要表現(xiàn)在:①目標較小的建筑物存在部分像素丟失的情況;②建筑物較為密集的區(qū)域存在建筑物數(shù)量提取不準確的問題,這些問題將在后續(xù)研究中進行改進。
為滿足建筑物自動提取的需要,基于TensorFlow與Keras 實現(xiàn)了Mask R-CNN 網(wǎng)絡,在COCO 數(shù)據(jù)集經(jīng)預訓練后,在SpaceNet 數(shù)據(jù)集上進行了建筑物提取實驗。結(jié)果表明,基于Mask R-CNN 的建筑物提取精度較高,主干網(wǎng)絡采用ResNet101 和ResNeXt101模型的檢測精度、Mask 精度分別達到96%、94%以上,明顯優(yōu)于主干網(wǎng)絡采用ResNet50 的模型,但也存在小目標建筑物部分像素丟失、建筑物密集區(qū)域建筑物數(shù)量提取不準確等問題,后續(xù)需要進一步深入研究。