張帥哲,張聰,王小寧
(山東科技大學測繪與空間信息學院,山東 青島 266000)
近些年來“智慧城市”這一概念逐漸被人們所認同,LiDAR技術因其能夠準確快速獲取空間三維數據的能力,已經成為“智慧城市”建設的重要技術之一[1]。在“智慧城市”的建設方面,建筑物的相關信息發揮著重要的作用。通過傳統的測量方法獲取城市建筑物的信息,需要耗費大量的人力物力,且需要花費大量時間才能完成。但隨著LiDAR技術的迅速發展,通過對點云數據的處理獲取建筑物信息已經成為一種有效方法。
從機載LiDAR數據中提取建筑物點云主要包括兩步:①從原始機載LiDAR點云數據中實現地面點與地物點的分離;②從地物點中實現建筑物點與非建筑物點的分離。其中第一步為建筑物點云提取的前提,通常采用地面濾波實現,對于地面濾波眾多學者在此領域展開了研究,如我國長安大學的隋立春教授提出了區域分塊法結合數學形態學的方法來選取地面種子點,根據地面種子點采用向上加密三角網的方法提取地面點[2];Rashidi使用大小兩種尺度的虛擬網格,并結合坡度和高差兩種方法進行點云濾波[3]。對于建筑物點云提取,國內外眾多學者也展開了深入的研究,如張皓提出利用灰度級共生矩陣的點云高程變化紋理特征進行建筑物提取[4],該方法能夠有效將建筑物與植被分離;趙傳利用點云的鄰域信息并結合建筑物頂面點云的特征[5],實現對建筑物點的提取,通過該方法可以有效克服噪聲點的影響。Gilani S提出機載LiDAR的點云數據結合正射影像的建筑物提取方法[6],該方法首先將點云數據劃分為規則的格網,再通過點云信息和正射影像進行建筑物的特征識別,最終實現建筑物的提取。
本文在總結現有論文的基礎上,提出基于多尺度虛擬格網的坡度濾波方法實現地面點與地物點的分離,在地物點中基于建筑物的特征采用格網八鄰域搜索的濾波方法實現建筑物主體點云的提取,最后根據建筑物特征,對建筑物邊緣進行二次提取,最終實現建筑物整體點云的提取。
在對城市地區的機載LiDAR點云數據進行地面濾波時,通常選取每個格網中的最低點作為地面種子點,最低點為地面點的可能性最大。但城市地區的建筑物通常為平頂建筑物,所以在每個格網中選取地面種子點時會出現將建筑物頂面的激光腳點作為地面種子點的情況,從而影響地面濾波的精度。
基于城市地面點云的特點,本文提出的濾波算法為基于多尺度虛擬格網的坡度濾波算法。首先構建虛擬格網[7],用具有一定邊長的正方形將點云數據劃分,其中每個正方形都有自己的行列號。通過每個激光腳點的坐標利用式(1)、式(2):
GridROWNum=int((Y-Ymin)/T)+1
(1)
GridCOLNum=int((X-Xmin)/T)+1
(2)
計算出激光腳點所在格網的行列號,其中X和Y代表激光腳點的平面坐標,Xmin和Ymin代表點云數據中的X坐標最小值和Y坐標最小值,T代表格網的尺寸大小。在構建完虛擬格網后,本文又將多尺度的概念引入其中,如圖1所示為構建多尺度虛擬格網的示意圖,其中淺色代表小尺度的虛擬格網,隨著顏色的加深虛擬格網的尺寸逐漸變大。

圖1 多尺度虛擬格網的平面示意圖
在構建完多尺度虛擬格網后,需要從每一級格網的原始點云數據中選取地面種子點,這些地面種子點是下一步地面濾波的依據。在劃分的虛擬格網中,大尺度虛擬格網中的地面種子點為地面點的概率最高。為了能夠得到比較可靠的地面點,以最大尺度虛擬格網的地面種子點為基準,對次級虛擬格網中的地面種子點進行篩選,篩選原理如圖2所示。

