王安琪
(大連財經(jīng)學(xué)院管理學(xué)院,遼寧 大連 116600)
三維城市重建的主要信息是建筑物,三維城市重建的重要步驟是建筑物輪廓線提取[1]。地圖更新與城市重建等領(lǐng)域均離不開建筑物輪廓信息。因此,建筑物輪廓線提取至關(guān)重要[2]。傳統(tǒng)的基于影像的建筑物輪廓線提取方法易受地面物體影響,導(dǎo)致輪廓線提取精度與效率降低。為此,設(shè)計高精度、高效率的建筑物輪廓線提取算法屬于目前的研究熱點(diǎn)。國內(nèi)外相關(guān)領(lǐng)域的學(xué)者紛紛對建筑物輪廓線提取算法進(jìn)行了研究。
Che等[3]提出了基于傾斜攝影數(shù)據(jù)的單體三維建筑輪廓線提取算法,將傾斜攝影模型的點(diǎn)云劃分為虛擬網(wǎng)格,并將每個虛擬網(wǎng)格中的點(diǎn)云視為一個整體,通過設(shè)置高度差來提取建筑立面的點(diǎn)云,將網(wǎng)格的最高點(diǎn)和最低點(diǎn)之間的高度差與高度差閾值進(jìn)行比較,消除網(wǎng)格中所有不符合要求的點(diǎn)云,對建筑立面的點(diǎn)云進(jìn)行分類,并通過分類的點(diǎn)云提取輪廓線。該方法可用于從大量傾斜攝影數(shù)據(jù)中獲得單個三維建筑模型,建筑物輪廓線提取效率較高,但提取精度較差。Zhu等[4]提出基于自適應(yīng)多邊形生成算法的建筑物自動提取方法。該方法旨在直接生成建筑頂點(diǎn)序列,以勾勒出每個建筑實(shí)例的輪廓。利用自適應(yīng)多邊形生成算法預(yù)測建筑頂點(diǎn)的候選位置,并通過建筑邊界的位置和方向確定這些頂點(diǎn)的排列,以細(xì)化它們的位置。該算法提取建筑物輪廓線的精度較好,但步驟較多,提取效率較差。朱軍桃等[5]先塑造建筑物點(diǎn)云網(wǎng)孔,初步提取邊緣點(diǎn)云,再通過改進(jìn)卷包裹算法,在初步提取的邊緣點(diǎn)云內(nèi)提取角點(diǎn),按照角點(diǎn)二次提取邊緣點(diǎn)云,最后通過最小二乘擬合方法,擬合二次提取邊緣點(diǎn)云連接形成的輪廓線,得到最終的建筑物輪廓線提取結(jié)果。該算法具備較優(yōu)的建筑物輪廓線提取效果,提取效率較快。但該算法在提取角點(diǎn)時,容易出現(xiàn)錯提問題,導(dǎo)致輪廓線位置偏移,降低建筑物輪廓線提取精度。徐景中等[6]通過建筑物點(diǎn)云構(gòu)建建筑物虛擬網(wǎng)格,利用鄰域分析法標(biāo)記建筑物邊界格網(wǎng),基于方向的單邊緣格網(wǎng)抑制法,按照標(biāo)記結(jié)果提取輪廓點(diǎn),通過最小二乘擬合方法擬合輪廓點(diǎn),提取建筑物輪廓線。該算法提取的輪廓線較為精準(zhǔn),且提取速度較快。但該算法在構(gòu)建建筑物虛擬網(wǎng)格時,會出現(xiàn)部分建筑物邊界點(diǎn)被遮擋的情況,導(dǎo)致輪廓線提取完整性較差。
方向預(yù)測規(guī)則化算法具備較優(yōu)的規(guī)則化效果,可提升輪廓線提取精度[7]。為提升建筑物輪廓線提取的完整性和精度,本文將方向預(yù)測規(guī)則化算法應(yīng)用至建筑物輪廓線提取的研究中,設(shè)計基于方向預(yù)測規(guī)則化的建筑物輪廓線提取算法,提升建筑物輪廓線提取效果。
建筑物輪廓線提取的具體步驟如下:
步驟1:由機(jī)載激光雷達(dá)采集建筑物點(diǎn)云數(shù)據(jù)S。
將S近似成一個平面,為此,旋轉(zhuǎn)建筑物三維點(diǎn)云,即旋轉(zhuǎn)建筑物點(diǎn)云平面[9],將其法向量旋轉(zhuǎn)到與坐標(biāo)是(0,0,1)的法向量nz平行的位置。通過羅德里格旋轉(zhuǎn)公式得到旋轉(zhuǎn)矩陣Rj(α)。按照建筑物點(diǎn)云平面法向量n與nz,計算旋轉(zhuǎn)角α,公式如下:
(1)
利用n與nz計算旋轉(zhuǎn)軸j,公式如下:
(2)
Rj(α)的計算公式如下:
(3)
式中,(x,y,z)為旋轉(zhuǎn)建筑物三維點(diǎn)云任一點(diǎn)的坐標(biāo)。
令旋轉(zhuǎn)后的建筑物點(diǎn)云數(shù)據(jù)集S′為:
S′=Rj(α)·S·λ
(4)
式中:λ為平滑系數(shù);S與S′都是3×n的矩陣。
通過篩選邊界網(wǎng)格,可去掉無效點(diǎn)云,加快建筑物輪廓點(diǎn)提取速度,邊界網(wǎng)格篩選步驟如下:
步驟1:利用Rj(α)旋轉(zhuǎn)S,得到S′,在水平面內(nèi)投影S′,得到二維點(diǎn)云。
步驟2:利用二維點(diǎn)云,塑造建筑物二維網(wǎng)格。設(shè)置合理的孔洞尺寸,可避免出現(xiàn)細(xì)節(jié)丟失與孔洞問題[10]。令建筑物二維網(wǎng)格橫縱坐標(biāo)的最大、最小值為Xmax、Xmin、Ymax、Ymin,建筑物二維網(wǎng)格的孔洞尺寸Hsize為
(5)
式中:β為調(diào)節(jié)系數(shù);N為建筑物點(diǎn)云數(shù)量。
S′內(nèi)某建筑物點(diǎn)云G(x,y)所處網(wǎng)格的公式如下:
(6)
(7)
G所處行數(shù)與列數(shù)為r、c,點(diǎn)云G的橫縱坐標(biāo)是x、y。
步驟3:篩選邊界點(diǎn)云,建筑物二維網(wǎng)格建立成功后,篩選邊界點(diǎn)云,即篩選邊界網(wǎng)格。邊界網(wǎng)格篩選的條件為八鄰域網(wǎng)格中包含空網(wǎng)格O。通過深度優(yōu)先搜索算法篩選邊界網(wǎng)格,具體方式為:搜索O的八鄰域是否包含未訪問的網(wǎng)格,如果包含則訪問該網(wǎng)格,若網(wǎng)格不是空的,則標(biāo)記成邊界網(wǎng)格;如果不包含,則遞歸進(jìn)行該算法,以全部網(wǎng)格均被訪問為止,完成邊界網(wǎng)格篩選。
利用改進(jìn)的散點(diǎn)輪廓算法在建筑物點(diǎn)云數(shù)據(jù)內(nèi)提取建筑物輪廓點(diǎn)的具體步驟如下:
步驟1:設(shè)置滾動圓半徑γ,在建筑物邊界網(wǎng)格中隨機(jī)選擇點(diǎn)G0,G0所處網(wǎng)格中全部點(diǎn)云組建的點(diǎn)集是G,G0的八鄰域中全部點(diǎn)云組建的點(diǎn)集是Q。γ的計算公式為:
(8)
式中:μ為調(diào)節(jié)因子;M為某網(wǎng)格中點(diǎn)云數(shù)量;m為非空網(wǎng)格數(shù)量。
步驟2:求解滾動圓圓心,在Q內(nèi)隨機(jī)選擇點(diǎn)云G1,根據(jù)G0與G1的坐標(biāo)(x0,y0)、(x1,y1)以及γ,求解圓心坐標(biāo),公式如下:
(9)
通過式(9)可計算獲取‖G1‖>‖G0‖、
‖G1‖<‖G0‖兩種情況下的圓心,記作G2、G3。
步驟3:分析G0是否是邊界點(diǎn),求解Q內(nèi)除G0與G1以外其余點(diǎn)云至G2、G3的距離,如果全部點(diǎn)云至G2或G3的距離均超過γ,那么G0是邊界點(diǎn),否則,分析Q內(nèi)另一點(diǎn)云G1是否是邊界點(diǎn),Q內(nèi)除G0以外,全部點(diǎn)云都當(dāng)成G1參與分析完成為止,如果無法分析G0是否是邊界點(diǎn),那么認(rèn)定G0是非邊界點(diǎn)。
步驟4:分析G內(nèi)其余點(diǎn)云是否是邊界點(diǎn),在G內(nèi)選擇一點(diǎn)云G0,進(jìn)行上述3個步驟,分析G內(nèi)的全部點(diǎn)云。
步驟1:將1.1提取的建筑物輪廓點(diǎn)的首尾點(diǎn)相連,得到一條直線L。
步驟2:求解全部建筑物輪廓點(diǎn)至L的距離,獲取最大的距離值Dmax,設(shè)ε為L的均值,如果Dmax>ε則剔除該線段內(nèi)的點(diǎn)云,如果Dmax≤ε則將該線段分成兩部分。
(10)
步驟1:確定獲取的簡化建筑物輪廓線的φbest,計算簡化建筑物輪廓線段編號和最佳主方向線段編號差的絕對值,如果該值是偶數(shù),則歸類為主方向類;反之,歸類為垂直于主方向類。
步驟2:求解主方向類簡化建筑物輪廓線段的加權(quán)平均主方向,公式為
(11)
式中:簡化建筑物輪廓線段i的起止坐標(biāo)是(Xstart,Ystart)、(Xstop,Ystop);gi為長度;h為簡化建筑物輪廓線段數(shù)量。
步驟3:求解與φmean正交的加權(quán)平均主方向φmean,φmean為φbest的垂直方向。
步驟5:調(diào)整建筑物輪廓線位置,公式為:
(12)
步驟6:反復(fù)操作步驟4與5,全部簡化輪廓都完成規(guī)則化為止。通過截取鄰近輪廓線交點(diǎn),完成輪廓線提取。
以某小區(qū)的高層建筑物為實(shí)驗(yàn)對象,該小區(qū)內(nèi)共包含27棟樓,地上總建筑面積約45 869.26 m2,地下總建筑面積約3 628 m2,除最上層層高為3.0 m外,其余層的層高均為2.9 m。該小區(qū)高層建筑物屋頂共包含3種形狀,分別是簡單、規(guī)則凹與不規(guī)則凹多邊形。
利用RIEGL VQ-840-G型機(jī)載激光雷達(dá)采集該小區(qū)高層建筑物的點(diǎn)云數(shù)據(jù)。RIEGL VQ-840-G型機(jī)載激光雷達(dá)主要參數(shù)如表1所示。
表1 RIEGL VQ-840-G型機(jī)載激光雷達(dá)主要參數(shù)
以該小區(qū)內(nèi)其中一棟高層建筑物為例,利用本文算法采集該高層建筑物的三維點(diǎn)云數(shù)據(jù)。三維點(diǎn)云數(shù)據(jù)采集結(jié)果如圖1所示。
圖1 高層建筑物點(diǎn)云數(shù)據(jù)采集結(jié)果
根據(jù)圖1可知,本文算法可有效采集高層建筑物的三維點(diǎn)云數(shù)據(jù),且采集的三維點(diǎn)云數(shù)據(jù)可描繪該高層建筑物的各個細(xì)節(jié)信息。
利用本文算法將采集的高層建筑物三維點(diǎn)云數(shù)據(jù)轉(zhuǎn)換成二維點(diǎn)云,并提取高層建筑物的輪廓點(diǎn)與關(guān)鍵輪廓點(diǎn)。高層建筑物輪廓點(diǎn)與關(guān)鍵輪廓點(diǎn)提取結(jié)果,如圖2所示。
圖2 建筑物輪廓點(diǎn)與關(guān)鍵輪廓點(diǎn)提取結(jié)果
根據(jù)圖2(a)可知,本文算法可有效提取高層建筑物的整體輪廓點(diǎn),提取的整體輪廓點(diǎn)與實(shí)際建筑物的輪廓非常接近,說明本文算法的建筑物輪廓點(diǎn)提取效果較優(yōu)。根據(jù)圖2(b)可知,本文算法也可提取高層建筑物的關(guān)鍵輪廓點(diǎn),提取的關(guān)鍵輪廓點(diǎn)與實(shí)際建筑物的輪廓也較為接近。實(shí)驗(yàn)證明本文算法對建筑物輪廓點(diǎn)與關(guān)鍵輪廓點(diǎn)的提取是有效的。
利用本文算法簡化的高層建筑物輪廓線,并提取最終高層建筑物輪廓線,簡化高層建筑物輪廓線與最終高層建筑物輪廓線的提取結(jié)果,如圖3所示。
圖3 簡化輪廓線與最終輪廓線提取結(jié)果
根據(jù)圖3可知,簡化的高層建筑物輪廓線可大概描繪高層建筑物的輪廓,整體輪廓線較為平整,無鋸齒情況出現(xiàn),但在90°轉(zhuǎn)角位置的處理效果較差,還需處理。經(jīng)過處理后,最終提取的高層建筑物輪廓線與實(shí)際輪廓更為接近。實(shí)驗(yàn)證明,本文算法可有效簡化建筑物輪廓線并提取最終的建筑物輪廓線,提取的建筑物輪廓線無鋸齒現(xiàn)象,整體輪廓線非常平整。
以完整率、最大偏差與點(diǎn)云貢獻(xiàn)率為評價指標(biāo),衡量本文算法的輪廓線提取效果,完整率代表輪廓線提取的完整性,其值越接近100%,輪廓線提取完整性越佳。最大偏差代表提取輪廓線位置與實(shí)際位置間的最大平面距離,其值越小,輪廓線提取精度越高,最大偏差閾值是0.2。點(diǎn)云貢獻(xiàn)率代表輪廓線提取的有效程度,其值越接近1,輪廓線提取有效程度越高。本文算法在提取不同屋頂形狀高層建筑物輪廓線時的輪廓線提取效果,結(jié)果如表2所示。
表2 高層建筑物輪廓線提取效果
根據(jù)表2可知,本文算法可提取不同屋頂形狀的高層建筑物輪廓線,且完整率均為100%,說明本文算法輪廓線提取的完整性較高;最大偏差均未超過設(shè)置的閾值,說明本文算法輪廓線提取精度較高;點(diǎn)云貢獻(xiàn)率均與1較為接近,說明本文算法輪廓線提取的有效程度較高。
建筑物輪廓線提取在智慧城市的建設(shè)中至關(guān)重要,為此設(shè)計基于方向預(yù)測規(guī)則化的建筑物輪廓線提取算法,避免因強(qiáng)制調(diào)整輪廓線方向?qū)е绿崛≥喞€和實(shí)際輪廓線間的偏差較大,影響提取精度,該算法可為智慧城市發(fā)展提供有利的技術(shù)支持。