婁建起, 李 巍, 付艷華, 藺紅運(yùn)
(1.遼寧科技大學(xué) 土木工程學(xué)院,遼寧 鞍山 114051;2.東北大學(xué) 資源與土木工程學(xué)院,遼寧 沈陽(yáng) 110819;3.北京帝測(cè)科技股份有限公司,北京 100012)
平面度誤差是指被測(cè)實(shí)際表面相對(duì)其理想平面的變動(dòng)量,理想平面的位置應(yīng)符合最小條件[1]。目前,在最小條件下平面度誤差的評(píng)定算法可分為兩類: 求特征點(diǎn)法和人工智能算法。求特征點(diǎn)法主要有凸殼算法和凸多邊形算法[2~6]等,其基本原理為利用特征點(diǎn)(高極點(diǎn)、低極點(diǎn))確定最小區(qū)域的包容平面從而求出平面度誤差;人工智能算法主要有蜂群算法、遺傳算法、蟻群算法、粒子群算法[7~14]等,這些算法主要將平面度誤差轉(zhuǎn)化成對(duì)目標(biāo)函數(shù)的非線性最優(yōu)化問(wèn)題進(jìn)行求解。但利用上述方法對(duì)不連續(xù)平面進(jìn)行平面度誤差評(píng)定時(shí),存在抗差能力弱、無(wú)法反應(yīng)誤差來(lái)源及不能指導(dǎo)平面調(diào)整的問(wèn)題。為此,在滿足最小條件的基礎(chǔ)上,本文通過(guò)平面在空間中的位置關(guān)系和點(diǎn)云提取算法建立的包容直線能夠很好的反應(yīng)平面度誤差來(lái)源,并且能指導(dǎo)平面調(diào)整。
最小(包容)區(qū)域法(minimum zone method,MZM)[11]是符合國(guó)家標(biāo)準(zhǔn)規(guī)定的平面度誤差評(píng)定方法,并且與國(guó)際標(biāo)準(zhǔn)相一致。圖1為最小包容區(qū)域與判別準(zhǔn)則。
圖1 最小包容區(qū)域與判別準(zhǔn)則
最小區(qū)域是由2個(gè)包容平面構(gòu)成,兩個(gè)包容平面包括實(shí)際被測(cè)表面所有要素且相互平行,包容平面間的最短距離fMZM即為平面度誤差值,測(cè)點(diǎn)P={Pi|i=1,2,…,n}。判斷是否為最小區(qū)域有3個(gè)判別準(zhǔn)則:三角形準(zhǔn)則、交叉準(zhǔn)則、直線準(zhǔn)則。
(1)三角形準(zhǔn)則:3個(gè)高極點(diǎn)(低極點(diǎn))確定1個(gè)包容平面。1個(gè)低極點(diǎn)(高極點(diǎn))結(jié)合平行條件確定另1個(gè)包容平面。且低極點(diǎn)(高極點(diǎn))在平面M1或M2的投影點(diǎn)應(yīng)位于由3個(gè)高級(jí)點(diǎn)(低極點(diǎn))所圍成的三角形內(nèi)部或者邊上。
(2)交叉準(zhǔn)則:2個(gè)高極點(diǎn)確定的對(duì)角線在包容平面M1上,2個(gè)低極低確定的對(duì)角線在包容平面M2上,高極點(diǎn)(低極點(diǎn))組成的對(duì)角線在M2或M1上的投影必須與低極點(diǎn)(高極點(diǎn))組成的對(duì)交線相交。
(3)直線準(zhǔn)則:2個(gè)高極點(diǎn)(低極點(diǎn))在1個(gè)包容平面上,1個(gè)低極點(diǎn)(高極點(diǎn))在另1個(gè)包容平面上。低極點(diǎn)(高極點(diǎn))在平面M1或M2的投影點(diǎn)必須在由2個(gè)高極點(diǎn)(低極點(diǎn))所組成的線段上。
在平面度評(píng)定過(guò)程中,只要符合3個(gè)判別準(zhǔn)則中的任意1個(gè),則說(shuō)明該包容區(qū)域?yàn)樽钚“輩^(qū)域。
連續(xù)平面經(jīng)過(guò)數(shù)字化信息提取后,測(cè)點(diǎn)的分布也同樣具有連續(xù)性且平面屬性明顯,有利于噪聲和冗余數(shù)據(jù)的剔除,總體上連續(xù)平面的平面度誤差值大小由平面的制作工藝決定,且與平面的空間位置無(wú)關(guān)。但在被測(cè)表面不連續(xù)的情況下(如圖2所示),數(shù)字化的過(guò)程中易出現(xiàn)較多的噪聲和冗余數(shù)據(jù)。根據(jù)平面度誤差定義可知,測(cè)點(diǎn)到理想平面的最大偏距和最小偏距是計(jì)算平面度誤差的主要數(shù)據(jù),噪聲和冗余數(shù)據(jù)參與評(píng)定,平面度誤差值的計(jì)算會(huì)出現(xiàn)嚴(yán)重錯(cuò)誤。
圖2 數(shù)字化過(guò)程示意圖
由于平面的不連續(xù)性,不連續(xù)的平面間在空間中的位置關(guān)系不同。圖3為平面在空間中的位置關(guān)系圖,4個(gè)平面與參考平面相交,每個(gè)平面上的點(diǎn)到理想平面的距離與其到兩平面的交線的距離成正比,不連續(xù)的被測(cè)表面尺寸越大產(chǎn)生的平面度誤差越大,并且兩個(gè)平面的夾角α大小也直接影響測(cè)點(diǎn)到參考平面的距離。因此被測(cè)表面的尺寸與平面在空間位置關(guān)系是影響平面度誤差評(píng)定的主要因素。
圖3 平面在空間中的位置關(guān)系
基于最小區(qū)域法平面度誤差評(píng)定原理,結(jié)合影響不連續(xù)平面的平面度誤差值大小主要因素,以空間中兩條平行的包容直線代替包容平面確定每個(gè)平面的最小區(qū)域,包容平面通過(guò)高極點(diǎn)和低極點(diǎn)結(jié)合最小區(qū)域準(zhǔn)則確定,包容直線通過(guò)包含高極點(diǎn)與低極點(diǎn)在內(nèi)并且偏距大小相近的點(diǎn)集結(jié)合平行條件確定。
圖4為包容直線示意圖,包容直線到參考平面最大偏距與最小偏距之差即為平面度誤差值。以此方式構(gòu)造的包容直線不僅能夠準(zhǔn)確地表達(dá)平面在空間的位置狀態(tài),還具有一定抵抗噪聲數(shù)據(jù)的能力。
圖4 包容直線示意圖
包容直線法平面度誤差評(píng)定主要分為5步:首先,對(duì)原始點(diǎn)云采用主成分分析法剔除噪聲;然后,對(duì)去噪后點(diǎn)云數(shù)據(jù)進(jìn)行最小二乘平面擬合;再利用多閾值提取算法提取出擬合包容直線的點(diǎn)集;并利用平行直線擬合算法得出包容直線建立最小區(qū)域;最后輸出不連續(xù)平面的平面度誤差值。
算法流程如圖5所示。
圖5 算法流程
由于平面點(diǎn)云數(shù)據(jù)特征較多,本文采用主成分分析算法(principal component analysis,PCA)[16,17],通過(guò)少數(shù)幾個(gè)主成分來(lái)揭示多個(gè)變量間的內(nèi)部結(jié)構(gòu)從而簡(jiǎn)化處理流程。具體算法如下:
(1)對(duì)每個(gè)平面的點(diǎn)集Q={Qi|i=1,2…n}分別進(jìn)行主成分分析,拾取明顯在平面上的特征點(diǎn)得出平面參數(shù)a,b,c的初始值;
(2)點(diǎn)云中各點(diǎn)xi,yi,zi到平面的距離表達(dá)式:
(1)
(3)計(jì)算距離di的標(biāo)準(zhǔn)偏差σ:
(2)
(4)對(duì)原始點(diǎn)云進(jìn)行噪聲點(diǎn)判別。以經(jīng)典粗差剔除理論為基礎(chǔ),選擇兩倍標(biāo)準(zhǔn)偏差為閾值,即當(dāng)di>2σ時(shí),該點(diǎn)被認(rèn)為是噪聲點(diǎn),予以剔除;反之,則保留該點(diǎn)。
(5)重復(fù)流程(2)~(4),直到保留點(diǎn)到擬合平面的距離均在規(guī)定閾值內(nèi),完成初步噪聲剔除。
將去噪后的整體點(diǎn)云與各個(gè)不連續(xù)平面點(diǎn)云分別進(jìn)行最二乘平面擬合[18~19],擬合方法如下:
(1)根據(jù)最小二乘原理,使測(cè)點(diǎn)Pi(xi,yi,zi)到參考平面的最短距離的平方和最小,可建立函數(shù)公式:
minD=∑(zi-z)2=∑(zi-Ax-By-C)2
(3)
式中:A、B、C為參考平面法向量的坐標(biāo)分量值。
(4)
式中:N為測(cè)點(diǎn)個(gè)數(shù)。
解該三元一次方程即可得擬合平面方程A0+B0y+C0z+D0=0,同理各個(gè)不連續(xù)平面點(diǎn)云也采用相同方式擬合。
聯(lián)立求出交線方程,轉(zhuǎn)化為點(diǎn)向式方程:
(5)
如圖6所示,紫色表示參考平面M0,綠色表示局部點(diǎn)云擬合平面Mi。
圖6 平面擬合
(1)計(jì)算每個(gè)平面上的點(diǎn)到交線的偏距D,點(diǎn)在平面上方D取正值反之D取負(fù)值,找到偏距最大的點(diǎn)PD-max與最小的點(diǎn)PD-min。
(2)如圖所示7,設(shè)定ri為D的鄰域半徑閾值,ri用來(lái)確定目標(biāo)點(diǎn)集的寬度,α是平面M0與平面Mi形成的二面角,hi表示點(diǎn)PD-max到平面M0的距離,mi表示由于擬合產(chǎn)生的誤差在hi上的影響范圍。令mi=hi/50作為影響范圍限制值,可得到ri=mi/sin(α);根據(jù)掃描儀的采樣間隔H、目標(biāo)點(diǎn)集寬度ri和被測(cè)目標(biāo)最短邊長(zhǎng)li并通過(guò)公式n=liri/2H2確定目標(biāo)點(diǎn)集數(shù)量閾值n。
圖7 幾何關(guān)系示意圖
基于主成分析的的全局噪聲剔除,僅剔除了垂直于平面方向的噪聲,因平面度與物體的幾何尺寸有直接關(guān)系,在尋找點(diǎn)集的過(guò)程中結(jié)合連續(xù)點(diǎn)云的密度特征設(shè)立閾值ri可以剔除被掃描物體以外稀疏的噪聲數(shù)據(jù),通過(guò)設(shè)定mi降低由于擬合直線產(chǎn)生的誤差對(duì)平面度的影響,此過(guò)程能在尋找到目標(biāo)點(diǎn)集的同時(shí),達(dá)到除噪與限制誤差的效果。尋找到的目標(biāo)點(diǎn)集如圖8所示。
圖8 用于擬合包容直線的點(diǎn)集
以平面M0與Mi的交線的方向向量為限制條件將多閾值提取的點(diǎn)云進(jìn)行平行擬合。
(1)設(shè)空間直線點(diǎn)向式方程為
(6)
(2)轉(zhuǎn)化為射影式方程
(7)
(8)
(9)
(5)求出參數(shù)c,d即可得到各個(gè)平面的近似包容直線方程。如圖9所示,擬合的空間包容直線能很好的描述平面在空間的姿態(tài),從平面度誤差來(lái)源的角度設(shè)計(jì)的近似包容直線能計(jì)算4個(gè)平面的平面度誤差和指導(dǎo)平面調(diào)整。
圖9 擬合的包容直線
根據(jù)平行線的傳遞性,包容直線與平面M0平行,計(jì)算平面與包容直線的偏距di。直線在平面上方di取正值,反之取負(fù)值。di為指導(dǎo)平面調(diào)整的直接數(shù)據(jù),不連續(xù)平面的平面度誤差值為
f=(di)max-(di)min
(11)
本實(shí)驗(yàn)研究對(duì)象為4塊厚度為0.5 mm的薄鋼板,將其置于高精度三維掃描測(cè)量?jī)x操作臺(tái)上使其高出平臺(tái)面2 cm,并且對(duì)原始點(diǎn)云進(jìn)行簡(jiǎn)化,設(shè)置重采樣間隔為1 mm,采樣后點(diǎn)云數(shù)據(jù)如圖10所示。
圖10 重采樣后的激光點(diǎn)云數(shù)據(jù)
本文算法由利用C++和matlab聯(lián)合編譯,將處理過(guò)的點(diǎn)云數(shù)據(jù)導(dǎo)入CloudComapre進(jìn)行可視化顯示。
經(jīng)主成分分析去噪后4個(gè)平面上點(diǎn)云的偏差如圖11所示,顯然偏距統(tǒng)計(jì)量正態(tài)分布,因此僅選擇(-1,1)區(qū)間內(nèi)的點(diǎn)進(jìn)行平面擬合,擬合效果見圖6。
圖11 點(diǎn)云偏差直方圖
經(jīng)本文算法計(jì)算可得到4個(gè)平面到包容直線的偏距,偏距信息可作為平面調(diào)整的直接依據(jù)。利用凸殼算法、遺傳算法和本文算法同時(shí)計(jì)算薄鋼板的平面度誤差值,以及基于根據(jù)本文算法提供的偏距信息將平面進(jìn)行調(diào)整后的平面度誤差值見表1。
表1 偏距與平面度誤差值對(duì)照表
本實(shí)驗(yàn)安置的薄鋼板距平臺(tái)面2 cm,從凸殼算法得出的平面度誤差值可以看出,該方法將平臺(tái)面上的冗余點(diǎn)作為包容平面上的極點(diǎn)導(dǎo)致平面度誤差值產(chǎn)生較大錯(cuò)誤,本文提出的算法與遺傳算法相比得出的平面度誤差值降低0.011 mm。并且經(jīng)調(diào)整后偏距的絕對(duì)值整體減小,不同算法計(jì)算的平面度誤差值均降低,其中本文算法計(jì)算結(jié)果減少了1.959 mm,這說(shuō)明本文算法可以指導(dǎo)平面調(diào)整和有效地評(píng)定不連續(xù)平面的平面度誤差。
通過(guò)計(jì)算得到每條包容直線的點(diǎn)云直線擬合誤差σ0利用誤差傳播定律,結(jié)合ri=mi/sin(α),計(jì)算出因擬合直線對(duì)平面度計(jì)算的影響誤差σi,如表2所示。
表2 擬合誤差與影響誤差對(duì)照表
從表2可以看出,影響誤差平均值為0.005 3 mm,點(diǎn)云直線擬合誤差對(duì)平面度計(jì)算影響小,原因是兩個(gè)平面的二面角較小小且測(cè)量對(duì)象的實(shí)際尺寸遠(yuǎn)遠(yuǎn)大于平面度值。因此以擬合包容直線代替包容平面的方式能精確計(jì)算平面度值。
本文針對(duì)傳統(tǒng)平面度誤差評(píng)定方法存在的局限性,提出了包容直線法對(duì)不連續(xù)平面進(jìn)行平面度誤差評(píng)定,并給出具體算法流程。研究結(jié)果表明:由于平面的不連續(xù)性,傳統(tǒng)用極點(diǎn)確定包容平面的方法對(duì)去燥的精度要求非常嚴(yán)苛,容易產(chǎn)生較大的粗差。而本文算法從平面度誤差來(lái)源角度設(shè)計(jì)的包容直線能準(zhǔn)確評(píng)定不連續(xù)平面的平面度誤差,具有一定的抗差能力,評(píng)價(jià)結(jié)果與遺傳算法相近,并且對(duì)平面的調(diào)整具有指導(dǎo)作用。為不連續(xù)平面的平面度誤差評(píng)定提供了一種新的參考方法。