張吉玲,王慶,王靜,閆爍月,陳卓然
(1.江西省軍民融合研究院,南昌 330200;2.長江大學 地球科學學院,武漢 430100;3.武漢區域氣候中心,武漢 430074)
遙感影像變化檢測是結合地物特性、遙感成像機理和相關地理空間數據,將同一地表不同時期的多源遙感影像,采用數理模型及圖像處理理論來提取和分析該地表區域的變化,包括地區位置、范圍、性質的變化[1]。隨著遙感平臺和傳感器的發展,積累了大量多源、多尺度、多類型的遙感圖像,遙感影像變化檢測得到廣泛應用,例如城市變化監測[2]、土地利用及覆蓋變化分析[3]、自然災害災后分析及評估[4]和環境監測[5]等,因此變化檢測一直是遙感領域的研究熱點之一。
在變化檢測研究初期,大多使用人工目視解譯方法,由于其工作繁雜、工作量大、解譯效率極低,已無法滿足實際生產及發展需求。隨后提出的分類后比較法、變化向量法和主成分分析法等傳統的變化檢測方法,雖然能快速識別變化區域,但由于這類方法或對圖像預處理要求較高或需要進行閾值分割和聚類分析等,使變化檢測過程仍過多依賴人工干預,產生較大的誤差,不能充分利用高分辨率遙感影像包含的豐富地物信息,從而造成變化檢測效果差、精度低。因此研究如何實現機器自動確定變化區域是推進變化檢測發展的主要動力[6]。
近年來,深度學習技術得到快速發展,并成功應用到變化檢測領域。與傳統的檢測方法不同,結合深度學習的變化檢測可以作為語義分割任務來處理,檢測過程無需人工干預,能實現端到端的檢測,且可以快速處理大量數據,提升了效率和精度。當前基于深度學習的變化檢測可根據網絡結構分為單分支結構和多分支結構。單分支結構即只有一個子網絡,如常振良等[7]提出的使用異感受野和多尺度特征張量優化的DeeplabV3+網絡,其為單分支結構。Zhang等[8]提出基于特征金字塔和梯形U-Net網絡的變化檢測模型,該模型可以很好地學習多尺度的特征,但由于精確定位和上下文信息間的權衡,U-Net只能獲得較少的上下文信息。張翠軍等[9]采用非對稱卷積塊和注意力機制改進U-Net網絡,將變化檢測轉化為像素級二分類問題,實現了端到端的檢測。Peng等[10]提出一種多側輸出策略的改進U-Net++檢測模型,充分利用全局信息和細粒度信息從而緩解變化檢測中誤差傳播的問題。這種單分支結構的檢測模型,通常通過差異比較或疊加的方式將影像輸入至網絡,容易導致原始影像的高維特征流失,造成檢測誤差。多分支結構可分為孿生網絡和偽孿生網絡,主要區別在于孿生網絡在兩個分支提取圖像特征時共享權值,而偽孿生網絡則不共享。如Raza等[11]通過使用注意力機制進行特征融合,并設計高效卷積模塊改進U-Net++,以此增強模型對影像細粒度特征的提取,提升檢測性能。Wang等[12]提出孿生結構的基于注意力機制的深度監督網絡進行變化檢測,能夠充分利用影像的地物信息。Jiang等[13]提出基于特征金字塔的孿生網絡,解決遙感正射影像建筑物變化檢測中建筑物與位移的復雜變化關系。Xu等[14]和Touati等[15]都提出了偽孿生網絡來完成變化檢測任務,其結構都由兩個并行的權值不共享的卷積神經網絡組成。多分支結構的檢測模型有效保留了影像的高維特征,但由于高分辨率影像信息的復雜性,檢測結果仍舊存在檢測邊界模糊、小目標漏檢、偽變化較多等問題。
基于上述研究,本文提出了一種基于孿生結構的Siam-FAUnet高分辨率影像變化檢測模型。該模型采用編碼-解碼結構,編碼部分使用改進的VGG16提取影像特征,利用空洞空間金字塔池化模塊[16]提取多尺度上下文特征,并在解碼部分使用流對齊模塊[17]融合編碼器中提取的特征信息。通過使用公開數據集的實驗結果表明,該模型能夠提高變化檢測中小目標變化檢測的精度,避免圖像邊界不清晰以及變化區域致密性不高的問題,增強變化檢測的泛化性,推動高分辨率遙感變化檢測向自動化和高效化發展。
Siam-FAUnet模型如圖1所示,該模型由兩部分組成,分別是預測模塊和殘差修正模塊。由編碼器和解碼器組成的預測模塊接收T1和T2兩時相的遙感圖像。在這個模塊中,網絡利用圖像信息進行多次重復的卷積和反卷積來提取深層次、多尺度的特征信息,實現對變化區域的預測。殘差修正模塊可以減少預測圖與地面真值的殘差,以提高變化檢測的精度得到較為準確的變化二值圖。

