代云鋒,劉麗娜
(1.寧波冶金勘察設計研究股份有限公司,浙江 寧波 315100;2.寧波市鄞州區測繪院,浙江 寧波 315100)
變化檢測技術是遙感信息科學和影像解譯的重要研究領域,探測地球表面的變化對于監測當地、區域和全球環境具有重要的意義[1]。變化檢測技術已經被廣泛應用于眾多研究調查中,包括土地資源利用調查[2]、災害評估[3]、生態環境監測和地理數據更新[4]等領域。隨著對地觀測系統技術的顯著發展,遙感影像的空間分辨率得到了進一步的提高,高分辨率影像信息已經成為新世紀的基本發展方向,并且針對同一區域數據獲取的重訪周期日益縮短,這為高分辨率遙感影像的變化檢測任務提供了重要的數據基礎。
變化檢測包括變化范圍檢測(即二分類)和變化類別檢測(即多分類)兩部分,是對地物變化進行分類的過程。因此一些經典的分類算法,如支持向量機(support vector machine,SVM)、極限學習機(extreme learning machine,ELM)、隨機森林(random forest,RF),以及一些非監督方法,如變化向量分析(change vector analysis,CVA)以及馬爾可夫隨機場(markov random field,MRF)[5],已被廣泛用于多時相遙感影像的變化檢測。隨著遙感影像空間分辨率的提高,地物的空間信息得到進一步的補充,影像能夠記錄到更多的空間細節。細節的增加使得同種地物間的光譜差異變大,不同地物間的可分性降低,更容易出現“同物異譜”“異物同譜”的現象。因此以單個像素為研究單元的變化檢測方法可能會產生較多的“椒鹽噪聲”,同時帶來較高的誤檢和遺漏誤差,而基于對象的方法以相鄰的像素為研究目標,能夠充分利用地物的鄰域信息,目前已被廣泛應用于變化檢測任務。如趙生銀等[6]聯合像素級及對象級的圖像特征,引入LightGBM算法進行特征選擇,最后利用隨機森林得到城市變化檢測結果;Li等[7]在CVA的基礎上提出了面向對象的變化向量分析,與基于像素的變化檢測結果相比,減少了虛檢像元數量和椒鹽噪聲。
在遙感圖像變化檢測任務中,傳統的檢測方法,如支持向量機、隨機森林,大都需要先驗知識,并需要手動設計和提取圖像的紋理特征、形態學特征、鄰域空間特征構成特征集合來進行變化檢測。然而這些方法往往能夠提取出圖像的淺層特征,對深層次的圖像特征表征力不足,同時耗時耗力。而深度學習因其強大的特征提取與深層特征分析能力在圖像處理、音頻識別等領域取得了突破性進展,將深度神經網絡應用于遙感圖像變化檢測任務中也逐漸成為國內外學者研究的熱點。常用的深度學習方法,如卷積神經網絡(convolutional neural network,CNN)、去噪自編碼器(denoising autoencoder,DAE)、受限玻爾茲曼機(restricted boltzmann machine,RBM)等均受到廣泛關注。作為一種主流的深度學習體系結構,深度卷積神經網絡的重要性在于提取空間上下文信息,經典架構如VGGNet[8]、FCN[9]和ResNet[10]也被引入了遙感影像變化檢測領域[11]。張翠軍等[12]提出了改進U-Net的遙感圖像建筑物變化檢測方法,引入非對稱卷積塊和注意力機制來增強網絡魯棒性,同時加強網絡對變化特征的學習,其結果表明與傳統方法相比,深度學習方法具有更好的檢測精度。
本文考慮不同大小的卷積核,設計了一種基于改進混合卷積特征提取模塊的變化檢測模型,采用并行特征提取、深層特征后融合的方式充分學習數據的變化特征;同時結合基于對象的變化檢測方法,通過影像分割算法得到對象,提取基于對象的多特征進行樣本選擇,進而訓練深度卷積神經網絡模型;最后結合不確定性分析方法得到最終的變化檢測結果。
卷積神經網絡由多層神經網絡構成,是深度學習的代表算法之一[13]。作為一種主流的深度學習架構,卷積神經網絡具有強大的表征學習能力,采用局部連接的思想,能夠充分考慮到數據的空間上下文信息,在自然語言處理等許多領域都取得了非常好的效果,在圖像處理領域取得的成績尤其矚目。卷積神經網絡在結構上具有局部連接、權值共享的特點,且網絡參數與全連接網絡相比大大減少,不僅能夠更好地表征圖像中的深層信息,并且訓練效率更高[14]。目前在卷積神經網絡的改進中,網絡架構輕量化設計逐漸成為研究重點,而深度可分離卷積[15]在當前輕量型卷積神經網絡中得到廣泛運用。該卷積通過拆分后融合的方式降低網絡參數量,但在網絡設計中,卷積核的尺寸卻很少得到關注,甚至被忽視。單一的卷積核尺寸在提取影像特征中具有一定的局限性,模型需要大尺寸核捕獲高分辨率模式,同時需要小尺寸核捕獲低分辨率模式以及獲得更高的精度效率。因此針對這一問題,混合卷積(MixConv)[16]提出將多個不同尺寸的卷積核組合成一個單獨的深度卷積,使該深度卷積操作易于從輸入圖像中獲取不同類型的特征模式。
在卷積神經網絡中,特征通常是分層提取的,深層結構易導致深淺層特征間的交互性降低,因此本文在混合卷積的基礎上同時引入了密集連接,將不同尺寸卷積核應用到同一個卷積單元中,接著在每一支卷積運算中連接前層特征,在此基礎上設計了混合卷積特征提取模塊,并將其嵌入深度卷積神經網絡模型中。改進混合卷積特征提取模塊能夠在同一卷積單元中融合多尺度特征,并且不同層學習的級聯特征圖會增加后續層輸入的變化并提高網絡效率。
改進混合卷積特征提取模塊結構如圖1所示,設該模塊內共有N個卷積核,卷積核大小為Kn,n=1,2,…,N。輸入特征大小為[H,W,C],其中H、W分別為輸入特征的長度和寬度,C為特征深度,每經過一次卷積運算后的輸出特征為Cafter,則特征融合后的輸出特征為Cout=Cafter×N。如圖1所示,輸入特征在分成若干組后分別應用不同大小的卷積核,構成并行分支,卷積運算后特征將與前層特征相級聯,最后合并不同分支的特征。