圖2 設置坡度閾值篩選地面種子點示意圖
圖中所示的邊長為S的格網為最大尺度虛擬格網,邊長為S/2的格網為次級虛擬格網,白色的P1點表示最大尺度虛擬格網中的地面種子點,黑色的點表示次級虛擬格網中的候選地面種子點。通過P1點的坐標與P2、P3、P4點的坐標,利用式(3):
(3)
計算出每一點的坡度,通過坡度閾值判斷該點是否為地面種子點[8]。使用上述方法可以得到次級格網中真實的地面種子點,然后用同樣的方法對下一級格網的地面種子點進行篩選,最終得到所有真實的地面種子點。通過這種方法可以避免將建筑物頂面的激光腳點誤認為是地面種子點的情況,從而提高了地面濾波的精度。
在選取地面種子點后,再通過地面種子點進行地面點的選取。通過計算格網中地面種子點與該格網內其他各點的坡度,利用坡度閾值判斷該點是否為地面點。若該格網中不含地面種子點,則認為該格網中的全部點云為非地面點。在進行坡度濾波時,首先設置地形坡度S1、坡度增量S2、最大坡度S3三個閾值參數。地面點選取的原理如圖3所示。在同一方向格網剖面內,P0為篩選出的最終地面種子點,Pi和Pj是其他格網中激光腳點,S0i為P0與Pi的坡度,S0j是P0與Pj的坡度,Sij為坡度增量。其中Sij=S0i-S0j。

圖3 地面點選取原理示意圖
濾波算法的步驟如下:
(1)通過點云數據的特征,確定閾值參數S1,S2,S3;
(2)根據點云數據計算Soi,如果Soi小于等于S1,則判定Pi為地面點;
(3)如果S0i大于S1且小于S3,且Sij小于S2,則也可判定Pi為地面點;
(1)實現更高效、便捷的預約報賬服務。優化預約報賬業務流程,實現報賬系統由以會計核算為中心向以用戶體驗為中心的轉變。一方面,通過簡化預約流程,分析報賬人行為模式,推動報銷流程自動化,提高財務數據利用率,通過更友好、更易于操作的程序,完善細節設計,提升用戶體驗,緩解“報賬難”現象,為廣大老師營造出一個潛心研究的良好環境。另一方面,在做好財務日常工作的同時,要不斷縮短財務信息處理流程,減少業務處理環節,改進信息處理手段,逐漸提高信息資源利用效率,不斷強化財務管理功能,進而提高預約報賬服務效能。
(4)重復以上步驟,對格網中的所有點進行逐級篩選,得到最終的地面點。
由于不同地物具有不同的結構、空間分布和表面材料,所以所獲得的點云數據中會包含不同的點云分布信息、回波信息和激光強度信息,根據這些信息可以將點云分為不同的類別,主要類別如下所示:
(1)建筑物:建筑物與其他地物相比通常面積較大,且從高度方面來講,其高度要比其他地物高。由于建筑物頂面較為平滑,所以所獲得的建筑物點云通常比較規則且點云密度均勻。建筑物頂面的相鄰激光腳點之間會存在一定的高差,但高差變化幅度比較小。在建筑物邊緣部分,由于建筑物立面也可采集到點云數據,所以點云的高度會產生突變,高程變化比較大。
(2)植被:植被通常分為低矮灌木和高大的樹木。由于樹葉間存在間隙,所以激光脈沖通常會產生多次回波信息。其點云分布一般為松散不規則的簇狀點云。對于低矮灌木而言,其高程大都在 1.5 m以下。
(3)地面低矮突出物:低矮突出物主要是包括汽車、人群、圍墻等,這些地物的點云通常成團簇狀散亂地分布在近地面處。
將地面點與地物點分離后,需要從地物點中提取出建筑物點,根據不同地物的形態特征可以實現建筑物的提取,本文提出基于建筑物特征的格網八鄰域搜索的濾波算法實現建筑物的提取。對于提取建筑物的具體步驟如下:
(2)在分離出的較高地物點中主要包括建筑物、高大植被以及路燈電桿等,這些地物在高程上與建筑物比較相似,所以僅通過高程特征很難實現建筑物與非建筑物的分離。從所分離的地物點云數據中不難發現,建筑物通常包括以下特征:通常建筑物所占的面積較大,對于建筑物的頂面點云,取其中一塊區域,該區域與其周圍區域的高程差異較小。對于植被、電桿和路燈來說,所占面積通常要比建筑物的面積小很多,且取其中一塊區域,該區域與周圍區域會存在較大的高程差異。根據這些特點,計算待選區域的八鄰域與該區域的高差,若八鄰域中大部分區域的高差符合高差閾值,則可判定該區域為建筑物點。對于八鄰域中具體有幾部分的高差符合高差閾值時才可判定為建筑物點,可以通過設置面積閾值實現[10]。算法具體步驟如下:
①首先對地物點云用規則格網進行劃分,格網的尺寸不能太小,太小將會出現非建筑物區域與其周圍區域高差較小的情況,從而將其誤判為建筑物點。設定高度閾值trd和面積閾值N,建立一個3×3的數組A,將數組的值初始化為0。
②由于建筑物頂面可能會有其他微小地物,所以在每個格網中隨機選擇兩個點作為初始種子點。
③由于每個格網中包含兩個種子點,所以先選一個種子點,搜索種子點的八鄰域,計算與八鄰域中任意一種子點的高差,得到高差矩陣H:

(4)
其中di表示種子點與其鄰域種子點的絕對高差。再對格網中另一個種子點進行同樣的計算。
④將高差矩陣中的元素與高程閾值進行比較,若該值小于高程閾值,則在數組A相對應的位置加1,比較完一個種子點后,再對格網中的另一個種子點進行相同的操作。將數組A中所有的元素求和,該值代表了種子點鄰域內的面積統計值,若該值大于面積閾值,則代表該格網內的點云為建筑物點。
⑤按從左到右,從上到下的順序搜索格網,重復③④步直到所有的格網處理完。
(3)由于建筑物的邊緣格網與建筑物的主體格網只是部分相接,通過設定面積閾值進行建筑物的提取時會造成建筑物的邊緣部分不能完整的提取,所以對于建筑物的邊緣部分需要進行二次提取。由于建筑物的邊緣格網與建筑物主體格網相接,且格網內激光腳點的高程大體相等,通過這一特點可以實現建筑物邊緣部分的提取。在上一步中已經提取出建筑物的主體部分,對于建筑物邊緣部分提取,只需遍歷所有格網,若格網與建筑物的主體部分相接,且格網內部分激光腳點的高程與建筑物主體部分的激光腳點的平均高程大體相等,則可以判斷該格網內的激光腳點為建筑物的邊緣部分。
為了驗證本方法從機載LiDAR數據中提取建筑物的可行性,選取青島市一處具有獨立建筑物的區域進行測試。該區域的點云掃描個數為 260 471,地形較為平坦,并無太大的陡坡,測區中央具有一棟獨立的建筑物,建筑物周圍存在大量的車輛和比較高大的植被。建筑物的前方存在一頂面點云較為稀疏的矮小建筑物,如圖4所示。

圖4 測區原始點云
在選用多尺度虛擬格網進行地面濾波時,如果所選的初級格網太小,會出現將建筑物的頂面的點云誤認為地面點的情況。經過實驗,對于此區域初級格網的尺寸設為 15 m,共建立三級格網。對于坡度閾值的選取,由于該地區并無太大的陡坡,所以將坡度閾值設置為25°,坡度增量閾值設置為10°,最大坡度閾值設置為40°。圖5、圖6為分離后的地面點與地物點的示意圖。

