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