劉星雨 王 建 朱 恰 馬紫雯 周再文 高賢君
(長江大學地球 科學學院, 湖北 武漢 430100)
隨著國家經濟快速發展,城市建設不斷增強,建筑物作為城市重要組成成分之一,其變化信息對城市管理、城市規劃等業務具有重要意義[1-2]。現階段的建筑物變化檢測方法主要有兩種,一種是依靠傳統的人工方法進行調查取證,該方法效率低,綜合性差、經濟性低,消耗大量人力物力且無法做到全面檢測[3]。第二種方法是利用監控攝像頭,使用視頻檢測技術等設備,建成資源動態監測系統。該方法成本高、時間長、不適用于大范圍的監測[4]。近年來,遙感技術突飛猛進,遙感影像因其具有分辨率高、覆蓋范圍廣、調查周期短、回收方便、成本較低等特點使其在現實生活中的很多重要領域發揮著不可或缺的作用,如地圖制圖與更新、城市規劃與管理、災害應急響應、資源調查、軍事目標識別等等。變化檢測是遙感技術的主要應用之一[5],其中以城市建筑物作為重要的人工地物之一的建筑物變化檢測,更是成為國內外學者研究的熱點[6]。
建筑物變化檢測一般包含兩種模式:一種是直接進行變化檢測,從檢測結果中提取建筑物;另一種是先提取出建筑物后,再進行建筑物變化檢測。由于第一種方法對糾正和匹配的精度要求較高,目前學者們多采用第二種模式進行建筑物變化檢測研究[7]。遙感圖像上的建筑物,具有很多特征,如陰影、形狀、紋理布局等。目前存在的變化檢測方法可分為基于像素的變化檢測、基于特征的變化檢測、基于目標的變化檢測三大類[8]。基于像素的變化檢測,是對不同時相的遙感圖像進行像素級的比較,直接得出每個像素的變化情況,如張永梅等[9]提出了對多個時相的遙感圖像進行基于比值法并結合對象特征的像素級變化檢測。基于特征的變化檢測主要是依靠提取出的色調、形狀、結構紋理等特征信息進行比較分析。這種方法受配準精度影響小,且特征在圖像上的表現一般具有穩定性,因此其不易受圖像時相變化的影響。季順平等[10]、袁修孝等[11]提出了基于陰影檢測的建筑物變化檢測方法。劉波[12]等提出一種基于正樣本單分類器學習框架下的建筑物變化檢測算法,利用一種單分類器和形狀特征判定其變化。基于目標的變化檢測最主要的特點是將圖像看作多個具有語義信息的對象的組合,將其作為檢測單元進行檢測。林雨淮等[13]提出一種面向對象的建筑物變化檢測和提取技術,劉瑩等[14]提出利用圖割能量函數模型的高分變率遙感影像建筑物變化檢測。以上方法都獲得了較好的成果,但基于像素的變化檢測方法忽略了目標的整體性,且對前后時相圖像配準精度要求高,像素之間的唯一偏差會產生大量的偽變化;基于特征的變化檢測目前仍是多種特征的簡單組合,將它們充分利用、取長補短從而獲得更加準確可靠的檢測結果仍需進一步研究;目標級的變化檢測在研究和實際應用中難度較大。
差值分析法在變化檢測中有廣泛應用[15],但簡單的差值法難以反映單一種類地物的變化情況且其閾值的設定對檢測精度影響較大。鑒于目前的深度學習能夠提取并分析從低至高的多層次信息,有利于提高建筑物檢測結果的精度,為變化檢測提供更好的檢測基礎。因此,本文提出一種結合深度學習及差值分析的遙感影像建筑物變化檢測方法。首先利用全卷積深度學習網絡對影像進行建筑物提取,將其優化處理后再利用差值法進行分析。本文的方法可以針對建筑物進行檢測,去除閾值對檢測精度的影響,提高檢測精度。
1.1.1基于Unet的建筑物分類初提取
本文利用Unet模型對建筑物進行分類提取,它的基本結構是編碼與解碼,Unet模型如圖1所示。先對圖像進行卷積、歸一化、激活、下采樣,然后用卷積核進行反卷積對下層特征圖進行上采樣,上采樣可以彌補網絡下采樣損失的信息,最終得出一張與輸入圖像尺寸相同的分割圖。Unet是目前應用最廣泛的一種圖像分割模型,它能在很少的圖片中對圖片進行端到端的訓練,并取得較好的結果[16]。經過深度學習初提取后得到的圖像是一幅灰度圖且包含很多非建筑物區域,因此我們需要對初提取結果進行優化。圖1中數字表示通道數,圖例中卷積層數字的單位是像素(pixel)。

