湯富平,吳臻涵,2,蔡東燕,唐 偉
(1.浙江省測繪科學技術研究院,浙江 杭州 310023;2.武漢大學 遙感信息工程學院,湖北 武漢 430079)
隨著我國城鎮化進程的不斷推進,土地利用情況的更新速度也不斷加快,如何快速準確地將地類變化從影像中檢測出來并做出相應處理,成為土地資源調查監測任務中的重要問題[1-2]。基于遙感影像的變化發現產品也成為大家研究的熱點[3]。像元級別的變化檢測是利用多時相遙感影像進行變化檢測任務中最早使用的方法[4]。CVA[5]變化檢測法是對變化矢量的分析,分別對前后影像進行輻射亮度定標,得到前后時相的表觀反射率影像;再對前后時相影像進行配準,使影像中的像元位置一一對應;然后計算每個像元對在各波段上的差異,得到差異圖;由于發生變化區域的地類變化,各波段的反射率也相應變化,通過對差異圖進行處理,即可提取變化區域[6]。提取變化區域的過程通常是一個閾值確定的過程,通過對比多種方法,確定最佳閾值,將變化大于閾值的區域記為變化區域[7]。季順平[8]等將自然地物和人工地物視為背景,將陰影視為檢測目標,很好地實現了建筑物的陰影檢測,再利用陰影補償法來檢測建筑物的變化。趙秋菊[9]提出了一種對主成分分析進行改進的遙感自動變化檢測算法,利用多實相多光譜影像進行標準化和主成分變換,以一倍標準差為變化閾值,自動確定變化區域,大大提高了遙感變化檢測的精度。上述方法均通過優化手段取得了較好的效果,因此本文嘗試將深度學習神經網絡方法引入像元級別的變化檢測中,利用深度學習方法對差異圖像進行處理,對僅依賴閾值的差異圖提取變化區域過程進行優化,以期提高差值影像變化檢測精度。
CVA變化檢測法[10]是經典的像元級別的直接比較的變化檢測方式之一。將校正配準后的兩張影像相減,每組像元對應波段的灰度值相減均可得到一個差異向量,所有像元的差異向量共同組成差異影像,再通過確定合適的閾值,將變化區域從差異圖中提取出來。閾值提取方法包括大津閾值法、迭代閾值法等。
直接對變化區域進行檢測的方法,在影像分割任務中屬于二分類[11],由于變化區域在整體影像范圍內通常為少數區域,因此訓練樣本中必然存在一定的樣本不平衡現象。繼續使用正確率作為樣本訓練的評價指標在樣本不平衡情況下有一定的局限性,特別是在二分類問題中,當樣本的不平衡問題較嚴重時,模型會一直傾向于將所有類別分入樣本較多的類別中,導致模型訓練失敗。因此,需要引入新的評價指標作為模型訓練的監視指標,并應用于模型的最終評價。在二分類任務中,通過模型預測得到的分類影像中每個像元的狀態均可分入以下4類:實際發生了變化,算法也認為發生了變化(TP);實際發生了變化,算法認為未發生變化(FN);實際未發生變化,算法認為發生了變化(FP);實際未發生變化,算法也認為未發生變化(TN)。其中,TP和TN是判斷正確的內容,在變化發現的算法優化中,應提升TP和TN,降低FN和FP。為了確保所有變化均被發現,在優化各項指標的目標下,降低FN更為重要。
對于模型的預測結果有以下定義:查準率P和查全率R均可在一定程度上反映模型檢測變化區域的能力,為平衡二者關系引入模型評價指標F1_score。

F1_score能很好地表現樣本不平衡狀態下目標的被檢出情況,在模型評價過程中使用F1_score比正確率更合理[12]。本文利用宏平均Fmar和加權平均Fw對整體分類結果進行評價,設在樣本集中權重為ωi的i類樣本對應的F1_score為F1i_score,則Fmar與Fw的定義為:

損失函數用于衡量預測結果與真實結果的差異程度。深度學習的模型訓練過程,就是損失函數通過誤差反向傳播調整參數,經過梯度下降損失函數達到最小,使得模型達到最優的過程。因此,是否能真實反映預測結果與目標的差異是選擇損失函數的核心問題。
對變化檢測任務進行具體分析,以查準率與查全率為基礎,重新定義符合模型使用實際的損失函數。對查準率和查全率的公式進行分析,由于在二分類問題中FN與FP之間有一定的負相關性,因此查準率與查全率通常無法同時增加,而是一增一減。為平衡二者關系,本文引入F-Measure作為綜合指標。

α用于調節查準率與查全率之間的側重關系,α∈(0,1],α越小,R對F-Measure的影響越大;當α=0.5時,F-Measure為分類任務中最常用的指標之一(F1_score)。由于變化檢測試驗中希望盡量多地檢出變化區域,即需更側重R,因此結合Loss函數的工作原理,自定義加權損失函數可設計為:

本文采用的數據為由2013年和2016年浙江省嘉興市秀洲區土地利用年度更新庫制作的變化檢測樣本庫。該樣本庫包含18張大小為3 600×3 600的7波段tiff格式數據,影像的1、2、3波段對應2013年影像數據的R、G、B波段;4、5、6波段對應2016年影像數據的R、G、B波段;第7波段為標記數據集,該波段未變化區域灰度值為0,變化區域灰度值為1。
本文對樣本庫中的數據進行預處理,利用ArcGIS的波段計算工具將第4波段與第1波段相減,第5波段與第2波段相減,第6波段與第3波段相減,并將3組波段相減結果絕對值化;再利用波段融合工具將3個絕對值化后的結果融合為一張3波段影像,將第7波段影像單獨輸出,作為標記label。RGB對應波段相減絕對值化后的差異圖(相減后結果輸入對應通道)如圖1a所示,對應變化標注影像如圖1b所示。依次處理所有樣本集數據,獲得18組差值影像和對應的標注影像。

圖1 差異圖與對應標注影像
基于U型神經網絡(UNet)的變化檢測方法設置模型Loss函數中α=0.25,采用步長為400的滑窗,依次讀入訓練集中13張用于訓練的大范圍影像和4張用于驗證的大范圍影像,共生成1 377張小范圍影像;再對讀入的小范圍影像集進行鏡像翻轉、100像素內任意方向平移、30°內任意角度旋轉、扭曲、加噪等樣本增強操作,共得到6 885張大小為400×400的小范圍影像;然后將6 885張影像順序打亂排列,取前5 265張組成訓練數據集,剩余的1 620張組成驗證數據集,將制作好的訓練集數據讀入模型進行訓練;最后通過兩次手工調整將學習率從0.01調整到0.005再到0.001,分3次進行網絡訓練,得到最優模型參數。
CVA變化檢測法計算3波段差異圖中每個像元對應的差異矢量的歐式距離,整合得到一張差異影像;再對13張訓練集中差異影像的灰度值進行統計分析,將全局閾值設為80,根據該閾值得到檢測結果;最后對檢測結果進行去噪,并過濾碎圖斑,得到CVA變化檢測結果。兩種方法的檢測結果如表1、2和圖2所示,可以看出,雖然CVA變化檢測法的準確率達到了89%與基于UNet的變化檢測方法差距較小,但其F1_score僅有0.25,不到基于UNet的變化檢測方法的一半,說明CVA變化檢測方法的效果遠不如基于UNet的變化檢測方法;且在樣本不平衡的情況下,相較于傳統的正確率指標,F1_score對于模型的評價更加符合實際。

表1 基于UNet的變化檢測方法精度評價表

表2 CVA變化檢測法精度評價表