圖1 改進混合卷積特征提取模塊
為了充分利用樣本的空間特征信息,同時避免過擬合現象,本文設計了一個基于改進混合卷積特征提取模塊的深度卷積神經網絡模型進行變化檢測。
深度卷積神經網絡的獨特在于可以利用樣本的空間特征信息,自主學習遙感影像中領域空間的特征相關性,顯著提升變化檢測精度。本文設計的基于多尺度切片及改進混合卷積的網絡模型的設計理念如下。
1)本文使用以像素為中心、固定窗口大小的鄰域圖像塊作為該像素樣本的輸入數據,包括R、G、B 3個波段,模型輸入為兩時相影像的波段疊加。而領域大小p是一個未知數,在本文中將p設置為5個尺度,分別是9、11、13、15、17,通過對領域大小進行研究能夠尋找到不同影像數據的最佳輸入大小。
2)通過對輸入數據進行多尺度切片,獲得影像的多尺度空間特征,并疊加改進混合卷積特征提取模塊進一步得到更高維的具有代表性的深度特征。
3)研究表明,采用多個3×3卷積能夠達到較大尺寸卷積的效果,在增大感受野的同時減少網絡參數[17]。多個3×3卷積相疊加比一個較大尺寸卷積擁有更多的激活函數,因而更能增強網絡的非線性學習能力。所以本文將多個3×3卷積用于網絡模型設計中,提高模型對數據的特征提取能力。
4)1×1卷積實際上是對每個像素點在不同通道上進行信息整合,在保留數據的原有平面結構的同時完成升維或降維,因此本文模型在網絡末端均采用1×1卷積。
如圖2所示,該深度卷積神經網絡由以下4部分組成。①初始特征提取。利用3×3卷積核對輸入數據進行卷積操作。②將網絡輸入定義為(p-4)×(p-4)和(p-2)×(p-2)兩支,p為樣本的長寬值,即在提取初始特征后對特征進行切片操作,進一步分為兩個網絡分支。③在第一支并行網絡中采用多個3×3卷積核堆疊的方式來增大感受野;在第二支并行網絡中嵌入改進混合卷積特征提取模塊,卷積核大小設置為 [3,5],并與3×3卷積核交替采用;在并行網絡末端連接1×1卷積核,便于特征融合,特征融合模塊如圖3所示。④對融合后的特征進一步做卷積運算,輸出的卷積特征輸入進全連接層中得到對應類別(變化或不變),即變化檢測結果。

圖2 基于多尺度切片及改進混合卷積的網絡模型

圖3 特征融合模塊
在本文所提方法中,利用影像分割及多特征提取進行深度卷積模型樣本的選擇,通過多卷積核混合的方式搭建深度卷積神經網絡模型來提取影像輸入對的多尺度特征,獲得像素級變化檢測結果后與分割對象進行融合,得到最終變化檢測結果。針對遙感圖像變化檢測主要有以下6個步驟。
步驟1:影像預處理;
步驟2:影像分取割及多特征提取;
步驟3:訓練樣本獲取;
步驟4:模型設計及訓練;
步驟5:面向對象的不確定性分析;
步驟6:變化檢測結果獲取。
兩時相遙感圖像的變化檢測流程圖如圖4所示。

