蔡項(xiàng)宇,何小妹
(航空工業(yè)北京長城計(jì)量測(cè)試技術(shù)研究所,北京 100095)
計(jì)量作為測(cè)量及其應(yīng)用的科學(xué),正在加速數(shù)字化轉(zhuǎn)型[1-2]。數(shù)字化測(cè)量評(píng)價(jià)作為智能制造領(lǐng)域中連接產(chǎn)品設(shè)計(jì)和生產(chǎn)的紐帶,在推進(jìn)數(shù)字化轉(zhuǎn)型中起著至關(guān)重要的作用[3-5]。為實(shí)現(xiàn)零件的數(shù)字化測(cè)量和評(píng)價(jià),需要構(gòu)建零件的檢測(cè)模型和實(shí)測(cè)模型,通過零件檢測(cè)模型和實(shí)測(cè)模型的對(duì)齊,實(shí)現(xiàn)待測(cè)曲面的實(shí)測(cè)點(diǎn)云數(shù)據(jù)自動(dòng)分割,建立對(duì)應(yīng)的零件參數(shù)評(píng)定誤差模型,完成零件檢測(cè)的數(shù)字化評(píng)定。借助非接觸式測(cè)量設(shè)備得到零件的實(shí)測(cè)點(diǎn)云數(shù)據(jù),完成零件的檢測(cè)模型和實(shí)測(cè)模型中點(diǎn)云數(shù)據(jù)的配準(zhǔn)對(duì)齊是進(jìn)行零件合格判定的基礎(chǔ),是實(shí)現(xiàn)零件檢測(cè)數(shù)字化評(píng)定的重要環(huán)節(jié)之一。
目前主流的配準(zhǔn)方法可以分為基準(zhǔn)對(duì)齊和最佳擬合對(duì)齊兩種[6]?;鶞?zhǔn)對(duì)齊的原理是在檢測(cè)模型的基準(zhǔn)特征與實(shí)測(cè)數(shù)據(jù)對(duì)齊的基礎(chǔ)上,分析和評(píng)價(jià)零件的幾何參數(shù)。最佳擬合對(duì)齊的原理是在檢測(cè)模型和實(shí)測(cè)模型中的全部點(diǎn)云數(shù)據(jù)對(duì)齊的基礎(chǔ)上,分析實(shí)際加工型面的偏差。為完成基準(zhǔn)對(duì)齊或最佳擬合對(duì)齊,經(jīng)常采用最近迭代法(Itera?tive Closest Point,ICP)[7]以及各種改進(jìn)算法進(jìn)行點(diǎn)云的配準(zhǔn)。CHEN等人[8]提出了點(diǎn)到面(Point to Plane)的ICP改進(jìn)算法,通過最小化配準(zhǔn)誤差,將源點(diǎn)云和目標(biāo)點(diǎn)云配準(zhǔn)到同一坐標(biāo)系下。鐘瑩等人在采用主成分分析法(Principal Component Analysis,PCA)進(jìn)行粗配準(zhǔn)的基礎(chǔ)上,引入距離和矢量閾值對(duì)ICP算法進(jìn)行改進(jìn),從而提高配準(zhǔn)精度[9]。Weimin Li等人在點(diǎn)云與CAD模型配準(zhǔn)的工作中,提出一種基于動(dòng)態(tài)調(diào)整因子的ICP配準(zhǔn)算法,迭代步長隨調(diào)整因子動(dòng)態(tài)變化,從而提高配準(zhǔn)效率[10]。朱玉梅等人依據(jù)雙標(biāo)準(zhǔn)空間采樣(Dual-Normal-Space Sampling,DNSS),將旋轉(zhuǎn)收益應(yīng)用到精配準(zhǔn)點(diǎn)選擇上,但存在配準(zhǔn)效率較低的問題[11]。孫煒等人融合輪廓特征,將改進(jìn)的ICP算法應(yīng)用到線激光點(diǎn)云配準(zhǔn)工作中,提高了線激光點(diǎn)云配準(zhǔn)速度[12]。
雖然眾多學(xué)者對(duì)ICP算法進(jìn)行了改進(jìn),但是改進(jìn)算法仍然需要依賴良好的初始值,且配準(zhǔn)精度和配準(zhǔn)速度不盡相同。針對(duì)此問題,本文提出融合幾何特征的ICP改進(jìn)算法,借助零件的實(shí)測(cè)點(diǎn)云數(shù)據(jù)中存在眾多幾何特征(本文中特指點(diǎn)云的曲率信息以及坐標(biāo)點(diǎn)和其鄰域點(diǎn)之間的夾角)的特點(diǎn),將其融合到ICP算法的特征點(diǎn)選擇和最優(yōu)目標(biāo)誤差函數(shù)中,解決ICP配準(zhǔn)算法依賴初值的問題,實(shí)現(xiàn)零件檢測(cè)模型和實(shí)測(cè)模型中點(diǎn)云數(shù)據(jù)的一步配準(zhǔn),為零件的數(shù)字化測(cè)量和評(píng)價(jià)提供技術(shù)支撐。
理論點(diǎn)云P由三維坐標(biāo)點(diǎn)pi組成,即P={pi|i=[1,n1]},實(shí)測(cè)點(diǎn)云Q由三維坐標(biāo)點(diǎn)qi組成,即Q={qi|i=[1,n2]}。ICP算法的目標(biāo)是在剛性變換的前提下,將實(shí)測(cè)點(diǎn)云Q進(jìn)行空間變換,使其與理論點(diǎn)云P重合[13]。目標(biāo)函數(shù)如式(1)所示,利用目標(biāo)函數(shù)進(jìn)行計(jì)算,使理論點(diǎn)云P和實(shí)測(cè)點(diǎn)云Q之間的歐式距離最小,從而得到最優(yōu)的空間變換矩陣[R,T]。
式中:N為理論點(diǎn)云P和實(shí)測(cè)點(diǎn)云Q之間對(duì)應(yīng)點(diǎn)的數(shù)量。
ICP算法在配準(zhǔn)過程中默認(rèn)尋找兩組點(diǎn)云中歐式距離最近的對(duì)應(yīng)點(diǎn),但當(dāng)初始位置相差較大時(shí),ICP算法認(rèn)為距離最近的點(diǎn)就是對(duì)應(yīng)點(diǎn),會(huì)產(chǎn)生一定數(shù)量的錯(cuò)誤對(duì)應(yīng)點(diǎn),容易陷入局部最優(yōu)解。針對(duì)此問題,本文提出了融合幾何特征的ICP改進(jìn)算法,具體流程如下:
1)在零件的理論點(diǎn)云P和實(shí)測(cè)點(diǎn)云Q對(duì)應(yīng)點(diǎn)之間的歐式距離保持最小的同時(shí),使對(duì)應(yīng)點(diǎn)的曲率差值C(pi,qi)以及法向量夾角差值W(pi,qi)也保持最小。融合幾何特征的ICP改進(jìn)算法的目標(biāo)誤差函數(shù)為
2)從零件的實(shí)測(cè)點(diǎn)云Q中選取子集利用k個(gè)相鄰點(diǎn)的協(xié)方差計(jì)算子集中每點(diǎn)的曲率以及該點(diǎn)和鄰域點(diǎn)的法向量夾角計(jì)算公式分別如式(3)和式(4)所示[14-15]。在計(jì)算法向量時(shí),需要基于鄰域方向一致性傳播的方法進(jìn)行法向量方向調(diào)整,同時(shí)計(jì)算理論點(diǎn)云P中每點(diǎn)的曲率和法向量夾角
式中:λ0,λ1,λ2為該坐標(biāo)點(diǎn)的k個(gè)相鄰點(diǎn)的協(xié)方差矩陣對(duì)應(yīng)的三個(gè)特征值,滿足λ0≤λ1≤λ2。該坐標(biāo)點(diǎn)的法向量vi為特征值λ0對(duì)應(yīng)的特征向量。式中:vi為該坐標(biāo)點(diǎn)的法向量;vij為該坐標(biāo)點(diǎn)的第j個(gè)鄰域點(diǎn)對(duì)應(yīng)的法向量。
3)設(shè)定曲率特征閾值τC和法向量特征閾值τW。若并且τW,則選取的特征點(diǎn)符合要求,否則刪除該特征點(diǎn)。
5)根據(jù)步驟4)中的對(duì)應(yīng)關(guān)系,采用奇異值分解(Singular Value Decomposition,SVD)的方法計(jì)算相應(yīng)的旋轉(zhuǎn)矩陣R和平移矩陣T(具體計(jì)算過程詳見文獻(xiàn)[16]),使得目標(biāo)誤差函數(shù)達(dá)到最優(yōu)。
6)利用步驟5)中的旋轉(zhuǎn)矩陣R和平移矩陣T,將對(duì)應(yīng)點(diǎn)進(jìn)行更新,得到新的對(duì)應(yīng)點(diǎn)計(jì)算公式為
8)比較目標(biāo)誤差函數(shù)值F'與提前設(shè)定的閾值εF,若F'≤εF,則迭代結(jié)束,否則繼續(xù)進(jìn)行迭代。εF的設(shè)定與點(diǎn)云配準(zhǔn)后所有對(duì)應(yīng)特征點(diǎn)的距離之和有關(guān),數(shù)值越小對(duì)點(diǎn)云配準(zhǔn)的要求越高,配準(zhǔn)時(shí)間也隨之增加。本文中εF設(shè)置為0.2,可滿足后續(xù)依據(jù)理論點(diǎn)云的位置對(duì)實(shí)測(cè)點(diǎn)云進(jìn)行分割的需求。
融合幾何特征的ICP改進(jìn)算法流程圖如圖1所示。
圖1 融合幾何特征的ICP改進(jìn)算法流程圖Fig.1 Flow chart of improved ICP algorithm incorporating geometric features
以復(fù)雜曲面標(biāo)準(zhǔn)件的點(diǎn)云配準(zhǔn)為例進(jìn)行研究。復(fù)雜曲面標(biāo)準(zhǔn)件依據(jù)實(shí)際工程應(yīng)用中常見的幾何參數(shù)設(shè)計(jì)而成,對(duì)于零件幾何參數(shù)的數(shù)字化測(cè)量和評(píng)價(jià)具有借鑒意義。實(shí)驗(yàn)中,采用GOM三維結(jié)構(gòu)光掃描儀進(jìn)行測(cè)量,其軟件配置為SoftWare 2016;使用AMD 5800H計(jì)算機(jī)進(jìn)行運(yùn)算,其軟件配置為Win10,RAM為16 G。
復(fù)雜曲面標(biāo)準(zhǔn)件的檢測(cè)模型以中性文件STEP格式進(jìn)行存儲(chǔ),檢測(cè)模型中的實(shí)體模型信息以邊界表示(B-rep)的方式進(jìn)行描述,但這種表示的數(shù)據(jù)結(jié)構(gòu)無法直接與實(shí)測(cè)點(diǎn)云進(jìn)行配準(zhǔn),故借助開源幾何內(nèi)核庫OpenCascade的Python封裝庫Py?thonOCC,利用write_stl_file函數(shù)將STEP文件轉(zhuǎn)換為STL文件(配置參數(shù)線性方向偏差設(shè)為0.001,角度偏差設(shè)為0.1),如圖2所示,其中紅色的點(diǎn)云是STL文件中的頂點(diǎn)坐標(biāo)。
圖2 理論模型和理論點(diǎn)云Fig.2 Theoretical model and theoretical point cloud
利用三維結(jié)構(gòu)光掃描儀對(duì)復(fù)雜曲面標(biāo)準(zhǔn)件進(jìn)行測(cè)量,在經(jīng)過數(shù)據(jù)去噪、多視角點(diǎn)云拼接之后,得到復(fù)雜曲面標(biāo)準(zhǔn)件的實(shí)測(cè)點(diǎn)云,如圖3所示。
圖3 實(shí)測(cè)點(diǎn)云Fig.3 Measured point cloud
1)點(diǎn)云數(shù)據(jù)是表征零件表面形貌的雜亂無序、數(shù)據(jù)量龐大的三維坐標(biāo)點(diǎn)集合,為提高后續(xù)搜索和計(jì)算處理速度,借助KD-Tree算法[17]得到復(fù)雜曲面標(biāo)準(zhǔn)件實(shí)測(cè)點(diǎn)云和理論點(diǎn)云的空間拓?fù)潢P(guān)系。
2)曲率反映了點(diǎn)云表面的凹凸程度,具有良好的特征表述,如圖4所示。為提高配準(zhǔn)速度,同時(shí)保留復(fù)雜曲面標(biāo)準(zhǔn)件中豐富的幾何特征,提出一種基于曲率的體素采樣方法,具體步驟為:
圖4 實(shí)測(cè)點(diǎn)云的曲率分布Fig.4 Curvature distribution of measured point clouds
①計(jì)算實(shí)測(cè)點(diǎn)云中每個(gè)坐標(biāo)點(diǎn)qi的法向量vi和對(duì)應(yīng)k鄰域坐標(biāo)點(diǎn)的法向量{vi1,vi2,…,vij},j=[1,k],按照式(6)計(jì)算每個(gè)點(diǎn)qi到其k鄰域點(diǎn)的法向量夾角的均值αi,以均值αi近似替代點(diǎn)云qi的曲率。
②設(shè)定曲率閾值αt,當(dāng)αi≥αt時(shí),判定所在區(qū)域?yàn)樘卣髅黠@的區(qū)域Varea,反之則判定所在區(qū)域?yàn)樘卣鞑幻黠@的區(qū)域VI-area。
③對(duì)區(qū)域Varea和VI-area分別采用不同大小的體素核進(jìn)行采樣,經(jīng)采樣后的實(shí)測(cè)點(diǎn)云如圖5所示。
圖5 經(jīng)采樣后的實(shí)測(cè)點(diǎn)云Fig.5 Measured point cloud after sampling
復(fù)雜曲面標(biāo)準(zhǔn)件的理論點(diǎn)云和實(shí)測(cè)點(diǎn)云在進(jìn)行配準(zhǔn)前,初始空間位置如圖6所示,其中標(biāo)記為紅色的是理論點(diǎn)云,標(biāo)記為藍(lán)色的是實(shí)測(cè)點(diǎn)云,可以看到兩組點(diǎn)云的初始空間位置差異很大。
圖6 點(diǎn)云配準(zhǔn)前的初始位置Fig.6 Initial position of point cloud before alignment
應(yīng)用融合幾何特征的ICP改進(jìn)算法進(jìn)行點(diǎn)云配準(zhǔn),結(jié)果如圖7所示,其中標(biāo)記為紅色的是理論點(diǎn)云,標(biāo)記為藍(lán)色的是實(shí)測(cè)點(diǎn)云。
圖7 點(diǎn)云配準(zhǔn)結(jié)果Fig.7 Point cloud registration results
為驗(yàn)證融合幾何特征的ICP改進(jìn)算法的實(shí)際應(yīng)用性能,將該算法的配準(zhǔn)結(jié)果與ICP算法的配準(zhǔn)結(jié)果進(jìn)行比較。對(duì)理論點(diǎn)云和實(shí)測(cè)點(diǎn)云進(jìn)行ICP算法配準(zhǔn),結(jié)果如圖8所示。對(duì)比圖7與圖8的葉片部件局部放大圖可知,使用ICP算法配準(zhǔn)時(shí),兩組點(diǎn)云之間存在明顯的配準(zhǔn)偏差,而融合幾何特征的ICP改進(jìn)算法則具有更優(yōu)秀的配準(zhǔn)結(jié)果。
圖8 ICP算法的配準(zhǔn)結(jié)果Fig.8 Registration results of ICP algorithms
為了評(píng)估算法在圖6所示的點(diǎn)云初始位置差異較大的情況下的配準(zhǔn)收斂性,記錄ICP算法和融合幾何特征的ICP改進(jìn)算法在配準(zhǔn)過程中對(duì)應(yīng)點(diǎn)之間的均方根(Root Mean Square,RMS)隨迭代次數(shù)的變化情況,結(jié)果如圖9所示,可以看到ICP算法在第54次迭代之后RMS不再減小,表明此時(shí)ICP配準(zhǔn)算法陷入了局部最優(yōu)解,而融合幾何特征的ICP改進(jìn)算法在第12次迭代后已經(jīng)成功完成配準(zhǔn)任務(wù),證明融合幾何特征的ICP改進(jìn)算法的收斂速度和配準(zhǔn)準(zhǔn)確性明顯優(yōu)于ICP算法。
圖9 收斂速度和配準(zhǔn)誤差的比較Fig.9 Comparison of convergence rate and matching error
為進(jìn)一步驗(yàn)證融合幾何特征的ICP改進(jìn)算法在數(shù)字化測(cè)量評(píng)價(jià)中的應(yīng)用有效性,將該算法的配準(zhǔn)結(jié)果與采用ICP算法、快速全局配準(zhǔn)加ICP配準(zhǔn)算法、交互式粗配準(zhǔn)加點(diǎn)云處理軟件CloudCom?pare的精配準(zhǔn)方法的結(jié)果進(jìn)行比較,如表1所示。
表1 配準(zhǔn)結(jié)果對(duì)比Tab.1 Comparison of registration results
從表1中可以看出,融合幾何特征的ICP改進(jìn)算法的RMS與交互式粗配準(zhǔn)加點(diǎn)云處理軟件Cloud?Compare的精配準(zhǔn)方法的RMS結(jié)果一致,與快速全局配準(zhǔn)加ICP配準(zhǔn)算法的RMS相差0.0001 mm,間接證明了融合幾何特征的ICP改進(jìn)算法的有效性,并且其配準(zhǔn)精度滿足后續(xù)曲面實(shí)測(cè)點(diǎn)云自動(dòng)分割和評(píng)價(jià)方法的需求。如果兩組點(diǎn)云只進(jìn)行ICP算法配準(zhǔn),從對(duì)應(yīng)點(diǎn)之間的RMS = 23.0165 mm可以看出,配準(zhǔn)結(jié)果陷入局部最優(yōu)解,只有達(dá)到最大迭代次數(shù)才結(jié)束點(diǎn)云的配準(zhǔn),所以計(jì)算時(shí)間不能作為參考。CloudCompare點(diǎn)云處理軟件在精配準(zhǔn)前,需要進(jìn)行交互式粗配準(zhǔn),總體計(jì)算時(shí)間無法統(tǒng)計(jì)。融合幾何特征的ICP改進(jìn)算法因需要對(duì)點(diǎn)云中每點(diǎn)計(jì)算曲率和法向量,雖然比快速全局配準(zhǔn)加ICP配準(zhǔn)算法的計(jì)算時(shí)間多27.54 s,但卻減弱了對(duì)良好初始值的依賴程度,縮短了點(diǎn)云配準(zhǔn)的流程。
提出了一種融合幾何特征的ICP改進(jìn)算法,將點(diǎn)云的曲率差值和法向量夾角差值融合到特征點(diǎn)選擇和目標(biāo)誤差函數(shù)中,不需要依賴良好的初始值即可達(dá)到快速全局配準(zhǔn)加ICP算法配準(zhǔn)的近似精度,在保證了配準(zhǔn)準(zhǔn)確性的同時(shí),簡化了點(diǎn)云配準(zhǔn)流程,為實(shí)現(xiàn)基于理論點(diǎn)云的曲面實(shí)測(cè)點(diǎn)云自動(dòng)分割以及零件數(shù)字化測(cè)量和評(píng)價(jià)提供了重要技術(shù)支撐。