圖1 Siam-FAUnet結構圖
為了解決模型感受域不足以覆蓋多尺度目標地物,導致變化檢測結果不夠細化、變化邊界不清晰的問題,在預測模塊中設計多分支的編碼-解碼結構網絡。編碼器采用孿生結構的VGG16前4塊進行特征提取,其中每個塊有兩個卷積層和一個窗口大小為2×2、步長為2的最大池化層。卷積運算之后是批量歸一化層和ReLU激活函數。在這些卷積塊中,使用的卷積核大小為3×3,每塊卷積核的數目分別為32、64、128、256。由于遙感圖像中包括不同尺度的物體,且同物體的紋理、色彩也不一致,若僅使用池化層提取語義信息會導致感知域無法覆蓋整個物體,最終在結果中造成變化邊界不清晰等問題,因此在編碼器最后一層添加空洞空間金字塔模塊進行特征融合,以此來獲取影像中不同尺度的上下文信息,提高檢測精度。與編碼器相對應的解碼器也有5個塊組成,該部分的前4個塊都對應編碼器相對的上一個塊,并通過流對齊模塊進行特征映射,以恢復部分在編碼階段丟失的語義信息。通過使用流對齊模塊來替代傳統的直接拼接的方式進行上采樣,可以減少特征傳遞時造成的語義信息流失。
1)空洞空間金字塔模塊(atrous spatial pyramid pooling,ASPP)。遙感影像中的地物尺度差異較大,且變化出現的位置是隨機的,而傳統的池化操作是在固定尺度下的采樣,這會導致網絡無法充分利用到圖像的全局信息,對不同尺度物體的分割差異較大。ASPP模塊的提出可以有效緩解這類問題,其結構如圖2所示。ASSP通過對輸入特征進行不同膨脹率的空洞卷積采樣,并且將得到的結果拼接,利用1×1卷積層將特征圖的通道數降低到預期值。在網絡中引入ASSP模塊可以增大網絡的感受野,也可以在保證原始圖像細節的同時提取更大區域內的特征,這樣可以實現網絡對遙感圖像更加細致的分類,從而使變化檢測達到更好的效果。

圖2 空洞空間金字塔池化結構示意圖


圖3 流對齊模塊(FAM)整體結構示意圖
(1)
式中:ωp是通過距離估計的雙線性插值核權重;Fn(p)是低分辨率特征圖在位置p處的值;N(pn)是位置pn的4個鄰域。因此,FAM可以學習不同分辨率特征間的語義流,生成的偏移場即語義流場,可以更有效地將語義信息從粗糙特征傳遞到高分辨率的細化特征中,以此解決特征融合時直接拼接方式造成的語義不對齊問題。
若預測模塊的檢測結果未進行修正處理,容易存在圖斑空洞、檢測邊界不平滑等問題,以至于最后預測所得結果與實際變化之間存在較大差異。為了減少這種差異,在模型中設計了一種膨脹卷積殘差修正模塊。此模塊以預測模塊輸出的語義信息為輸入,在訓練過程中自動學習輸入特征與真實結果之間的殘差,進一步細化輸入的圖像,產生更加準確的語義分割結果。
在高分辨率遙感圖像中存在一個很重要的問題,即由于不同地物的紋理、光譜、形狀等都不盡相同,在進行圖像特征提取時,無法兼顧不同尺度的地物以及地物周圍的背景,這就造成無法提取圖像的全域特征,最終使得變化檢測結果中地物邊界不清晰、檢測不完全等問題。因此,本文所提出的膨脹卷積殘差修正模塊具有不用尺度的感受野,可以提取更深層次圖像特征。
膨脹卷積殘差修正模塊的結構如圖4所示。它使用4個不同膨脹率的卷積層來提取特征,膨脹率分別為2、4、8、16,膨脹卷積核的個數為32。然后采用疊加的方式將不同感受域的特征圖融合。每個卷積層之后都使用批量歸一化和ReLU激活函數。由于此模塊的輸入包含圖像預測的初始信息,因此本文再將輸入圖像與此過程所獲得的特征圖進行相加融合,以獲取更加細化的變化信息,最后使用softmax函數獲得的變化像素與非變化像素的分類概率得到最終修正后的變化檢測圖像。

