孫雯婷 施文灶 王磊 溫鵬宇 莊鎮(zhèn)榕 楊瑋琦 李甜
摘要:傳統(tǒng)遙感影像建筑物變化檢測的方法,其算法簡單,對中低分辨率、信息量少且簡單的影像有較好的檢測效果。但隨著影像分辨率的提高,遙感影像所含的信息量大且復雜,而且檢測類不平衡,這使得傳統(tǒng)的方法誤差變大,其檢測結果的誤檢和漏檢都很高。為了能夠適應更高分辨率的遙感影像,解決上述問題,該文提出一種深度學習的方法,具體為以UNet++為骨干網絡,改進此網絡的編碼器為孿生卷積網絡,以殘差網絡代替全卷積網絡模塊,并且引入注意力機制,最后用多邊融合輸出得到變化檢測結果。通過上述改進的驗證,與其他變化檢測的方法相比,在精確率、召回率、F1分數(shù)和總體精度四個評價指標上均有不同程度的提高,分別達到了0.896、0.873、0.875和0.967。
關鍵詞:建筑物變化檢測;編碼器-解碼器;UNet++;注意力機制
中圖分類號:TP391? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)25-0020-06
開放科學(資源服務) 標識碼(OSID) :
1 引言
變化檢測通過在不同時間觀察對象或現(xiàn)象來識別其狀態(tài)差異的過程[1]。遙感影像建筑物變化檢測是一種通過多次觀測來檢測和提取建筑物語義變化信息的技術。導致遙感影像建筑物的語義變化的因素有很多,如建筑物的增加、建筑物的消失和建筑物的幾何形狀發(fā)生變化。遙感影像建筑物的變化檢測具有多種應用,如城市變化監(jiān)測、非法建筑識別和災害管理等。隨著衛(wèi)星成像技術的發(fā)展,許多高分辨率的遙感影像可以更容易地獲得。在高分辨率遙感影像中,地物具有更多的空間和形狀特征,因此,高分辨率遙感影像成為變化檢測的重要數(shù)據源[2]。有效提取和學習高分遙感影像中豐富的特征信息,減少偽變化的干擾,即沒有真正發(fā)生的變化和不感興趣的變化,進一步提高變化檢測的準確性是遙感變化檢測領域的重要課題。
在過去的幾十年,學者們開發(fā)了大量的遙感影像建筑物變化檢測方法。傳統(tǒng)的變化檢測方法可以分為兩類:基于像素的變化檢測和基于對象的變化檢測[3]。基于像素變化檢測方法,其主要利用像素的文本特征,如差值法、多波段指數(shù)法、機器學習法[4-6]等?;趯ο蟮淖兓瘷z測方法更適用于超高分辨率圖像中的變化檢測,利用對象作為過程單元來提高最終結果的完整性和準確性。由于可以在圖像對象中提取豐富的光譜、紋理、結構和幾何信息,因此在基于對象變化檢測[7]中主要研究使用這些特征的雙時間對象的相似性分析。
最近,深度學習的方法在計算機視覺領域優(yōu)于傳統(tǒng)方法。因為類人推理和體現(xiàn)輸入圖像語義的魯棒特征的好處,它們取得巨大成功,因此基于深度學習的遙感影像變化檢測也成了研究的熱門[8-11]。在文獻中,已經進行了大量嘗試來使用深度學習技術解決變化檢測問題。深度學習的方法可以分為兩類,基于度量的方法和基于分類的方法。而目前的這些方法對遙感影像建筑物變化檢測的準確率較低。為了提高檢測的準確率,該文針對遙感圖像建筑物數(shù)據集的特點,即大部分的遙感影像建筑物變化的數(shù)量遠小于不變的數(shù)量,提出解決辦法。該文利用UNet++作為主干網絡,引入孿生卷積網絡作為編碼進行特征提取,利用殘差網絡代替全卷積網絡,來獲得更多的判別特征表示,使得變化特征更具備魯棒性。除此之外,雙時相的遙感圖像因為拍攝的時間不同,可能會出現(xiàn)配準誤差,這會引起邊緣檢測錯誤導致變化檢測也會出現(xiàn)誤差,本文為了解決這個問題,使用自注意力機制,其能夠捕獲更豐富的時空關系,獲得光照不變和配準誤差的魯棒性特征。
2 改進UNet++網絡架構
遙感影像建筑物屬于小目標物體,使得建筑物的變化在遙感影像上顯得很小。解決建筑物小目標對象問題的最佳網絡架構是編碼器-解碼器風格的架構,并且編碼器-解碼器架構具有高度的靈活性和優(yōu)越性,它可以同時考慮抽象能力和位置信息。
為了減少來自編碼器和解碼器子網絡的特征圖之間的語義差距,周等人提出了UNet++[12-13]的新型醫(yī)學圖像分割結構。UNet++使用了一系列嵌套和密集的跳躍連接,融合了來自編碼器和解碼器不同比例的特征圖,不同比例的特征圖有其獨特的信息,在遙感建筑物變化檢測過程中產生的特征圖,低級詳細特征圖捕獲豐富的空間信息,突出建筑物的邊界,而高級語義特征圖則包含位置信息,用于定位建筑物所在的位置。因此UNet++能夠保持圖像的特征和細粒度的定位信息,從而產生較好的分割結果。
變化檢測可以視為二值圖像分割的問題,所以引入高級語義分割架構來解決變化檢測任務。受到UNet++的啟發(fā),以UNet++作為骨干網絡對遙感圖像建筑物的小目標進行語義分割以及進一步的變化檢測,都具有很好的潛力。以此為基礎,開發(fā)了一種基于高分辨遙感影像的端到端變化檢測結構,詳細結構圖如圖1所示。首先兩個時期的圖像通過孿生卷積網絡作為變化檢測網絡的輸入,孿生卷積網絡的兩個分支對圖像分別進行處理,兩個分支網絡具有相同的結構,并共享參數(shù)。兩個分支下采樣融合了兩個分支的特征,融合后的高分辨率、細粒度的特征通過跳躍連接依次傳輸?shù)浇獯a塊,補償解碼器深層位置信息的丟失。采用具有密集跳過連接的UNet++模型作為主干網絡來學習多尺度和不同語義級別的視覺特征表示。為了提高網絡的收斂能力,UNet++解碼塊的全卷積模塊改為殘差模塊。并且在解碼塊之前加入注意力機制,以減少數(shù)據不平衡的影響。為了充分利用每個層次的特征圖,并且進一步改善輸出結果圖的精度,通過輸出融合不同層次的特征圖來提高空間細節(jié)。每層輸出都與一個混合損失函數(shù)相連,提高特征圖的精度。最后,一個sigmoid層生成最終的變化檢測結果圖。
2.1 孿生卷積網絡編碼塊
建筑物變化檢測的目的是檢測不同時間同一區(qū)域的多時相遙感圖像之間具有“語義變化”的像素。實際上就是對多時相的像元進行分類,高分辨遙感影像信息量很豐富,對特征的提取要求更高,所以這里選擇孿生全卷積神經網絡作為編碼器,如圖2所示。編碼器的結構為Siamese-Differenc[14]結構,通過對網絡的兩個分支對圖像分別進行處理,提取雙時相圖像中的多尺度特征,兩個分支網絡具有相同的結構,并共享參數(shù)。具體即兩個時相的遙感影像分別輸入編碼網絡的兩個分支,兩個分支分別輸入的是RGB三通道圖片,兩個分支每個編碼塊由兩個卷積層、一個池化層組成,卷積層可以從輸入圖像中提取層次特征。池化層的功能包括感受野擴大和降維,用于聚合特征。每個編碼塊在第二層卷積層取建筑物特征后,將兩個分支的特征圖相減后取絕對值作為這一層的輸入即xi,0。
2.2 殘差網絡解碼塊
原始的UNet++網絡結構,不同階段的特征圖直接疊加,并且沒有使用全局上下文特征來區(qū)分各種類別。而殘差模塊[15-16]利用殘差結構對抽象特征進行細化,提高特征的抽象表達能力。同時,殘差模塊避免了網絡層數(shù)過多導致梯度消失和網絡退化的問題。殘差模塊如圖3所示。每個殘差模塊包含兩條路徑,其中一條路徑是輸入特征的直連通路,另一條路徑對該特征做兩次卷積操作得到該特征的殘差,最后再將兩條路徑上的特征相加。
2.3 注意力機制
注意力機制[17]可以用于圖像語義分割。通過矩陣算法,注意力機制可以理解為任意兩個位置之間特征圖的合作。因此,可以在不增加計算和存儲成本的情況下對遠程依賴進行建模。在UNet++跳躍連接添加一個注意力機制,注意力的流程圖,如圖4所示。注意力機制的輸入為上采樣的特征圖和橫向跳躍連接特征圖,上采樣的特征圖用作門控信號,以提高在分割任務中建筑物的學習能力,同時抑制無關的背景區(qū)域。因此,注意力機制可以通過跳躍連接來提高生成語義信息的效率。此外,選擇激活函數(shù)Sigmoid來訓練收斂性,得到注意力系數(shù)α。然后,通過編碼器特征,通過系數(shù)α像素與像素相乘得到輸出。
2.4 輸出深度監(jiān)督
UNet++網絡結構有四個不同尺度特征圖的輸出,淺層特征圖捕捉的是豐富的空間信息,突出建筑物的邊界,而深層的特征圖則體現(xiàn)建筑物的位置信息,為了能夠充分利用多尺度的特征圖,提出深度監(jiān)督[18]的特征融合方法來結合變化檢測多尺度特征圖的低級語義和高級語義。深度監(jiān)督的策略類似UNet3+[19]提出的全尺度深度監(jiān)督。具體監(jiān)督方式如圖1所示,對于四個輸出節(jié)點[{x0,1,x0,2,x0,3,x0,4}],四個節(jié)點后面跟著一個sigmoid層得到邊輸出結果[{y0,1,y0,2,y0,3,y0,4}]。然后,可以通過四個側輸出結果來生成一個新的輸出節(jié)點[x0,5]:
[x0,5=y0,1⊕ y0,2⊕ y0,3⊕ y0,4] (1)
其中⊕表示連接操作。同樣,x0,5之后是sigmoid層,因此可以生成融合輸出y0,5。因此,在深度網絡中產生了五個輸出,來自所有側輸出層的多級特征信息被嵌入最終輸出y0,5,從而能夠捕獲更精細的空間細節(jié)。
2.5 混合損失函數(shù)
不平衡問題在深度學習任務中很常見。對于遙感影像變化檢測,變化樣本和不變樣本的數(shù)量差異很大。在許多情況下,變化像素只占圖像總像素非常小的百分比,會在訓練階段導致網絡出現(xiàn)一些偏差。為了削弱樣本不平衡的影響,使用了一個混合損失函數(shù)。該混合損失函數(shù)基于二進制交叉熵損失函數(shù)(BSE) 和骰子損失函數(shù)(Dice Loss) , Dice Loss相當于從全局上進行考查,BSE是從微觀上逐像素進行拉近、角度互補。
提出的改進UNet++網絡結構,在sigmoid 層的分類器之后生成了五個輸出層。假設相應的權重表示為wi(i = 1, 2, 3, 4, 5)。然后,整體損失函數(shù)L可以定義為:
[L=i=15ωiLi] (2)
其中Li(i = 1, 2, 3, 4, 5) 表示來自第i個輸出的損失,它通過結合二元交叉熵損失函數(shù)和骰子系數(shù)損失來使用:
[Li=Libac+λLidice] (3)
其中Lbce表示二元交叉熵損失,Ldice是骰子系數(shù)損失,λ是指平衡這兩個損失的權重。
2.5.1 二元交叉熵損失函數(shù)
基于衛(wèi)星圖像的變化檢測任務,變化/未變化像素的分布存在嚴重偏差。特別是某些區(qū)域僅被改變或不變的像素所覆蓋,導致在深度神經網絡訓練過程中出現(xiàn)嚴重的類不平衡問題。因此,必須為有偏采樣引入權衡參數(shù)。在端到端訓練方式中,損失函數(shù)是在訓練圖像的所有像素上計算的:
[X=xi(i=1,2,…,|X|)] (4)
[Y=yj(j=1,2,…,|Y|)] (5)
其中X表示輸入圖像,Y表示輸出層圖像,并且yj∈{0,1}。采用簡單的自動平衡策略,二元交叉熵損失函數(shù)可以定義為:
[Lbac=-αjεY0logPr(yj=0)-βjεY1logPr(yj=1)] (6)
其中Y0表示遙感影像標簽中未變化的像素,Y1示遙感影像標簽中變化的像素,其中[α=Y1Y0+Y1],[β=Y0Y0+Y1],Pr(.)是像素j處的 sigmoid輸出。
2.5.2 骰子系數(shù)損失函數(shù)
為了提高分割性能并削弱類不平衡問題的影響,通常在語義分割任務中應用骰子系數(shù)損失。一般來說,兩個輪廓區(qū)域的相似度可以用骰子系數(shù)來定義。此外,骰子系數(shù)損失可以定義為:
[Ldice=1-2YYY+Y] (7)
其中Y和?分別表示訓練圖像對的預測概率和真實變化的標簽。
3 實驗和結果
3.1 數(shù)據集LEVIR-CD
數(shù)據集LEVIR-CD[11]包括637個超高分辨率的Google Earth雙時相遙感圖像對組成,每幅圖的大小為1024×1024像素,空間分辨率為0.5米。這些雙時相圖像來自美國得克薩斯州多個城市的20個不同地區(qū),數(shù)據集涵蓋了各種類型的建筑,例如別墅住宅、高層公寓、小型車庫和大型倉庫。該數(shù)據集的建筑物變化不僅包括建筑物的消失,也包括建筑物的更新和建筑物無變化的樣本。LEVIR-CD數(shù)據集分為train、val和test三個部分,分別有445、64和128對。
3.2 實驗環(huán)境和設計
本文實驗運行環(huán)境為Windows,平臺為11GB顯存的GPU(RTX2080Ti) ,采用Python3.6語言,PyTorch框架。訓練選用Adam優(yōu)化算法,batchsize為8,學習率為0.0001,epochs為200,耗時5h。
3.3 評估指標
遙感影像建筑物變化檢測從本質上來說,是針對像素是否發(fā)生變化的二分類問題,因此對變化檢測的結果進行對比和分析需要采用科學的評價指標。常見的評價指標有精確率(Precision) 、召回率(Recall) 、F1分數(shù)、總體精度(OA) 等。評價指標具體計算為公式(8) ~(11) 。在變化檢測任務中,精確率的值越高,表示預測結果的誤檢越少,召回率的值越大,表示漏檢的預測結果越少,而F1分數(shù)和總體精度(OA) 是對預測結果的綜合評價指標,它們的值越大,表示預測的結果越好。
[[P=TPTP+FP] (8) [R=TPTP+FN] (9) [F1=2×P×RP+R] (10) [OA=TP+TNTP+TN+FP+FN] (11) ]
3.4 損失函數(shù)參數(shù)值的設置
損失函數(shù)可以衡量提出模型的好壞,對變化檢測的最終結果起著重要的作用,前面提到,整體的損失函數(shù)為公式(2) ,設置輸出權重wi=1,但是公式(3) 中,參數(shù)λ的數(shù)值也具有重要的意義。為了驗證λ的最佳值,設置了實驗,選取不同的λ值,并計算相應的評估指標。
如表1所示。當λ=0時,表示僅有二元交叉熵損失函數(shù),當λ=1時,表示僅有骰子損失函數(shù),這時四個評價指標的值都較低。當λ=0.5時,損失指標P、R、F1、OA都到達最大值,這是表示混合損失函數(shù)有很好的效果,因此將λ的值設置為0.5。
3.5 輸出融合的消融實驗
為了能夠讓最后的變化檢測圖能夠學習到從低到高的不同深度的特征,本文提出了輸出融合的辦法,為了檢測這個辦法能夠提高變化檢測的準確率,對輸出融合部分進行消融實驗,即對比是否有本文提出的輸出融合方法對四個評價指標的影響。影響結果如圖5所示,可以看出,使用本文提出的輸出融合辦法可以進一步提高變化檢測的準確率,四個評價指標都有明顯的增幅。
3.6 實驗結果比較
為了驗證提出的變化檢測的方法相較于其他方法有效性和優(yōu)越性,用同一個數(shù)據集對其他的方法進行對比。其他方法包括CD-Net[9]、FC-EF[14]、FC-EF-Res[20]、FC-Siam-diff[14]。其中CDNet是一種用于變化檢測的反卷積網絡架構,該架構基于堆疊收縮和擴展塊的思想,對輸入圖像進行變化檢測,但是編碼器和解碼器之間沒有跳躍鏈接。FC-EF是基于U-Net模型提出的架構,但是僅包含四個編碼層和解碼層,編解碼器之間有跳躍連接。FC-Siam-diff是基于FC-EF模型的連體擴展,不同之處是FC-Siam-diff不是連接來自編碼流的兩個連接,而是連接它們差異的絕對值。FC-EF-Res也是FC-EF的演變,用殘差模塊來代替原來的卷積塊。
對比表2的數(shù)據,CDNet和FC-EF都使用了類似于UNet的編解碼結構,F(xiàn)C-EF相較于CDNet加入了編碼器和解碼器之間的跳躍連接,F(xiàn)1和OA值便有明顯的增長,分別增長了20.18%和3.55%。FC-EF-Res相較于FC-EF整體的性能都有提升,F(xiàn)1和OA分別提高1.65%和0.86%,展現(xiàn)了殘差模塊的優(yōu)勢。FC-Siam-diff采用了孿生編碼結構,比FC-EF直接拼接兩個時相的圖像作為輸入也有更好的性能,F(xiàn)1和OA分別增長了6.36%和2.25%。圖6中,展示了本文和幾個對比方法的遙感影像變化檢測結果圖,對比標簽可以發(fā)現(xiàn),對比方法檢測的結果并非十分準確,邊緣檢測不準確,對于有遮擋或者配準問題有明顯的誤檢。
對此,截取圖6中的部分建筑物的變化如圖7所示,經過對比,本文的變化檢測結果有很明顯的優(yōu)勢,不僅對邊緣的檢測更準確,整體檢測效果也更好。
本文提出的方法,首先以UNet++為骨干網絡,它采用密集型跳躍連接方式獲取到了不同語義層的特征。其次,用孿生卷積網絡來處理兩個時相圖像的輸入,兩個通道的網絡參數(shù)是共享的。第三,用殘差模塊代替原來的卷積模塊,能夠解決網絡退化的問題。第四,引入自注意力機制模塊,不僅能解決低層特征抽象不足和高層特征空間信息丟失嚴重的問題。還能解決遙感影像的配準帶來的影像。第五,利用輸出融合辦法捕獲了不同層級更精細的空間細節(jié)。第六,本文使用的混合損失函數(shù)很好地解決了遙感圖像建筑物變化檢測的不平衡的問題。
因此,本文的遙感圖像建筑物變化檢測的方法在對比試驗中有最好的性能,P、R、F1和OA的值分別達到了0.896、0.873、0.875和0.967。比最差的CDNet的F1和OA分別提高了33.79%和7.33%。這體現(xiàn)了本文的方法的有效性和優(yōu)越性。
4 結束語
為了實現(xiàn)高分辨遙感影像建筑物的變化檢測,本文改進以UNet++為骨干網絡來實現(xiàn)端到端的變化檢測,UNet++的密集跳躍連接是此結構的優(yōu)勢,它能夠從不同的語義級別學習多尺度的特征圖,以孿生卷積網絡代替單通道的輸入,殘差模塊代替全卷積的解碼塊,并且引入注意力機制,最后深度監(jiān)督的融合輸出,進一步提高變化檢測的精度。實驗表示,改進后的網絡模型可以更準確檢測出遙感圖像中建筑物的變化,評價指標都有上升,本文提出的方法是有效的遙感影像建筑物變化檢測方法。
參考文獻:
[1] Singh A.Review Article Digital change detection techniques using remotely-sensed data[J].International Journal of Remote Sensing,1989,10(6):989-1003.
[2] Bruzzone L,Bovolo F.A novel framework for the design of change-detection systems for very-high-resolution remote sensing images[J].Proceedings of the IEEE,2013,101(3):609-630.
[3] Zhan Y, Fu K, Yam M. Change Detecti-on Based on Deep Siamese Convolution-al Network for Optical Aerial Images[J].IEEE Geoscience and Remote Sensing Letters, 2017, 14(10): 1845-1854.
[4] 楊仙瑜,王愛華,修翠梅.高分辨率遙感圖像土地變化信息自動檢測應用——以白鶴灘水電站為例[J].科技與創(chuàng)新,2020(16):118-119,121.
[5] 吳亞玲,黃義忠,彭秋志.基于Python的Landsat 8 OLI影像建設用地自動識別與提取[J].軟件導刊,2018,17(10):161-164.
[6] Bertrand LS,Hicham R. Urban Change Detection in SAR Images by Interactive Learning[C]//Geoscience and Remote Sensing Symposium, 2013:3990-3993.
[7] Ma L,Li M C,Blaschke T,et al.Object-based change detection in urban areas:the effects of segmentation strategy,scale,and feature space on unsupervised methods[J].Remote Sensing,2016,8(9):761.
[8] 于桐,吳文瑾,劉海江,等.基于改進U-Net網絡與聯(lián)合損失函數(shù)的海南自然保護區(qū)高分辨率遙感變化檢測模型[J].中國環(huán)境監(jiān)測,2021,37(5):194-200.
[9] Alcantarilla P F, Stent S, Ros G. Street-view change detection with deconvolutional networks [J]. Autonomous Robots, 2018,42(7): 1301-1322.
[10] 趙亮,徐云和,陳磊.基于孿生神經網絡的遙感影像變化檢測研究[J].測繪通報,2021(S1):129-133.
[11] Chen H,Shi Z W.A spatial-temporal attention-based method and a new dataset for remote sensing image change detection[J].Remote Sensing,2020,12(10):1662.
[12] Zhou Z,Siddiquee M M R,Tajbakhsh N,et al.UNet++:redesigning skip connections to exploit multiscale features in image segmentation[J].IEEE Transactions on Medical Imaging,2020,39(6):1856-1867.
[13] Zhou Z W,Siddiquee M M R,Tajbakhsh N,et al.UNet++:a nested U-net architecture for medical image segmentation[J].Deep Learning in Medical Image Analysis and Multimodal Learning for Clinical Decision Support,2018,11045:3-11.
[14] Daudt R C,Saux B L,Boulch A.Fully convolutional Siamese networks for change detection[EB/OL].2018:arXiv:1810.08462.https://arxiv.org/abs/1810.08462.
[15] He K M,Zhang X Y,Ren S Q,et al.Identity mappings in deep residual networks[EB/OL].2016:arXiv:1603.05027.https://arxiv.org/abs/1603.05027.
[16] He K M,Zhang X Y,Ren S Q,et al.Deep residual learning for image recognition[EB/OL].2015:arXiv:1512.03385.https://arxiv.org/abs/1512.03385.
[17] Hu J,Shen L,Albanie S,et al.Squeeze-and-excitation networks[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2020,42(8):2011-2023.
[18] Lee C Y,Xie S N,Gallagher P,et al.Deeply-supervised nets[EB/OL].2014:arXiv:1409.5185.https://arxiv.org/abs/1409.5185
[19] Huang H M,Lin L F,Tong R F,et al.UNet 3+:a full-scale connected UNet for medical image segmentation[EB/OL].2020:arXiv:2004.08790.https://arxiv.org/abs/2004.08790.
[20] Daudt R C,Saux B L,Boulch A,et al.Multitask learning for large-scale semantic change detection[EB/OL].2018:arXiv:1810.08452.https://arxiv.org/abs/1810.08452.
【通聯(lián)編輯:唐一東】