張 均,孫洪斌,邵秋銘
(重慶市勘測院,重慶 400020)
機載雷達測量技術是一種主動式、快速、精確的新型遙感測量方法,所獲取的數據通過一系列的坐標轉換求得地面點三維坐標。目前,國內外已研制出多種機載激光掃描測高系統,同時出現一些較為成熟的機載LiDAR數據處理軟件,但其功能算法均由生產廠家單獨封裝保密提供,用戶看不到其具體的算法步驟,因此,無法根據自身的應用需求對數據做出更精確的操作。本文針對點云數據后處理過程,嘗試尋找合理而高效的處理海量點云數據的算法來完成點云的自動濾波過程,實驗操作是基于Terrasolid軟件下完成的,通過不同的算法來實現粗差剔除以及濾波分類參數設計實驗,給出了最佳的濾波效果和精度分析。
機載LiDAR數據后處理主要進行濾波和分類兩個操作。從激光腳點數據點云中提取數字地面高程模型(DEM/DTM)需要將其中的地物數據腳點去掉,這就是所謂的激光雷達數據的濾波[1]。而若要進行地物提取以及三維重建等操作,還需對激光點云數據進行分類(分割),區分植被數據點、人工地物點。
當前國內外對機載LiDAR點云數據處理算法還在研究發展階段,現有的用于機載LiDAR測量數據的濾波算法都是基于三維激光腳點數據的高程突變等信息進行的。主要方法分為移動窗口法[1],數學形態濾波法[2],迭代線性最小二乘內插法[3],基于地形坡度濾波法[3],移動曲面擬合法[1]等幾種。每種方法都存在其自身的缺陷,仍有待改善。
Terrasolid軟件是以Microstaion為平臺開發使用的。實驗所采用的數據是ISPRS第三工作組提供的一組森林地區的機載LiDAR數據。其濾波方法是Axelsson于2000年提出的一種基于不規則三角網[1](TIN)的漸進加密,該方法尋找到每個格網中的最低點,并將其作為初始種子點,去生成一個稀疏的TIN,再對其他各點進行判斷。算法的關鍵性在于濾波閾值的選取,主要的濾波參數有地形坡度角、迭代角、迭代距離,需根據經驗選擇合適的參考值。本算法最大的一個優勢是可以有效地保留地面斷裂特征,處理曲面不連續的情況,適用于密集分布的城區。
常見的噪聲包括低位粗差和高位粗差。低位粗差是由于測量中多路徑誤差導致的極低點,而高位誤差則受到低空飛行物影響提前反射信號產生較大誤差。該算法是用一個點(即中心點)的高程值與給定距離范圍內每一個點的高程值比較,如果中心點明顯低于其他點,這個點將被分離出來。如圖1所示,左圖設定參數剔除的是距離該點5m之內低于一般地面高度0.5m的點,右圖設定的參數剔除的是半徑在5m內高位誤差大于5倍標準差的點。

圖1 分離低點算法以及剔除高位點的算法
一般情況下粗差剔除前后對地形變化的影響是很大的。對于本實驗結果,低位點受多路徑影響較嚴重,剔除粗差后地形高程整體提高了。實際上,粗差對后期形成TIN的影響非常大,它是后期數據濾波的必要保障[4]。
在Microstation環境下打開Terrascan。在實用工具菜單下選擇MDL應用,在打開的窗口中選中TSCAN,安裝并在TerraScan界面下點擊File菜單,讀入數據。在主菜單中選擇Classify菜單下的Routine選項→Ground項。
通過選取不同的參數值,可以得到如表1所示的實驗總結。利用不同的顏色可以區別哪些是地面點,哪些是地物點。

表1 不同參數下的點云濾波
通常情況下,人們要將植被劃分為3種:即低矮植被,中等高度植被,高度植被。植被的分類算法使用的By height from算法,低矮植被距離地面0~2m,中等植被一般距離地面2~5m,高植被距離地面常為5~15m。前面對原始激光腳點進行了濾波,基于它的基礎,就可利用此算法把符合要求的點分類出來,如圖2所示。
圖2顯示的是從低植被層到中植被層的參數設置,由本算法得到了其最終的植被分層渲染效果如圖3所示。

圖2 利用height from ground算法分類植被層