圖4 殘差修正模型結構圖
交叉熵損失函數(cross entropy,CE)[18]是一種基于經驗誤差最小化的損失函數。盡管交叉熵損失函數能對模型分類的總體精度進行優化,但是數據集中不同類別樣本數量分布不均衡時,采用這種損失函數訓練的網絡其預測結果會更偏向于樣本量較多的一方,而樣本量較少的會被忽略,從而造成雖然損失函數值很小但是對樣本量所占比例小的類別預測結果較差。
Dice損失函數在訓練過程中對同一類別的所有像元進行整體分析,從而計算出其交集在總體中的比例,因此對樣本量較少類別的分類結果不會受到樣本量大類別的影響,能夠使網絡實現更好的提取效果。
遙感變化檢測任務實質上是從圖像中提取出變化像素和未變化像素,其損失函數一般采用交叉熵損失函數。然而大多數時在遙感影像中變化像素與未變化像素的分布是不均衡的,尤其是當變化像素或未變化像素集中出現時,會導致較嚴重的誤差。因此,本文提出將交叉熵損失與Dice損失結合,并賦權重λ到CE-Dice損失函數。其定義如式(2)所示。
LCE-Dice=LCE+λLDice
(2)
式中:LCE-Dice代表研究使用的損失函數CE-Dice損失;LDice是指Dice損失;LCE是交叉熵損失;λ用于調節兩個組合項在表達式中所占的權重。針對λ取值的問題,本文設計了實驗進行驗證。
CDD數據集(change detection dataset)是2018年Lebedev[19]在發表的論文中創建并使用的。該數據集總共有10 000對訓練集,3 000對驗證集,還有3 000對影像作為測試集。其衛星圖像大小為256像素×256像素的3通道RGB圖像,其地面分辨率從0.3~1 m不等。每個圖像對的兩個實例通常是在不同季節獲取的,變化的數量偶爾會因手動添加對象而增加。變化真值僅考慮兩個實例之間的對象出現或消失相應的變化,而不忽略所有季節變化。
SZTAKI數據集是由匈牙利大地測量與制圖學會提供的光學航空影像對[20],一共包括SZADA、TISZADOB和ARCHIVE 3個子數據集,但是由于ARCHIVE數據集中的遙感影像質量較差,大多數研究僅使用前兩個子數據集。SZADA數據集包含7對遙感影像,影像的采集年份來自2000—2005年,影像的大小均為952像素×640像素,分辨率為1.5 m。TISZADOB數據集包含5對采集自2000—2007年的遙感影像,其影像大小和分辨率與SZADA中的影像一致。因此,本次實驗使用了SZTAKI數據集共計12對大小為952像素×640像素,像素分辨率為1.5 m的遙感影像對。
為了保證實驗的科學性,本文所進行的實驗均在同一臺計算機上進行。實驗的硬件環境為Intel(R)Core(TM)i7-3770CPU@3.40 GHZ,顯卡為NVIDIA GeForce GTX 3070 8 GB。軟件環境為Windows10 64位,Pycharm,Anaconda3,Python3.6,TensorFlow2.0。
Adam算法被用于網絡的優化器,對網絡參數進行更新,以加快網絡的收斂速度。如果學習率設置過小則會使網絡參數更新較慢,容易陷入局部最小值,而學習率過大則可能使損失值爆炸導致模型無法收斂,因此本文將學習率設置為0.000 1。訓練輪數在CDD數據集上是50次,在SZTAKI數據集上為200次,圖像的批處理大小均為4。
為了定量評估神經網絡模型在遙感變化檢測任務中的表現,需要選取一系列標準且公認的評價指標。本文選用以下指標進行精度評價,分別是準確率(accuracy,OA)、召回率(recall)、精確率(precision)和F1綜合評價指標(F1-score)。在變化檢測中,準確率越高,檢測越準確;召回率越高,漏檢越少;F1-score是準確率和召回率的調和平均值,分數越高,模型的性能越好。
前文中提出的復合型的損失函數CE-Dice Loss,其中λ的值是暫未確定的。為了獲得使模型訓練效果最優的CE-Dice Loss,本文分別取λ=0、λ=0.25、λ=0.5、λ=0.75以及λ=1時的CE-Dice Loss作為網絡的損失函數,并在SZTAKI數據集上進行訓練,記錄評價指標的得分,實驗結果如圖5所示。