圖4 變化檢測流程圖
在本研究中采用基于分割對象的方法進行網絡訓練的樣本提取。假設兩時相遙感影像分別為X={X1,X2,…,XN},Y={Y1,Y2,…,YN},N為影像波段數。首先將兩時相遙感影像進行波段疊加,即{X,Y}={X1,X2,…,XN,Y1,Y2,…,YN},使用SLIC算法對疊加后的影像進行分割;然后將分割結果分別應用到兩時相遙感影像X,Y中,最后提取兩時相影像的對象特征,構成多元特征庫作為樣本選擇的依據。
本文采用了原始光譜特征、紋理特征、空間特征作為監督學習中樣本選擇的依據。這是因為不同類型的特征能夠更全面地反映出不同類型的地物特點[18]。
1)基于對象的特征計算。在包含了原始光譜特征的同時,每個對象中也會包含紋理、空間等特征。選取光譜特征、紋理特征(熵entropy)、空間特征(斜率slope、截距intercept和相關性correction)。
2)樣本選擇。在得到兩時相各個對象的多元特征后,經過差值計算后可以獲得以對象為單位的特征變化圖。本文通過對變化特征進行不確定性分析,選取訓練樣本。首先將變化特征向量F進行歸一化處理,使其拉伸到[0~1]范圍內。
對于每種特征,本文利用最大類間方差算法(OTSU)[19]對特征向量進行閾值分割,將對象分為變化和未變化兩類。假設變化類別為前景,背景為未變化,當取最佳閾值時,兩部分之間的差別應該是最大的,在OTSU算法中所采用的衡量差別的標準就是較為常見的最大類間方差。記T為前景與背景的分割閾值,前景點數占總影像比例為w0,平均灰度值為u0,背景點數占影像比例為w1,平均灰度值為u1,圖像的總平均灰度為u,前景與背景影像的方差為g,則有
u=w0×u0+w1×u1
(1)
g=w0×(u0-u)2+w1×(u1-u)2
(2)
聯立上式可得
(3)
該變化檢測結果CDk為
CDk={cdi,1≤i≤N}
(4)
(5)
式中:0和1分別表示第i個對象在第k個特征上屬于非變化和變化對象;T是利用最大類間方差算法得到的閾值。然后采用得分法進行樣本選擇,對于5項特征的分類結果,每個對象均可以使用五維向量Fj=(fg,fw,fSI,fC,fI)來表示。對于對象Ri,其類別可以由式(6)獲得。
(6)
若該對象特征向量的模(即該樣本的得分)大于等于4,則標記為變化;若向量的模為0,則標記為不變。最后從確定區域里隨機選擇一定數量的有標簽樣本作為訓練樣本,作為后續深度模型的輸入。
根據前文方法共選取2 000個樣本點,在模型訓練時,隨機選取樣本數據集中80%的數據(1 600個)作為訓練集,20%的數據(400個)作為驗證集。實驗使用 Windows 10 操作系統、Intel 酷睿 i7處理器,顯卡為 NVIDIA GeForce RTX 2070,軟件環境為 Pycharm和Python3.7,深度學習框架為TensorFlow,訓練過程共迭代100次。
在經過深度卷積神經網絡后,可得到像素級變化檢測結果。但基于像素的變化檢測往往會產生大量的椒鹽噪聲,因此本文在獲得像素級變化檢測結果后,與超像素分割的分割結果進行融合,利用投票法得到最終的變化檢測結果。如式(7)所示,Li=0,1分別表示第i個對象屬于變化和非變化類別。
(7)
(8)
本次實驗采用的數據來自 DEVA 實驗室提供的變化檢測數據集[20-21],該數據集是來自 Archieve、Szada和Tiszadob 3個不同城市的在不同季節條件下、在不同的時間間隔拍攝光學航空影像,波段為RGB 3個波段,空間分辨率為1.5 m,影像大小為952像素×640像素,兩時相影像拍攝間隔為23年,在生成變化信息掩膜時主要將以下差異視為變化:新增建筑、樹木種植、新開墾的土地等。在進行實驗前,首先對兩時相影像進行相對輻射校正、歸一化等預處理步驟。實驗數據的R、G、B真彩色圖像如圖5所示。