圖5 地面濾波后的地面點

圖6 地面濾波后的地物點
本文采用ISPRS國際委員會所推薦的評價體系,對濾波后的點云數據進行評價,ISPRS將機載LiDAR點云誤差分為三類:第Ⅰ類誤差,該類誤差是指將地面點錯誤的分類為非地面點的誤差。第Ⅱ類誤差,該類誤差是指將非地面點錯誤的分類為地面點的誤差。最后一類誤差為總誤差。各類誤差的計算公式如(5)、式(6)、式(7)所示:
(5)
(6)
(7)
式中α表示濾波得到的真正地面點數量,β表示濾波過程中將地面點錯誤分為非地面點的數量,γ表示濾波過程中將非地面點錯誤分為地面點的數量,δ表示濾波得到的真正非地面數量。該區域所得的實驗參數如表1所示,三類誤差分析如表2所示。

表1 實驗參數統計結果

表2 實驗誤差統計結果
通過實驗數據可以看出,第Ⅰ類誤差、第Ⅱ類誤差以及總誤差均很小,由此可以得出利用該方法,選取的地面種子點準確,能夠實現地面點與地物點的分離。
通過本文所提出的地面濾波方法可以有效地將地面點與地物點分離,對于從地物點中提取建筑物,首先要做的就是對于一些低矮地物的去除。在該實驗區域中存在一些車輛以及低矮的灌木,通過設置高程閾值3 m可以將這些低矮的地物點去除,去除效果如圖7所示。

圖7 低矮地物去除后地物點
與圖6對比可知,對于大部分低矮的灌木和車輛,通過設置高程閾值都能夠有效去除。
在將低矮的地物點去除后,地物點主要是包括建筑物點以及一些高大的植被點,根據其形態特征設定面積閾值和高程閾值,可以有效地提取出建筑物點。在將地物點進行格網劃分時,格網的尺寸不能太小,太小將會導致部分植被點被誤認為建筑物點。所以根據該區域的特點將面積閾值設置為12,高程閾值設置為 0.15 m,每個格網尺寸設置為 1.5 m,提取效果如圖8所示。

圖8 建筑物提取點云
為了驗證提取的效果,本文采用檢測率和正確率兩個指標進行評價。其中,檢測率指正確提取的建筑物點云數占實際總建筑物點云數的比值,反映了算法的實際提取率;正確率指正確標記的建筑物點數占提取結果中建筑物點數的比值,反映提取算法的準確性。其計算公式如(8)、式(9)所示。
(8)
(9)
在上式中,tp表示正確歸類的建筑物點云數目,fp表示錯誤歸類為建筑物的點云數目,fn表示漏提的建筑物點云數目。該區域的建筑物提取統計結果,如表3、表4所示。

表3 實驗參數統計結果

表4 評價指標統計結果
通過實驗得出的檢測率與正確率可以看出,利用本文提出的方法能夠檢測出該區域絕大部分的建筑物點云,且提取的建筑物點云較為準確。但所提取的建筑物的點云仍存在部分非建筑物點。
本文首先介紹了基于機載LiDAR點云數據的地面濾波與建筑物提取的研究現狀,在分析和總結各種方法的基礎上提出一套完整的技術流程。首先利用多尺度虛擬格網的坡度濾波算法,實現地面點與地物點的分離,再利用基于格網八鄰域搜索的濾波方法實現建筑物的提取。實驗證明通過多尺度虛擬格網的坡度濾波算法,能準確選取地面種子點,避免將建筑物頂面點云誤認為地面種子點的情況,能夠有效實現地面點與地物點的分離。根據建筑物的特征,通過格網八鄰域搜索的濾波方法可以實現對建筑物主體點云的提取。最后經過建筑物邊緣的二次提取,可以提取出較為完整的建筑物點云。