圖1 Unet模型圖
1.1.2建筑物多特征聯合驗證優化
建筑物初提取后,利用建筑物的幾何結構、陰影等特征進行驗證,識別出真正的建筑物,去除初提取圖像中的虛假目標,再通過特征點的提取與重構、多邊形擬合等方法達到建筑物的邊界輪廓優化的目的,解決輪廓不整齊等問題。
建筑物特征驗證指數如高賢君等[17]提出的相交邊界陰影比率η,其定義見公式(1),NESD為區域膨脹邊界與偏移建筑物區域相交部分,NESD為EBSD上所有像素個數,NSD為EBSD上陰影個數,建筑物的η值較高而裸地的η值較低,可以通過對η設定合理的限定值來區分建筑物。
(1)
根據道路對象與建筑物在形狀上的差異提出用來區分建筑物與道路對象的指數ILF,其定義見公式(2),L為矩形長度,W為矩形寬度,np為該對象像素的總個數。道路的ILF較大,建筑物的ILF較小,通過設置閾值可將道路與建筑物分開[18]。
(2)
此處的后處理優化主要是利用形態學和建筑物驗證方法進行處理。以圖2(a)所示的原始圖像為例,進行基于深度學習優化的建筑物提取,圖2(b)為深度學習的特征圖,基于此提取初步結果進行優化后的結果如圖2(c)所示。可以看出,建筑物基本能被準確地提取出來。

圖2 基于深度學習建筑物提取結果
變化檢測的方法多種多樣,差值法是其中應用較為廣泛的方法之一,其概念簡單直接、易于理解、方便運用、具有很強的實用性[19]。
1.2.1差值法基本原理
差值分析法的基本原理是對多時相圖像進行配準后用相對應像元的灰度值做減法,結果即代表了變化部分。差值法的表達公式如式(3)所示。
D(i)=|T1(i)-T2(i)|
(3)
式中i代表像元的坐標(x,y),T1、T2代表前后兩個不同時相的圖像。建筑物的變化分為增加的建筑物和減少的建筑物兩部分,增加的建筑物用式(4)表示,減少的建筑物用式(5)表示。
D(i)=T2(i)-T1(i)
(4)
D(i)=T1(i)-T2(i)
(5)
得到初步結果后,可以根據實際情況設置一個閾值,小于該閾值的視為未變化,大于該閾值的則為變化區域[20]。
1.2.2多時相建筑物結果的差值處理
影響遙感影像的因素很多,且其包含的地物種類多種多樣,建筑物只是其中一種,將差值法直接運用到建筑物變化檢測中顯然會存在很多誤差和噪聲。
本文的方法流程見圖3。利用差值法進行運算前,先對前后兩個不同時相的遙感影像進行處理。T1、T2分別為前后兩個不同時相的遙感影像,利用深度學習的方法提取出兩個不同時相圖像的建筑物,然后對得到的提取圖像進行優化,包括建筑物驗證和邊緣處理兩部分,得到只包含建筑物的二值圖像,1代表建筑物、0代表背景,最后使用差值法對兩幅圖像做減法,得到的結果僅反映了建筑物部分的變化,不受圖片其他地物的影響。

圖3 本文方法流程圖
1.2.3差值結果的形態學后處理
利用差值法思想,用后時相結果減去前時相結果,可以獲取建筑物增加的部分,如圖4(a)所示。反之可以獲取建筑物減少的部分,如圖4(b)所示。但其未經處理的圖像有很多噪聲,影響了對變化建筑物的判斷,因此,進一步利用形態學的腐蝕、膨脹等方法對差值檢測的基本結果進行優化處理,以修復問題區域。