圖5 實驗數據真彩色圖像
在本實驗中選擇CVA、K最近鄰(k-nearest neighbor,KNN)、SVM、深度卷積神經網絡(deep convolutional neural network,DCNN)作為對比實驗。同時采用4種評價指標來進行變化檢測的精度評定,分別是總體精度、Kappa系數、虛檢率和漏檢率,以定量地評估所提方法的有效性。
圖6至圖7分別為基于實驗數據一、實驗數據二本文所提方法及對比變化檢測方法的結果圖和參考變化圖,其中白色區域表示變化像元,黑色區域表示未變化像元。如圖6(a)、圖6(b)、圖6(c)所示,對于實驗數據一,傳統的變化檢測方法結果存在大量椒鹽噪聲。另外在結果中,這3種方法均存在大量的虛檢像元。由圖6(d)可以看出,深度卷積神經網絡獲得的變化檢測結果較傳統方法有較大的提升,而圖6(e)表明本文設計的基于改進混合卷積的網絡模型方法具有較為優秀的特征提取和分類能力,同時在結合分割對象后,椒鹽噪聲被大大減少,更接近于參考變化圖,進一步提高了變化檢測精度。

圖6 數據一的變化檢測結果和參考圖

圖7 數據二的變化檢測結果和參考圖
圖7顯示了分別采用CVA、KNN、SVM、DCNN及本文方法對實驗數據二進行變化檢測的結果圖。從圖7(a)、圖7(b)、圖7(c)可以看出,傳統的變化檢測方法對于實驗數據二效果不明顯,往往檢測不到正確的變化像元,這是因為該地區耕地分布范圍廣且受到季節的變化影響,并且在影像中含有較大面積居民地建筑,這些都增加了變化檢測的難度。圖7(d)顯示出DCNN能夠較好地提取到變化信息。圖7(e)則表明本文設計的基于改進混合卷積的網絡模型方法在該數據上具有較為優秀的特征提取和分類能力,同時在結合分割對象后,椒鹽噪聲被大大減少,進一步提高了變化檢測精度。
表1、表2分別列出了實驗數據一、實驗數據二在不同變化檢測方法下的檢測精度,其中加粗部分為從整體上獲得最好檢測結果的方法。通過結果可以看出,本文所提的變化檢測方法獲得了比其他方法更高的變化檢測精度,并且虛檢率和漏檢率更低。本文方法的總體精度(overall accuracy,OA)在實驗數據一中較SVM提高了0.120 2,較DCNN提高了0.025 9,Kappa系數分別提高了0.432 2和0.071 7。由表1可以看出,基于深度學習的變化檢測方法較傳統方法精度有大幅提升,并且本文所提方法獲得了比DCNN更高的Kappa系數和更低的虛檢率,漏檢率較其有小幅增加,這是因為面向對象的不確定性分析會將小面積的變化檢測結果去除,會在降低虛檢率的同時增加漏檢率,但總體來看本文所提方法取得了最好的效果。在實驗二的數據中也同樣取得了最好的檢測效果,總體精度為0.969 5,較傳統的DCNN提高了0.056 3,并且虛檢率和漏檢率更低。同時未結合后處理的結果精度同樣要優于對比方法,這說明本文所提出的模型能夠更好地提取與識別出變化地物信息,并且結合面向對象的后處理后精度得到了進一步的提升。

表1 實驗數據一中各變化檢測方法的精度評定結果

表2 實驗數據二中各變化檢測方法的精度評定結果
由于變化檢測結果受到卷積神經網絡的輸入塊的大小的影響,本文對輸入數據的大小p進行了討論。對于數據一和數據二,實驗選擇了p=[9,11,13,15,17] 5個大小的輸入尺寸,對網絡模型與輸入大小的關系進行探討。表3至表4顯示了實驗數據在不同輸入大小下模型結果的評定精度,數據一在p=11時獲得最好結果,而數據二在p=13時可獲得最好結果。數據二的地物類型與數據一相比更加復雜多樣,存在小面積的變化地物,在大尺寸下可以更好地利用空間鄰域關系,并且由于第二個數據集中地物表面特征的復雜性,當尺寸大小從9變化到13時,變化檢測的精度明顯提高。如果輸入尺寸過小,網絡不能完全了解地物表面特征的變化信息以及其周圍區域,導致無法準確檢測這些變化。

表3 實驗數據一在各輸入大小p的精度評定結果

表4 實驗數據二在各輸入大小p的精度評定結果
本文設計了一種基于改進混合卷積特征提取模塊和雙切片并行網絡的變化檢測模型,該模型能夠融合多尺度特征用于變化檢測,同時結合超像素分割對象得到對象級變化檢測結果,減少像素級“椒鹽噪聲”影響。本文選擇了兩組數據進行實驗,實驗結果均表明本文方法比其他方法具有更高的檢測精度和更好的魯棒性,并且進一步對網絡輸入尺寸進行了探討。在未來,嘗試非監督檢測方法來解決樣本獲取問題將是討論的重點之一,同時將進一步對地物類型的變化做更為細致的研究。