吳柳青, 胡翔云
(武漢大學(xué)遙感信息工程學(xué)院,武漢 430079)
建筑物作為城市主要的地物類型之一,是城市大比例尺基礎(chǔ)地理圖中必須重點表現(xiàn)的專題要素。建筑物的識別與提取,直接影響到地物測繪的自動化水平,對于特征提取、特征匹配、圖像理解、制圖和作為其他目標的參照體有著重要的意義。準確的建筑物信息可以為土地管理、城市規(guī)劃等政府部門開展土地利用現(xiàn)狀調(diào)查和宏觀規(guī)劃等工作提供重要決策支持,在數(shù)字化城市建設(shè)、違章建筑物查處[1]以及軍事偵察[2]等多個領(lǐng)域也有著重要的應(yīng)用。因此,如何準確提取遙感影像中的建筑物是遙感影像目標識別中的重要研究課題之一。
目前國內(nèi)外學(xué)者針對這一課題已經(jīng)提出了許多較為成熟的模型和方案,這些方案可以歸納為3類:
1)基于建筑物的光譜、紋理、結(jié)構(gòu)等特征建模,實現(xiàn)建筑物的自動檢測。該方法是目前常用的方法,呂鳳華等[3]通過結(jié)合紋理和光譜融合特征來剔除誤檢的非建筑物從而進行建筑物提?。?譚衢霖[4]通過融合多光譜影像,依據(jù)光譜信息對影像進行監(jiān)督分類提取建筑物; 徐宏根等[5]通過對建筑物特殊的陰影結(jié)構(gòu)進行提取從而獲知建筑物信息; 龐池海等[6]通過提取影像中的直線段構(gòu)建直線關(guān)系圖來搜索候選建筑物。但在高空間分辨率遙感影像(以下簡稱“高分影像”)中,建筑物形狀多樣、大小不一、朝向各異,因此僅考慮建筑物的紋理和光譜信息難以取得很好的效果; 且建筑物被鄰近樹木遮擋造成的形狀缺失現(xiàn)象普遍存在,給提取直線段來分析建筑物的存在帶來了很大的困難。
2)基于激光探測與測量(light detection and ranging,LiDAR)點云數(shù)據(jù)和遙感影像數(shù)據(jù)相結(jié)合的方法提取建筑物。趙傳等[7]通過構(gòu)建局部協(xié)方差矩陣計算點云分布特征對建筑物輪廓點聚類實現(xiàn)建筑物的提?。?王雪等[8]利用機載LiDAR數(shù)據(jù)和高分影像,通過計算歸一化植被指數(shù)和LiDAR高度數(shù)據(jù)設(shè)定閾值來提取復(fù)雜城區(qū)建筑物。此類方法中的高程信息是提取建筑物的關(guān)鍵信息,但LiDAR數(shù)據(jù)不易獲取,限制了該方法的應(yīng)用。
3)通過深度學(xué)習的方法提取建筑物。Vakalopoulou等[9]采用深度卷積神經(jīng)網(wǎng)絡(luò)算法對大量帶有標簽的樣本進行訓(xùn)練,并用訓(xùn)練好的模型對高分影像進行建筑物檢測; 陳文康[10]也采用卷積神經(jīng)網(wǎng)絡(luò)對農(nóng)村遙感影像中的建筑物進行識別。由于建筑物各異,該方法在樣本量足夠充足的情況下可以達到很高的提取精度,但是當樣本數(shù)量不足時則很難有好的效果,因此也具有一定的操作難度和局限性。
綜上所述,當前的已有相關(guān)研究主要是針對形狀較為規(guī)則或建筑物屋頂材料較為單一的簡單情況,或借助外部數(shù)據(jù)(如數(shù)字高程模型(digital elevation model,DEM)或地籍圖)來提取城區(qū)建筑物,或通過大量先驗樣本進行深度學(xué)習來訓(xùn)練模型。對于不規(guī)則或復(fù)雜的建筑物場景,當缺乏充足的先驗知識或其他的外部數(shù)據(jù)時,以上方法在提取高分影像中的建筑物時都難以取得很好的效果。針對以上局限性,本文提出一種基于多尺度多特征的高分影像建筑物自動化檢測算法。通過構(gòu)建高斯金字塔實現(xiàn)多尺度建筑物同步檢測,同時結(jié)合超像素分割算法計算超像素的多特征顯著性來檢測建筑物目標,以解決高分影像中建筑物形狀大小各異、存在樹木遮擋以及陰影導(dǎo)致建筑物難以檢測的問題,提高建筑物檢測精度。
本文算法具體流程如圖1所示。
圖1 本文算法流程圖Fig.1 Flow chart of proposed algorithm
本文算法主要由3部分組成:
1)對高分影像進行高斯降采樣構(gòu)建影像金字塔。
2)超像素分割及多尺度窗口下的多種特征值提取,包括邊緣密度和邊緣分布、主方向正交性、亮度和色彩反差,以及基于超像素分割結(jié)果的目標完整性等; 通過多尺度多特征融合計算目標顯著性得分,并進行局部非極大值抑制得到顯著圖。
3)計算超像素的顯著性均值,并通過Otsu算法[11]求取自適應(yīng)閾值,進一步設(shè)置長寬比等約束條件,自動檢測建筑物。
建筑物在高分影像中的大小、位置和朝向等都有很大的區(qū)別,僅用一個尺度,很難將不同大小的建筑物檢測出來。因此本文算法首先通過高斯卷積核對高分影像做降采樣,得到一個空間分辨率逐級遞減的圖像序列{ML,ML-1,……,M0}組成的影像金字塔,即
(1)
式中:W(m,n)為5像素×5像素的高斯卷積核,其中m,n=-2,-1,0,1,2;Gk(i,j)表示第k層金字塔影像(i,j)像素處的灰度值。
金字塔底層高分影像細節(jié)保存完好,而頂層低空間分辨率影像則更注重全局特征,因此通過金字塔影像進行建筑物檢測能兼顧細節(jié)和整體,達到更高的檢測精度。且固定尺度的窗口在不同空間分辨率的影像中對應(yīng)著不同的實際地面面積,如圖2所示,假設(shè)原影像空間分辨率為1 m,則10像素×10像素大小的窗口在第一層原始影像中對應(yīng)的實際地面面積為10 m×10 m,在經(jīng)過一次降采樣的第2層影像中對應(yīng)的實際地面面積為20 m×20 m,而在第3層影像中對應(yīng)的實際地面面積為40 m×40 m。根據(jù)不同大小的建筑物在不同尺度的窗口中反應(yīng)的顯著性強度不同,通過計算多個尺度窗口下的建筑物顯著性,實現(xiàn)對不同大小建筑物的準確定位。
圖2 高斯金字塔影像實現(xiàn)多尺度檢測建筑物示意圖Fig.2 Sketch map of multi-scale building detection by Gauss pyramid images
設(shè)檢測的最小建筑物尺寸Smin為10 m×10 m,根據(jù)影像空間分辨率RP即可計算預(yù)設(shè)滑動窗口尺寸l,即
(2)
建筑物作為獨特的一類地物,在顏色、邊緣、結(jié)構(gòu)等特征上都和背景有著明顯的反差。本文算法通過計算滑動窗口中的多種特征值來衡量建筑物的顯著性,將建筑物同背景區(qū)分出來。
1.2.1 邊緣密度與邊緣分布
邊緣是描述目標的一種重要特征,邊緣信息可以反映出目標的光譜不連續(xù)性、反差、方向信息以及結(jié)構(gòu)類型。尤其對于建筑物這樣有著特殊結(jié)構(gòu)和紋理的目標,邊緣信息對于目標提取可以起到很好的指示作用。
本文采用Hu等[12]提出的算法來更為簡單有效地計算影像邊緣: 首先,對影像進行高斯平滑抑制影像噪聲點; 然后,計算平滑后的影像中每個像素點的梯度值,并將在梯度主方向上比相鄰2個像素點梯度大的像素作為邊緣點保存起來,其他非邊緣點設(shè)置為0; 最后,通過Otsu算法[11]最小化非邊緣點和邊緣點的類內(nèi)差異來自動求取閾值,有效地提取出更強的邊緣,得到邊緣影像f(x,y)。
定義邊緣密度de和邊緣分布ds為
de=ne/nw,
(3)
(4)
式中:ne和nw分別為以l為邊長的正方形滑動窗口內(nèi)的邊緣點數(shù)和總像素數(shù),如圖3所示;ni表示第i象限所包含的邊緣點數(shù)。取4個象限所包含的最少的邊緣點數(shù)min (ni)除以平均每個象限包含的邊緣點數(shù)mean(ni)得到ds,用來衡量邊緣點在4個象限內(nèi)分布的均勻性。
圖3 邊緣點在4個象限的分布Fig.3 Distribution of edge points in four quadrants
定義邊緣特征LED=de×ds,考慮到建筑物一般具有完整且較強的邊緣,且在以建筑物中心為原點的4個象限內(nèi)分布均勻,de和ds都較背景更大,因此邊緣特征LED值越大的窗口包含建筑物的可能性越大。
1.2.2 主方向正交性
相比起其他的目標而言,建筑物的結(jié)構(gòu)信息明顯,大多是由較為規(guī)則的矩形結(jié)構(gòu)或者多邊形結(jié)構(gòu)組成,具有明顯的主方向并顯現(xiàn)出一定的正交性,即具有2個相互垂直的主方向θM和θM+90°(θM∈[0,90°]),如圖4(a)所示。
(a) 建筑物主方向正交性(b) 分布直方圖
圖4建筑物主方向正交性及邊緣點在12個方向級的分布直方圖
Fig.4Orthogonalityofmaindirectionofbuildingandhistogramofdistributionofedgepointsat12directionbins
因此在邊緣影像f(x,y)的基礎(chǔ)上,計算窗口內(nèi)每個邊緣點的梯度方向θ,即
(5)
以15°為一個方向級將梯度方向劃分為12個區(qū)間k(k=1,2,……12),并統(tǒng)計每個方向區(qū)間包含的邊緣點數(shù)N(k),如圖4(b)所示。如果窗口內(nèi)包含有垂直結(jié)構(gòu)的目標,則會在某2個特定的相互垂直的方向上具有較密集的邊緣,該特定的方向即目標主方向。通過計算相互垂直的2個方向級的邊緣點數(shù)的和,將取到最大值的2個垂直方向級作為該窗口的主方向,即max[N(k)+N(k+6)],(k<6),其中N(k)表示第k個方向級所包含的邊緣點個數(shù),N(k)和N(k+6)相差90°,是正交關(guān)系。
將這2個相互垂直的方向級的比值作為該區(qū)域的正交指數(shù)r,即
(6)
相互垂直的邊緣結(jié)構(gòu)會在2個垂直主方向級上同時包含更密集的邊緣點,因此具有更大的正交指數(shù)r。
1.2.3 亮度反差
在高分影像中,建筑物大多和周圍的樹、道路等背景形成較為明顯的亮度反差,因此設(shè)計了一個和窗口大小相等的中間亮、周圍暗的正方形模板T(圖5)來衡量窗口中心和周圍的亮度反差程度。
圖5 中間亮周圍暗的正方形模板Fig.5 Square template with dark light around
用模板T覆蓋住滑動窗口w,利用窗口和模板的匹配測度TMatch來反映該滑動窗口w與模板T的相似程度,計算公式為
(7)
式中:l為和滑動窗口等大的模板T的長度;T(m,n)(m,n=1,2,…,l)為l×l的模板內(nèi)所有的像素點;wi,j(m,n)為中心點為(i,j)的滑動窗口w與模板T(m,n)相對應(yīng)的像素點的灰度值。匹配測度TMatch越大,表示窗口和模板越相似,即窗口中心與周圍的亮度反差越強烈,說明該滑動窗口內(nèi)包含建筑物的可能性就越大。
1.2.4 色彩反差
建筑物在色彩上通常與周圍的道路、陰影和草地等背景表現(xiàn)出不一樣的顏色分布,因此采用色彩反差CC衡量滑動窗口與其周圍背景的反差程度。定義鄰近窗口Surr(w)為窗口w周圍一定范圍內(nèi)能夠取到的所有窗口,則CC的計算公式為
CC(w)=max{χ2[h(w)],h[Surr(w)]} ,
(8)
式中:h(w)為滑動窗口w在LAB色彩空間的色彩梯度;h[Surr(w)]為窗口w周圍一定范圍內(nèi)能夠取到的所有窗口的LAB空間色彩梯度。通過計算二者的卡方距離χ2,并保留取到的最大值來衡量窗口w和周圍背景的色彩差異性。CC越大表示窗口與背景的色彩反差越大,說明該滑動窗口內(nèi)包含建筑物的可能性也越大。
1.2.5 目標完整性
建筑物作為一個目標整體,具有一定的完整性。而超像素分割算法根據(jù)顏色和紋理的相似度將影像分割成超像素,一個超像素中的所有像素應(yīng)當屬于同一個目標,因此,一個建筑物目標應(yīng)當由一個或多個完整的超像素組成,而不應(yīng)該跨越超像素的邊界[13]。本算法采用超像素的這一特性來衡量窗口內(nèi)目標的完整性: 采用Mean Shift算法[14]將高分影像劃分成若干個超像素,通過計算滑動窗口內(nèi)不完整的超像素的面積占整個窗口面積的比重SS來衡量該滑動窗口內(nèi)是否包含目標,SS的計算公式為
(9)
式中|sw|和|s∩w|分別為超像素s在窗口w外和窗口內(nèi)的面積。完全在窗口內(nèi)或完全在窗口外的超像素對于求和的貢獻值為0,因此SS值越高的窗口包含目標的可能性越大。
相較于固定尺寸的矩形窗口,超像素能夠更好地描述目標的形狀和統(tǒng)計目標的顯著性,因此對影像進行超像素分割,計算每一塊超像素的顯著性均值來代表該超像素的目標顯著性,并通過閾值去掉一些響應(yīng)的虛警。建筑物表現(xiàn)出強烈的顯著性,但是有些田地和道路段也因為和背景存在較為明顯的反差或具有結(jié)構(gòu)規(guī)則性而計算出一定的顯著性,因此需要通過設(shè)置約束條件來進一步精確提取建筑物。
基于超像素顯著性的建筑物自動檢測步驟描述如下:
1)如圖6所示,將影像金字塔每一層計算的多特征進行線性組合計算每一層的顯著性,并使用雙線性內(nèi)插將多個尺度的顯著性圖像內(nèi)插為和原始影像空間分辨率相同的大小,進行局部非極大值抑制得到最終的顯著圖。
(a) 原始影像(b) 顯著圖
圖6多尺度多特征融合計算顯著圖
Fig.6Multi-scaleandmulti-featurefusioncomputingsaliencymap
2)在之前計算目標顯著性的超像素分割結(jié)果的基礎(chǔ)上,計算每個超像素所包含的所有像素的顯著性得分和與該超像素面積的比值代表該超像素的顯著性,即
(10)
式中: |s(k)|為第k個超像素的面積;saliency(k)為第k個超像素的顯著性;saliency(i,j)為像素點(i,j)的目標顯著性得分。
然后,采用Otsu算法根據(jù)超像素的顯著性大小通過最大化背景和目標之間的類間方差,將超像素分成背景和目標2類。
3)進一步設(shè)置約束條件篩選檢測結(jié)果,設(shè)置原則包括: ①目標長寬比不能過大,主要除去誤判為建筑物的城市道路段; ②目標面積應(yīng)該在一定范圍內(nèi),圖斑面積大于閾值的將被剔除,主要除去誤檢的大面積田地和池塘、湖泊; ③對于面積過小的碎圖斑則計算其鄰接超像素的灰度均值,將其與灰度均值最接近的鄰接超像素合并。
4)輸出最終得到的結(jié)果。
本文選用2種不同空間分辨率的高分影像來評估算法性能。
實驗1影像為重慶市主城區(qū)2015年0.5 m空間分辨率航片影像上截取的3幅具有不同特色建筑物的局部影像。其中S1影像包含整齊規(guī)則的建筑物群,中間一些朝向各異的高密度住宅,以及右邊排列較為不規(guī)則的建筑物; S2影像主要為城郊區(qū)域,包含規(guī)則的建筑物群以及一些藍頂?shù)膹S房; S3影像環(huán)繞大量獨棟住宅,以及右下角在影像中表現(xiàn)為破碎的建筑物屋頂?shù)拈L條形建筑。為了比較提取精度,選取了基于顏色和紋理特征建模的馬爾科夫隨機場模型[15]的建筑物檢測算法同本文算法進行對比(圖7),并采用人工矢量化結(jié)果作為參考,定性和定量評價2種算法的檢測結(jié)果。
(a) S1影像(b) S2影像(c) S3影像
(d) 本文算法S1檢測結(jié)果(e) 本文算法S2檢測結(jié)果(f) 本文算法S3檢測結(jié)果
(g) 馬爾科夫隨機場S1檢測結(jié)果(h) 馬爾科夫隨機場S2檢測結(jié)果(i) 馬爾科夫隨機場S3檢測結(jié)果
圖7-1實驗1影像建筑物檢測結(jié)果及參考結(jié)果
Fig.7-1Detectionresultsandreferenceresultsofexperiment1images
(j) S1參考結(jié)果(k) S2參考結(jié)果(l) S3參考結(jié)果
圖7-2實驗1影像建筑物檢測結(jié)果及參考結(jié)果
Fig.7-2Detectionresultsandreferenceresultsofexperiment1images
由圖7可以看出本文算法通過多尺度多特征計算建筑物顯著性,可以很好地提取出絕大部分建筑物。尤其是S1右上角的不規(guī)則建筑物,由于結(jié)構(gòu)特性明顯,也經(jīng)由本文算法得以檢測出來,而馬爾科夫隨機場算法對于色彩和周圍背景差異不太明顯或者被樹木遮擋的建筑物則難以達到很好的實驗效果,漏檢建筑物個數(shù)較多。
為了定量評價本文算法和馬爾科夫隨機場算法的檢測精度,將2種算法的檢測結(jié)果和參考結(jié)果進行對比,定義當一個建筑物80%以上的面積被檢測出來的時候,算作正確檢測出該建筑物,否則認為該建筑物沒有被檢測出來(影像邊界上不完整的建筑物不算在內(nèi))。并計算查準率(Precision)、準確率(Accuracy)和召回率(Recall)3個指標作為衡量標準,即
Precision=TP/(TP+FP),
(11)
Accuracy=TP/(TP+FN+FP),
(12)
Recall=TP/(TP+FN),
(13)
式中:TP為被正確檢測出的建筑物個數(shù);FN為漏檢建筑物個數(shù);FP為誤檢建筑物個數(shù)。
表1示出各影像2種算法的檢測精度。從表1中可以看出本文算法能夠正確檢測出90%以上的建筑物,具有令人滿意的檢測精度,且查準率、準確率、召回率均比馬爾科夫隨機場算法要高。馬爾科夫隨機場算法雖然也可以達到較好的查準精度,但是漏檢現(xiàn)象較為嚴重,召回率較低。說明本文算法具有一定的優(yōu)越性。
表1 實驗1中2種算法的檢測精度比較Tab.1 Comparison of detection accuracy between two algorithms of experiment 1 (%)
實驗2選取了巫山市0.2 m空間分辨率遙感影像上的局部影像,相較于實驗1的3幅影像,實驗2影像地物類型復(fù)雜,建筑物更加破碎和不規(guī)則,且存在密集的建筑物群,大大增大了建筑物的檢測難度。實驗2影像和2種方法的建筑物檢測結(jié)果如圖8所示。
(a) 實驗2影像(b) 本文算法檢測結(jié)果(c) 馬爾科夫隨機場模型檢測結(jié)果
圖8實驗2影像建筑物檢測結(jié)果
Fig.8Detectionresultofexperiment2image
從圖8可以看出,馬爾科夫隨機場算法對于顏色反差較大、紋理豐富而有規(guī)則的建筑物可以達到很好的檢測效果,但是當建筑物屋頂紋路零亂,形狀多變,色彩和背景反差不大時,馬爾科夫隨機場算法會造成大量的漏檢現(xiàn)象。而本文算法則因兼顧了建筑物的結(jié)構(gòu)、多尺度變化、顏色以及亮度反差等特征,對于復(fù)雜建筑物的檢測也可以達到較好的實驗效果,能夠基本將建筑物和其他地物分離開來,對于精細化的建筑物信息提取具有實用意義。
本文提出了一種基于多尺度多特征的高分影像建筑物的自動化檢測算法。經(jīng)實驗得到如下結(jié)論:
1)基于高斯金字塔選取滑動窗口進行建筑物特征計算,可實現(xiàn)不同尺寸建筑物的同步檢測。
2)考慮邊緣密度和分布、主方向正交性、亮度反差、色彩反差、目標完整性等多種用于計算建筑物顯著性的有效特征,并進行融合,從而提高建筑物檢測精度。
3)結(jié)合超像素分割算法,以超像素為單位計算建筑物顯著性并提取建筑物,保留了建筑物的輪廓特征。
通過選取不同空間分辨率的2組實驗數(shù)據(jù),并與基于顏色和紋理特征的馬爾科夫隨機場算法的實驗結(jié)果進行定性和定量比較,證明本方法對于高分影像中建筑物的檢測具有令人滿意的實驗效果和檢測精度。
本文算法還存在一些不足,主要表現(xiàn)在: ①對于一些邊緣較為模糊的建筑物仍會存在漏檢現(xiàn)象; ②一些和建筑物一樣具有明顯結(jié)構(gòu)性的操場等目標有時會被當作建筑物誤檢出來; ③對于破碎而且密集的建筑物群的檢測效果尚存在較大的進步空間。在今后的研究中,將考慮機器學(xué)習的方法,通過樣本訓(xùn)練確定更優(yōu)的特征模型,以解決上述不足,實現(xiàn)復(fù)雜建筑物檢測的精確性和完整性。