王競雪 洪紹軒
(1. 遼寧工程技術(shù)大學測繪與地理科學學院,遼寧阜新 123000;2. 西南交通大學地球科學與環(huán)境工程學院,四川成都 610031)
機載激光雷達技術(shù)(Light Laser Detection and Ranging,簡稱LiDAR)作為一種主動式遙感技術(shù),可以快速、準確地獲取地表及建筑物等人工地物的高密度三維點云數(shù)據(jù),為三維數(shù)字城市建模提供關(guān)鍵基礎數(shù)據(jù)。而從原始機載LiDAR點云數(shù)據(jù)中提取建筑物點云是基于LiDAR數(shù)據(jù)建筑物三維建模的關(guān)鍵[1-3]。
目前,從機載LiDAR點云中提取建筑物的算法可歸為三類:第一類是基于柵格影像的建筑物點云提取。該方法將點云數(shù)據(jù)轉(zhuǎn)化成距離影像,在此基礎上利用圖像的紋理信息進行建筑物點云的提取。劉修國等提出一種對比度特征輔助的點云數(shù)據(jù)建筑物快速提取算法[4]。徐文學等提出一種多標記點過程的LiDAR點云建筑物提取算法[5]。張皓等提出一種基于灰度共生矩陣(Gray Level Co-occurrence Matrix,簡稱GLCM)的LiDAR點云建筑物自動提取算法[6]。該類方法以數(shù)字圖像處理技術(shù)為基礎,原理相對簡單,但初始點云柵格化過程中點云空缺處的柵格需要進行插值計算,該過程會影響原始LiDAR點云數(shù)據(jù)的基本特征與初始結(jié)構(gòu),不利于后續(xù)建筑物提取;第二類是融合多源遙感數(shù)據(jù)進行建筑物點云提取。Gao等提出一種基于航空影像與機載 LiDAR 數(shù)據(jù)融合的地物分類方法[7]。Mohammad等提出一種結(jié)合多光譜圖像的激光雷達數(shù)據(jù)建筑物自動檢測算法[8]。該類方法可以簡化建筑物點云提取算法,但是需要將LiDAR點云數(shù)據(jù)與影像進行精確的配準與融合,而且對于影像分辨率要求較高;第三類是基于地形地物空間特征的相似性對點云進行聚類或分割提取建筑物。Wang等提出一種基于八叉樹分裂、合并的機載LiDAR數(shù)據(jù)共面點聚類自動分割算法[9]。汪禹芹提出一種基于TIN點云分割算法[10]。羅勝等提出一種基于區(qū)域生長的多層結(jié)構(gòu)建筑物激光點提取算法[11]。Pang等提出基于三角形的區(qū)域生長算法[12]。上述采用聚類分析法提取建筑物激光腳點,需要進行龐大的距離矩陣計算,且算法復雜,運算效率低。同時該類算法依賴于種子點的選取精度。
上述大部分算法都是基于濾波之后的非地面點云進行建筑物激光腳點提取,這種方法受濾波結(jié)果的影響,如果濾波精度不高,將直接影響后續(xù)建筑物點云提取精度。針對這一問題,何曼蕓等直接利用原始點云數(shù)據(jù)進行建筑物提取,提出一種綜合不規(guī)則三角網(wǎng)和區(qū)域生長的建筑物提取算法[13]。該方法對單一建筑物能得到較好的提取結(jié)果,但由于區(qū)域生長后的后處理工作不完善,導致與樹木鄰近的建筑物存在錯分現(xiàn)象,特別當二者高度相當時錯分現(xiàn)象尤為嚴重,同時該方法對于地形以及房屋類型沒有達到良好的自適應性。鑒于此,本文提出一種結(jié)合區(qū)域生長及特征分析的機載LiDAR點云建筑物提取算法。該方法在文獻[13]基礎上,對區(qū)域生長后得到的點云數(shù)據(jù),進一步采用主成分分析法對其進行檢核,并根據(jù)面積閾值法剔除小區(qū)域噪聲,有效的提高了建筑物點云的提取精度。
本文算法整體流程如圖1所示。該算法首先對粗差剔除后的機載LiDAR離散點云構(gòu)建TIN三角網(wǎng),利用建筑物邊緣點與地面點構(gòu)成三角形的特征,提取建筑物邊緣激光腳點,并利用鄰域特征對建筑物邊緣激光腳點進行優(yōu)化;然后將優(yōu)化后的建筑物邊緣點作為種子點進行局部區(qū)域生長得到建筑物點云;最后通過主成分分析法過濾掉非建筑物點云,同時利用連通性分析原理對全部建筑物點云進行單體化分割,同時剔除小面積區(qū)域,得到最終的建筑物激光腳點數(shù)據(jù)。
圖1 建筑物點云提取算法流程圖Fig.1 Flowchart of building point clouds extraction algorithm
本文對粗差剔除后的機載LiDAR點云構(gòu)建不規(guī)則TIN三角網(wǎng),利用三角網(wǎng)中建筑物邊緣點所在的三角形有其自身的特點,如圖2所示,該三角形中有兩條邊長近似相等且明顯大于第三條邊長,同時該三角形所在平面近似為鉛垂面。因此本文根據(jù)上述兩方面特點提取建筑物邊緣三角形及邊緣點,具體步驟如下:
Step1 對原始點云構(gòu)建Delaunay三角網(wǎng);
Step2 對三角網(wǎng)中任一三角形,計算三角面的法向量n1及三邊的邊長l1、l2、l3,假定l1≤l2≤l3;
Step3 計算法向量n1與鉛垂線夾角的余弦值cosα;
Step4 將余弦值和邊長同時滿足如下條件的三角形確認為邊緣點所在的三角形,cosα Step5 計算邊緣三角形重心點坐標,三角形中Z坐標值大于重心點Z坐標值的頂點為建筑物邊緣激光腳點; Step6 對三角網(wǎng)中每個三角形重復Step2~Step5,依次判斷其是否為邊緣點所在三角形,并提取建筑物邊緣點。 圖2 邊緣三角形Fig.2 Boundary triangle 對上述提取到的建筑物邊緣激光腳點,進一步采用優(yōu)化算法去除孤立的建筑物邊緣點。以目標點為球心,一定長度為半徑的設定球體作為目標點的三維鄰域范圍,確定該鄰域內(nèi)包含建筑物邊緣點的數(shù)目,將數(shù)目小于閾值n(區(qū)間范圍:4~6個)的目標點去除。最終得到優(yōu)化后的建筑物邊緣激光腳點如圖4所示,原始點云如圖3所示。 圖3 原始點云Fig.3 Original point clouds 圖4 建筑物邊緣點提取Fig.4 Building boundary points extraction 區(qū)域生長算法過程主要包括種子點選取、制定生長準則、設定終止條件三方面內(nèi)容[14-16]。該算法依賴種子點選取的精度,因此種子點選取是關(guān)鍵。本文以基于Delaunay三角網(wǎng)提取到的建筑物邊緣點作為種子點,采用區(qū)域生長算法從粗差剔除后的LiDAR點云數(shù)據(jù)中提取建筑物點云。具體過程如下: (3)終止條件:判斷i是否等于l?否,令i=i+1,重復上述步驟(2),進行區(qū)域生長;是,迭代終止。得到初始建筑物激光腳點如圖6所示。 圖5 局部區(qū)域搜尋示意圖Fig.5 Local area search schematic 圖6 區(qū)域生長提取建筑物點云Fig.6 Building point clouds extraction by region growing 由于植被的干擾,經(jīng)過邊緣點區(qū)域生長后得到的建筑物激光腳點可能會包含一些非建筑物點云,尤其當建筑物鄰域內(nèi)存在與其高度相近的樹木的情況下。因此本文進一步利用主成分分析算法[17]對提取結(jié)果進行檢核,去除噪聲點。 (1) 式中: (2) (3) 實驗中,為了結(jié)果的可靠性,需要確保當前點鄰域集合M內(nèi)離散點的數(shù)目大于一定的閾值TM=8。因此當鄰域內(nèi)點的數(shù)目小于TM時,判定點Pi為植被點或者建筑物噪聲點。當鄰域內(nèi)所有點都在一個平面上,λ1為0,但是由于點云離散性特點,當λ1值較小時就認為其鄰域M內(nèi)的離散點滿足空間平面。設定點Pi的表面曲率為: (4) f越小,則點Pi及其鄰域點越有可能在同一平面上,因此給定經(jīng)驗閾值Tf=0.3。若f 圖7 主成分分析后建筑物點云Fig.7 Building point clouds after principal component analysis 本文進一步采用柵格連通性對全部建筑物點云進行單體化分割,同時剔除小面積區(qū)域。該過程首先將提取到的建筑物點云進行柵格化處理,將其投影到二維虛擬格網(wǎng)里;然后基于格網(wǎng)八鄰域連通性對建筑物點云進行區(qū)域分割,得到若干個各自獨立的小區(qū)域;最后設定面積閾值TS為參考數(shù)據(jù)最小建筑物面積,認為分割結(jié)果中小于面積閾值的區(qū)域為噪聲區(qū)域,將其去除,最終得到單體化的建筑物激光腳點,如圖8所示。 圖8 最終建筑物點云Fig.8 Final building point clouds 為了驗證本文算法的有效性,實驗選用ISPRS官網(wǎng)提供的三組測區(qū)數(shù)據(jù):Samp12、CSite2、CSite3。其中Samp12測區(qū)包含有建筑物、植被、道路、電力線等混合地物,城市區(qū)域較為密集,而且還有部分是山地,地形起伏較明顯。區(qū)域范圍大約為53300 m2,原始點云數(shù)目共52119個。CSite2測區(qū)數(shù)據(jù)采用末回波數(shù)據(jù),對原始CSite2測區(qū)數(shù)據(jù)進行裁剪,得到裁剪區(qū)域如圖9(b)所示,包含有大量的形狀不規(guī)則的建筑物,植被區(qū)域較多,地勢較為平坦。裁剪區(qū)域范圍大約為44544 m2,點云數(shù)目共40009個。CSite3測區(qū)同樣采用末回波數(shù)據(jù),其建筑物較為密集,屋頂形狀較異常,高低不平,植被較多且有很多與建筑物緊鄰,地形較平坦。區(qū)域范圍大約為200368 m2,共包含188514個離散激光腳點。測試數(shù)據(jù)中分別包含平頂型、人字型、山型等多種屋頂類型的建筑物。三組測區(qū)原始點云渲染圖分別如圖9所示。后續(xù)為了進行結(jié)果檢核,在TerraScan軟件中人工目視判讀選取的建筑物腳點,并將其作為標準參考數(shù)據(jù),如圖10所示。 采用本文提出的結(jié)合區(qū)域生長及主成分分析的機載LiDAR點云建筑物提取算法對上述三組數(shù)據(jù)進行測試實驗。同時為了驗證本文算法的有效性,還分別采用文獻[13]提出的綜合不規(guī)則三角網(wǎng)與區(qū)域生長的建筑物點云提取算法和文獻[18]中基于形態(tài)學的建筑物點云提取算法對上述三組測試數(shù)據(jù)進行建筑物點云提取實驗,并與本文算法提取結(jié)果進行對比分析,驗證本文算法的有效性。三種方法建筑物點云提取結(jié)果分別如圖11~13所示,圖中不同顏色信息代表分割的單體建筑物。 圖9 三組測區(qū)原始點云Fig.9 The original point clouds of three test data 圖10 參考數(shù)據(jù)結(jié)果Fig.10 Reference data results 圖11 數(shù)據(jù)Samp12不同算法建筑物提取結(jié)果Fig.11 Data Samp12 extraction results by different algorithms 圖12 數(shù)據(jù)CSite2不同算法建筑物提取結(jié)果Fig.12 Data CSite2 extraction results by different algorithms 圖13 數(shù)據(jù)CSite3不同算法建筑物提取結(jié)果Fig.13 Data CSite3 extraction results by different algorithms 圖11為不同算法對Samp12數(shù)據(jù)進行建筑物提取的結(jié)果,從中可以看出,三種算法都可以提取出建筑物的基本輪廓。但是從標記1可以看出文獻[13]算法將某些非建筑物點云錯誤的提取出來;而從標記2、標記3可以看出,文獻[18]算法存在部分建筑物提取不完整,對于高程比較低的建筑物會有遺漏現(xiàn)象。而本文算法對于山坡上的建筑物可以完整地提取出來,且植被與建筑物緊鄰處也可以很好地區(qū)分。 圖12為不同算法對CSite2數(shù)據(jù)進行建筑物提取的結(jié)果。從標記1和標記2可以看出文獻[13]算法提取的建筑物不完整,文獻[18]形態(tài)學算法相對完整,但是建筑物拐角點處沒有成直角;標記3是圓柱形建筑物,高程比較矮而且墻壁較窄,文獻[13]算法沒有將其提取出來;標記4中部分建筑物與植被緊鄰,而且植被點高程與建筑物頂面高程接近,文獻[13]算法可以大致分離出建筑物與植被,但是少數(shù)植被點云被錯誤的提取出來,而文獻[18]算法對此難以區(qū)分。對于上述兩種算法出現(xiàn)的問題,本文算法都可以很好的解決。 圖13為不同算法對CSite3數(shù)據(jù)進行建筑物提取的結(jié)果。從標記1中可以看出文獻[18]算法對于植被與建筑物緊鄰區(qū)域難以將二者分離出來,文獻[13]算法也存在過提取現(xiàn)象;標記2和標記3充分說明了文獻[18]算法對于復雜建筑物屋頂面提取的效果不理想,存在嚴重的提取漏洞;從標記4和標記5得知,文獻[13]算法會將部分非建筑物點云錯誤的提取出來;與上述兩種算法相比,本文算法總體提取效果較好。 通過上述三組測試數(shù)據(jù)不同算法實驗結(jié)果對比分析可以看出來,與文獻[13]、文獻[18]算法相比,本文算法對于建筑物與植被緊鄰的區(qū)域,可以更好的將二者區(qū)分。同時該算法對于不同地形有更好的自適應性,提取的建筑物比較完整,輪廓清晰。后續(xù)通過對建筑物點群單體化分割,便于后期建筑物三維重建。圖14~16為截取的不同屋頂類型建筑物本文算法的提取結(jié)果圖,從中可以看出,本文算法對不同類型的建筑物具有較好的魯棒性。 為了進一步驗證本文算法的可靠性,借鑒文獻[19]中濾波的評價方法,本文同時采用定量評價的方法對建筑物提取結(jié)果進行精度評定。以人工目視判讀選取的建筑物腳點作為基準數(shù)據(jù)。分別從第Ⅰ類誤差、第Ⅱ類誤差、總誤差以及Kappa系數(shù)四個方面對提取結(jié)果進行定量評價。 圖14 山型屋頂建筑物提取結(jié)果Fig.14 Extraction results of mountain roof buildings 圖15 平頂型屋頂建筑物提取結(jié)果Fig.15 Extraction results of flat roof buildings 圖16 人字型屋頂建筑物提取結(jié)果Fig.16 Extraction results of herringbone roof buildings ①第Ⅰ類誤差定義為建筑物點誤分為非建筑物點的誤差,計算公式如下: (5) 式中,b為建筑物點誤分為非建筑物點的數(shù)目,e為參考數(shù)據(jù)中的建筑物點數(shù)目。 ②第Ⅱ類誤差定義為非建筑物點誤分為建筑物點的誤差,計算公式如下: (6) 式中,c為非建筑物點誤分為建筑物點的數(shù)目,f為參考數(shù)據(jù)中的非建筑物點數(shù)目。 ③總誤差計算公式如下: (7) ④Kappa系數(shù)計算公式如下: Kappa系數(shù)= (8) 式中,a為分類正確的建筑物點總數(shù)目,d為分類正確的非建筑物點總數(shù)目,g表示本文算法提取的建筑物點總數(shù),g表示本文算法提取的非建筑物點總數(shù)。 對上述三種算法建筑物提取結(jié)果進行統(tǒng)計,分別如表1、表2、表3所示,其中涵蓋了正確提取建筑物以及非建筑物點數(shù)量、將參考數(shù)據(jù)中的建筑物誤分類為非建筑物、將參考數(shù)據(jù)中的非建筑物誤分類為建筑物等內(nèi)容。表4是對表1、表2、表3統(tǒng)計結(jié)果做的定量精度評價,從表中可以看出,文獻[18]算法精度差距比較大,主要是因為形態(tài)學算法提取建筑物的局限性,主要適用于地形平坦的小區(qū)域,而且建筑物與植被高程差別明顯。表中Ⅰ類誤差比較大,說明該算法對于建筑物漏提取現(xiàn)象比較嚴重,主要因為數(shù)據(jù)集地形起伏明顯,建筑物高程相差比較大,這樣在生成DSM深度圖像以及二值化處理之后,與植被高程相當?shù)慕ㄖ锉划敵芍脖贿^濾掉,導致漏提取現(xiàn)象;總誤差以及Kappa系數(shù)比較差,是因為Ⅰ類誤差比較大所導致,也說明了文獻[18]算法還沒有達到普適性。但是Ⅱ類誤差控制的比較好,表明對于植被的過濾效果比較好。本文算法的Ⅰ類誤差維持在0.84%~4.90%,說明對于建筑物點云提取的完整性很高,其中對于CSite3數(shù)據(jù),文獻[13]算法的Ⅰ類誤差比本文算法略好,是因為本文算法在連通性分析單體建筑物分割之后,設定的面積閾值稍大,將個別面積較小的建筑物過濾掉。本文算法的Ⅱ類誤差在0.06%~1.67%范圍,充分說明本文算法對于區(qū)域生長之后的后處理效果很好,可以將非建筑物點過濾掉,降低誤分率。Ⅰ類誤差和Ⅱ類誤差比較低,致使總誤差也比較理想。Kappa系數(shù)控制在96%左右,表明本文算法建筑物提取結(jié)果與參考數(shù)據(jù)結(jié)果的高度一致性,各類建筑物提取的魯棒性比較好,同時對于非建筑物的分離也比較準確,通過比較充分論證本文算法的可行性。 表1 文獻[13]算法建筑物提取結(jié)果精度評價 表2 文獻[18]算法建筑物提取結(jié)果精度評價 表3 本文算法建筑物提取結(jié)果精度評價 表4 三種算法精度對比 本文提出一種結(jié)合邊緣點區(qū)域生長及主成分分析的機載LiDAR點云建筑物提取算法,該方法利用Delaunay三角網(wǎng)提取的建筑物邊緣點作為種子點進行區(qū)域生長,然后結(jié)合主成分分析及單體化分割對提取到的建筑物點云進行后處理,得到可靠的提取結(jié)果。該算法具備以下特點:①改變了原有先濾波后提取的建筑物點云提取方式,無需濾波處理,直接對原始機載LiDAR點云處理,提高處理效率;②優(yōu)化了種子點的選取方式,增加了種子點的可靠性;③局部區(qū)域生長方式增加了對地形以及不同房屋類型的自適應性,同時也解決了現(xiàn)有算法中植被與建筑物緊鄰而導致建筑物提取精度低的問題;④將主成分分析方法引入到點云數(shù)據(jù)處理中,極大的提高了建筑物提取的準確性;⑤最終實現(xiàn)建筑物點云單體分割。通過不同算法對不同測區(qū)點云數(shù)據(jù)進行建筑物提取,驗證了本文算法的可靠性與適用性。后續(xù)將對屋頂面的精確分割以及邊界線的規(guī)則化做進一步的研究,為建筑物的三維重建作準備。2.2 基于邊緣點區(qū)域生長的建筑物點云提取
2.3 主成分分析去除噪聲點
2.4 建筑物單體化分割及小面積區(qū)域剔除
3 實驗與分析
3.1 實驗數(shù)據(jù)
3.2 不同算法建筑物提取結(jié)果對比分析
3.3 不同算法精度評價
4 結(jié)論