齊建偉,王偉峰,張 樂,王光彥
(1. 黃河水利職業技術學院,河南 開封 475004; 2. 中科北緯(北京)科技有限公司,北京 100043; 3. 江蘇省工程勘測研究院有限責任公司,江蘇 揚州 225002)
隨著中國城市化進程的不斷推進,城市違建等現象頻頻發生,傳統依靠人力執法作業的方式效率低下,已無法滿足日益增長的現實需求。根據衛星影像進行執法的任務量與日俱增,近10年來,人工智能技術飛速發展。2012年是深度學習元年,在著名網絡結構AlexNet[1]一舉拿下當年大規模視覺識別大賽[2]的冠軍之后,計算機視覺領域迎來飛速發展,以深度學習(deep learning, DL)及卷積神經網絡(convolutional neural network, CNN)為基礎的算法取得諸多突破。2014年,全卷積網絡(fully convolutional network, FCN)[3]首次成功地將深度學習引入語義分割場景。
本文探索DeepLab系列相關算法[4-5],并針對變化檢測場景進行改進,在建筑物變化檢測開源數據集上進行效果驗證,論證人工智能算法在遙感建筑物變化檢測場景下的可行性,為人工智能技術在通過衛星影像執法等場景提供實踐經驗。
DeepLab系列是語義分割領域中最常使用的算法之一,自2014年首篇文章DeepLabV1[6]發表以來,有學者不停地優化改進其結構,DeepLabV2[7]、DeepLabV3[8]和DeepLabV3+[9]等隨之出現,并不斷地刷新語義分割開源數據集性能指標。
DeepLabV1將空洞卷積[10](dilated convolution)引入語義分割網絡,通過加大卷積核的空洞率以增加網絡的感受野。DeepLabV2在DeepLabV1的基礎上,借鑒SPPNet[11]的網絡設計思想,提出空間金字塔下采樣結構(atrous spatial pyramid pooling, ASPP)。如圖1(a)所示,空間金字塔下采樣結構通過不同尺度的空洞卷積增加網絡多尺度感受野,較大幅度提升了網絡性能。DeepLabV3在DeepLabV2的基礎上,改進了空間金字塔下采樣結構,如圖1(b)所示。

圖1 ASPP結構
DeepLabV3+是DeepLab系列中性能最優的算法。DeepLabV3+的網絡結構如圖2所示,區別于常見的編碼器和解碼器對稱結構,DeepLabV3+采用Xception[12]結構為網絡主干,網絡結構的主要參數量集中于編碼器部分,而解碼器僅為兩個4倍上采樣插值操作。

圖2 DeepLabV3+網絡結構
本文使用Softmax和交叉熵(cross entropy)損失函數。
一般分割網絡設計為輸出與輸入等像素分辨率的預測值,即每個像素均有一個長度為類別數的預測輸出。一般使用softmax函數將最后的輸出映射為每個類別的概率,公式為

(1)
式中,fj為每個像素的預測向量。
交叉熵損失函數為深度學習領域常用的損失函數,主要用于衡量模型輸出與標注樣本的接近程度。交叉熵損失越小,說明模型輸出與標注樣本越相近,模型性能越好。公式為
(2)
建筑物變化檢測本質上為基于語義分割的相關算法,該場景一般使用平均交并比(mean intersection over union, mIoU)進行模型評估。
以本場景為例,由于建筑物變化檢測為單一類識別,因此平均交并比轉換成交并比(intersection over union, IoU)??梢詫⒛P洼敵龇譃橐韵?類。
(1)正確預測的正樣本(true positive, TP):表示模型預測為正例,實際是正例。
(2)錯誤預測的正樣本(false positive, FP):表示模型預測為正例,實際是負例。
(3)正確預測的負樣本(true negative, TN):表示模型預測為負例,實際是負例。
(4)錯誤預測的負樣本(false negative, FN):表示模型預測為負例,實際是正例。
評價指標交并比可以表示為
(3)
若任務場景為多類別場景,則評價指標將每一類的交并比求均值,即平均交并比為
(4)
式中,N為目標場景類別數,在本文場景中,N=1。
在計算機視覺領域,語義分割是對輸入圖像進行像素級分類。通用語義分割任務為“單入單出”,即輸入一張圖像,輸出與圖像等分辨率的預測結果。變化檢測與語義分割不同,是一種“雙入單出”任務,輸入為一對等分辨率圖像,輸出與圖像等分辨率的預測結果。
一般如需將語義分割算法直接應用于變化檢測場景,需要將兩張圖像在通道維度合并。如圖3(a)所示,以DeepLabV3+網絡結構為例,要對一組三通道可見光圖像進行變化檢測,則需要將這兩張三通道可見光圖像合并成六通道圖像,再輸入語義分割網絡。

