趙安安,鄭 煒,郭俊剛
(航空工業(yè)西安飛機工業(yè)(集團)有限責(zé)任公司,陜西 西安 710089)
近年來,三維激光掃描技術(shù)因為具有實時性強、精度高、無損檢測等優(yōu)點,在航空領(lǐng)域的應(yīng)用越來越廣泛。利用三維激光掃描技術(shù)對航空零部件進行測量分析,是航空領(lǐng)域高精度測量的趨勢。然而,受測量環(huán)境、設(shè)備等因素影響,獲取的三維點云往往存在一定的噪聲,目前針對航空零部件三維點云噪聲的處理仍處于起步階段,還無法滿足航空業(yè)高效率、高精度的要求。
針對點云去噪問題,國內(nèi)外諸多學(xué)者研究出了許多優(yōu)異的算法[1-3]。Alexa等[4]引入點集曲面(point set surfaces,PSS)的思想,提出了將點投影到最小二乘(moving least squares,MLS)曲面的去噪方法。在此工作的基礎(chǔ)上,后續(xù)又提出了一些擴展和改進,包括模型表面的顯示表達[5]、尖銳特征的處理[6],以及模型表面的隱式表達,即從輸入點到曲面表面的有符號的距離場[7-8]。牛曉靜等[9]為了盡可能地保持輸入點云的特征信息,提出了一種自適應(yīng)密度聚類與雙邊濾波融合的三維點云去噪算法。針對輸入點云中的多尺度噪聲,袁華等[10]提出了一種基于噪聲分類的雙邊濾波點云去噪算法。在點云深度學(xué)習(xí)去噪方面,近年來也出現(xiàn)了一些開創(chuàng)性的工作:Riegler等[11]提出了一種用于非結(jié)構(gòu)化點云識別的KD網(wǎng)絡(luò);Fan等[12]引入了卷積神經(jīng)預(yù)測網(wǎng)絡(luò)用于從給定的單個圖像中提取點云特征;Lin等[13]提出了偽渲染器,作為真實渲染操作的近似,可從單個圖像生成3D點云。
綜上所述可知,雖然國內(nèi)外很多學(xué)者已經(jīng)致力于保持特征的點云去噪算法的研究,但由于航空零部件三維掃描點云本身的復(fù)雜性以及特征尺度的多樣性,使得在去除噪聲或者幾何特征的同時保持模型的結(jié)構(gòu)性特征仍是一項極具挑戰(zhàn)的問題,目前的去噪算法未能取得令人滿意的效果。為此,本文利用卷積神經(jīng)網(wǎng)絡(luò)強大的模型擬合能力,提出了一種基于高度圖的深度學(xué)習(xí)點云去噪方法,以便在有效去除噪聲和一些大尺度幾何特征的基礎(chǔ)上,保留三維模型的結(jié)構(gòu)特征。
基于主成分分析法(principal components analysis,PCA),對空間點pi生成高度圖,以表達其三維幾何信息?;趐i的空間鄰域點集χ,首先構(gòu)造協(xié)方差矩陣Ci,并求解其特征值λ1,λ2,λ3及對應(yīng)的特征向量μ1,μ2,μ3,其中λ3≤λ2≤λ1。
(1)
式中:|χ|表示鄰域點集χ中所包含的點數(shù)。以求解得到的特征向量μ3為平面法向量,構(gòu)造點pi的二維投影平面P,并將其劃分為m×m(取32×32)的規(guī)則網(wǎng)格。其中投影平面的x軸和y軸分別為向量μ1和μ2,如圖1(a)所示。針對鄰域點集χ中的每一個點pj,沿向量μ3向投影平面P進行投影,計算對應(yīng)的像素坐標cj,cj=(xj,y),并以點pj到平面P的高度值作為cj的像素值Hj。
圖1 高度圖生成
(2)
Hj=(pi-pj)·μ3
(3)
式中:r為鄰域點集χ的半徑(設(shè)置為點云數(shù)據(jù)Ψ平均距離raverage的5倍)。若投影平面中一個像素格內(nèi)有多個點投影,則只保留投影距離|Hj|最小的點,并將其高度值|Hj|作為該像素的像素值。基于上述方法,本文初步獲得了點pi對應(yīng)的高度圖,如圖1(b)所示。
一般情況下,鄰域點集χ所包含的點數(shù)小于m×m,進一步對獲得的高度圖進行高斯插值,對高度圖進行填充,如圖1(c)所示。
(4)
進一步地,為保證點云高度圖的旋轉(zhuǎn)不變性,針對訓(xùn)練集中的每一個點pi生成的高度圖,以μ1,μ2,μ3為x,y,z軸建立局部坐標系,并將標注好的法線標簽轉(zhuǎn)換到局部坐標系下,轉(zhuǎn)換方程如下所示:
(5)
本文的法線估計網(wǎng)絡(luò)采用LeNet網(wǎng)絡(luò)[17],結(jié)構(gòu)如圖2所示。LeNet網(wǎng)絡(luò)是二維圖像處理領(lǐng)域的經(jīng)典算法,它包括3個卷積層、2個池化層和2個全連接層。以生成的高度圖為網(wǎng)絡(luò)輸入,經(jīng)LeNet網(wǎng)絡(luò)預(yù)測法線,輸出3×1維法線向量。訓(xùn)練過程損失函數(shù)設(shè)計如下:
圖2 LeNet卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
(6)
式中:L為損失函數(shù);Q為輸入點云集合,包含訓(xùn)練集數(shù)據(jù)中所有點;npi為LeNet網(wǎng)絡(luò)預(yù)測的法線向量。在法線預(yù)測過程中,針對被測點pi,LeNet網(wǎng)絡(luò)輸出的3×1維法線向量,與矩陣[μ1,μ2,μ3]相乘后,即可得到點pi在全局坐標系的預(yù)測法線。
在測試階段,基于LeNet網(wǎng)絡(luò)預(yù)測的法線信息,進一步對噪聲點云進行點位更新,從而實現(xiàn)去噪。給定測試模型T的一點pt,通過KNN檢索獲取其局部鄰域點集Φ(檢索半徑為點云平均距離的3倍)。應(yīng)用位置更新算法[15]對pt的位置進行更新,更新方程如下:
(7)
本文在多個航空零件中對所提算法進行測試,并且將其與目前最常用的相關(guān)法線估計算法進行比較,如PCA[18]、雙邊濾波算法[19]等。此外,還將本文方法與當(dāng)前的點云去噪方法進行了比較,如魯棒隱式移動最小二乘法(robust implicit moving least squares,RIMLS)[20]和改進加權(quán)局部最優(yōu)投影(improved weighted locally optimal projection,WLOP)[21]等方法。
如圖3所示,PCA是將局部點云數(shù)據(jù)擬合成一個局部平面,并以該平面的法線表示局部點集中心點的法線。因此,它所估計的法線容易鈍化機械零件邊界特征;雙邊濾波算法適用于機械模型,但容易過度銳化某些區(qū)域,尤其是圓柱狀區(qū)域。相比之下,本文方法使用卷積神經(jīng)網(wǎng)絡(luò)預(yù)測點云法線,通過深度學(xué)習(xí)從點云局部結(jié)構(gòu)中獲取空間特征,得到了最好的法線結(jié)果(誤差最低),見表1。
圖3 兩個模型法線估計結(jié)果
表1 圖3中點云的法向誤差(以弧度表示的均方角誤差)
基于卷積神經(jīng)網(wǎng)絡(luò)預(yù)測的法線信息,應(yīng)用位置更新算法[15]來對點云進行去噪,且法線估計越準確,去噪效果越好。如圖4所示,RIMLS[20]和WLOP[21]均容易鈍化機械零件的尖銳特征,其中WLOP結(jié)果鈍化現(xiàn)象尤為嚴重。與目前常用的去噪算法相比,本文的去噪算法獲得了最好的實驗結(jié)果。圖4中,第1行為上采樣濾波結(jié)果,第2行為曲面重建結(jié)果,平均距離Raverage從左至右依次為0.004 4,0.003 6和0.002 3。
圖4 帶噪聲的機械零件點云的濾波效果(1%的噪聲)
除了合成模型外,還對由handy700掃描獲取的真實航空零件模型進行測試。如圖5所示,本文方法的去噪結(jié)果優(yōu)于其他方法。
圖5 帶噪聲的真實航空零件點云的濾波結(jié)果(1%的噪聲)
本文提出的基于卷積神經(jīng)網(wǎng)絡(luò)的航空零件去噪技術(shù),實現(xiàn)了航空零件點云快速、高效的去噪處理,保證了零件的檢測質(zhì)量和精度。目前,對于結(jié)構(gòu)復(fù)雜的航空零件的去噪,高度圖仍然存在無法準確反映零件局部結(jié)構(gòu)的問題。如何準確高效地對復(fù)雜結(jié)構(gòu)零件進行去噪,是本文后續(xù)研究的方向,其中用PointNet[22]網(wǎng)絡(luò)提取點云特征,可能是一個解決該問題的方向。