羅 杰
(福建省測繪院,福建 福州 350003)
作為城市三維建模的重要元素之一,建筑物輪廓線的高效、準(zhǔn)確、快速提取對于“數(shù)字孿生”城市建設(shè)、智慧城市建設(shè)有著重要意義。因此,建筑物輪廓的提取方法是目前的研究熱點之一。目前,主要是通過遙感影像數(shù)據(jù)、機載LiDAR點云數(shù)據(jù)或者兩者結(jié)合數(shù)據(jù)中提取建筑物輪廓線。但是將遙感影像數(shù)據(jù)作為建筑物輪廓提取的數(shù)據(jù)源時會因地面物體干擾較大造成提取效率低。將遙感影像數(shù)據(jù)與機載LiDAR點云數(shù)據(jù)結(jié)合作為建筑物輪廓提取的數(shù)據(jù)源時,由于數(shù)據(jù)量大,提取效果更好,但是數(shù)據(jù)量大帶來的是數(shù)據(jù)處理困難,加大了工作量。故研究如何從機載LiDAR點云數(shù)據(jù)中有效提取建筑物輪廓是目前建筑物輪廓提取研究的主要方向[1]。
基于機載LiDAR點云數(shù)據(jù)的建筑物輪廓提取方法的研究尚處于起步階段,多位學(xué)者對此已經(jīng)有了初步的研究。文獻[2]利用高偏差平衡濾波法對建筑物輪廓進行提取,但是該方法的缺點在于窗口大小與種子點數(shù)的確定較為困難,需要經(jīng)過大量實驗進行驗證。文獻[3]通過RANSAC算法確定建筑物平面最佳模型與屋頂平面,實現(xiàn)建筑物輪廓的提取。但是該方法的缺點在于普遍適用性較低,需要大量的先驗信息。文獻[4]通過影像提取的歸一化植被指數(shù)與點云的三維坐標(biāo)信息結(jié)合,對建筑物輪廓進行提取,并且利用建筑物邊界的垂直與平行關(guān)系處理得到規(guī)則化成果。文獻[5]通過將建筑物點云映射到格網(wǎng)內(nèi),判斷鄰域內(nèi)是否包含某個格網(wǎng)元素,如某個點不在該格網(wǎng)內(nèi),那么此點會被認為是邊界點。將所有邊界點進行連接得到邊界線。但由于點云密度不均,會造成提取的邊界線精度不高?;邳c云數(shù)據(jù)的建筑物輪廓提取,目前大都基于已有建筑物點云數(shù)據(jù),對于從原始機載LiDAR點云數(shù)據(jù)中提取建筑物輪廓的方法與流程較少。故本文以福州市某區(qū)域機載LiDAR點云數(shù)據(jù)為實驗對象,使用方法將原始點云數(shù)據(jù)中非地面點與地面點點云數(shù)據(jù)分割,并且實現(xiàn)建筑物平面及輪廓提取及建筑物輪廓規(guī)則化等。通過建立建筑物輪廓提取模型的方式實現(xiàn)基于機載LiDAR點云數(shù)據(jù)的建筑物輪廓提取。
點云濾波就是篩選出地面激光點與非地面激光點,并且將地面激光點與非地面激光點進行分離。漸進形態(tài)學(xué)點云濾波方法可以將場景中所有不同大小的非圓形地物檢測出,主要的濾波操作為開操作運算。該點云濾波算法實現(xiàn)點云濾波是通過不斷調(diào)整窗口大小,如,通過不斷執(zhí)行增加濾波窗口大小的開操作,從原始點云數(shù)據(jù)中將突出地面的不同大小的目標(biāo)點云剔出。場景中建筑物表現(xiàn)為最外側(cè)高程凸起,針對高地勢頂部點云無法移除的問題,可以在開操作的基礎(chǔ)上增加高差閾值的限制條件:ΔHp=|Hp′-Hp|,ΔHp≤Hpt表示地面,ΔHp≥Hpt表示建筑,其中,Hpt表示設(shè)置的高差閾值;Hp表示濾波前點的高程;Hp′表示濾波后點的高程,對濾波前后的高程插值進行判斷,如差值大于高差閾值,此點為非地面點云,如差值小于高差閾值,則為地面點云。
通過漸進形態(tài)學(xué)點云濾波方法濾波,可以從點云數(shù)據(jù)中將地面點與非地面點進行分離。為了得到建筑物輪廓提取所需的點云數(shù)據(jù),需要對非地面點進行分類與分割。Hough變換能夠容忍特征邊界描述中的間隙,受圖像噪聲的影響不大。隨著空間三維信息的不斷發(fā)展,Hough變換也從二維向三維轉(zhuǎn)變,但是傳統(tǒng)三維Hough變換的提取效率較低,耗費的時間和計算資源較大。針對此問題,本文提出一種改進的Hough變換,改進Hough變換可以以更高的效率從非地面點云中提取建筑物平面。非地面點云數(shù)據(jù)中,與建筑物點云特征最接近的是樹木,所以如何有效地將建筑物點云與樹木點云進行區(qū)分是建筑物點云提取的關(guān)鍵。在完成非地面點云數(shù)據(jù)的平面區(qū)域檢測后,建筑物頂部的所有激光點都在同一平面內(nèi)。對于高大樹木來說,其頂部的點云高程變化較大,但是樹木頂部的平面面積相對于建筑物平面面積較小,所以通過面積閾值的方式可以將建筑物激光點與高大樹木激光點進行區(qū)分。
算法是一種邊緣點檢測算法,檢測原理為通過一個設(shè)置固定半徑的圓繞點云滾動,獲取多點構(gòu)成的建筑物輪廓。該算法目前在網(wǎng)格生成、醫(yī)學(xué)圖像等領(lǐng)域有著廣泛應(yīng)用。圖1所示為將該算法應(yīng)用于本文建筑物輪廓提取的原理,該算法中的固定半徑可以設(shè)置為通過三維Hough變換得到的點集中各點間距的2~3倍,圓心坐標(biāo)可表示為x:
圖1 建筑物輪廓點提取
式(1)中,(Ox,O)y表示為滾動圓的圓心坐標(biāo);(x1,y1)和(x2,y2)分別表示待判斷點的平面坐標(biāo)。
本文通過α-shape對建筑物輪廓進行提取的具體流程為:
(1)對所有建筑物點云進行二維平面投影。在點集中任意選一點P1,將2α設(shè)置為圓的半徑,將P1點平面坐標(biāo)設(shè)置為圓心進行點云搜索。將所有搜索到的點云組成新的點集S1,在點集S1中再任選一點P2,計算通過P1點與P2點的圓心坐標(biāo)P0;
(2)計算點集S1中所有點到圓心P0點的距離,若點集中的所有點到P0的距離小于α,跳至步驟(3);若點集中的所有點到P0的距離大于α,可認定P1與P2點為輪廓點,繼續(xù)步驟(4);
(3)重復(fù)進行步驟(1)至步驟(2),遍歷并判斷點集S1中的所有點;
(4)如果判斷完點集S1中的所有點,繼續(xù)重復(fù)步驟(1)至步驟(3),判斷完所有點后結(jié)束算法。
建筑物相鄰邊緣線之間的關(guān)系是相互垂直的,通過本文方法得到的建筑物輪廓線往往不規(guī)則,故在輪廓線提取完成后需要使用規(guī)則化方法將提取得到的輪廓線設(shè)置為相互垂直或者平行關(guān)系。本文將通過對線段加權(quán)的方式規(guī)則化建筑物邊緣線,將提取得到的輪廓線分為正負兩個方向,兩個方向相互垂直。將不同線段長度作為權(quán)重,計算得到加權(quán)平均方向。假如正方向上有:,其中,D為加權(quán)平均正方向;D_為加權(quán)平均負方向;li表示第i個正方向輪廓線長度;L表示正方向輪廓長度,di表示第i個正方向輪廓線方向。首先對提取得到的輪廓中的最長邊作為起始正方向并且進行編號,編號為1,按照順時針對剩余輪廓線依次進行編號。定義編號是偶數(shù)的輪廓線為負方向,定義編號是奇數(shù)的輪廓線為正方向。正負加權(quán)平均方向D與D_計算完成后,對兩個方向進行垂直改正,總改正值就是兩個方向達到垂直需要的角度。完成垂直改正后,將擬合輪廓線繞中心旋轉(zhuǎn)至正確方向。
為了對本文提出方法的可行性與準(zhǔn)確性進行驗證,本文將福州市某區(qū)域機載激光點云數(shù)據(jù)作為實驗對象,實驗數(shù)據(jù)由無人機搭載M600Pro+Rigel激光掃描系統(tǒng)采集得到。實驗測區(qū)包含道路、低植被、高植被、建筑物等,地物種類豐富,地勢起伏明顯。圖2所示為采集得到的并且經(jīng)過去噪等預(yù)處理后的機載點云數(shù)據(jù)。
圖2 測區(qū)去噪后的三維機載點云數(shù)據(jù)
首先使用漸進形態(tài)學(xué)濾波算法對原始點云數(shù)據(jù)進行濾波,根據(jù)測區(qū)特征與參數(shù)測試,將濾波窗口設(shè)置為20m,閾值設(shè)置為0.2m處理得到的效果最好。圖3所示為算法濾波后得到的地面點點云與非地面點點云數(shù)據(jù)。
圖3 漸進形態(tài)學(xué)濾波算法濾波得到的地面點與非地面點
使用漸進形態(tài)學(xué)濾波算法可以區(qū)分出地面點與非地面點,其中,非地面點又包含低矮植被、高大植被、建筑物點云等。為了降低非地面點中植被對建筑物輪廓提取的影響,本文以地面點云為基準(zhǔn),通過設(shè)置高程閾值的方式將地面點中的低矮植被和車輛點云提出,經(jīng)過不斷試驗將高程閾值設(shè)置為3m后得到的效果最好。剔除車輛、低矮植被后剩下的就是高植被點云與建筑物點云。圖4所示為經(jīng)過高程閾值濾波后得到的點云數(shù)據(jù)。
圖4 經(jīng)高度閾值濾波得到的非地面點云
使用三維Hough變換獲取建筑物平面,首先得到計算平面計算時的參數(shù),其次計算各點到平面的距離,距離小于閾值的所有點視為同一平面。計算過程中部分高大植被點可能會被歸到平面點集中,可以通過對局部鄰域內(nèi)點的法方向一致性判斷剔除平面內(nèi)包含的高植被點。
建筑物輪廓點云被投影到二維平面上后,經(jīng)Hough變換得到的平面中平面點云就會覆蓋平面中立面點云。為了提高建筑物輪廓的提取效率,就需要平面中的立面點云剔除。本文通過點的法向量方向信息這一方法將平面中的立面點云剔除。圖5所示為提取得到的建筑物屋頂面點云數(shù)據(jù)。
圖5 建筑物屋頂面提取結(jié)果
建筑物平面點云投影到二維平面后,通過算法提取建筑物輪廓。設(shè)置圓的半徑為0.5m,對提取得到的建筑物輪廓進行規(guī)則化處理。圖6所示為建筑物輪廓規(guī)則化處理結(jié)果。
圖6 建筑物輪廓提取及規(guī)則化成果
為了對本文使用方法的正確性與有效性進行驗證,對比該地區(qū)高清衛(wèi)星影像數(shù)據(jù)與本文方法提取得到的建筑物輪廓成果。使用平均輪廓線長度差、平均輪廓區(qū)域面積差、平均輪廓線角度差定量這三個指標(biāo)定量分析本文方法提取到的建筑物輪廓誤差。其中,平均輪廓線長度差是影像數(shù)據(jù)與本文提取輪廓線的邊長差的平均值,平均輪廓區(qū)域面積差是影像數(shù)據(jù)與本文提取輪廓面積差除以邊數(shù)的值,平均輪廓線角度差是影像數(shù)據(jù)與本文提取輪廓的各個邊角度差的平均值,統(tǒng)計結(jié)果(如表1所示):
表1 建筑物輪廓提取驗證結(jié)果統(tǒng)計
為了從機載LiDAR點云數(shù)據(jù)中有效提取建筑物輪廓,本文提出了一系列改進算法。首先,統(tǒng)計各個漸進數(shù)學(xué)形態(tài)濾波算法分割原始點云數(shù)據(jù)中的地面點與非地面點。其次,利用改進的三維Hough算法從非地面點云數(shù)據(jù)中提取建筑物點云,并且通過算法實現(xiàn)了建筑物輪廓的提取。最后,假設(shè)建筑物相鄰邊線相互垂直的情況下,通過線段長度加權(quán)方向的方法對建筑物輪廓進行規(guī)則化處理。以福州市某區(qū)域采集得到的機載LiDAR點云數(shù)據(jù)為實驗對象,通過本文提出的方法對建筑物輪廓進行提取,對提取結(jié)果使用高清衛(wèi)星影像數(shù)據(jù)進行驗證。實驗結(jié)果表明:本文提出的方法可將建筑物提取誤差控制在一定范圍內(nèi),提取的效果較好。隨著建筑物設(shè)計與建造的個性化、多元化,本文的建筑物提取算法還需要進一步改進以適應(yīng)異形建筑物輪廓的提取。