圖3 算法結構
這種直接使用語義分割算法的技術方案有很多優點,如不需要較多開發成本,對研發人員要求較低,現有開源方案較多,可以直接使用等。但這種方案的弊端也較為明顯,語義分割網絡結構本身不是針對變化檢測任務設計的,且沒有針對變化檢測任務特性進行結構調整,在等網絡參數量的條件下,無法充分發揮網絡性能。
圖3(a)對兩張圖像合并通道,在同一個網絡中提取特征,無法充分融合兩張圖像特征,且容易丟失兩張圖像各自的特征。
本文以DeepLabV3+結構為主體,提出一種針對變化檢測場景的交互孿生網絡,如圖3(b)所示,該網絡的每一層特征不僅與當前網絡的前一層特征相關,還與其對應的另一個網絡的前一層特征相關。此設計中,兩張圖像的特征在網絡淺層開始交互,使網絡的每一層都參與了語義變化信息的學習。
在網絡深層,提取兩張圖像的變化特征后,對兩張圖像特征進行融合,本文使用的融合方案是在通道維度合并兩個特征圖,再使用兩個卷積核尺寸為3的卷積操作充分混合特征。在特征采樣過程中,融合網絡中間層的特征,對特征細節輔以修正。
上述改進充分考慮了變化檢測場景的任務特殊性,針對兩張圖像輸入,網絡各自提取圖像特征,同時輔以孿生網絡同級特征,即充分學習圖像自身特征,又保留了網絡對變化區域的敏感性,較原始方案有較大提升。
選用由北京航空航天大學發布的建筑物變化檢測數據集LEVIR-CD[13]。該數據集是一個大規模遙感建筑變化檢測數據集,是評估變化檢測算法的新基準,尤其是基于深度學習的算法。
LEVIR-CD數據集由637個約0.5 m空間分辨率的谷歌地球圖像對組成,所有圖像為RGB三通道,均被裁切成1024×1024像素的影像,如圖4所示。所有圖像對時間跨度為5~14 a,有明顯的土地類型變化,尤其是建筑增長。LEVIR-CD涵蓋各種類型的建筑,如別墅住宅、高層公寓、小型車庫和大型倉庫。該數據集重點關注建筑相關的變化,包括建筑新增和建筑消失,主要是土壤、草地、硬化地面或在建建筑到新建筑區域之間的變化。圖像標簽是通用的二進制標簽,標簽中1表示變化,0表示不變,與常見語義分割數據集格式相同。整個數據集包含共31 333個單獨的建筑物變更實例。

圖4 LEVIR-CD數據示例
使用的GPU為NVIDIA Tesla V100,所有試驗均為單機8卡配置。通過兩種算法的對比試驗,訓練學習率為0.01,訓練輪次為30輪,每張GPU的批處理大小為1,學習率下降策略為poly[14]。
表1為2種算法的效果對比,改進的DeepLabV3+算法性能有明顯提升。

表1 算法模型指標
兩個模型的預測結果如圖5所示,兩種算法在輪廓及細節上有一定差距。直接將DeepLabV3+應用于變化檢測場景,模型存在一定漏檢和少許誤檢,且變化輪廓在建筑物密集處容易粘連。DeepLabV3+改進算法能較好地平衡誤檢及漏檢,同時保證建筑物輪廓清晰完整。

圖5 算法模型結果對比
本文選用DeepLabV3+改進算法展開消融試驗(ablation experiment),即控制變量法,每次試驗變化一個超參(Hyperparameter),通過多組試驗對比,得到超參的最優配比。
表2為DeepLabV3+改進算法在不同超參下性能對比,根據試驗結果,可得到以下結論:

表2 DeepLabV3+改進算法在不同超參下性能對比
(1)初始學習率為0.01時更適合本文任務場景。
(2)學習率下降策略poly比cosine[15]策略更適合該場景。
(3)訓練輪次越多,模型的效果越好。
(4)批處理越大,模型的效果越好。
根據以上4點結論,本文使用最優超參再次對DeepLabV3+改進算法進行訓練(見表2第8行)。最終通過模型效果對比,默認超參有4.1%的提升。
針對遙感建筑物變化檢測場景,本文根據任務特性及網絡結構特點,對DeepLabV3+算法結構進行改進,改進的結構更適合變化檢測任務場景。同時,針對改進的DeepLabV3+算法進行消融試驗,得到一組適合本場景的超參。
本文成功地將人工智能領域中DeepLabV3+算法應用于遙感建筑物變化檢測場景,論證了方案的可行性,對于人工智能在通過衛星影像執法、城市違建等場景落地具有借鑒意義。