劉 舸,鄧興升
(長沙理工大學(xué)交通運(yùn)輸工程學(xué)院,湖南 長沙 410114)
建筑物是城市活動的主要載體,建筑物信息自動化提取對城市規(guī)劃、環(huán)境監(jiān)測等領(lǐng)域有重要意義。由于高分辨遙感影像包含大量光譜、結(jié)構(gòu)和紋理信息,這些信息為精確的建筑物檢測提供可能。然而手動提取這些圖像中的建筑物在區(qū)域內(nèi)或全球尺度是不切實際的,因此有必要開發(fā)能夠自動或半自動提取建筑物的方法。文獻(xiàn)[1]采用多尺度對象分割與決策樹分類提取建筑物區(qū)域。文獻(xiàn)[2]通過手工構(gòu)造建筑物的多星型約束,利用圖割法提取建筑物。文獻(xiàn)[3]對建筑物陰影自動定位建筑物的位置,再利用圖割法提取建筑物,達(dá)到全自動提取建筑物。文獻(xiàn)[4]使用一系列形態(tài)學(xué)操作得到建筑物的形態(tài)學(xué)特征,再利用支持向量機(jī)(support vector machine,SVM)提取建筑物信息。這些方法都需要人工設(shè)計一些建筑物特有的特征來獲取建筑物的位置,從而使建筑物和非建筑物區(qū)分開來。深度學(xué)習(xí)通過在淺層網(wǎng)絡(luò)中自動提取低級特征,在深層網(wǎng)絡(luò)中獲取高級特征,避免人工構(gòu)造低級特征。文獻(xiàn)[5—6]利用深層卷積神經(jīng)網(wǎng)絡(luò)(deep convolutional neural networks,DCNNs)檢測航空影像建筑物,能達(dá)到一定的精度,但存在結(jié)果邊界不完整的情況。
針對上述高分辨率遙感影像建筑物信息提取現(xiàn)存的問題,本文提出一種深度學(xué)習(xí)與圖割法融合處理的方法。用深度學(xué)習(xí)對建筑物進(jìn)行檢測和定位,避免了人工設(shè)計低級特征,再用粗提取結(jié)果建立建筑物區(qū)域和非建筑物區(qū)域的高斯混合模型(GMM),減少圖割法中人工標(biāo)記前景和背景的操作,提高自動化程度,然后用最大流/最小割法提取建筑物輪廓,最后優(yōu)化圖割法結(jié)果,得到建筑最終輪廓。
本文建筑物輪廓信息提取方法流程如圖1所示。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)的起點(diǎn)是Necognitron模型,模型已經(jīng)體現(xiàn)了大部分現(xiàn)代CNN的結(jié)構(gòu)[7]。根據(jù)研究需要,本文設(shè)計的深度卷積神經(jīng)網(wǎng)路結(jié)構(gòu)為:輸入層、2個卷積層、2個批標(biāo)準(zhǔn)化層、2個池化層、解卷積層。其網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
構(gòu)建深度卷積神經(jīng)網(wǎng)絡(luò)模型,其中卷積過程為
(1)
式中,fij(1≤i≤M,1≤j≤N)表示二維單通道特征圖;kij(1≤i≤m,1≤j≤n)表示卷積核;b為噪音。
在批標(biāo)準(zhǔn)化和池化層之間加入ReLU激活函數(shù)[8],其公式為f(x)=max(0,x)。
批標(biāo)準(zhǔn)化(batch normalization):文獻(xiàn)[9]指出批標(biāo)準(zhǔn)化使損失空間更加平滑,這種平滑性能加速模型的訓(xùn)練過程。具體的,批處理化分為歸一化和轉(zhuǎn)換重構(gòu)兩個步驟:
(1) 歸一化求出樣本的零均值μ和單位方差σ。
常用池化層模型主要有兩種:最大池化層[10]和平均池化層[11]。根據(jù)文獻(xiàn)[12]和本文試驗結(jié)果,使用平均池化層。其平均池化層的公式為
(2)
式中,Gij為由卷積層得到特征圖矩陣;c為池化層正方形區(qū)域的邊長和池化步長;b1為偏移量。
解卷積是卷積的逆過程,即已知h,尋求合適的k,重構(gòu)f。通過解卷積來恢復(fù)圖像的原始尺寸,以獲取端對端的預(yù)測圖像。
用訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)模型對遙感影像進(jìn)行預(yù)測,遙感圖像為g(x,y),已訓(xùn)練好的CNNs模型為CNNs( ),建筑預(yù)測圖為p(x,y)。p(x,y)為二值圖像,建筑物像素點(diǎn)值為1,非建筑物像素點(diǎn)值為0。
(1) 檢測建筑物輪廓。建筑物圖像p(x,y)通過連通分析將建筑物聚類,根據(jù)文獻(xiàn)[13]中提供的二值圖像外輪廓檢測方法檢測出預(yù)測圖p(x,y)中單個建筑物組成的像素點(diǎn)集合S={S(xi,yj)|i=1,2,…,n,j=1,2,…,n,且(xi,yj)=1}。
(2) 建筑物輪廓的粗差去除。根據(jù)圖像地面分辨率GSD的大小設(shè)置閾值去除微小建筑物輪廓,其經(jīng)驗公式為
(3)
式中,num(Si)為第i個像素塊的數(shù)量;w和h分別為圖像中最小建筑的長和寬,GSD為圖像的地面分辨率,本文取值0.3 m。
(3) 提取建筑物圖斑。對第i個建筑物輪廓Si進(jìn)行形態(tài)學(xué)膨脹后,獲取的膨脹的輪廓取外接矩形為
Ri={(x,y,(Δx,Δy)}
(4)
式中,(x,y)為外接矩形Ri的左上角坐標(biāo);(Δx,Δy)為Ri在X軸和Y軸的坐標(biāo)值增量。
(4) 提取建筑物掩模。將建筑物輪廓S={Si|i=1,2,…,n}進(jìn)行形態(tài)學(xué)濾波腐蝕處理,縮小輪廓獲得建筑物掩模SM={(x,y)|(x,y)∈SM}。
建筑物圖斑映射為對應(yīng)的加權(quán)圖,用最大流/最小割算法尋找圖的最小割[14],構(gòu)建加權(quán)圖的能量函數(shù)E(L),其公式為
(5)
式中,D(L)為數(shù)據(jù)項,表示像素n取標(biāo)記L的費(fèi)用;Vm,n(L)為邊界項;m,n為點(diǎn)鄰域r=4,8,16的近鄰區(qū)域;L為建筑物與非建筑物的分割標(biāo)號,L=1表示建筑物,L=0表示非建筑物;N為圖像中所有鄰接像素對組成的集合。
初始化時用掩模對加權(quán)圖進(jìn)行賦值,屬于掩模內(nèi)的像素點(diǎn)賦值為1,計算所在位置的高斯混合模型,這樣能取代人工標(biāo)記建筑物(前景)種子點(diǎn)和非建筑物(背景)種子點(diǎn)。根據(jù)上述的能量函數(shù),采用標(biāo)準(zhǔn)最大流/最小割算法[15]求解能量函數(shù)的最小割,然后確定每個像素點(diǎn)的標(biāo)記L。
圖割法處理后可能出現(xiàn)一些小的地物,如車輛等,通過圖像地面分辨率給定面積閾值Ta。通過連通分析將提取結(jié)果聚集為不同的對象,去除面積小于Ta的對象。本文Ta設(shè)置為5 m2。使用文獻(xiàn)[16]方法對圖割法提取的建筑物進(jìn)一步優(yōu)化,得到最終成果。
本文試驗使用Ubuntu下的PyTorch機(jī)器學(xué)習(xí)框架,采用Python語言編程實現(xiàn),硬件環(huán)境為AMD RYZEN 5 2600,GPU Nvidia GTX1060 6 GB內(nèi)存。為了驗證本文所提方法的可行性和有效性,利用文獻(xiàn)[17]提供的數(shù)據(jù)集,分辨率為0.3 m。
本次試驗選擇的建筑物為規(guī)則多邊形,且建筑物與周圍環(huán)境的光譜差別明顯,試驗流程如圖3所示。對本文算法詳細(xì)描述如下:
(1) 利用卷積神經(jīng)網(wǎng)絡(luò)對原圖(圖3(a))上的建筑物進(jìn)行檢測,得到建筑物預(yù)測圖(圖3(b))。其結(jié)果能覆蓋建筑物,但是建筑物的外輪廓不完整。
(2) 根據(jù)建筑物預(yù)測圖(圖3(b))檢測與提取建筑物輪廓(圖3(c)中的框線)和建筑物掩模(圖3(d)灰度部分)。
(3) 利用建筑物輪廓裁剪獲取建筑物圖斑(圖3(e))。
(4) 使用圖割法提取建筑物如圖3(f)所示。
(5) 對初步提取結(jié)果優(yōu)化。
本文算法與其他方法的結(jié)果對比見表1。從圖3及表1可以看出,對于光譜值差別明顯、簡單的規(guī)則建筑,分割結(jié)果比較完整,但是存在建筑物邊緣模糊的情況。經(jīng)過本文方法處理后邊緣較規(guī)則。
表1 本文算法與其他方法的結(jié)果對比
3次試驗采用定性和定量兩種分析方法來評價方法的優(yōu)點(diǎn)。定量使用3個指標(biāo):精確率(Precision)、召回率(Recall)和F1值。
本次試驗的特點(diǎn)是建筑物規(guī)則,建筑物與周圍地物的光譜差別明顯,且部分邊緣不清楚,如圖4所示。
圖4中,圖4(b)為本文提取的建筑物輪廓,與參考數(shù)據(jù)較為吻合。圖4(c)由深度學(xué)習(xí)UNet模型提取的結(jié)果,存在邊緣不規(guī)則[18]。圖4(d)CNNs模型是本文構(gòu)建的一個小型卷積神經(jīng)網(wǎng)絡(luò)模型,能大致提取建筑物所在地區(qū)。
本次試驗的特點(diǎn)是所選的建筑物不規(guī)則,建筑物與周圍地物的光譜值差別不明顯,且部分邊緣不清楚。試驗結(jié)果如圖5及表1所示。
圖5中,圖5(b)為采用本文方法提取的建筑物,與參考數(shù)據(jù)較為符合。而UNet方法和CNNs無法正確提取復(fù)雜建筑物的邊界。
本次試驗的特點(diǎn)是所選建筑物不規(guī)則,且其光譜值與周圍地物的差別不明顯,如圖6所示。
從上述3個試驗來看,采用本文方法可以獲得較為符合實際的建筑物輪廓,無論是矩形建筑物,還是形狀復(fù)雜建筑物,其提取的精度都能達(dá)到0.9以上,能很好地優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)提取的建筑物輪廓。提取過程只使用高分辨率影像數(shù)據(jù)。
本文利用卷積神經(jīng)網(wǎng)絡(luò)對建筑物原圖進(jìn)行定位與檢測,提取出建筑所在圖斑,然后用圖割法對建筑物進(jìn)行處理,以提高檢測精度,其優(yōu)點(diǎn)在于:
(1) 將卷積神經(jīng)網(wǎng)絡(luò)定位建筑的能力和圖割法精度相結(jié)合,充分利用二者的優(yōu)點(diǎn)。
(2) 可以減弱一定光照變化的影響,尋找出較為準(zhǔn)確的建筑輪廓和拐角點(diǎn),所提取的結(jié)果能夠反映建筑物的外形。
(3) 只需要高分辨率的遙感影像,不需要使用高程及回波強(qiáng)度等信息。
(4) 用卷積神經(jīng)網(wǎng)絡(luò)將建筑物輪廓檢測與定位之后,可以使用其他的方法(如分水嶺法)。
需要說明的是,訓(xùn)練一個卷積神經(jīng)網(wǎng)絡(luò)的過程比較耗時,而且整個試驗流程受到卷積神經(jīng)網(wǎng)絡(luò)精度的限制,同時本文算法的精度對太陽光照敏感,可能是由于本文算法利用像素點(diǎn)之間的差異來判斷是否屬于同一背景。今后將進(jìn)一步解決這些問題,以提高算法的穩(wěn)健性。