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