王一波,柳 建
(1.廣西科技大學(xué)鹿山學(xué)院 電氣與計(jì)算機(jī)工程系, 廣西 柳州 545001;2.裝甲兵工程學(xué)院 工程中心, 北京 100072)
光刀三維測(cè)量的應(yīng)用日益廣泛,受到不同領(lǐng)域研究人員的青睞[1-5],而手持光刀測(cè)量法是對(duì)光刀法改進(jìn),具有精度高、速度快、便攜等優(yōu)點(diǎn),其基本原理如下:利用已經(jīng)標(biāo)定好的線激光器與CCD攝像機(jī),在已知像點(diǎn)坐標(biāo)的情況下,反求物點(diǎn)的空間位置。但由于受到測(cè)量環(huán)境、零件表面反光、無(wú)關(guān)背景等不確定因素影響,最初得到的零件點(diǎn)云數(shù)據(jù)一般都會(huì)有噪聲,情況不好時(shí)可能會(huì)是散亂的點(diǎn)云數(shù)據(jù),如果不加處理,對(duì)后續(xù)測(cè)量帶來(lái)巨大的誤差。為此,點(diǎn)云濾波就顯得尤為重要。一般點(diǎn)云數(shù)據(jù)去噪分為網(wǎng)格化噪聲去除和無(wú)網(wǎng)格點(diǎn)云模型去噪兩種方法,網(wǎng)格去噪典型的代表有Taubin使用拉普拉斯濾波算法對(duì)網(wǎng)格模型進(jìn)行去噪[6],還有Fleishman和Jones等使用具有各向同性的雙邊濾波進(jìn)行網(wǎng)格模型的去噪[7-8],這種方法可以借助網(wǎng)格特征提高去噪效率,但由于需對(duì)網(wǎng)格的拓?fù)湫畔⑦M(jìn)行重建,增加了算法的復(fù)雜度并可能導(dǎo)致網(wǎng)格拓?fù)湫畔⒊霈F(xiàn)錯(cuò)誤。無(wú)網(wǎng)格點(diǎn)云模型去噪直接作用于點(diǎn)云,算法的復(fù)雜性大大降低的同時(shí),可以有效避免拓?fù)湫畔㈠e(cuò)誤發(fā)生,趙乾、劉英等運(yùn)用小波濾波方法對(duì)實(shí)木板材的點(diǎn)云數(shù)據(jù)進(jìn)行預(yù)處理[9],陳超等將點(diǎn)云數(shù)據(jù)按照X與Y方向進(jìn)行自適應(yīng)的分塊基礎(chǔ)上進(jìn)行自適應(yīng)濾波[10],張芳菲等使用近鄰搜索的算法對(duì)孤立噪聲點(diǎn)進(jìn)行了有效濾除[11]。這些方法都是面向特定的應(yīng)用場(chǎng)景,無(wú)法滿足手持光刀法點(diǎn)云數(shù)據(jù)預(yù)處理需求。本研究首次針對(duì)手持光刀三維測(cè)量的原始點(diǎn)云數(shù)據(jù)特征,基于包圍盒的思想,提出了集平滑、壓縮以及背景分割的綜合濾波方法,分步驟進(jìn)行了設(shè)計(jì)和驗(yàn)證,最后利用標(biāo)準(zhǔn)件測(cè)量綜合檢驗(yàn)了算法的精度。
手持光刀法是在固定光刀測(cè)量法基礎(chǔ)上,運(yùn)用電磁跟蹤單元實(shí)時(shí)測(cè)量相對(duì)世界坐標(biāo)系光刀平面與攝像機(jī)位姿,基于三角測(cè)量原理,通過(guò)整理得到手持光刀法三維測(cè)量模型如下:
(1)
圖1 手持光刀掃描
由圖1可以看出,手持光刀掃描和固定光刀掃描相比,點(diǎn)云數(shù)據(jù)會(huì)出現(xiàn)碎片化、密度大、背景冗余等問(wèn)題,后續(xù)需進(jìn)行拼接處理,這就要求點(diǎn)云數(shù)據(jù)濾波能夠克服上述問(wèn)題,提供魯棒性好的處理算法。
包圍盒算法最初用于虛擬現(xiàn)實(shí)空間兩個(gè)不規(guī)則物體碰撞檢測(cè),采用構(gòu)建AABB包圍盒的方法來(lái)查找兩物體之間的可能相交區(qū)域,沿坐標(biāo)軸的包圍盒AABB在碰撞檢測(cè)的研究歷史中使 用得最久、最廣。軸向包圍盒AABB是被定義為包含該對(duì)象各邊平行于坐標(biāo)軸的最小的六面體如圖2所示,是應(yīng)用最早的包圍盒。AABB可表示為
{(xe,ye,ze)|ax≤x≤bx,ay≤y≤by,az≤z≤bz{
(2)
式中ax,bx,ay,by,az,bz分別是該AABB在X、Y、Z坐標(biāo)軸上的投影的最小和最大坐標(biāo)值。分別計(jì)算組成對(duì)象的圖元集合中各個(gè)元素頂點(diǎn)的X坐標(biāo)、Y坐標(biāo)和Z坐標(biāo)的最小值和最大值即可確定,因此描述一個(gè)AABB僅需6個(gè)標(biāo)量[12]。
圖2 AABB包圍盒
點(diǎn)云濾波是針對(duì)光刀測(cè)量特點(diǎn),對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行相應(yīng)的平滑處理、數(shù)據(jù)壓縮以及消除背景等過(guò)程的統(tǒng)稱。
數(shù)字圖像處理中處理的是灰度信息,即根據(jù)像素所在的位置和它們的灰度信息來(lái)計(jì)算新的灰度信息,而三維點(diǎn)云數(shù)據(jù)沒(méi)有灰度信息,需要把其中的一維當(dāng)作灰度信息來(lái)處理,通常選Z坐標(biāo)值。運(yùn)用包圍盒劃分思想,首先找到點(diǎn)云中所有點(diǎn)坐標(biāo)在X,Y,Z三個(gè)方向的最大值和最小值:Xmax,Xmin,Ymax,Ymin,Zmax,Zmin。定義包圍盒為邊長(zhǎng)分別是Xmax-Xmin,Ymax-Ymin,Zmax-Zmin,以(Xmax,Ymax,Zmax)和(Xmin,Ymin,Zmin)為對(duì)角點(diǎn)的長(zhǎng)方體,其所有面分別和坐標(biāo)軸平行。然后按坐標(biāo)軸方向?qū)鼑蟹指畛尚≌襟w,每個(gè)正方體的邊長(zhǎng)設(shè)置為:
l=1.5+ε(mm)
(3)
其中,1.5表示掃描線的間隔,根據(jù)經(jīng)驗(yàn)確定;ε為自定義的容差。設(shè)N為點(diǎn)云中所有點(diǎn)的總數(shù)目,V為包圍盒的體積,ρ為每個(gè)小正方體中所包含的點(diǎn)的平均數(shù)目,則它們與小正方體邊長(zhǎng)存在以下關(guān)系:
(4)
為確定每個(gè)點(diǎn)所在的小正方體,設(shè)任意一個(gè)點(diǎn)的三維坐標(biāo)為(x,y,z)。這樣,根據(jù)其坐標(biāo)值就可以計(jì)算這個(gè)點(diǎn)所屬的小正方體的坐標(biāo):
(5)
(6)
(7)
然后將這個(gè)點(diǎn)在點(diǎn)云數(shù)據(jù)中的索引存入對(duì)應(yīng)的小正方體(α,β,γ)數(shù)據(jù)結(jié)構(gòu)中,遍歷點(diǎn)云數(shù)據(jù)中的每個(gè)點(diǎn),重復(fù)以上的計(jì)算,就把所有點(diǎn)都存入了對(duì)應(yīng)的小正方體中。
點(diǎn)云降噪的最后一個(gè)步驟是比較每個(gè)小正方體中點(diǎn)的數(shù)目,一般情況下小于平均數(shù)ρ比較多的點(diǎn)即全部認(rèn)為是噪聲點(diǎn),比如只有一個(gè)或兩個(gè)點(diǎn),將其坐標(biāo)置為(0,0,0)。
激光掃描測(cè)量每分鐘會(huì)產(chǎn)生上萬(wàn)的點(diǎn)數(shù)據(jù),這種點(diǎn)云提供了完整的對(duì)象零件幾何信息。但如何處理大批量的數(shù)據(jù)(點(diǎn)云)成為繼激光掃描測(cè)量造形的主要問(wèn)題。如果直接對(duì)點(diǎn)云進(jìn)行操作,大量數(shù)據(jù)的存儲(chǔ)和處理將是不可突破的瓶頸,由點(diǎn)生成曲面耗時(shí)長(zhǎng)會(huì)降低幾何模型重構(gòu)的效率,且整個(gè)過(guò)程也變得難以控制。實(shí)際上并不是所有點(diǎn)都有用,高密度的“點(diǎn)云”中存在大量的冗余數(shù)據(jù),因此,有必要在保證一定精度的前提下減少掃描數(shù)據(jù)量。數(shù)據(jù)精簡(jiǎn)的目的就是壓縮不必要的數(shù)據(jù)點(diǎn),在保證精度的前提下生成適合于后續(xù)擬合的結(jié)構(gòu),故而并不產(chǎn)生新點(diǎn),只是簡(jiǎn)單地對(duì)原始點(diǎn)云中的點(diǎn)進(jìn)行刪節(jié),并盡可能多地保留原始數(shù)據(jù)點(diǎn)的形狀特征。
為了簡(jiǎn)化散亂的點(diǎn)云數(shù)據(jù)以達(dá)到數(shù)據(jù)壓縮的目的,本研究將同樣采用基于包圍盒的方法。這種方法首先采用體包圍盒來(lái)約束點(diǎn)云,然后將大包圍盒分解成若干個(gè)均勻大小的小包圍盒,在每個(gè)包圍盒中選取最靠近包圍盒中心的點(diǎn)來(lái)代替所有包圍盒中的點(diǎn)。接著采用了相同的均勻網(wǎng)格,然后用中值濾波的方法將同一網(wǎng)格中的所有數(shù)據(jù)用濾波得到的一個(gè)中值點(diǎn)代替。這種方法簡(jiǎn)單高效。因?yàn)橥ㄟ^(guò)上面所述工作已經(jīng)把所有點(diǎn)劃分到了所對(duì)應(yīng)的小正方體中,這樣壓縮的工作可以在每個(gè)小正方體中進(jìn)行。距離求解如下:
d2=(x-xm)2-(y-ym)2-(z-zm)2
(8)
其中,xm,ym,zm為小正方體中心的坐標(biāo)值。這樣省去了開(kāi)方運(yùn)算,節(jié)約了不少計(jì)算時(shí)間。
掃描時(shí)會(huì)攝入背景信息,干擾三維成像系統(tǒng)的整體精度,而且背景信息經(jīng)常是一片片的出現(xiàn),所形成的點(diǎn)云也具有很高的密度,上節(jié)所述包圍盒劃分去噪方法并不能將其去除。本研究提出采用交互式的背景去除,其步驟如下:① 旋轉(zhuǎn)點(diǎn)云至合適角度,確定被測(cè)目標(biāo)點(diǎn)云與背景點(diǎn)云相對(duì)位置;② 生成一個(gè)通過(guò)這條線段且和屏幕垂直的空間平面,稱為剪切面[13];③ 判斷點(diǎn)與剪切平面的相互位置關(guān)系,可以去除不需要的點(diǎn)云,即背景信息。
判斷的依據(jù)是簡(jiǎn)單的空間解析幾何原理:設(shè)空間任意一點(diǎn)P的坐標(biāo)為(x0,y0,z0),所畫(huà)剪切平面的方程為:
Ax+By+Cz+D=0
(9)
這個(gè)平面把三維空間分成三個(gè)部分,正面、背面和平面本身。把點(diǎn)P的坐標(biāo)值代入平面方程,如果所得結(jié)果大于0則點(diǎn)P處在平面的正面,小于0則在負(fù)面,等于0則在平面上。
視點(diǎn)是從三維空間中的物體反射回來(lái)的所有光線的唯一匯聚點(diǎn),這與眼睛觀看物體的過(guò)程是一樣的。視點(diǎn)所能看到的范圍是視圖體,它是一個(gè)標(biāo)準(zhǔn)的金字塔形的棱臺(tái),把它還原為金字塔時(shí)就是視錐,錐頂就是視點(diǎn)所在的位置。
為了校驗(yàn)濾波算法的效果,本研究用兩個(gè)標(biāo)準(zhǔn)零件來(lái)檢測(cè)系統(tǒng)的精度,一個(gè)為標(biāo)準(zhǔn)平面;另外一個(gè)即標(biāo)定使用的標(biāo)準(zhǔn)球,兩個(gè)零件的實(shí)物照片如圖3所示。
利用本測(cè)量系統(tǒng),分別對(duì)平面和球體進(jìn)行掃描,前者用以表征物體表面曲率變化很小的測(cè)量精度,后者用以表征當(dāng)曲率變化較大時(shí)系統(tǒng)的測(cè)量精度。然后對(duì)圖像進(jìn)行光刀中心提取,根據(jù)三維重建模型進(jìn)行空間點(diǎn)三維坐標(biāo)解算,這樣就可以獲得在同一測(cè)量坐標(biāo)系下零件表面所有采樣點(diǎn)的坐標(biāo),本文將重建后各點(diǎn)與擬合后的標(biāo)準(zhǔn)面的距離定義為系統(tǒng)的測(cè)量誤差。測(cè)量得到的平面和球體的點(diǎn)數(shù)據(jù)如圖4所示。
圖3 標(biāo)準(zhǔn)零件
圖4 標(biāo)準(zhǔn)件點(diǎn)云
分別采用雙邊濾波法、和近鄰搜索法本文算法對(duì)上述點(diǎn)云進(jìn)行處理,近鄰搜索法近鄰數(shù)選擇文獻(xiàn)[8]中實(shí)驗(yàn)的經(jīng)驗(yàn)值20,雙波濾波法σd取3,結(jié)果如表1所示。
表1 不同算法去噪結(jié)果
根據(jù)去噪結(jié)果分析,雙邊濾波法處理速度最快,近鄰搜索法由于沒(méi)有受到復(fù)雜的拓?fù)潢P(guān)系影響,去噪比較徹底,但時(shí)間也最長(zhǎng),綜合來(lái)看,本文提出的算法,去噪效率最高。
為了進(jìn)一步驗(yàn)證算法對(duì)于掃描結(jié)果的影響,分別對(duì)本文算法得到的點(diǎn)云數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)平面和標(biāo)準(zhǔn)球擬合分析,其結(jié)果分別如圖5所示。
由圖5可以看出,系統(tǒng)在測(cè)量平面時(shí)其平均誤差大約在0.2 mm左右,最大誤差為0.35 mm,測(cè)量球時(shí)其平均誤差大約在0.3 mm左右,最大誤差為0.47 mm,符合一般的測(cè)量要求??傮w來(lái)看,基于包圍盒的濾波算法可以有效濾除噪聲影響,為手持光刀測(cè)量提供了有效的支撐,精度符合最后零件測(cè)量要求。
圖5 擬合精度分析
1) 對(duì)于點(diǎn)云數(shù)據(jù)平滑處理,發(fā)現(xiàn)基于包圍盒的平滑濾波不僅可以得到較好的平滑效果,還能很好地保留原始點(diǎn)云數(shù)據(jù)的上升沿、下降沿等特征信息,保留了曲線的棱角特點(diǎn)。
2) 對(duì)于點(diǎn)云數(shù)據(jù)的精簡(jiǎn),采用基于包圍盒的壓縮算法,可以有效壓縮冗余點(diǎn)云數(shù)據(jù),在曲率變化較小的地方,掃描線相對(duì)平緩,保留的點(diǎn)云相對(duì)較少,在曲率變化大的地方,保留的點(diǎn)云較為在曲率變化大的地方,保留的點(diǎn)云較為密集。
3) 針對(duì)點(diǎn)云數(shù)據(jù)的背景,采取交互式的目標(biāo)與背景分割,基于OPENGL特性可以有效去除多余的背景,準(zhǔn)確提取目標(biāo)點(diǎn)云數(shù)據(jù)。
本文將包圍盒思想用于手持光刀三維測(cè)量點(diǎn)云數(shù)據(jù)濾波,實(shí)驗(yàn)證明,可以滿足零件的三維測(cè)量需要。今后,將圍繞點(diǎn)云數(shù)據(jù)去噪、壓縮等算法的普適性進(jìn)行研究。