劉菲菲,楊 鐸
(大連大學(xué) 機(jī)械工程學(xué)院,遼寧 大連 116622)
近年來,非接觸式測量方法因為其方便簡單的操作,在逆向工程領(lǐng)域中多有應(yīng)用,尤其是在復(fù)雜曲面零件的逆向數(shù)字化掃描。
隨著電子計算能力的提高和掃描設(shè)備的高精度化,更高數(shù)量級點(diǎn)云在非接觸測量方法中出現(xiàn),也帶來了大量噪聲和冗余數(shù)據(jù)點(diǎn)。為保證后續(xù)逆向工作能夠高效完成,必須做好點(diǎn)云的預(yù)處理。一般包括點(diǎn)云去噪和點(diǎn)云簡化兩步,先用濾波法去除有序或部分有序的大尺度噪聲干擾。
吳玉泉等[1]用空間單元格對點(diǎn)云進(jìn)行了點(diǎn)云空間的有序劃分,得到了各個單元格內(nèi)的“中心點(diǎn)”,并求出了距離標(biāo)準(zhǔn)偏差,根據(jù)設(shè)定的相應(yīng)閾值進(jìn)行了去噪。Rosman G[2]在標(biāo)準(zhǔn)基礎(chǔ)模型和距離掃描上應(yīng)用補(bǔ)丁協(xié)同譜分析,其魯棒性較高,應(yīng)對無序點(diǎn)云的去噪效果較差。崔鑫等人[3]提出了基于特征信息的加權(quán)模糊C均值聚類去噪算法,保持了點(diǎn)云本來特征,適用范圍較廣,從圖形上看模型線條略尖銳。史皓良[4]提出了基于點(diǎn)云曲率特征信息分類去噪法,針對兩種不同特征區(qū)域分別去噪,即鄰域距離平均濾波和自適應(yīng)雙邊濾波,突出了點(diǎn)云主體,在特征豐富區(qū)域(角點(diǎn)和相交的邊界線上)有較大偏差;文獻(xiàn)[5]同樣是對不同尺度的噪聲進(jìn)行了分步處理,結(jié)合了點(diǎn)云模糊均值聚類和點(diǎn)云雙邊濾波去噪的方法,去噪效果較佳。
由于小尺度噪聲往往不具有明顯規(guī)律,對其的處理放在點(diǎn)云精簡過程中。精簡的目的則是去除點(diǎn)云主體中的重復(fù)點(diǎn)和冗余點(diǎn),用最少的點(diǎn)表示最多的信息。Shuai Yuan等人[6]認(rèn)為傳統(tǒng)算法經(jīng)常丟失幾何信息并且沒有動態(tài)擴(kuò)展結(jié)構(gòu),提出了一種基于共形幾何代數(shù)的簡化算法:利用球形樹構(gòu)造了多分辨率細(xì)分,利用k均值聚類計算了最小邊界球,然后用兩種具有遠(yuǎn)程計算便利性的簡化方法進(jìn)行了自我分割,適應(yīng)性簡化。
近年來出現(xiàn)一種代替簡化法[7-8]:先基于距離的聚類算法對點(diǎn)云進(jìn)行分類,在估計曲率較小的簇里可以用簇中心代替簇中所有點(diǎn)從而簡化點(diǎn)云。
本研究提出一種與傳統(tǒng)處理方式不同的點(diǎn)云簡化算法—二維截面篩選標(biāo)記法。
點(diǎn)云的預(yù)處理流程如圖1所示。
圖1 預(yù)處理流程
圖1中,直通濾波和統(tǒng)計濾波根據(jù)文獻(xiàn)[9]設(shè)置。
1.2.1 坐標(biāo)系轉(zhuǎn)換和選定截面
點(diǎn)云數(shù)據(jù)最初坐標(biāo)系為局部坐標(biāo)系LCS,點(diǎn)云坐標(biāo)點(diǎn)用(xl,yl,zl,R,G,B)表示。用一長方形截面截取點(diǎn)云數(shù)據(jù),截面所在面作為新建物體坐標(biāo)系MCS中的XOY面,截面一角作為新坐標(biāo)系下的原點(diǎn)O,其它角點(diǎn)坐標(biāo)分別為(a,0)、(0,b)、(a,b),截面面積為ab,點(diǎn)云群方向為正Z軸。
在截面上點(diǎn)的坐標(biāo)(xl,yl)根據(jù)旋轉(zhuǎn)和平移原則轉(zhuǎn)化為新坐標(biāo)(xm,ym),Zl坐標(biāo)不做改動。
截面選取如圖2所示。
圖2 截面選取
選取的截面向Z軸正方向每次移動z距離作為新截面,z為點(diǎn)之間最小平均間隔,共移動n次,共n+1張截面。n和由點(diǎn)云在Z方向總長度確定,使全部點(diǎn)云密集區(qū)被截面所截取;z由點(diǎn)云密度確定。為節(jié)省運(yùn)算空間,點(diǎn)不超過5個的截面忽略不計算。每一截面轉(zhuǎn)化為新坐標(biāo)系,其點(diǎn)隨之轉(zhuǎn)換為新坐標(biāo)。設(shè)置點(diǎn)云截面面積大小固定,保證每一片都能將點(diǎn)云主體包括在內(nèi)。若點(diǎn)云主體有需要剔除縫隙雜點(diǎn)的部分,在截面選取時,取能使縫隙在截面上投影面積最大的面。
1.2.2 選定掃描域
本研究在截面上取一圓形掃描域,圓心為原點(diǎn)坐標(biāo)(xo,yo),根據(jù)計算的平均點(diǎn)間距[10]取圓的半徑為r(小于密集區(qū)點(diǎn)云平均距離),此時在直角坐標(biāo)系下圓的方程為x2+y2=r2,掃描域按照設(shè)定方向運(yùn)動,圓心為(xa,yb)圓的方程變?yōu)椋?/p>
(x-xa)2+(y-yb)2=r2
(1)
掃描域初始運(yùn)動方向如圖3所示。
圖3 掃描域初始運(yùn)動方向
4個主運(yùn)動方向+X,-Y,-X,+Y分別在圖2中用箭頭標(biāo)注。以圖3(a)的+X方向為例,圓的圓心從(0,0)直線運(yùn)動到(a,0),觸到對邊返回或按2.2中介紹的觸點(diǎn)返回(0,0)點(diǎn),在Y軸方向運(yùn)動r距離,圓心到點(diǎn)(0,r),再繼續(xù)沿+X方向運(yùn)動觸邊或觸點(diǎn)返回,至此以往到達(dá)(0,b),進(jìn)入主方向-Y運(yùn)動。-Y,-X,+Y方向的運(yùn)動規(guī)律同理。
1.2.3 篩選和標(biāo)記
目標(biāo)是篩選密集區(qū)外的孤立點(diǎn)和密集區(qū)輪廓的邊沿非模型點(diǎn),將孤立點(diǎn)記為A點(diǎn)群,能顯示輪廓的點(diǎn)記為B點(diǎn)群,白色或淺白色點(diǎn)即顏色坐標(biāo)(R,G,B)>(250,250,250)的點(diǎn)標(biāo)記為C點(diǎn)群,僅有B標(biāo)記的點(diǎn)組成的點(diǎn)云即為實際輪廓組成的主要部分。
第一次觸點(diǎn),I=1,此時圓心坐標(biāo)為(xa1,yb1):
(3)N>2,N個點(diǎn)的排序方式同理,因為圓初始沿直線方向運(yùn)動,遇到的點(diǎn)必然在圓的下半弧段,取使連成的弧段最長的兩個點(diǎn),兩點(diǎn)中點(diǎn)與圓心連成的射線方向為掃描域的新運(yùn)動方向。
掃描域改變運(yùn)動方向進(jìn)行第二次觸點(diǎn),I=2,有以下a、b兩種情況:
(a)當(dāng)?shù)?次觸到的某點(diǎn)再次落在圓上,即將運(yùn)動到圓外時,若圓上仍未出現(xiàn)新點(diǎn),則將第1次觸的N個點(diǎn)標(biāo)記為A+x,且掃描域彈回初始路徑中的截面邊繼續(xù)運(yùn)動,運(yùn)算下一條直線運(yùn)動的觸點(diǎn)過程;
有向面積法用到向量積,順序輸入多邊形每個頂點(diǎn)的坐標(biāo),按同樣的順序(順時針或反時針)兩兩叉乘。多邊形面積即為向量積之和的絕對值的一半。
設(shè)多邊形由點(diǎn)P0,P1,…,PN-1連線圍成,則面積S為:
(2)
為降低循環(huán)次數(shù),設(shè)置最多可觸點(diǎn)ε(1≤ε)次,期間若S始終小于S0,掃描域不繼續(xù)運(yùn)動,返回截面邊。到下一條直線上的運(yùn)動規(guī)律相同,但屏蔽截面上有標(biāo)記的點(diǎn),不再被圓識別,避免重復(fù)標(biāo)記。掃描域從坐標(biāo)原點(diǎn)到達(dá)截面下一角,在大方向-Y的每一條直線中繼續(xù)篩選A和B點(diǎn)群,當(dāng)4個大方向的點(diǎn)群篩選完畢后,這一截面上的密集區(qū)外孤立點(diǎn)和輪廓均點(diǎn)已清晰標(biāo)記。
向Z軸正方向移動z距離的新截面再次進(jìn)行篩選,當(dāng)n+1張截面篩選完畢后,開始點(diǎn)的自動剔除和手動剔除工作。
1.2.4 半自動剔除
為利用單目視覺技術(shù)恢復(fù)典型機(jī)械零件夾頭的點(diǎn)云三維模型,筆者初步重建得到點(diǎn)云數(shù)目為625 482。點(diǎn)云可分為高密度點(diǎn)云和低密度點(diǎn)云。由文獻(xiàn)[11]知,點(diǎn)云數(shù)量在一萬以內(nèi)為低密度點(diǎn)云,如CMM測量所得;幾萬至幾千萬的點(diǎn)數(shù)為高密度點(diǎn)云,通常由光學(xué)測量法所得。本研究使用圖像掃描法三維重建設(shè)備,生成數(shù)十萬點(diǎn)數(shù)的中高密度點(diǎn)云。
其中,a方向和b方向的點(diǎn)云模型如圖4所示。
圖4 a方向和b方向的點(diǎn)云模型
零件a方向長度為50 mm,尺寸為0.2×0.2×0.2 m3。實驗裝置有柔光棚、轉(zhuǎn)臺、單反相機(jī)(佳能500D)。對夾頭拍攝144張圖片,按單目視覺原理合成零件表面輪廓的點(diǎn)云模型,在VC++平臺上結(jié)合OpenGL實現(xiàn)算法流程,通過處理點(diǎn)云數(shù)據(jù)包含零件位置、點(diǎn)的位置和顏色等信息,對模型進(jìn)行濾波去噪和簡化。
由塔型分解算法[12]計算得點(diǎn)云分辨率為3 μm/mm,可直接標(biāo)記出C點(diǎn)有6 379個。為將零件的中間空洞部分篩選出更多孤立點(diǎn),截面從圖3(a)中a方向從左至右運(yùn)動,在物體坐標(biāo)系中Z方向最長52 mm,由此計算。
根據(jù)大量實驗發(fā)現(xiàn)有3種因素最為影響篩選點(diǎn)數(shù):截面面數(shù)n、掃描域半徑r(μm)、觸點(diǎn)次數(shù)I。為清晰顯示輪廓,筆者為每個因素選取5種水平,做L25(35)正交實驗,得出B標(biāo)記出的孤立點(diǎn)數(shù)只和面數(shù)有關(guān),因為面數(shù)越多,篩選得到的總體點(diǎn)數(shù)相應(yīng)增加,運(yùn)算時間也會增多,但較另外兩因素的對標(biāo)記點(diǎn)數(shù)量影響較小。
固定截面面數(shù)為16 000,通過對另兩個影響因素試驗得到檢測出的輪廓點(diǎn)數(shù)量隨觸點(diǎn)次數(shù)變化規(guī)律如圖5所示。
圖5 檢測出的輪廓點(diǎn)數(shù)量隨觸點(diǎn)次數(shù)變化規(guī)律
由圖5可知,B標(biāo)記的孤立點(diǎn)數(shù)隨I增大而增大,到一定程度檢測出的點(diǎn)數(shù)趨于穩(wěn)定,但檢測時間和檢測誤差也相應(yīng)增加。綜合運(yùn)算時間和標(biāo)記點(diǎn)數(shù)量等因素,得最佳觸點(diǎn)次數(shù)為4。
固定I為4,掃描域半徑分別為2.3 μm,2.5 μm,2.7 μm,2.9 μm進(jìn)行簡化,檢測出的輪廓點(diǎn)數(shù)量隨觸點(diǎn)次數(shù)變化的局部簡化效果如圖6所示。
圖6 局部簡化效果圖
圖6中,隨觸點(diǎn)次數(shù)增加,檢測出的輪廓點(diǎn)數(shù)量增加,但發(fā)現(xiàn)其中點(diǎn)云模型丟失一部分關(guān)鍵特征,所以取掃描域半徑2.7 μm為最佳參數(shù),約分辨率的0.93倍。
文獻(xiàn)[13]采用連續(xù)變形簡化算法來簡化點(diǎn)云。為驗證本文算法的有效性,筆者在Intel Core i7-6700K CPU、運(yùn)行內(nèi)存32GB、Windows10 64操作系統(tǒng)環(huán)境,于VC++平臺上結(jié)合OpenGL實現(xiàn)本文簡化算法中自動去除模式,處理夾頭點(diǎn)云模型。
同操作環(huán)境下,用連續(xù)變形法處理夾頭點(diǎn)云數(shù)據(jù)。筆者用兩種方法分別進(jìn)行點(diǎn)云預(yù)處理的局部效果,如圖7所示。
圖7 兩種方法分別進(jìn)行點(diǎn)云預(yù)處理局部效果圖
由圖7可知,夾頭夾縫內(nèi)處理情況較優(yōu)的是本研究方法。
處理過程記錄了運(yùn)行時間并計算相關(guān)參數(shù),筆者列成本文算法和連續(xù)變形法的客觀性能對比,如表1所示。
表1 本文算法和連續(xù)變形法的客觀性能對比
表1中,Emax、Eave分別為點(diǎn)云模型光順的最大頂點(diǎn)誤差和平均誤差,Emax越小說明點(diǎn)云質(zhì)量越好;Eave反映模型整體的噪聲情況,其值越小,說明算法魯棒性越強(qiáng)。從表1中得出:本文算法平均Emax和Eave均低于連續(xù)變形法,在運(yùn)算時間上也有優(yōu)勢。
本研究介紹了截面篩選標(biāo)記的點(diǎn)云簡化算法,提出了點(diǎn)云數(shù)據(jù)降維處理思想,強(qiáng)調(diào)在截面上要進(jìn)行統(tǒng)一坐標(biāo)變換,需要根據(jù)點(diǎn)的密集程度選取截面數(shù)量;在二維平面內(nèi)處理點(diǎn)的位置坐標(biāo)和顏色等信息。點(diǎn)云濾波去噪和截面篩選標(biāo)記簡化相結(jié)合的方法魯棒性較好,總體運(yùn)行速度滿足普遍需求,可以充分去除小尺度噪聲點(diǎn)和冗余點(diǎn)。實驗結(jié)果表明:
(1)本研究算法適應(yīng)性強(qiáng),與大尺度去噪的直通濾波、統(tǒng)計濾波及半徑濾波結(jié)合使用,可以處理同時具有多種噪聲的中高密度散亂數(shù)據(jù)點(diǎn)集;
(2)算法在去除噪聲的同時,良好反映物體三維特征,防止模型的過光順。
與連續(xù)變形法比較,本研究方法的三維點(diǎn)云數(shù)據(jù)模型整體預(yù)處理情況較好,光順誤差小。由于掃描域半徑和掃描次數(shù)等閾值的選擇需要根據(jù)點(diǎn)云分辨率以及實際經(jīng)驗來確定,如何自適應(yīng)的選擇最優(yōu)參數(shù)是本研究方法今后研究的核心。