圖5 λ取值對評價指標的影響
在圖5中,橫坐標代表λ的取值,縱坐標表示隨著λ的變化網絡4個評價指標的變化情況。可以看出,當λ=0.5時,準確率和F1-score都取得最大值,同時精確率和召回率也取得了不錯的分值。因此,經過綜合分析當λ=0.5時CE-Dice Loss使Siam-FAUnet模型取得最好的變化檢測效果,本文接下來的實驗中CE-Dice Loss的λ取值均為0.5。
本文使用ASSP和FAM對Siam-FAUnet網絡進行改進,為了驗證所提出的兩個改進點對模型所起到的作用,將編碼器前4塊VGG16網絡作為基準方法進行消融實驗。本次實驗使用前文所提到的CDD數據集和SZTAKI數據集進行驗證,實驗結果如表1和表2所示。為了達到控制變量的目的,除了所要對比的改進點不同之外,每組對比實驗參數設置完全相同。

表1 本文所提出的改進點的消融實驗在CDD數據集中的實驗數據

表2 本文所提出的改進點的消融實驗在SZTAKI數據集中的實驗數據
從表1、表2中可以看出,在基準網絡中單獨加入FAM或ASSP都可以提升網絡的變化檢測性能。當網絡中僅加入FAM時,在兩個數據集上的F1-score分別提升了1.63%和0.51%,這是由于FAM減少了特征融合時語義不對齊的問題,使網絡更加準確地學習到變化特征。當基準網絡僅使用ASSP時,可以從評價指標上看出該模塊對網絡的召回率指標有較大的提升,分別增加了6.05%和2.7%,這是因為ASSP可以實現對統一特征多尺度的采樣,一定程度上提升了網絡對地物邊界信息的利用。當同時加入FAM和ASSP時,加深網絡特征提取維度,造成分類難度的提高,使得精確率沒有得到明顯提升,但從總體的評價指標來說,網絡的性能得到了很大的提高,相比于不使用ASPP與FAM模塊,準確率分別提升1.28%和0.65%,召回率分別提升7.64%和9.28%,F1-score分別提升了4.10%和5.93%,這表明FAM和ASSP同時對網絡變化檢測性能的提升起到了積極作用。從分析消融實驗的結果可以得出結論,本文所提出的Siam-FAUnet模型在遙感影像變化檢測任務中的效果要優于改進的基準網絡,同時也驗證了本文所提出的ASSP和FAM的有效性。
本文提出了結合ASSP和FAM的Siam-FAUnet變化檢測方法,為了驗證該方法的優越性,本次實驗仍然使用CDD數據集和SZTAKI數據集進行訓練和測試,并與以下5個方法進行比較。
1)CDNet[21]是一種基于堆疊、收縮和擴展思想的全卷積神經網絡。
2)FC-Siam-conc[22]是基于FCN模型提出的,使用孿生網絡實現兩時相遙感影像的雙輸入特征提取,最后將特征進行拼接獲取變化信息。
3)FC-Siam-diff同樣是以FCN為基準網絡,與上一種不同之處在于,語義恢復階段使用差值的方式將特征圖進行連接,最后得到所需要的變化圖像。
4)IFN[23]是一種編碼器-解碼器結構,與U-Net不同的是,該模型采用密集的跳躍連接,并在解碼器結構中實現了隱式的深度監督。
不同模型在數據集上的測試結果如表3和表4所示。

