李廣金,楊 濤
(1.西南科技大學 信息工程學院,綿陽 621010;2.特殊環(huán)境機器人技術四川省重點實驗室,綿陽 621010)
隨著逆向工程和三維建模在制造行業(yè)的廣泛應用,實物模型的三維點云成了主要操作對象[1~3]。由于三維信息采集設備固有的硬件誤差和人為、環(huán)境等因素的干擾,測得的模型點云中不可避免含有部分噪聲點,影響后續(xù)模型的重建精度和成像質量。因此,對采集到的模型點云進行去燥和平滑處理至關重要。
近年來,三維點云數(shù)據(jù)在噪聲處理方面得到很大的發(fā)展。Digne[4]提出一種基于局部相似度的點云濾波去噪算法,通過平均曲率流將點云分解成低頻和高頻部分分別進行處理,但該方法依賴于局部點云的密度,不能很好的分辨成團的離群點和局部噪聲點。Sergio等[5]提出一種基于增長神經(jīng)氣(Growing Neural Gas,GNG)網(wǎng)絡的點云去噪和精簡算法,對Kinect采集到的數(shù)據(jù)進行處理,能有效去除離群點,但對于點云模型缺少平滑處理。吳曉慶等[6]利用移動最小二乘法對點云進行平滑、重采樣處理,雖然能有效平滑噪聲點,但也會損失模型尖銳處幾何特征。雙邊濾波算法由于具有良好的邊緣保持特性,被大量用于點云噪聲處理[7~9],但其只能平滑局部噪聲點,且算法耗時較長。
針對以上問題,本文提出一種結合高斯統(tǒng)計的點云引導濾波算法。在對點云數(shù)據(jù)進行KD-tree[10,11]拓撲連接后,首先采用高斯統(tǒng)計法去除點云離群點,然后通過點云引導濾波對剩余點云進行平滑處理。仿真實驗展示了不同參數(shù)下高斯統(tǒng)計方法對離群點的去除效果,將點云引導濾波分別與均值濾波、雙邊濾波進行對比,驗證了引導濾波算法的優(yōu)越性。
離群點是指那些偏離主體點云一定的距離、數(shù)量也比主體點云少很多的噪聲點[12]。高斯統(tǒng)計去除離群點的算法思想如下:
定義di為某一已知點pi到其k個鄰域點的平均距離,為di的均值,σ為di的標準差。
現(xiàn)假設di服從高斯分布,即,那么根據(jù)高斯函數(shù)曲線的特點,我們可以設定閾值:對于原始點云中某一點,當時,將其看作離群點從點云數(shù)據(jù)中去除,其中ε為人為設定的去噪?yún)?shù)。當ε=1時,根據(jù)高斯函數(shù)特點,理論上可濾除的點數(shù)量為原始點云的31.73%。
當距離主體點云一定距離的離群點被去除后,在局部點云表面仍有一些幅度比較小的噪聲點不能被高斯統(tǒng)計的方法去除。這些噪聲點會造成點云局部高低起伏,影響后續(xù)點云模型的重建精度,故需要對剩余點云進行平滑處理[13]。
引導濾波最初由何凱等[14]提出用于圖像濾波,采用一張引導圖計算線性模型系數(shù),對輸入圖像進行濾波,使輸出圖像大體上與輸入圖像相同,紋理上卻與引導圖相似,具有良好的邊緣保持特性和時間復雜度低的優(yōu)勢。根據(jù)三維點云的特點,可將引導濾波改進后應用到點云噪聲平滑處理上[15]。
假設點云中某鄰域平滑處理前后滿足以下線性關系:
其中,p'ij為濾波平滑后的點,ai和bi為線性模型的待求參數(shù),可通過求解式(5)在該鄰域的極小值解出:
式中λ為控制平滑效果的人為設置參數(shù)。J(ai,bi)取極小值時,對ai和bi的偏導數(shù)為零。解得:
其中為此處鄰域的幾何中心:
由于點云中任一點pi的鄰域點集不完全相同,對應的ai和bi也不會相同,對點云中每一點重復以上計算,解出的ai和bi用于對該點作平滑處理:
從以上推導看出,通過將處理點的鄰域點集作為引導窗口,使得平滑處理后模型能保持其鄰域的幾何特征。由式(6)、式(7)、式(9)可以看出,參數(shù)λ=0時,ai=1,bi=(0,0,0),輸出點坐標等于輸入點,點云局部噪聲并未得到平滑;隨著λ取值不斷增大,ai相應減小,輸出點越來越接近其鄰域幾何中心。實際應用中通常取λ<1。
在圖像處理領域,均值濾波是一種線性平均濾波器。在點云處理方面,均值濾波算法即為引導濾波參數(shù)λ趨于無窮大后的特殊情況。此時,平滑處理過程即為通過式(9)得到的鄰域幾何中心來代替處理點。
雙邊濾波平滑點云的表達式為:
此處Wc與Ws為高斯核函數(shù):
Wc為平滑函數(shù),以該點到鄰域點的距離為自變量。為平滑因子,其值越大,平滑效果越好,通常取為Wc自變量的最大值;Ws為幾何特征保持函數(shù),以此鄰域法向量與該點到鄰域點距離向量的內積作為自變量。為特征保持因子,其值越小,幾何特征保持性能越好,通常取為Ws自變量的標準差。
雙邊濾波涉及點云法向量的相關計算,通常采用主元分析法[16](Principal Component Analysis,PCA)對某局部點云法向量進行估計:
設ni為某鄰域點法向量,則它與鄰域點集滿足關系:
定義矩陣Ci:
解出其最小特征值對應的特征向量即可作為ni的估計。
采用3ds Max軟件對汽車建模后,通過MeshLab軟件對導出文件處理得到txt格式的三維數(shù)據(jù)點云,通過matlab R2016a軟件對點云數(shù)據(jù)加入隨機噪聲點,依次采用前文介紹的算法編程進行處理。計算機硬件條件為:處理器Inter(R) Xeon(R) CPU E5-1603 v4 @ 2.80GHZ,內存8GB,顯卡NVIDIA Quadro M2000。
由式(1)~式(3)可見,高斯統(tǒng)計去除離群點受鄰域點數(shù)k和參數(shù)ε的影響。由圖1(b)和圖1(d)、圖1(c)和圖1(e)可看出,鄰域大小相同時,ε取值越大,去除的離群點越少,這也符合高斯分布曲線特點。圖1(d)、圖1(e)、圖1(f)可以看出,高斯統(tǒng)計閾值相同時,k取值越大,去除的離群點越少,因為鄰域半徑增大導致了模型表面附近的點被忽略了。對不同三維點數(shù)量的點云模型,μ和k取值對離群點去除效果都有影響。對車體點云取k=10,ε=1,去噪效果如圖2所示。
圖2 車體點云去除離群點
當模型點云中含有的離群點噪聲被去除后,對比使用三種濾波算法平滑局部小型噪聲點。取k=10,ε=1.96處理后的模型點云分別進行實驗。
圖3 輪轂點云局部噪聲點平滑
圖4 車體點云局部噪聲點平滑
圖3(a)和圖4(a)、圖3(b)和圖4(b)分別為均值濾波迭代一次和迭代三次的效果圖,由于均值濾波通過選取鄰域點集的幾何中心點代替處理點,故隨著迭代次數(shù)增加,點云坐標會相應地改變,平滑后點會出現(xiàn)更多的重合,造成點云數(shù)目減少的效果影響模型觀測度。圖3(c)和圖4(c)、圖3(d)和圖4(d)分別為雙邊濾波平滑一次和平滑三次的效果圖,可以看出雖然雙邊濾波在一定程度上保持了點云模型的幾何特征,但其平滑效果并不明顯,且隨著迭代次數(shù)增加,模型會出現(xiàn)局部失真的情況。圖3(e)和圖4(e)、圖3(f)和圖4(f)分別為引導濾波算法平滑一次和平滑三次的效果圖,可以看出引導濾波算法能很好地平滑模型表面起伏噪聲點,且當?shù)螖?shù)增加時,模型幾何特征保持性能較好,模型點重合數(shù)量也較少。
為更好地評價幾種濾波算法的平滑效果,定義兩個評價標準D和δ。因為幾種濾波算法都是對離群點去除后剩余點云的每個點進行處理,可定義D為平滑前后模型點云的平均移動距離。
其中,n為處理的點云數(shù)量,pi為對應待平滑點;由于此次仿真實驗中模型的無噪聲標準點云已知,可定義δ為平滑后模型點云的法向量與無噪聲標準點云的法向量夾角余弦平均值。
這里,n'i為p'i在平滑后點云模型里的法向量,通過在標準點云中搜索p'i的k鄰域,ni為該處法向量。實驗計算結果如表1所示。
表1數(shù)據(jù)結果表明,引導濾波平滑點云模型時,平均移動距離小于均值濾波和雙邊濾波,從而保證了點云模型不會被過度放大或縮?。黄骄鶌A角余弦值δ整體上大于或等于均值濾波和雙邊濾波對應值,由于δ在(0,π)上是減函數(shù),證明引導濾波平滑后模型整體法向量與標準點云模型整體法向量相比改變較小,即幾何特征保持性能更好。
表1 濾波算法評價指標比較
圖5 三種濾波算法耗時對比圖
圖5為算法耗對比圖,三種濾波算法對比情況表明,由于引導濾波算法采用局部線性模型,以鄰域點集為引導窗口,其算法復雜度低于雙邊濾波采用的高斯函數(shù)加權,高于均值濾波的簡單幾何中點替代,故點云引導濾波耗時略高于均值濾波,但遠低于雙邊濾波。
針對三維信息采集設備得到的點云中含有噪聲點,采用高斯統(tǒng)計方法去除離群點,引導濾波算法平滑局部小型噪聲點。仿真實驗展示了不同參數(shù)下高斯統(tǒng)計方法對去除離群點的影響。將點云引導濾波在算法耗時、幾何特征保持效果方面分別與線性均值濾波算法和邊緣保持特性較好的雙邊濾波進行了比較,表明引導濾波算法雖然在耗時方面略高于均值濾波,但低于雙邊濾波一個數(shù)量級,且在平滑模型表面噪聲點和保持模型幾何特征方面效果更好。未來的研究工作重點是,在模型點云稀疏的情況下進行噪聲點的去除和平滑。