圖3 植被分層效果圖
可以看出植被點高程是由矮到高逐步遞增的。藍色區域表達了地面點層,綠色代表了低矮植被層,黃色代表中度植被層,紅色代表高植被層。這樣的分層可以直觀感受到地形變化和特征,為更好的使用地形提供有利參靠。
通過設定不同的閾值參數,可以得到不同的濾波分類效果。此時需要對不同參數的濾波結果進行精度評定。評價精度的指標,是通過判斷兩類分類誤差的大小體現的。第Ⅰ類誤差是指拒絕了本屬于地形表面的激光腳點,第Ⅱ類誤差是指接受了不屬于地形表面的激光腳點。具體計算式如表2所示。

表2 誤差計算公式
總誤差=(B+C)/(A+B+C+D)×100%。
本文使用C#語言,編程比較實驗所得地面點點云與真實地面點點云數據間相應點的個數,看哪個參數閾值得到的真實點個數最多,與真實情況最符合,那么此后的設置就可以將所得閾值作為經驗值使用。下面是部分比較程序:class Point//點云數據基本結構
{
public double X;
public double Y;
public double Z;
}
static void Compute()
{
//讀取真實地面點數據文件,并轉化成Point類型列表
var RGP=File.ReadAllLines("RealGroundP-oint.txt").Select(p=>
{
var Pstr=p.Split('').Cast<double>().ToList();
return new Point(){
X=Pstr[0],
Y=Pstr[1],
Z=Pstr[2]};
}).ToList();
……
……
同理讀取真實地物點數據RFP,實驗地面點數據TGP,實驗地物點數據TFP
//計算真實地面點同實驗地物點交集(共同數據),得到第一類錯誤
var FirstTypeError=TFP.Intersect(RGP).Count()/(double)RGP.Count();
//計算真實地物點同實驗地面點交集(共同數據),得到第二類錯誤
var SecondTypeError=TGP.Intersect(RFP).Count()/(double)RFP.Count();
實驗得到的兩類錯誤統計如表3所示。

表3 誤差結果
從表3中可看出,最大建筑物尺寸、最大地形角、迭代角的選擇對地表面構建有著很重要的參考價值。實驗1中的參數,常作為人們長期實踐得到的適應地形條件的標準參數而使用,選擇稍大一點的迭代角和迭代距離可以有效地保存真實地形特征。其次再進行程序的比較和篩選,就可將真實地面展現出來,減少了兩類錯誤的發生。
本文的3個實驗是基于深度理解濾波分類原理后,利用軟件進行算法操作的過程,主要進行了以下幾項操作:粗差剔除,地面點濾波,植被點分類處理。從圖像上來看,每個算法都能夠基本符合現實的情況,把大部分的點分類到相應的層中。但由于Terrasolid軟件源代碼不公開,所以對于數據的準確性和真實度還有待商榷。本文基于該軟件開發了一個精度估算的功能,將實驗結果與參考數據比較,為實驗參數的設置提供了一個很大的技術參考。機載LiDAR是攝影測量技術的一種有力補充,未來若能融合其他數據源進行地物識別,提出更加完美的濾波算法,必將是機載LiDAR技術的一個革命性轉折。
[1]張小紅.機載激光雷達測量技術理論與方法[M].武漢:武漢大學出版社,2007.
[2]KRAUS K,PFEIFER N.Determination of Terrain Models in Wooded Areas with Airborne Laser Scanner Data[J].ISPRS Journal of Photogrammetry and Remote Sensing,1998,53(4):193-203.
[3]VOSSELMAN G.Slope based filtering of laser altimetry data[A].In:International Archives of Photogrammetry and Remote sensing,vol.XXXIII,Part B3,Amsterdam,2000:935-942.
[4]劉瑤,王健,彭福國,等.基于機載LiDAR點云的島礁提取方法[J].測繪工程,2012,21(6):36-38.
[5]龔亮,李正國,包全福.融合航空影像的LiDAR地物點云分類[J].測繪工程,2012,21(1):38-42.
[6]賴旭東.機載激光雷達數據處理中若干關鍵技術的研究[D].武漢:武漢大學,2006.
[7]劉經南,張小紅.激光掃描測高技術的發展與現狀[J].武漢大學學報:信息科學版,2003,28(2):132-137.
[8]劉經南,張小紅.機載激光雷達測高數據濾波[J].測繪科學,2004,29(6):158-160.