梁 宏
(江西理工大學(xué) 土木與測(cè)繪工程學(xué)院, 江西 贛州 341000)
三維激光掃描技術(shù)是獲取物體空間點(diǎn)云數(shù)據(jù)信息的重要手段之一,并在多個(gè)領(lǐng)域發(fā)揮著重要的作用[1-3]。但是受儀器測(cè)量誤差、物體反射、遮擋、光照以及環(huán)境變化等因素的影響,掃描獲取的初始點(diǎn)云數(shù)據(jù)模型中往往含有大量的噪聲點(diǎn),這些噪聲點(diǎn)的數(shù)量越多,密度越大,對(duì)點(diǎn)云的影響也越大,因此需要采取合適的去噪算法將其去除。
近年來(lái),國(guó)內(nèi)外學(xué)者對(duì)點(diǎn)云去噪算法進(jìn)行了較為深入的研究。Rosman等提出了一種通過(guò)斑塊協(xié)同頻譜分析對(duì)點(diǎn)云去噪的新方法[4],該方法可以處理高水平的噪聲,同時(shí)保留清晰的表面特征;Mattei等提出了移動(dòng)魯棒主成分分析算法[5],該方法通過(guò)加權(quán)最小化保留銳利特征;Sun等提出了L0范數(shù)最小化的各向異性化點(diǎn)云去噪方法[6],該方法可以在大量噪聲時(shí)恢復(fù)清晰的特征;Polat等提出一種LiDAR數(shù)據(jù)去噪算法[7],該算法性能可以根據(jù)地區(qū)地形特征的變化而變化,可以有效濾除非地面點(diǎn),是一種有效的點(diǎn)云去噪算法。Ma提出一種基于曲面擬合的去噪算法[8],具有較好的去噪效果和較低的時(shí)間復(fù)雜度;Wang 等提出一種基于 Laplace 分布的去噪算法[9],可以有效保留原始數(shù)據(jù)中有用細(xì)節(jié)信息;Cruz 等提出一種基于非局域增強(qiáng)卷積神經(jīng)網(wǎng)絡(luò)的去噪算法[10],通過(guò)結(jié)合卷積神經(jīng)網(wǎng)絡(luò)和非局部濾波器實(shí)現(xiàn)了圖像的有效去噪;Centin 等提出一種幾何保真的 Signoroni 網(wǎng)格去噪算法[11],對(duì)目標(biāo)應(yīng)用領(lǐng)域具有挑戰(zhàn)性的情況去噪效果良好;Zheng 等提出一種基于銳利特征骨架的點(diǎn)云去噪算法[12],可以有效保持尖銳區(qū)域內(nèi)的幾何特征;郭進(jìn)等[13]提出了一種基于噪聲分類算法,可以去除小片噪聲;戴士杰等[14]提出了一種各向異性去噪算法,解決了去噪時(shí)模型失真問(wèn)題;蘇本躍等[15]基于K-means聚類對(duì)點(diǎn)云進(jìn)行去噪;馮東恒等[16]提出用共面法向量特征去除離群面的RANSAC 算法;許龍等[17]提出了基于模糊C均值和均值濾波的點(diǎn)云去噪算法;林洪彬等[18]提出基于參數(shù)自適應(yīng)各向異性高斯核的散亂點(diǎn)云保特征去噪算法。
為了有效保留點(diǎn)云顯著的特征結(jié)構(gòu)信息,進(jìn)一步提高點(diǎn)云去噪的精度,本文提出了一種基于低維流形模型的圖拉普拉斯正則化的點(diǎn)云去噪算法, 通過(guò)采用低維流形模型,利用表面斑塊的自相似特性,同時(shí)對(duì)相似的斑塊進(jìn)行去噪,以便更好地保留清晰特征;對(duì)流形的大小的計(jì)算是通過(guò)離散圖拉普拉斯正則化器來(lái)進(jìn)行近似的,這大大降低了計(jì)算復(fù)雜度;針對(duì)離散的斑塊,設(shè)計(jì)了一種有效的相似性度量,用于噪聲的圖形構(gòu)造。另外本文的圖拉普拉斯正則化器具有較好的穩(wěn)定性。
P=U+E
(1)
式中:U,E∈RN×3;U為點(diǎn)云的真實(shí)位置;E為噪聲(在本文實(shí)驗(yàn)中假設(shè)為高斯噪聲)。為了消除噪聲,構(gòu)建圖拉普拉斯低維流形來(lái)表示物體在空間域上的幾何結(jié)構(gòu),并提出基于流形的圖拉普拉斯正則化下的點(diǎn)云去噪模型。
wmn=(ρmρn)-1/γφ(dmn)
(2)
式中,φ(dmn)為高斯核函數(shù),即
(3)
式中,dmn為斑塊pm和pn之間的歐氏距離,即
(4)
αi(p)=pi, ?p=[p1,…,p3k]T∈M
(5)
根據(jù)文獻(xiàn)[13],流形λ在p點(diǎn)維度計(jì)算公式為
(6)
式中,?αi(p)表示函數(shù)αi在流行M上p點(diǎn)的梯度,所以得出
(7)
(8)
(9)
(10)
這樣得到了一個(gè)逐點(diǎn)收斂的正則化函數(shù),相比較于對(duì)整個(gè)流形收斂來(lái)說(shuō),這樣更容易收斂。
(11)
(12)
從式(12)可以看出拉普拉斯正則化可以不需要αi函數(shù),因此繞過(guò)了對(duì)斑塊進(jìn)行排序的問(wèn)題。根據(jù)式(2)可知wmn也是距離dmn的函數(shù),所以最后問(wèn)題簡(jiǎn)化成了求解斑塊之間的距離。
為了計(jì)算第m和第n個(gè)斑塊的距離,在理想情況下可以把兩個(gè)斑塊內(nèi)差到兩個(gè)連續(xù)的曲面上,那么斑塊的距離就是曲面函數(shù)局部區(qū)域上的積分。為了方便計(jì)算,定義一個(gè)參考平面,該平面與斑塊的中心相切并且與該點(diǎn)法線垂直。由于不同斑塊的法線方向不一樣,為了精確計(jì)算,在兩個(gè)斑塊上各自計(jì)算一次距離,它們的平均值即為所求。
圖1 連續(xù)表面距離的測(cè)量
(13)
(14)
得到距離為
(15)
(16)
圖2 離散斑塊的距離測(cè)量
(17)
(18)
但有時(shí),在該點(diǎn)附近找不到最近鄰點(diǎn),這時(shí)為了找到與投影點(diǎn)對(duì)應(yīng)的點(diǎn),采用平面插值方法。對(duì)于點(diǎn)v,在另一個(gè)斑塊上找其對(duì)應(yīng)的插值,找到3個(gè)投影距離最近的點(diǎn)形成一個(gè)平面,并找出點(diǎn)v沿法線方向在平面上的投影v′,此時(shí)計(jì)算距離就變得比較容易了。使用投影來(lái)找對(duì)應(yīng)關(guān)系而不是通過(guò)點(diǎn)位置,是因?yàn)橥队皩?duì)噪聲具有良好的魯棒性。例如在圖3中,兩個(gè)斑塊的表面都是平面,通過(guò)投影計(jì)算的是垂直的直線距離,如果直接根據(jù)點(diǎn)位置計(jì)算距離就是水平的連線距離,這樣計(jì)算會(huì)導(dǎo)致去燥效果不佳。
圖3 平面插值法
基于上面的斑塊測(cè)量方法,在不涉及插值時(shí),第m和第n個(gè)斑塊連接取決于它們?cè)趨⒖计矫嫔系耐队?,通過(guò)求出最小距離的方式找出了兩個(gè)斑塊的最近鄰點(diǎn),但在邊上是加權(quán)無(wú)向的。
涉及插值后,v和a的權(quán)重wva定義為
(19)
式中:v為斑塊m上的點(diǎn);點(diǎn)a、b、c為斑塊n上的點(diǎn);dva為點(diǎn)v到a的距離;同理dvb、dvc也是v到點(diǎn)b、c的距離。
為了簡(jiǎn)化實(shí)現(xiàn)過(guò)程,設(shè)置一個(gè)以k為最近鄰的窗口,計(jì)算出k最近鄰斑塊之間的距離,而不是直接計(jì)算點(diǎn)云中所有斑塊的距離。計(jì)算完成之后,構(gòu)造出了一個(gè)點(diǎn)域圖,給出了圖拉普拉斯算子Lp∈RkM×kM,kM為所有斑塊的總點(diǎn)數(shù)。因此優(yōu)化可以寫為
(20)
(21)
由于拉普拉斯算子依賴于斑塊坐標(biāo),采用交替優(yōu)化的方法,在每次迭代中,修復(fù)Lp并求解U,然后在給定U的情況下更新Lp,然后重復(fù)進(jìn)行直到收斂。在每一次迭代中,都可以根據(jù)之前的方法更新Lp,為了固定Lp優(yōu)化U,每個(gè)點(diǎn)坐標(biāo)(x,y,z)由下式給出:
(STLpS+μIq)Uq=μVq+STLpCq
(22)
式中:q∈{x,y,z}為坐標(biāo)索引;Iq為與Lp大小相同的單位矩陣。迭代化求解,直到結(jié)果收斂。
為了驗(yàn)證本文點(diǎn)云去噪算法的有效性,對(duì)Anchor、Gargoyle、Lordquas、Dc、Daratech等模型進(jìn)行測(cè)試。采用MATLAB程序編寫算法,在meshlab程序上的poisson重建算法對(duì)模型進(jìn)行三維重建,驗(yàn)證了本文算法有助于對(duì)邊緣特征的保留,不會(huì)導(dǎo)致過(guò)度平滑。為了加快實(shí)現(xiàn)速度,將50%的點(diǎn)當(dāng)作斑塊中心,并使用最遠(yuǎn)的點(diǎn)采樣來(lái)確保空間中的均勻采樣。將搜索窗口設(shè)置為16,將斑塊大小設(shè)置為30。在圖4中使用Anchor模型顯示迭代結(jié)果,標(biāo)準(zhǔn)偏差為0.01的高斯噪聲被添加到點(diǎn)云中。前3次迭代中的結(jié)果的表面重建如圖4(c)和(d)所示。迭代3次之后的結(jié)果收斂,因此只顯示前面3次迭代。參數(shù)μ=25exp(iteration)-1隨迭代增加。與其他方法的比較在圖5和圖6中,圖5中APSS的結(jié)果和RIMLS的結(jié)果在折疊區(qū)域和拐角處過(guò)度平滑。另外為了保證本文方法的準(zhǔn)確性,對(duì)更多的模型進(jìn)行了測(cè)試,將標(biāo)準(zhǔn)差為0.02、0.03、0.04的高斯噪聲添加到測(cè)試點(diǎn)云中,數(shù)值結(jié)果顯示在表1~表3中,其中本文算法具有最低的MSE。這些模型的參數(shù)μ=25exp(iteration/r)-1,其中對(duì)于σ=0.02、0.03、0.04的高斯噪聲,r=4、7、12。
圖4 Anchor模型在σ=0.01的去噪后表面重建結(jié)果
圖5 Anchor模型在σ=0.02的去噪后表面重建結(jié)果
圖6 Gargoyle模型在σ=0.03的去噪后表面重建結(jié)果
表1 具有高斯噪聲不同模型下的MSE(σ=0.02)
表2 具有高斯噪聲不同模型下的MSE(σ=0.03)
提出了一種基于圖拉普拉斯正則化的3D點(diǎn)云去噪算法。得出以下結(jié)論:
1)提出的算法能普遍適用于有顯著幾何特征的噪聲點(diǎn)云,因?yàn)樵摲椒ㄡ槍?duì)的不是具體的形狀的點(diǎn)云,而是具有這個(gè)空間結(jié)構(gòu)的所有的點(diǎn)云。
2)本文算法對(duì)比其他算法,在確保去噪精度的同時(shí),能夠把物體的邊緣特征和顯著特征清晰地保留下來(lái),同時(shí)不會(huì)在表面產(chǎn)生過(guò)度平滑。