圖2 測試樣本變化檢測結果
分析兩種方法的變化檢測結果發現,由于CVA變化檢測法是純粹的針對單個像元的檢測方式,完全忽略像元的鄰域關系,因此其對塊狀變化區域的檢測通常不完整且易分裂為多個小塊和散在像元,在生產實踐中需要大量工作將柵格影像轉化為可使用的矢量文件;而基于UNet的變化檢測方法由于采用卷積運算和逐層融合特征圖的上采樣,模型學習到鄰域內像元包含的信息,對于包含局部信息的塊狀區域的檢測效果明顯優于CVA變化檢測法,矢量化工作更加簡單。
綜上所述,結合二者的工作原理,將深度學習方法應用于差異圖提取變化區域具有以下優勢:
1)對于變化區域的識別能力更強。如圖3所示,受水體顏色影響,綠色水體與植被地面的差異不足以通過CVA變化檢測方法的閾值篩選出來,像元級別的差異計算方式無法結合邊界信息,將沒有明顯差異的變化區域整體提取出來;同時由于路面與植被區域在波段間的差異較大,道路可被很好地提取出來。基于UNet的變化檢測方法受樣本制約較大,該試驗方案在樣本制作階段沒有使用常規的手工標記樣本,而是使用土地利用現狀數據庫。實際情況下,僅有級別道路會被記錄為道路,建設用地、草地、林地等內部道路不會記錄為道路,因此道路樣本與實際差異很大,檢測能力不足。通過卷積與池化輸入一個鄰域內的信息可結合像元的上下文進行分析,同時由于引入逐級淺層特征圖進入上采樣過程,對于邊界等淺層特征,基于UNet的變化檢測方法也有較好的識別能力,可較好地檢測出波段差異不大、但明顯有邊界變化的區域,且保留一定的整體性。

圖3 變化區域識別能力對比
2)對于配準等導致的邊界差異有一定的容錯能力。如圖4所示,由于不同年度影像在飛行高度、飛行時間等方面都可能存在差異,即使是經過地形校正的數字正射影像在相互配準的過程中也有可能因為陰影位置變化,而導致房屋等具有一定高度的地物邊界產生一定的偏移。陰影區域影像包含信息少亮度較暗,而未被陰影覆蓋的區域亮度正常,與陰影部分有較大差異。CVA變化檢測法的檢測結果中存在大量由于位置偏移和陰影問題導致的偽變化,且這類偽變化區域很難在去除碎面的過程中被去除。基于UNet的變化檢測方法對紋理信息具有一定的識別能力,且由于采用了卷積層和池化層,對于散在的小范圍噪聲有一定的過濾作用。

圖4 邊界偽變化過濾能力對比
3)對于水田的季節性變化具有一定的適應性。如圖5所示,農田是影像中最常見的地物類型之一,種植在不同時間可能表現出較大的色彩差異,但邊界形態差異較小。由于CVA變化檢測法僅基于閾值對差異圖中的變化矢量進行過濾,在需要確保道路、水體等新增變化被檢測出來的前提下,若植被的季節性變化過大則很難被單獨過濾。在基于UNet的變化檢測方法的樣本制作過程中,獲取土地利用地圖后,水田為單獨地類,很容易被單獨提取。將水田區域(形態變化小)和易與水田變化混淆的新增水體(邊界形態有較大差異)樣本添加到訓練樣本中,制作包含該類情況的輸入訓練集,依賴深度學習模型強大的學習能力可對農田的季節性變化具有一定的適應性。雖然水渠等變化檢測性能有所下降,但模型對種植區的季節性變化有一定的適應性。

圖5 季節性偽變化過濾能力對比
相較于基礎的CVA變化檢測法,基于UNet的變化檢測方法對差異圖進行變化區域提取具有明顯優勢,檢測能力更強且對于各類偽變化具有一定的包容力。然而,利用深度學習方法對差異圖進行變化區域提取也存在一些問題:
1)模型精度不足。在模型訓練過程中,雖經過兩次手動調節學習率,以期獲得更小的Loss值,得到最佳模型,實際最終的模型的正確率為0.95,但對于變化類別的F1_score僅有0.65,距離實際應用還有較大差距。
2)檢出圖斑的連通性不足。檢出的連續變化區域常為一系列碎圖斑,在連續道路圖斑中表現明顯,且區域邊緣噪聲嚴重、精度不足。
總體來說,基于UNet的變化檢測方法在差異圖變化區域檢測中較傳統閾值方法具有明顯優勢,但在精準度和圖斑連續性方面仍有較多問題需要解決,需通過各種方式提升模型檢測精度,改善變化圖斑的整體性。由于差異圖的制作過程是一個像元級別的操作,丟失了大量鄰域信息,且噪聲點信息在經過差異圖處理后干擾性可能反而增加。