表3 本文算法與其他方法在CDD數據集上實驗結果對比 %

表4 本文算法與其他方法在SZTAKI數據集實驗結果對比 %
在表3和表4中,從整體來看,在CDD數據集上FC-Siam-conc取得到效果最差,而在SZTAKI數據集上FC-Siam-diff取得了最差的F1-score,FC-Siam-conc和 FC-Siam-diff都是以FCN為基準網絡,兩種模型的4種指標較為接近。CDNet取得的F1-score均高于FC-Siam-conc和FC-Siam-diff。IFN表現較優于CDNet,這是由于CDNet僅由收縮塊和擴張塊組成,編碼器和解碼器之間沒有跳躍連接將不同層次的特征融合,因此在解碼器中沒有利用到底層的特征信息,導致分割精度不高。IFN具有多側輸出策略,可以將編碼器中淺層高分辨率的語義特征結合起來,這提升了模型的性能,與CDNet相比F1-score分別提升了3.83%和1.48%。本文所提出的Siam-FAUnet方法在CDD數據集和SZTAKI數據集上都取得了不錯的檢測效果,F1-score分別達到了94.58%和80.05%,與IFN相比分別提升了4.28%和5.01%。原因在于該方法在編碼器采用孿生結構,分別提取兩時相影像的特征信息,減少了通道疊加帶來的偽變化;FAM模塊可以將編碼器和解碼器得到的特征進行分析,帶來了更加細化的圖像特征信息;ASSP模塊可以提取并融合不同尺度的信息,增加模型的感受野,充分利用到上下文信息。
本文還選取了測試集中的汽車、道路、建筑物以及田地的變化圖像來可視化實驗結果,如圖6所示。

圖6 不同模型在變化檢測可視化結果示例
從圖6可以看出,FC-Siam-conc和FC-Siam-diff這兩種方法在檢測變化區域邊緣存在嚴重的鋸齒情況,對大部分的變化區域沒有檢測到并且檢測到的變化區域不夠完整,同時還存在著大量的噪點,變化檢測的可視化結果較差。CDNet與FC-Siam-conc和FC-Siam-diff相比,檢測的變化區域邊界相對較光滑,噪點也有減少,但是對汽車、小建筑物與道路的變化區域存在小目標漏檢和偽變化的情況,內部和細節部分的處理也還不夠細化。IFN效果則較為清晰準確,但仍有變化區域內部存在空洞、變化邊界不連續等問題。本文所提出的方法具有最佳的可視化效果,變化邊界光滑清晰沒有鋸齒狀,噪聲較少,同時變化區域連續完整,其目視結果與地面真值更為接近。與此同時,該方法在細小物體變化的檢測方面具有一定優越性,如能夠檢測出汽車、小建筑物等變化,且道路變化更加連續完整,偽變化較少。因此,綜合實驗結果的定量和可視化分析,可以得出本文所提出的方法針對高分辨率遙感圖像的變化檢測,尤其在小目標變化和檢測變化邊界方面具有優越性。
本文針對使用經典語義分割方法的高分辨率遙感影像變化檢測任務中存在的問題,提出了相應的改進思路,實現了一種基于Siam-FAUnet網絡的遙感影像變化檢測方法。其中ASSP模塊利用不同擴張率的空洞卷積并列地對圖像特征進行采樣,以達到增加網絡感受野,融合多尺度特征的目的。FAM模塊通過生成的語義流場,解決特征圖以直接拼接的方式造成的語義不對齊問題,使網絡更加準確地學習到變化特征。為了減少模型的輸出與地面真值之間的殘差,加入了一種殘差修正網絡增強模型的變化檢測效果,并結合交叉熵損失函數和Dice損失函數提出了CE-Dice Loss,通過實驗確定了λ的取值。實驗方面,將本文所提出的方法與其他深度學習變化檢測模型在兩個公開高分辨率變化檢測數據集上進行測試。實驗結果的定性和定量分析得出,本文所提出的方法取得了很好的變化檢測效果。然而本文研究仍存在由于實驗設備的限制,實驗所使用的數據集不夠多元化、變化檢測二值圖仍存在少量的噪聲等問題,因此在未來的研究中將致力于優化模型以適用于更復雜的場景,并進一步探索模型的可遷移性。