趙 傳,郭海濤,王優(yōu)揚(yáng),盧 俊,余東行,林雨準(zhǔn)
(戰(zhàn)略支援部隊(duì)信息工程大學(xué)地理空間信息學(xué)院,河南鄭州450001)
建筑物是城市的主要組成元素,其輪廓不僅包含建筑物的位置和形狀信息,而且可作為一種先驗(yàn)形狀信息推斷建筑物結(jié)構(gòu)以輔助建筑物三維模型重建,在城市規(guī)劃、城市空間分析、污染建模和災(zāi)害管理等方面有著廣泛應(yīng)用,因此建筑物輪廓提取一直都是研究的熱點(diǎn)[1-3,4]。傳統(tǒng)三維建筑物輪廓主要通過立體影像采用半自動方式采集,得到的結(jié)果雖然精度高,但同時也存在成本高、周期長等問題,因此成果的現(xiàn)勢性難以得到有效保證[5]。機(jī)載激光雷達(dá)測量(Light Detection and Ranging,LiDAR)作為近十幾年發(fā)展迅猛的一種新型、高效的空間數(shù)據(jù)獲取技術(shù)[6],通過其采集的點(diǎn)云數(shù)據(jù)已成為現(xiàn)階段建筑物輪廓自動提取的重要數(shù)據(jù)源。然而,由于建筑物形狀復(fù)雜多樣、點(diǎn)云數(shù)據(jù)具有分布不規(guī)則和密度不均等特性,以及傳感器掃描模式不同和場景中其他地物(如高大植被)遮擋等多種因素的影響,自動、準(zhǔn)確地提取建筑物輪廓仍然具有較大的挑戰(zhàn)[7]。
在過去的幾十年里,針對機(jī)載LiDAR點(diǎn)云中建筑物的輪廓提取問題,很多學(xué)者進(jìn)行了積極的探索和研究,現(xiàn)有的提取方法大致可以分為間接法和直接法兩大類。間接法通過將點(diǎn)云內(nèi)插為深度圖像,然后利用如Sobel,Canny,Edison算法等圖像領(lǐng)域成熟的算法提取建筑物輪廓點(diǎn)[8-12],這類方法需將點(diǎn)云從三維空間轉(zhuǎn)換到柵格二維圖像再提取建筑物輪廓,雖然降低了提取的復(fù)雜度,但存在難以確定合適的格網(wǎng)大小、提取結(jié)果的精度相對較低等不足[5]。直接法無需進(jìn)行數(shù)據(jù)轉(zhuǎn)換,直接作用于點(diǎn)云,根據(jù)提取輪廓時采用的策略,這類方法可以分為監(jiān)督和非監(jiān)督兩種。監(jiān)督的方法需要預(yù)先采集輪廓樣本,然后采用機(jī)器學(xué)習(xí)算法訓(xùn)練模型,利用訓(xùn)練的模型預(yù)測得到輪廓初始提取結(jié)果,再經(jīng)過后處理得到輪廓提取結(jié)果,如文獻(xiàn)[11]采用傳統(tǒng)的機(jī)器學(xué)習(xí)算法隨機(jī)森林(Random Forest,RF)、文獻(xiàn)[13]首次提出基于點(diǎn)云數(shù)據(jù)的邊緣感知深度神經(jīng)網(wǎng)絡(luò)EC-Net。這種方法的優(yōu)勢在于可直接針對整個場景的點(diǎn)云進(jìn)行處理,無需先提取建筑物點(diǎn)云,但其提取的輪廓比較粗糙(通常在局部范圍內(nèi)為無序分布的點(diǎn)簇,而不是前后相連的點(diǎn)鏈),即使通過后處理,也難以得到點(diǎn)鏈狀的結(jié)果;此外,這種方法還需要預(yù)先標(biāo)記大量輪廓點(diǎn)數(shù)據(jù)用于模型的訓(xùn)練,而標(biāo)記輪廓點(diǎn)很費(fèi)時。非監(jiān)督的方法通常直接取點(diǎn)云的前兩個維度,在二維平面上進(jìn)行處理,包括凸包(Convex Hull)[14]及其改進(jìn)算法[15-16]、凹 包(Concave Hull)算 法[7,17]、Alpha Shapes[1,18]及其改進(jìn)算法[19-21]、最小外接矩形法[22-23]和其他算法[4,24-25]等。其中,凸包和凹包及其改進(jìn)算法通常存在漏提取部分輪廓點(diǎn)的情況。Alpha Shapes算法應(yīng)用最為廣泛,最先由Edelsbrunner等[18]提出,沈蔚等[1,26]首次將該算法用于建筑物輪廓提取,并表明該算法十分適用于從Li-DAR點(diǎn)云數(shù)據(jù)提取任意形狀的建筑物輪廓,具有一定的適應(yīng)性。然而,Alpha Shapes算法僅通過半徑α控制提取輪廓的精細(xì)程度,雖然能較好地提取密度分布均勻點(diǎn)云的輪廓,但對密度分布不均的點(diǎn)云,通常難以設(shè)置合適的α,當(dāng)α設(shè)置過大時,會出現(xiàn)凹型區(qū)域的角點(diǎn)(下文簡稱為凹拐角點(diǎn))漏提取現(xiàn)象。盡管已有學(xué)者對α的設(shè)置進(jìn)行了研究[19-21],但這些改進(jìn)算法仍對點(diǎn)云密度的變化比較敏感,且也存在部分關(guān)鍵凹拐角點(diǎn)漏提取的現(xiàn)象。最小外接矩形法的提取結(jié)果為規(guī)則的建筑物輪廓,但其難以適用于任意形狀建筑物輪廓提取,局限性較大。其他算法未能得到較廣泛的應(yīng)用,此處不再贅述。
針對現(xiàn)有從建筑物點(diǎn)云中提取輪廓的算法存在參數(shù)難以設(shè)置、適用性不強(qiáng)等問題,本文提出一種利用鄰域方向分布的機(jī)載LiDAR點(diǎn)云建筑物外輪廓提取方法。一方面,不再只是分析點(diǎn)與其單個鄰域點(diǎn)之間的關(guān)系提取輪廓點(diǎn),而是分析點(diǎn)的鄰域整體分布情況,從而降低參數(shù)設(shè)置的難度,提高算法的適用性;另一方面,通過構(gòu)建不規(guī)則三角網(wǎng),對邊進(jìn)行操作,實(shí)現(xiàn)無需設(shè)置邊長閾值即可跟蹤輪廓點(diǎn),能較好地保持凹拐角點(diǎn),并得到有序的建筑物外輪廓提取結(jié)果,為建筑物三維模型重建等應(yīng)用提供穩(wěn)定、可靠的建筑物外輪廓信息。
本文提出的建筑物外輪廓提取方法主要包括初始輪廓點(diǎn)提取和輪廓點(diǎn)跟蹤兩個步驟,其中,初始輪廓點(diǎn)提取利用鄰域點(diǎn)的方向分布,計(jì)算不同方向之間的夾角,通過相鄰方向間夾角的最大值判斷是否為輪廓點(diǎn);輪廓點(diǎn)跟蹤通過構(gòu)建不規(guī)則三角網(wǎng),對邊進(jìn)行刪除、添加等操作,然后以邊為跟蹤基元得到有序輪廓,再基于設(shè)計(jì)的規(guī)則進(jìn)行后處理。由于跟蹤后得到的輪廓點(diǎn)數(shù)和初始輪廓點(diǎn)數(shù)并不一定相等,因此輪廓點(diǎn)跟蹤也可視為對初始輪廓點(diǎn)的精化。圖1為方法的流程圖。
圖1 利用鄰域方向分布的建筑物輪廓提取流程Fig.1 Flow chart of building outline extraction based on neighbor point direction distribution
建筑物輪廓可定義為建筑物立面與屋頂面的交線,一般具有連通、封閉等特性[5],如圖2(a)所示從影像上人工提取的建筑物輪廓線。由于機(jī)載LiDAR獲取的點(diǎn)云數(shù)據(jù)包含建筑物立面點(diǎn)較少,且獲取的點(diǎn)云具有分布不規(guī)則、密度不均勻等特性,此外還可能存在部分屋頂點(diǎn)云數(shù)據(jù)缺失的現(xiàn)象,因此很難保證僅利用機(jī)載LiDAR點(diǎn)云提取的建筑物輪廓會在同一直線上,也難以對點(diǎn)云中的建筑物輪廓進(jìn)行準(zhǔn)確定義[16]。從圖2(b)和圖2(c)可以看出,即使能準(zhǔn)確地獲取建筑物點(diǎn)云,從點(diǎn)云中人工提取的建筑物輪廓點(diǎn)也不會都在真實(shí)輪廓線上。文獻(xiàn)[17]指出,對于給定的點(diǎn)集,其凸包是唯一的,但其凹包不唯一,凹包是否能作為點(diǎn)集的最佳描述取決于最終的應(yīng)用。考慮到真實(shí)場景中的大部分建筑物輪廓為凹包,為了能盡可能多地提取建筑物外輪廓點(diǎn),為后續(xù)建筑物三維模型重建提供穩(wěn)定、可靠的外輪廓信息,將建筑物點(diǎn)云數(shù)據(jù)中所有潛在輪廓點(diǎn)視為建筑物初始輪廓點(diǎn)進(jìn)行提取。
圖2 建筑物影像及不同方式獲取的輪廓Fig.2 Image of a building and corresponding outline by different approaches
建筑物點(diǎn)云中任一點(diǎn)與其鄰域點(diǎn)可構(gòu)成多個方向向量,本文定義潛在輪廓點(diǎn)為相鄰方向向量之間夾角的最大值(簡稱最大夾角)不小于90°的點(diǎn)。具體地,如圖3所示建筑物點(diǎn)云(已投影到二維平面),p0為建筑物點(diǎn)云中的任一點(diǎn)(圖中黃色點(diǎn)),Sp0={q1,q2,…,qk}為點(diǎn)p0的鄰域點(diǎn)集(圖中藍(lán)色星號點(diǎn)),其所有鄰域點(diǎn)qi(i=1,2,…,k)均可與點(diǎn)p0形成方向向量p0qi(圖中藍(lán)色實(shí)線),其中向量p0q1和p0q2之間的夾角α0為點(diǎn)p0的最大夾角,從圖3可以明顯看出,α0<90°,因此點(diǎn)p0不是建筑物輪廓點(diǎn)(彩圖見期刊電子版)。然而,對于圖3中的點(diǎn)p1,p2和p3,其最大夾角α1~α3均不小于90°,因此這些點(diǎn)將被視為建筑物初始輪廓點(diǎn)。結(jié)合圖3及本段分析可知,本文定義的潛在輪廓點(diǎn)可較好地描述復(fù)雜形狀建筑物的外輪廓點(diǎn)。
圖3 建筑物潛在輪廓點(diǎn)及鄰域方向向量示意圖Fig.3 Illustration of potential boundary points and neighbor direction vectors
初始輪廓點(diǎn)提取的主要步驟如下:
(1)選取建筑物點(diǎn)云中的任一點(diǎn)p,記其k(取k=20)鄰域點(diǎn)集為Sp={q1,q2,…,qk},計(jì)算其與任意鄰域點(diǎn)qi(i=1,2,…,k)構(gòu)成的方向向量pqi;
(2)記點(diǎn)q1為其最近鄰點(diǎn),選取其與點(diǎn)p構(gòu)成的方向向量pq1為基準(zhǔn)向量,則其余方向向量與pqi的夾角θ可通過式(1)所示的向量點(diǎn)乘計(jì)算;
其中:i=1,2,…,k,xbase,ybase和xi,yi分別為向量pq1和pqi歸一化后的坐標(biāo)分量。
(3)為了得到相鄰方向向量之間的夾角,需要對各方向向量與基準(zhǔn)向量的夾角大小進(jìn)行排序。由于利用式(1)計(jì)算得到的角度范圍在[0,180°]之間,而部分輪廓點(diǎn)的最大夾角可能大于180°(如圖3的點(diǎn)p1),因此利用式(2)所示的向量叉乘計(jì)算指示變量sign;
(4)選取由基準(zhǔn)向量順時針旋轉(zhuǎn)的角度進(jìn)行排序,即當(dāng)sign=1,用360°減去原計(jì)算的角度θ(為方便敘述,相減后的結(jié)果仍記為θ),對排序后相鄰?qiáng)A角作差,得到相鄰方向向量之間的夾角dθ;
(5)統(tǒng)計(jì)最大夾角dθmax,如果dθmax>90°,則認(rèn)為點(diǎn)p為潛在輪廓點(diǎn),否則不是;
(6)重復(fù)上述步驟,直到所有建筑物點(diǎn)云都已處理。
圖3 所示建筑物點(diǎn)云中紅色實(shí)心點(diǎn)為經(jīng)過上述步驟提取的輪廓點(diǎn),可以看出,建筑物的外輪廓點(diǎn)均能較好地被提取。
初始輪廓點(diǎn)的提取結(jié)果實(shí)質(zhì)為散亂三維點(diǎn)的集合,很難應(yīng)用于實(shí)際任務(wù),因此需要對其進(jìn)行跟蹤,得到具有拓?fù)潢P(guān)系的建筑物輪廓。理想情況下,在提取輪廓點(diǎn)后,直接順序搜索并連接各點(diǎn)的最鄰近點(diǎn)就能得到有序的建筑物輪廓,但由于點(diǎn)云數(shù)據(jù)分布不規(guī)則、密度不均勻的特性,這種方式無法適應(yīng)不同的場景。此外,建筑物點(diǎn)云中存在很多凹拐角點(diǎn),且點(diǎn)與點(diǎn)之間并不存在拓?fù)潢P(guān)系,導(dǎo)致無法利用已有的影像上成熟的輪廓點(diǎn)跟蹤算法進(jìn)行點(diǎn)云建筑物輪廓點(diǎn)跟蹤,也難以在不丟失凹拐角點(diǎn)的情況下準(zhǔn)確跟蹤所有輪廓點(diǎn)[27]。
文獻(xiàn)[14]提出一種極角掃描法,但該算法無法提取凹拐角點(diǎn),僅能得到點(diǎn)集的凸包;文獻(xiàn)[15]借鑒了其思想,提出基于固定鄰域掃描的方式,可有效提取部分凹拐角點(diǎn),但存在鄰域半徑難以設(shè)置的問題,尤其是對于如圖4(a)所示的分布不均的點(diǎn)云;文獻(xiàn)[21]和文獻(xiàn)[25]采用圖論中的如深度優(yōu)先搜索、Dijkstra等最短路徑搜索算法實(shí)現(xiàn)輪廓點(diǎn)跟蹤,這些算法首先需要構(gòu)建輪廓點(diǎn)之間的鄰接關(guān)系,但現(xiàn)實(shí)場景中的建筑物形狀往往復(fù)雜多樣,輪廓點(diǎn)之間的鄰接關(guān)系可能很復(fù)雜(如圖4(b)所示建筑物點(diǎn)云,紅色框內(nèi)的點(diǎn)均為輪廓點(diǎn)),因此即使在跟蹤時嚴(yán)格保證每個點(diǎn)僅被跟蹤一次,也難以得到準(zhǔn)確的跟蹤結(jié)果。為此,提出一種無需設(shè)置邊長閾值的輪廓點(diǎn)跟蹤策略,以在初始輪廓點(diǎn)的基礎(chǔ)上跟蹤輪廓點(diǎn),得到有序的輪廓點(diǎn)提取結(jié)果(彩圖見期刊電子版)。
圖4 難以跟蹤的建筑物點(diǎn)云示意圖Fig.4 Illustration of hard-to-trace building point cloud
本文提出的輪廓點(diǎn)跟蹤策略主要有四個步驟,即初始邊集的獲取、虛假輪廓邊的剔除、真實(shí)輪廓邊的增補(bǔ)和建筑物輪廓邊的跟蹤與后處理。下面對輪廓點(diǎn)跟蹤的具體步驟進(jìn)行詳細(xì)描述。
2.2.1 獲取初始邊集
在跟蹤輪廓點(diǎn)前,需要確定點(diǎn)之間的相鄰關(guān)系,考慮到輪廓點(diǎn)跟蹤結(jié)果實(shí)質(zhì)也是邊的集合,且建筑物點(diǎn)云數(shù)量通常較少,因此采用構(gòu)建平面不規(guī)則三角網(wǎng)(Triangulated Irregular Network,TIN)確定點(diǎn)之間的拓?fù)潢P(guān)系,并以包含兩個初始輪廓點(diǎn)的邊構(gòu)成的集合為初始邊集,如圖5(a)所示建筑物的TIN,圖中紅色點(diǎn)和線段分別為初始輪廓點(diǎn)和初始邊(彩圖見期刊電子版)。
2.2.2 刪除虛假建筑物輪廓邊
從圖5(a)可以看出,初始邊集中存在大量虛假建筑物輪廓邊,這些虛假建筑物輪廓邊主要包括長度較長的邊和潛在輪廓點(diǎn)相對的邊兩種,為此定義兩種刪除操作。
在計(jì)算初始輪廓點(diǎn)時,選取了各點(diǎn)k鄰域計(jì)算最大夾角,如果某一點(diǎn)為潛在輪廓點(diǎn),其非k鄰域點(diǎn)與其構(gòu)成的邊必然不會為真實(shí)輪廓邊,因此利用這個特點(diǎn)刪除部分虛假輪廓邊(即第一種刪除操作),結(jié)果如圖5(b)所示。由于在凹拐角點(diǎn)附近,其k鄰域點(diǎn)之間也會構(gòu)成邊(如圖5(b)中藍(lán)色箭頭所指邊),這些邊的長度通常較短,但難以通過設(shè)置合適的長度閾值進(jìn)行刪除,觀察圖5(a),(b)可知,這些邊均為TIN中某一包含潛在輪廓點(diǎn)的三角形的邊,且邊所對的頂點(diǎn)為潛在輪廓點(diǎn)。由2.1節(jié)提取初始輪廓點(diǎn)的原理可知,如果某一點(diǎn)為潛在輪廓點(diǎn),則在TIN中必然存在一個包含該潛在輪廓點(diǎn)的鈍角三角形,反之則不一定成立。因此,利用這個特性,刪除此三角形中該潛在輪廓點(diǎn)相對的邊(即第二種刪除操作),其結(jié)果如圖5(c)所示,從圖中藍(lán)色箭頭所指的邊可知,單獨(dú)利用第二種刪除方式,也難以得到較好的結(jié)果。因此,綜合利用兩種刪除邊的操作,其結(jié)果如圖5(d)所示,從中可以看出,虛假建筑物輪廓邊被較好地刪除。
2.2.3 增補(bǔ)真實(shí)建筑物輪廓邊
在后續(xù)跟蹤時,選用的基元為邊,因此需要保證每個點(diǎn)至少有兩條邊與之相連。由于在刪除虛假輪廓邊時,沒有考慮與各輪廓點(diǎn)相連的邊數(shù),會導(dǎo)致部分邊被錯誤刪除,使部分輪廓點(diǎn)沒有邊與之相連(如圖5(d)中藍(lán)色矩形框所示),為此需要增加被誤刪除的真實(shí)建筑物輪廓邊。此外,由于點(diǎn)云離散、分布不規(guī)則的特點(diǎn),在初始輪廓點(diǎn)提取時,可能會存在誤提取的點(diǎn)以及漏提取的真實(shí)輪廓點(diǎn),誤提取的輪廓點(diǎn)也可能沒有邊與之相連(如圖5(d)中藍(lán)色圓圈所示),但不應(yīng)該增加與這些點(diǎn)相連的邊,而對于漏提取的輪廓點(diǎn),則需要增加與之相連的邊。
圖5 虛假建筑物輪廓邊的刪除Fig.5 Removal of false building outline edge
綜合考慮,對于沒有邊相連的初始輪廓點(diǎn),搜索其一定半徑內(nèi)的鄰域點(diǎn)(半徑為與該點(diǎn)相連的所有邊長均值的兩倍),如果存在其他輪廓點(diǎn),則連接,否則在后續(xù)跟蹤時不再考慮該點(diǎn);對于僅有一條邊相連的輪廓點(diǎn),搜索所有與該點(diǎn)構(gòu)成邊的非輪廓點(diǎn),搜索包含此非輪廓點(diǎn)的邊,判斷邊的另一端點(diǎn)是否為僅有一條邊相連的輪廓點(diǎn),如果是,則連接兩條邊,并增加該非輪廓點(diǎn)為輪廓點(diǎn),否則仍搜索其一定半徑內(nèi)的鄰域點(diǎn)(半徑設(shè)置方式與第一種情況相同),連接長度最短的邊。
2.2.4 跟蹤建筑物輪廓邊與后處理
為了跟蹤建筑物輪廓,首先對所有輪廓點(diǎn)的最大夾角按從大到小的順序排序,然后依次遍歷,如果當(dāng)前遍歷點(diǎn)滿足僅有兩條邊與之相連,則將其作為起始跟蹤點(diǎn)。
在確定跟蹤起始點(diǎn)后,采用邊的順時針掃描,具體步驟如下:
(1)記起始點(diǎn)為p1,與其相連的兩個輪廓點(diǎn)分別為p2,p3,任意選取與起始點(diǎn)p1相連的另一輪廓點(diǎn)(以選取p2為例),借鑒Alpha Shapes算法的思想,利用式(3)計(jì)算兩個圓心:
其中:pc為計(jì)算的兩個圓心;α為半徑,設(shè)置為3倍平均點(diǎn)云間距;n為與邊垂直的單位方向向量。
(2)統(tǒng)計(jì)兩個圓心構(gòu)成的圓內(nèi)點(diǎn)云的數(shù)量,選取具有較少點(diǎn)數(shù)的圓心(記為pc1,該圓心必然在建筑物輪廓外,如圖6下方矩形框放大區(qū)域所示),利用式(4)計(jì)算其與輪廓點(diǎn)p1,p2構(gòu)成的向量及向量叉乘crs,得到已跟蹤輪廓點(diǎn)集edge_sq:
(3)記edge_sq中最后兩個點(diǎn)為plst1,plst2,搜索初始輪廓點(diǎn)集中與plst1相連的邊(除去其與plst2構(gòu)成的邊),如果僅有一條邊,則直接將邊的另一個端點(diǎn)加入輪廓點(diǎn)集,否則計(jì)算由點(diǎn)plst1,plst2構(gòu)成的邊到所有邊的順時針掃描角度,將具有最小掃描角度的邊的另一端點(diǎn)加入輪廓點(diǎn)集中(如圖6左上角放大區(qū)域所示,由于αn<αm,故選取的下一點(diǎn)為pn);
(4)重復(fù)步驟(3),直到加入輪廓點(diǎn)集中的點(diǎn)等于輪廓點(diǎn)集的第一個點(diǎn)。
圖6 建筑物輪廓邊跟蹤示意圖Fig.6 Illustration of building outline edge tracing
本文在初始輪廓點(diǎn)提取時以盡可能多地提取建筑物外輪廓點(diǎn)為目的,這對于如建筑物三維模型重建中屋頂面拓?fù)潢P(guān)系的構(gòu)建等任務(wù)十分有利,但也會使跟蹤的建筑物輪廓存在如圖7所示的鋸齒狀(圖中灰色區(qū)域代表建筑物內(nèi)部,角度α*代表相鄰邊順時針掃描的角度,p*代表對應(yīng)頂點(diǎn)),導(dǎo)致跟蹤的輪廓向內(nèi)凹陷較大。考慮到很多實(shí)際應(yīng)用需要平滑的建筑物輪廓,因此在跟蹤建筑物輪廓后,針對圖7中三種鋸齒狀輪廓,設(shè)計(jì)下面規(guī)則對進(jìn)行處理(為了盡可能保留關(guān)鍵凹拐角點(diǎn),角度閾值θth均設(shè)置為10°):
圖7 鋸齒狀輪廓示意圖Fig.7 Illustration of zigzag building outline edge
(1)對于情形A,pi為輪廓中的任一點(diǎn)(下同),如果其角度αi>270+θth,則刪除其前后點(diǎn)pi-1,pi+1角度小于180°的點(diǎn);
(2)對于情形B,如果pi的角度αi(90+θth,90+3θth),且其前后點(diǎn)pi-1,pi+1的角度均在180°~270°之間,則刪除pi;
(3)對于情形C,pi的前后點(diǎn)為pi-1,pi+1(同理pi+2,pi+3),如果pi和pi+2的夾角均小于90+3θth,則刪除pi和pi+2。
圖8 基于規(guī)則處理前后建筑物外輪廓對比(藍(lán)色和紅色線段分別代表處理前后的輪廓)Fig.8 Result of building outline before and after rulebased process(The blue and red line segments represent the contours before and after processing)
利用規(guī)則(1-3)處理圖6所示建筑物輪廓的對比如圖8所示,從中黑色箭頭可以看出,規(guī)則(1-3)雖然簡單,但能有效地剔除向內(nèi)凹陷較大的輪廓點(diǎn),得到的建筑物輪廓更加平滑,且能較好地保留關(guān)鍵凹拐角點(diǎn)。
選取三組點(diǎn)云數(shù)據(jù)(分別記為數(shù)據(jù)集1-3)進(jìn)行試驗(yàn)以驗(yàn)證本文方法的性能,三組點(diǎn)云數(shù)據(jù)的直觀展示如圖9所示。其中,數(shù)據(jù)集1包含5個不同形狀、不同點(diǎn)云密度的模擬點(diǎn)云數(shù)據(jù)(記為Bs1-Bs5,分別代表C形、M形、S形、圓形和復(fù)雜形狀的建筑物,Bs4和Bs5由真實(shí)點(diǎn)云數(shù)據(jù)降采樣得到,其影像如圖9(a)最右側(cè)所示);數(shù)據(jù)集2和3為由不同傳感器獲取的機(jī)載LiDAR點(diǎn)云數(shù)據(jù),數(shù)據(jù)集2為文獻(xiàn)[20]的試驗(yàn)數(shù)據(jù)(由原文作者提供),包含不同地區(qū)的9棟建筑物,B1-B5和B6-B9由不同傳感器獲取,具有不同的點(diǎn)密度(B1-B5雖為同一傳感器獲取,但不同建筑物點(diǎn)云的密度差別也較大,詳見文獻(xiàn)[20]);數(shù)據(jù)集3為ISPRS官網(wǎng)公布的一組區(qū)域點(diǎn)云數(shù)據(jù),包括10棟建筑物,點(diǎn)云密度差別也較大,但其點(diǎn)的分布與B1-B5的分布不同。需要說明的是,盡管B15與B6對應(yīng)的建筑物相同,但B15去除了較多女兒墻上的點(diǎn),因此存在較多空洞,相對于B6點(diǎn)云的分布更加復(fù)雜, B15與B6對應(yīng)的點(diǎn)云如圖10所示。
圖9 三組點(diǎn)云數(shù)據(jù)的相關(guān)信息Fig.9 Illustration of the three point clouds
圖10 B5和B15建筑物對應(yīng)的點(diǎn)云Fig.10 Corresponding building point clouds of B6 and B15
初始輪廓點(diǎn)提取是后續(xù)跟蹤和最終輪廓提取結(jié)果的基礎(chǔ),在初始輪廓點(diǎn)提取時,本文方法需要設(shè)置鄰域點(diǎn)數(shù)k以計(jì)算方向向量夾角,為了探究k對初始輪廓點(diǎn)提取結(jié)果的影響,選取密度很不均勻且存在較多空洞的B19建筑物點(diǎn)云數(shù)據(jù),通過設(shè)置不同的k值進(jìn)行多次試驗(yàn),得到的初始輪廓點(diǎn)提取結(jié)果如圖11所示(彩圖見期刊電子版)。
對比圖11(a~f)在圖11(a)中的藍(lán)色矩形區(qū)域可知,不同的k值對建筑物內(nèi)輪廓點(diǎn)的提取影響較大,如果k設(shè)置太小,鄰域的k個點(diǎn)可能都位于同一側(cè),導(dǎo)致計(jì)算的最大夾角較大(近似180°),從而造成部分非輪廓點(diǎn)被錯誤提取(如圖11(a)左下角橢圓區(qū)域內(nèi)的紅色點(diǎn));相反,如果k設(shè)置太大,部分鄰域點(diǎn)會位于內(nèi)輪廓的另一側(cè),導(dǎo)致計(jì)算的最大鄰域向量方向夾角均較小,從而造成輪廓點(diǎn)漏提取。從圖11(a)的左下角標(biāo)注的點(diǎn)云間距可知,B19建筑物點(diǎn)云在橫向和縱向兩個方向上的間距差別很大(0.34 m和1.02 m),但對比圖11(a~f)可知,即使設(shè)置了不同k值,本文方法提取的B19建筑物外輪廓點(diǎn)也都完全相同,且?guī)缀醪淮嬖趤G失凹拐角點(diǎn)的情況,證明了本文方法的參數(shù)易于設(shè)置,具有較好的適應(yīng)性。
圖11 不同k值下初始輪廓點(diǎn)提取結(jié)果(紅色點(diǎn)代表提取的初始輪廓點(diǎn))Fig.11 Extraction results of initial building boundary points by setting different value of k(Colored by red)
3.3.1 輪廓提取效果分析
為了直觀地分析本文方法的有效性,與應(yīng)用最為廣泛的Alpha shapes及其改進(jìn)算法(自適應(yīng)閾值的Alpha shapes算法[20])進(jìn)行對比,考慮到Alpha shapes算法α的設(shè)置對提取結(jié)果有較大的影響,本文按文獻(xiàn)[1]和[21]的建議分別設(shè)置α為1.5和2倍平均點(diǎn)間距進(jìn)行試驗(yàn)(平均點(diǎn)間距為所有點(diǎn)與其最近鄰點(diǎn)的距離均值)。由于篇幅有限,在提取輪廓后,僅選取部分具有代表性、輪廓復(fù)雜程度和點(diǎn)云密度分布不同的建筑物輪廓提取結(jié)果進(jìn)行直觀對比分析,如圖12所示,1.5_alphs,2.0_alphs和adp_aphs分別代表半徑設(shè)置為1.5倍、2.0倍平均點(diǎn)云間距的Alpha shapes算法和自適應(yīng)閾值的Alpha shapes算法(下同)。
圖12 部分建筑物外輪廓提取和跟蹤結(jié)果(不同顏色的線段代表跟蹤的不同輪廓)Fig.12 Results of outline extraction and tracking of some buildings(Line segments with different colors represent different traced outlines)
從圖12(a)中不同算法的輪廓提取結(jié)果可知,當(dāng)單個建筑物點(diǎn)云密度分布均勻時,不同算法的提取效果較好,但也存在少數(shù)不好的情況:從Bs1的藍(lán)色方框放大區(qū)域可以看出,盡管adp_aphs算法通過在平面構(gòu)建TIN,利用每個點(diǎn)較大鄰域范圍內(nèi)三角網(wǎng)中的邊(鄰域范圍均按原文作者的默認(rèn)值設(shè)置,即3 m),為每個點(diǎn)計(jì)算一個α值以改進(jìn)Alpha shapes算法,但其提取結(jié)果中存在明顯的跟蹤錯誤、提取到了多個輪廓的問題。對比Bs2中藍(lán)色箭頭所指凹拐角區(qū)域可知,α較小時(即1.5_alphs),Alpha shapes算法提取效果較好,隨著α的增大(即2.0_alphs),凹拐角區(qū)域的輪廓點(diǎn)被平滑;adp_aphs算法為每個點(diǎn)計(jì)算一個α值,從而有效地提取了凹拐角區(qū)域的輪廓點(diǎn);由于凹拐角區(qū)域最內(nèi)側(cè)輪廓點(diǎn)的鄰域點(diǎn)幾乎分布于其周圍各個方向,導(dǎo)致計(jì)算的最大夾角較小,因此本文方法提取Bs2的結(jié)果雖然相對2.0_alphs較好,但漏提取了最內(nèi)側(cè)輪廓點(diǎn)。對比Bs3、Bs5的藍(lán)色方框放大區(qū)域可知,2.0_alphs的提取結(jié)果相較于1.5_alphs更加平滑(觀察圖12中所有提取結(jié)果均能得到此結(jié)論),adp_aphs算法存在輪廓跟蹤錯誤,相較而言,本文方法的提取結(jié)果更好。
對比圖12(b~d)中不同算法的提取結(jié)果可知,當(dāng)單個建筑物點(diǎn)云密度分布不均勻時,Alpha shapes及其改進(jìn)算法都無法較好地適用,當(dāng)α設(shè)置較小時,Alpha shapes算法存在較多的誤提取,而增大α,雖然能在一定程度上改善誤提取,但造成無法提取直角區(qū)域的輪廓點(diǎn);adp_aphs算法雖然在一定程度上消除點(diǎn)云密度不均造成的影響,但仍難以適應(yīng)密度分布變化較大的建筑物,其提取結(jié)果的優(yōu)劣仍然較大程度上受點(diǎn)云密度的影響;而本文方法可以較好地提取圖12(b~d)中密度分布不均勻的所有建筑物的外輪廓。
分析圖12(a~d)不同算法的提取結(jié)果可知,當(dāng)單個建筑物點(diǎn)云密度變化較小時(如Bs1-Bs5),圖中所有算法均能相對較好地提取建筑物輪廓;隨著單個建筑物點(diǎn)云密度變化程度的增加,Alpha shapes及其改進(jìn)算法的提取效果明顯變差,本文方法雖然也存在一些不足,如無法提取Bs2的銳角區(qū)域內(nèi)側(cè)輪廓點(diǎn)、跟蹤到B19的內(nèi)部,但對于具有不同形狀復(fù)雜度和點(diǎn)云密度變化程度的建筑物點(diǎn)云設(shè)置相同參數(shù)(即鄰域點(diǎn)數(shù)k,k=20)的情況下,均能得到較好的外輪廓提取結(jié)果,表明本文方法具有較好的適應(yīng)性,且從直觀上來看,本文方法的提取結(jié)果更好。
3.3.2 定量評價(jià)與分析
為定量評價(jià)建筑物輪廓提取結(jié)果,采用F1分?jǐn)?shù)和PoLiS度量[28]兩個評價(jià)指標(biāo)對不同算法進(jìn)行評價(jià),其中F1分?jǐn)?shù)基于提取的面積計(jì)算,值越大代表提取結(jié)果越好,PoLiS度量基于提取的輪廓多邊形計(jì)算,值越小代表提取結(jié)果越好,兩種評價(jià)指標(biāo)的具體計(jì)算方式參見文獻(xiàn)[19]。評價(jià)時,數(shù)據(jù)集2的參考輪廓數(shù)據(jù)由文獻(xiàn)[20]提供,數(shù)據(jù)集3的參考輪廓數(shù)據(jù)從ISPRS公布的建筑物三維模型重建結(jié)果中提取,評價(jià)結(jié)果如表1和圖13所示。需要注意的是,由于Alpha shapes算法無法有效地提取部分建筑物的輪廓,因此未對其進(jìn)行評價(jià)(如1.5_alphs提取B4,B18和B19建筑物的結(jié)果),即表1中不包含對這些結(jié)果的評價(jià)(以“-”表示),對應(yīng)的PoLiS度量在圖13中直接置為1 m以便于對比。
表1 不同算法提取建筑物外輪廓的精度統(tǒng)計(jì)結(jié)果Table 1 Building outline extraction accuracy statistics results of different algorithms
圖13 采用PoLiS度量評價(jià)兩組數(shù)據(jù)集建筑物輪廓提取結(jié)果圖Fig.13 Evaluation of two dataset building outline extraction results using PoLiS metric
從表1可以看出,盡管本文方法提取B2,B4和B5建筑物輪廓的F1分?jǐn)?shù)相對較低,但與最高F1分?jǐn)?shù)相差在0.1%以內(nèi),且本文方法提取其余建筑物輪廓結(jié)果的F1分?jǐn)?shù)均為最高,說明方法可以較好地兼顧建筑物輪廓提取的完整率和正確率。從圖13可以看出,整體上,本文方法提取輪廓的PoLiS度量值較低,尤其是對于輪廓相對復(fù)雜、點(diǎn)云密度變化相對較大的建筑物B10-B19,說明方法提取的輪廓與參考輪廓更相似,且能更好地適用于提取具有不同形狀、密度分布的建筑物輪廓。
綜合分析圖11~圖13和表1可知,Alpha shapes及其改進(jìn)算法無法有效地適用于不同密度分布的點(diǎn)云,本文方法參數(shù)易于設(shè)置,可有效地提取建筑物的凹拐角點(diǎn),并能提取具有不同點(diǎn)云密度變化程度、不同形狀復(fù)雜度建筑物的輪廓,適用性較強(qiáng)。
提出了一種利用鄰域方向分布的機(jī)載Li-DAR點(diǎn)云建筑物外輪廓提取方法,利用模擬點(diǎn)云數(shù)據(jù)以及不同傳感器獲取的、具有不同點(diǎn)云密度變化程度和形狀復(fù)雜度的真實(shí)建筑物點(diǎn)云數(shù)據(jù)進(jìn)行試驗(yàn),結(jié)果表明,相較于Alpha shapes及其改進(jìn)算法,本文方法的建筑物外輪廓提取結(jié)果精度高(F1分?jǐn)?shù)優(yōu)于90.88%),可較好地提取具有不同點(diǎn)云密度變化程度和形狀復(fù)雜程度建筑物的外輪廓,適用性較強(qiáng)。此外,方法僅需要設(shè)置鄰域點(diǎn)數(shù)一個參數(shù)即可自動提取建筑物外輪廓,且針對模擬點(diǎn)云數(shù)據(jù),以及不同傳感器獲取的多組建筑物點(diǎn)云的外輪廓提取,設(shè)置相同鄰域點(diǎn)數(shù),得到的提取結(jié)果均較好,結(jié)合鄰域點(diǎn)數(shù)對提取結(jié)果影響的分析可知,該參數(shù)易于設(shè)置。本文關(guān)注的重點(diǎn)是建筑物外輪廓提取,但真實(shí)場景中存在很多具有內(nèi)輪廓的建筑物,因此在今后工作中需進(jìn)一步研究如何有效地提取建筑物內(nèi)輪廓,以進(jìn)一步提高方法的適用范圍。