圖4 差值法形態學優化結果
灰度數學形態學的運算對象為圖像函數,設f(s,t)是輸入圖像,b(x,y)是結構元素,Df和Db表示f和b的定義域,用結構元素b對圖像f進行膨脹的運算見公式(6)
(f⊕b)(s,t)=max{f(s-x,t-y)+
b(x,y)|(s-x,t-y)∈Df,(x,y)∈Db}
(6)
用結構元素b對圖像f進行膨脹的運算為
(fΘb)(s,t)=min{f(s+x,t+y)+
b(x,y)|(s+x,t+y)∈Df,(x,y)∈Db}[21]
(7)
膨脹可以擴大邊界,使圖像邊界向外擴張,消除單個塊邊緣預測弱的現象,可以用來填補目標區域中的空洞,起到平滑對象邊緣的作用,對圖像進行膨脹會使明亮區域的面積擴大[4]。
腐蝕可以平滑對象邊緣,弱化或分割圖像之間的半島形連接,是一種可以使圖像向內收縮的過程,使用腐蝕處理對于去除小的、孤立的無意義的區域有很好的效果。建筑物提取的結果中,可能會存在前后時相建筑物邊界之間有細小的差異的情況,這些細小的差異是沒有意義的,它們不代表建筑物的變化,對于這種情況,使用腐蝕的方法可以很好地去除。
但是單獨使用腐蝕膨脹算法的效果并不好,并且還會使圖像的質量下降,連續的腐蝕和膨脹可以降低對圖像面積的影響[22],因此本文采用形態學中的組合運算:開運算與閉運算。開運算就是先腐蝕后膨脹,閉運算是先膨脹后腐蝕。
用b對f進行開運算的定義為
f·b=(fΘb)⊕b
(8)
用b對f進行閉運算的定義為
f·b=(f⊕b)Θb
(9)
開運算可以去掉圖像的單個像素點,在纖細處分離物體,使圖相邊界相對平滑且不明顯改變其面積,閉運算主要功能可以填補圖像中小的孔洞,本文使用參考點位于中心15 pixel×15 pixel的結構元素,對圖像進行開運算。
以圖4所示影像的前后時相圖像為例,對提取的建筑物進行差值計算后的結果進行優化,最終的結果如圖4(e)、(f)所示。可以看出,該方法可以較為準確地檢測出變化的建筑物,排除一些細碎雜物的干擾。
本實驗中原始輸入影像大小為512 pixel×512 pixel,從而構建特征金字塔。實驗的編程語言為python,編程平臺為JetBrains PyCharm 2017.1。實驗環境為:i7-9700k處理器,32 GB內存,NVIDIA RTX2080Ti 8 G顯卡,GPU加速庫采用CUDA10.0。DeepLearning框架以Keras作為前端,TensorFlow為后端。
為了更好比較兩種方法的實驗結果,本文采用式(10)表示的準確率A(Accuracy)、式(11)表示的召回率R(Recall)、式(12)表示的精確率P(Precision)來進行評定,其中ncorrect表示正確的樣本個數,ntotal表示總樣本個數,TP(True positive)表示將正類正確預測為正類數,FP(False Positive)表示將負類錯誤預測為正類數,FN(False Negative)表示將正類錯誤預測為負類數。
(10)
(11)
(12)
為了實驗本文提出的方法與直接差值分析法的效果,以圖5~7為例進行建筑物變化檢測。變換的建筑物已在圖像中標注。表1給出了精度對比,由表1中數據可以看出,本文方法的準確率、召回率、精確率皆高于簡單差值法。尤其是召回率和精確率得到了大幅度提升。

表1 不同方法變化檢測精度比較 單位:%
從圖5~7所示的三組影像的結果對比可以看出簡單差值法能檢測出部分變化信息,但準確度不高,容易受除建筑物外其他地物的影響,如車輛、耕地等。檢測結果中對房屋輪廓等邊緣信息的檢測較為明顯,對細節的檢測結果較差,且含有大量的偽變化信息。本文提出的檢測方法可以準確地檢測出變化區域,清晰地體現建筑物的邊緣和細節信息。簡單差值法是在灰度圖的基礎上直接進行差值分析,受陰影、天氣、閾值等因素影響較大,本文方法先提取建筑物并將灰度圖轉化為二值圖像,避免了道路、植被、耕地等地物的干擾,轉化為二值圖像后極大地減少了陰影和天氣造成的影響。

圖5 影像A建筑物變化檢測結果

圖6 影像B建筑物變化檢測結果

圖7 影像C建筑物變化檢測結果
針對目前人為進行建筑物變化檢測存在的效率低、工作量大等問題,結合圖像差值法在變化檢測中的廣泛運用,本文將圖像差值法與建筑物變化檢測相結合,提出一種先對遙感影像進行建筑物提取、優化,再引入差值法對提取結果進行變化檢測的方法。一方面該方法較為簡單,便于理解、易于實現,能清楚地反映變化區域,另一方面它極大地減小了普通的差值分析法中閾值的設定對變化檢測精度的影響。在腐蝕、膨脹處理后更是可以減少圖像噪聲,使圖像質量更高更完美,清晰地突出變化部分。
該方法能有效地檢測變化的建筑物,在實際應用中效果顯著,但由于前后時相圖像的匹配偏差以及投影偏差,在后處理時選取的開運算的核可能會在一定程度上影響檢測精度,這也是后期需要深入研究的地方。