朱廣堂,葉珉?yún)?/p>
(佛山市測繪地理信息研究院,廣東 佛山 528000)
三維激光掃描儀雖然能以較快的速度及較高的精度獲取數(shù)據(jù),但由于儀器測距、測角誤差,物體反射率,人為操作,遮擋及環(huán)境變化等原因,掃描獲取的點云數(shù)據(jù)中存在大量的噪聲點?,F(xiàn)有的去噪算法思想大多是來自目前比較成熟的網格模型和數(shù)字圖像去噪算法,如經典的拉普拉斯(Laplace)算法[1]、雙邊濾波算法[2]、高斯濾波算法、平均濾波算法及中值濾波算法等。國內外學者對上述多種算法進行了結合或改進,提出了許多更為有效的算法[3-9],但此類算法本質上都是通過離散點在一定方向上的移動,達到模型光滑的效果。雖然模型擁有“視覺滿意”的效果,但這也改變了點位的真實位置,因此現(xiàn)有的方法并不適用于對精度、數(shù)據(jù)真實性等方面要求較高的測繪領域。同時,目前點云去噪結果一般通過去噪前后的圖像對比定性地進行評價,去噪結果無法定量分析,評價結果具有較大的主觀性。針對上述問題,本文提出基于移動最小二乘(moving least squares, MLS)曲率特征的點云去噪及定量評價方法,并通過實例驗證方法的可行性。
一個好的點云去噪算法應同時具有以下兩個特點:①有效去除噪聲的同時能夠保持原始點云數(shù)據(jù)的特征信息;②算法復雜程度低,執(zhí)行效率高[10]。點云數(shù)據(jù)的曲率、法向量等幾何信息能夠較好地反映點云的表面特征,為了使去噪結果能夠較好地保留點云特征,首先需要計算點云的曲率信息。因為點云是離散的點數(shù)據(jù),曲率信息需要在離散點集拓撲結構的基礎上通過曲面擬合計算得到。離散點集的拓撲結構一般通過KD-Tree、四叉樹、八叉樹等方法搜索各點K鄰域建立,KD-Tree數(shù)據(jù)結構針對海量、空間分布不均勻的離散點集擁有較好的空間搜索效率,因此本文采用KD-Tree進行K鄰域搜索,構建點集拓撲結構。搜索任意一點P的鄰域的流程如下[11]:
(1) 如遇到根節(jié)點,則從根結點開始搜索。
(2) 如遇到葉子結點,則采用遞歸的方法返回所有與P鄰近的點,并計算最小距離值。
(3) 通過判斷以P為球心、最小距離值為半徑的球體與分割平面是否相交來確定分割面另一邊上是否有點更接近點P。如果相交,分割面另一邊上可能有鄰近點,則向上層區(qū)域回溯去搜尋更近點;如果不相交,則繼續(xù)沿著當前分支運行。
(4) 直至完成所有節(jié)點的搜索,P的鄰域點集建立完成。
所有點的鄰域點集構建完成后,可在此基礎上計算曲率、法向量等幾何信息。移動最小二乘法是對最小二乘法的改進,最早由文獻[12]提出用于構建原始三維表面的投影表面,是目前最為精確的點云數(shù)據(jù)法向量計算方法。計算任意一點Pi的法向量基本流程如下[13]。
設點Pi處的切平面方程為ax+by+cz+d=0,其中a2+b2+c2=1,則平面法線即點Pi的法向量為ni=[abc]T。假定點Pi及其k個鄰近點構成點集{Pi,Nk(Pi)},由點到切平面的距離構建點集的觀測方程為
BY=D
(1)
其中
式中,(xi,yi,zi)為點Pi的坐標;(xi,j,yi,j,zi,j)(j=1,2,…,k)為點Pi的k個鄰近點的坐標;di,0為點Pi到切平面的距離;di,1,di,2,…,di,k分別為點Pi第k個鄰近點到切平面的距離。
采用高斯函數(shù)確定任意點Pj∈{Pi,Nk(Pi)}到切平面距離來確定該點的權Pi,j
(2)
式中,‖Pj-Pi‖表示Pj到Pi的距離;h是與鄰點之間距離相關的一個常數(shù),較大的h表示更大范圍內的逼近。
由約束準則
得
BTPBY=0
(3)
由a2+b2+c2=1及式(3)可解得Y,即a、b、c、d的值,進而得到點Pi的法向量ni=[abc]T。
最終根據(jù)法向量與曲率的關系,任意一點Pi的曲率可由下式計算
(4)
式中,nNk(j,Pi)表示點Pi第k個鄰近點的法向量。
目前還沒有成熟、通用的點云數(shù)據(jù)去噪方法,日常數(shù)據(jù)處理更多是通過儀器配套軟件的去噪功能或在軟件中人機交互手動去除,此類方法必然會出現(xiàn)誤刪、多刪、漏刪的情況。本文根據(jù)不同物體曲率不同或曲率突變的原理,結合上述點云法向量、曲率計算方法,提出基于曲率信息的點云數(shù)據(jù)去噪方法,其具體步驟如下:
(1) 導入點云數(shù)據(jù),利用移動最小二乘法計算每個點的法向量。
(2) 遍歷每個點,根據(jù)某點及其k個鄰近點的法向量,由式(4)計算曲率。
(3) 設定閾值,通過判斷每點曲率與閾值的關系,去除噪聲點。
算法中的參數(shù)k及閾值可根據(jù)點云數(shù)據(jù)的掃描分辨率及物體的形狀等因素靈活設定,以達到最優(yōu)的去噪效果。
使用三維激光掃描儀獲取某規(guī)則構筑物的點云數(shù)據(jù),如圖1所示,構筑物表面遮擋物所引起的噪聲會干擾構筑物幾何特征信息的提取,不利于數(shù)據(jù)的后續(xù)處理與應用,因此必須在盡可能保持原始數(shù)據(jù)完整性的前提下去除此類噪聲。使用本文方法對點云進行去噪,結果如圖2所示。
由圖2可以看出,本文方法能夠在保持原始數(shù)據(jù)完整性的前提下,去除遮擋等原因引起的噪聲,未出現(xiàn)誤刪、多刪、漏刪等情況。
現(xiàn)實生活中更多的是具有非平面、不規(guī)則特征的物體。使用三維激光掃描儀獲取某大樓的點云數(shù)據(jù),如圖3所示,該大樓表面是一任意曲面,假設貼附于大樓表面的兩個大字作為遮擋等原因引起的噪聲,使用本文方法對點云進行去噪,結果如圖4所示。
由圖4(a)可以看出位于大樓表面的兩個大字噪聲被完整去除,未出現(xiàn)誤刪、多刪、漏刪等情況,痕跡平滑,較好地保持了數(shù)據(jù)的完整性;從圖4(b)及圖4(c)可以更為明顯地看出去噪后的大樓表面為光滑的曲面,與圖3相比更能直觀地反映去噪結果。由于字體與大樓表面貼附緊密,如果簡單使用人機交互的方式去除,將不可避免地出現(xiàn)誤刪、多刪、漏刪等情況,特別是字體輪廓與大樓表面相連接的區(qū)域,幾乎無法分辨哪些是樓體表面的點,哪些是噪聲點。
以上兩個實例,通過去噪前后的圖像對比定性地驗證了本文方法的有效性。
如前所述,目前點云數(shù)據(jù)去噪結果一般是通過去噪前后的圖像對比定性地進行評價,缺少定量評價指標。文獻[14]通過信息熵理論描述點云的特征信息,證明某點熵值越大,所在區(qū)域的無序程度越高,則該點的信息量越大,細節(jié)表現(xiàn)越精確[14]。因此,可以通過計算點云數(shù)據(jù)的熵值,定量評價去噪結果。計算某點熵值的公式為[14-15]
(5)
式中,Ci表示點i的曲率;Cj表示點i鄰近點j的曲率;pi與pj分別為點i及j的曲率概率分布。則點云數(shù)據(jù)整體熵值等于各點所含的熵值之和
(6)
點云數(shù)據(jù)整體熵值越大,其所含的特征信息量越大,對物體的細節(jié)表現(xiàn)越精確。
同時,采用本文方法與應用比較廣泛的拉普拉斯算法、雙邊濾波算法對2.2節(jié)中的點云數(shù)據(jù)進行去噪。去噪后的點云數(shù)據(jù)經基于信息熵理論的定量評價方法計算后,結果見表1。
表1 不同方法去噪結果對比
從表1可以看出,本文方法去噪結果的熵值較傳統(tǒng)的拉普拉斯算法、雙邊濾波算法大,說明數(shù)據(jù)去噪的同時原始細節(jié)特征保留較多,整體包含的特征信息量較大,具有更高的可行性。
針對海量點云數(shù)據(jù),為了在高效去除噪聲的同時又能保持原始點云數(shù)據(jù)的特征信息,本文提出了基于移動最小二乘曲率特征的點云去噪算法。通過兩個實例分析表明,本文提出的基于移動最小二乘曲率特征的點云去噪方法,能夠在大量保留原始點云特征信息的同時,高效地去除噪聲,且算法原理簡單、運行效率快,具有一定的可行性和適用性。