褚海漫, 程銀寶, 李亞茹, 羅 哉, 江文松, 王 燕
(1. 中國計量大學(xué),浙江 杭州 310018; 2. 沈陽飛機工業(yè)(集團)有限公司,遼寧 沈陽 110850)
近幾年,借助激光的手段,機器視覺得到了極大程度的發(fā)展,其中產(chǎn)物三維激光掃描儀可實現(xiàn)對空間物體的非接觸式測量,1∶1復(fù)刻被測物體的三維數(shù)據(jù)信息,應(yīng)用廣泛。激光掃描儀在掃描過程中受被測物體幾何形狀、掃描角度因素影響,使得掃描儀在絕大部分情況下無法通過一次掃描獲取被測物體表面的全部幾何信息,需要對掃描儀多視角掃描結(jié)果進行點云配準處理。此外,激光掃描儀用于實際工件掃描得到的點云數(shù)據(jù)是不完整的,而大多關(guān)于點云配準算法的研究是基于完整點云數(shù)據(jù),因此有必要對不完整點云數(shù)據(jù)的配準進行研究。
為了解決這一問題,國內(nèi)外學(xué)者提出了一些基于點云局部特征提取的方法或是對點云數(shù)據(jù)本身進行處理。Zhao等[1]提出注意力引導(dǎo)網(wǎng)絡(luò)可利用點之間的相關(guān)性提取局部特征,并且可以融合特征實現(xiàn)點云重建填補孔洞對不完整點云進行復(fù)原;Chen等[2]提出一種新型神經(jīng)網(wǎng)絡(luò)能夠?qū)W習(xí)局部特征并實現(xiàn)對數(shù)據(jù)集的形狀分類及語義分割;Piotr等[3]針對具有復(fù)雜幾何表面信息且色彩信息豐富但具有幾何缺陷的點云提出了快速自適應(yīng)多模態(tài)特征配準;Liu等[4]對于數(shù)據(jù)量極大特征相似的城市場景點云配準提出了PCRMLP隱式地從實例中估計變換并由多層感知器網(wǎng)絡(luò)進行實現(xiàn)快速粗配準;Wang等[5]針對低重疊狀態(tài)配準問題結(jié)合密集圖卷積和多級交互變壓器設(shè)計點云配準網(wǎng)絡(luò)提高了點云特征的提取能力。學(xué)者們針對不完整點云的配準問題,首選做法大都是對不完整點云進行補全,并且實現(xiàn)過程較為復(fù)雜。
針對不完整點云配準困難的問題,提出了對應(yīng)點對的配準方法。首先利用激光掃描儀對被測工件進行掃描獲得實際點云數(shù)據(jù),再將不完整點云進行整體分析,選取不完整點云與理想點云的對應(yīng)點對進行初始對齊;然后采用最近鄰點迭代算法(iterative closest point,ICP)進行精確對齊,并基于Visual Studio 2013軟件裝配點云庫Point Cloud Library1.8.0環(huán)境進行實現(xiàn),使得2點云盡可能重合;最后采用均方根誤差作為點云配準精度評價指標對不完整點云的配準精度進行評價,分析配準方法的實用性以及準確性。
三維激光掃描系統(tǒng)主要由掃描系統(tǒng)、控制系統(tǒng)以及計算機系統(tǒng)3個部分組成,其中掃描系統(tǒng)主要包括激光測距模塊以及激光掃描模塊,控制系統(tǒng)通過計算機總線控制掃描模塊和測距模塊以保證掃描工作的正常進行,計算機系統(tǒng)通過系統(tǒng)指令的方式控制儀器工作,并存儲測量數(shù)據(jù)[6,7]。
在實際掃描過程中,首先激光發(fā)射器發(fā)出激光,激光到達被測物體表面后反射至掃描系統(tǒng)由激光接收器接收,計算激光反射的往返傳播時間t、俯仰角θ、水平角φ等數(shù)據(jù)信息,由往返傳播時間t可求出掃描儀到目標物體之間的距離S,再配合掃描儀自身的位置信息[8],即可得到目標位置信息,如圖1所示。再根據(jù)圖1所示的幾何關(guān)系,可以得到目標點P的三維坐標計算式[9~11]:
(1)
圖1 激光掃描儀測量原理Fig.1 Laser scanner measurement principle
式中:S表示掃描儀到目標點之間的距離;θ表示其俯仰角;φ表示其水平角。
實驗所用裝置為??怂箍?HEXAGON)AICON測量系統(tǒng)中的便攜掃描系統(tǒng)PrimeScan,如圖2所示,其精度較高,便攜性好,支持多種光源選擇。
圖2 便攜掃描系統(tǒng)Fig.2 Portable scanning system
該三維掃描儀由分布在左右2個高分辨率工業(yè)CCD相機以及中央光柵投影單元組成,采用結(jié)構(gòu)光測量,即激光從激光器發(fā)出經(jīng)過柱面透鏡后匯聚成寬度很窄的光帶,通過光柵投影單元將一組具有相位信息的光柵條紋投影到測量工件表面,并且由左右2個相機進行同步測量。其利用立體相機測量的原理,可以在1 s時間內(nèi)準確獲得200萬到1600萬個高密度的三維數(shù)據(jù)點。
三維激光掃描儀校準后即可進行實際工件測量,為執(zhí)行測量,需要將傳感器放在測量對象前面,理想操作距離取決于所選的傳感器測量區(qū)域,但實際上,最佳工作距離就是2個激光紅點重合處,需將其調(diào)整到被測物的中心。調(diào)整好工件位置和掃描儀角度后,確保2個激光紅點重合處在被測物的中心附近,將零件表面待測區(qū)域調(diào)節(jié)至合適顏色(紅色,綠色,藍色)后點擊確定進行掃描,顏色顯示青色,白色部分無法采點,如下圖3所示,因此掃描得到的實際點云為不完整點云。
圖3 掃描調(diào)整頁面Fig.3 Scanning adjustment page
實驗被測工件表面較為復(fù)雜,且單次掃描無法得到被測物體完整的點云;為使不完整點云配準結(jié)果具有可對比性,使用激光掃描儀進行了3次實驗。首先選擇2個可以采集較多特征的角度進行掃描得到掃描結(jié)果1和2,再借助系統(tǒng)軟件將掃描結(jié)果1和2進行簡單拼接生成掃描結(jié)果3。系統(tǒng)拼接方式為識別工件特征點拼接,得到工件所需部分的整體點云數(shù)據(jù)。利用這3組點云數(shù)據(jù)進行后續(xù)配準研究,實驗結(jié)果如圖4所示。
圖4 實驗掃描結(jié)果Fig.4 Experimental scan results
在進行點云模型的配準之前,需要先對大量的點云數(shù)據(jù)進行預(yù)處理,但在實際測量過程中,由于受到天氣、測量誤差、視角遮擋等多方面因素影響,將導(dǎo)致收集到的原始點云數(shù)據(jù)存在許多缺陷,比如噪聲點過多、數(shù)據(jù)不完整、冗雜等。因此,需要對這些點云數(shù)據(jù)進行處理,當(dāng)前點云數(shù)據(jù)處理研究核心主要體現(xiàn)在點云降噪、點云精簡以及點云拼接[12]方面。
常用的點云降噪方法包括均勻采樣,體素濾波,統(tǒng)計濾波,雙邊濾波,條件濾波,高斯濾波等[13,14]。初步觀察實驗對象,發(fā)現(xiàn)掃描結(jié)果無明顯離群點,因此選擇采用體素濾波,即對點云數(shù)據(jù)創(chuàng)建三維體素柵格,用每個體素重心近似代替體素中的其他點。雖然此方法對比均勻采樣較慢,但它對于采樣點對應(yīng)曲面的表示更為準確,能夠更為準確地保存點云形狀特征,幫助后期進行點云配準工作。以掃描結(jié)果3為例,進行點云濾波的結(jié)果對比,如圖5所示。
圖5 濾波結(jié)果對比圖Fig.5 Comparison chart of filtering results
同時,太過龐大的點云數(shù)據(jù)會影響到數(shù)據(jù)處理時的精度和速度,也會影響到后期的點云數(shù)據(jù)配準工作,因此需要對點云數(shù)據(jù)進行精簡。國內(nèi)外學(xué)者經(jīng)過長期的研究,提出了許多成熟的點云精簡算法,這些算法可大致被分為6類[15]:包圍盒法、均勻網(wǎng)格法、角度法、RANSAC隨機采樣一致性算法、三角網(wǎng)格法以及曲面采樣算法,本文采用均勻網(wǎng)格法進行點云精簡。
點云配準過程主要分為特征提取、特征匹配和變換參數(shù)計算,其中,特征提取和匹配的效果是決定配準精度的核心因素。因此,通常將整個點云配準過程分為點云粗配準(coarse registration)和點云精配準(fine registration)2個階段。點云粗配準是指在點云相對位姿完全未知的情況下對點云數(shù)據(jù)進行配準,其主要是為了給點云精配準提供良好的變換初值;而點云精配準的目的是在點云粗配準的基礎(chǔ)上使點云之間的空間位置差別最小,其中應(yīng)用最為廣泛的精配準算法是ICP算法以及ICP的各種變種(GICP、NICP)。
(2)
式中:tx表示點P在x軸上的偏移量(ty、tz同理);V表示其在各坐標方向上進行投影變換的比例;U指代整體點云的比例因子,由于通過激光掃描生成的點云數(shù)據(jù)不會產(chǎn)生奇異變形,故V為零向量,U=1;α表示該點繞x軸順時針方向旋轉(zhuǎn)角度(β、θ同理)。
點云配準首先是進行點云的特征提取,目前最常用的方法是使用快速點特征直方圖,其使用參數(shù)的方式查詢點云中點與其領(lǐng)域點之間的空間差異,以多維直方圖的形式描述點的幾何屬性。但是由于激光掃描儀掃描工件時需要在工件上貼標記點,掃描后的標記點處呈現(xiàn)未填充的孔洞,同時由于工件表面存在較深的凹槽,很難用激光掃描儀一次性掃描成型,因此會造成部分數(shù)據(jù)缺失,這些因素導(dǎo)致激光掃描儀實際掃描僅能得到不完整點云。因此想要利用算法在不完整點云上尋找屬于工件本身的特征點極其困難,于是采用最方便快捷且適用性強的點對齊方式進行粗配準給精配準提供良好的初始位姿。
ICP算法,或稱最近點迭代配準算法,是點云精配準的經(jīng)典算法。ICP算法本質(zhì)上是基于最小二乘的最優(yōu)匹配算法,它重復(fù)尋找2點云間的對應(yīng)點以及最優(yōu)坐標變換,直至滿足某個收斂條件,迭代終止。該算法的目的是找到原始點云與目標點云之間的轉(zhuǎn)換矩陣R和T,使得2點云之間滿足某種度量準則下的最優(yōu)匹配。該算法的基本思想是:先假設(shè)一個初始位姿(位置和姿態(tài))估計,從一個視角掃描獲得的點集中選出一定數(shù)量的點,再從另一視角的掃描獲取點集中尋找與這些點對應(yīng)的距離最近的點集,通過最優(yōu)坐標變換,使對應(yīng)點的點集間距離最小化,通過迭代計算,直到殘差平方和所構(gòu)成的目標函數(shù)值不變[17]。
設(shè)理論目標點云集為Si(i=1,2,…,n),原始測量點云集為Qi(i=1,2,…,n),尋找實際原始測量點云的變換矩陣使得目標函數(shù)F(R,T)最小,則其數(shù)學(xué)模型可表示如下:
(3)
基于實際激光掃描儀實驗生成的被測工件掃描點云數(shù)據(jù),使用Visual Studio 2013軟件裝配點云庫Point Cloud Library1.8.0環(huán)境,在處理器為AMD Ryzen 5 3550H的電腦上對實驗數(shù)據(jù)進行處理。當(dāng)前使用軟件VS+PCL處理的點云數(shù)據(jù)多基于PCD文件格式,因此可先通過CloudCompare軟件將實驗軟件導(dǎo)出的STL點云文件格式轉(zhuǎn)換至PCD文件格式,即可按流程圖6進行點云配準。
圖6 點云配準流程圖Fig.6 Point cloud registration flowchart
3組實驗數(shù)據(jù)的配準結(jié)果如圖7所示,Ⅰ為掃描點云與理想點云的初始位姿可視化,Ⅱ為粗配準后的點云相對位姿可視化,Ⅲ為精配準后轉(zhuǎn)換點云與理想點云可視化。
圖7 掃描結(jié)果的配準Fig.7 Scan result registration
點云配準的最終結(jié)果需要有一個評價指標進行評價衡量,均方根誤差SRMSE的定義是衡量預(yù)測值與真實值之間的偏差,可將其轉(zhuǎn)用于點云配準精度的評定,作為點云配準精度評價指標,其定義式如下:
(4)
對3組點云數(shù)據(jù)均進行了點云配準,以點云配準后的轉(zhuǎn)換點云與目標點云之間的均方根誤差SRMSE為評價指標評估點云配準精度,具體結(jié)果如表1所示。
表1 點云配準精度
點云配準精度越高,其均方根誤差越小,設(shè)置精配準最大迭代次數(shù)為40次時,均方根誤差可控制在0.62 mm。
ICP算法本質(zhì)上是尋找最近鄰點對不斷地進行目標逼近,因此應(yīng)用此算法可以實現(xiàn)掃描點云與理想CAD模型配準。然而,ICP算法的配準精度會非常依賴變換初值的準確度。為了評價迭代過程中ICP算法的具體配準情況,列出掃描數(shù)據(jù)的迭代收斂圖,分別計算ICP算法在迭代10,20,…,40,50次時,掃描點云與理想點云的配準精度。
通過如圖8所示的數(shù)據(jù)分析,對于給定的不同精度粗配準數(shù)據(jù)結(jié)果,ICP算法在迭代10次的時候均可達到0.70 mm左右的配準精度;再進行迭代后配準精度變化很小,并且在迭代40次后,配準精度變化微小,已趨于穩(wěn)定。
圖8 掃描數(shù)據(jù)的迭代收斂圖Fig.8 Convergence diagram of iterative alignment accuracy of scanned data
實驗表明,ICP算法可以極好地適用于本文粗配準后得到的配準結(jié)果,并且能在僅迭代10次時就能達到較好的配準精度。然而,精配準的主要目的是增加配準精度,減小均方根誤差值,使實際掃描的點云數(shù)據(jù)與CAD模型之間盡可能重合。因此,繼續(xù)進行ICP算法迭代,確定在迭代40次時,算法對本文實驗數(shù)據(jù)所能達到的配準精度已趨于穩(wěn)定。
配準精度的評價指標均方根誤差實際上是尋找目標點云與轉(zhuǎn)換點云的近鄰點對,計算點對之間的平均距離。因此,對于不同的實驗對象,均方根誤差的數(shù)據(jù)量級也不盡相同。CloudCompare軟件可以進行點云與點云之間的最近鄰距離計算,并用顏色進行區(qū)分,具體表現(xiàn)如圖9所示(以第3組點云數(shù)據(jù)為例)。
圖9 配準點云間距Fig.9 Distance between point clouds
由圖9(a)可以看出,轉(zhuǎn)換點云中的絕大部分點與目標點云中識別的對應(yīng)點距離小于0.15 mm(圖9(a)中藍色數(shù)據(jù)),表明其能夠精確配準到目標點云上。但是剩下的小部分點與目標點云距離大于0.85 mm(圖9(a)中紅色數(shù)據(jù)),表明其未實現(xiàn)最優(yōu)配準。此外,實現(xiàn)最優(yōu)配準的點數(shù)量與未實現(xiàn)數(shù)量之比約為39:1,即實現(xiàn)最優(yōu)配準的點數(shù)量遠大于非最優(yōu)配準點。由于被測工件在制造時表面便存在一定的加工誤差,而點云配準的目標模型是該工件的理想CAD模型,這部分距離差較大,未完全與目標點云重合的點極大可能是由于該工件加工誤差產(chǎn)生的,從而也導(dǎo)致了點云配準的均方根誤差不能趨近于0。
點云配準在最優(yōu)理想狀態(tài)下均方根誤差可達到0,但是由于被測工件本身存在加工誤差,所以將被測工件的實際點云數(shù)據(jù)與其理想CAD模型進行點云配準,最終得到點云配準的均方根誤差不可能為0。通過采用縱向?qū)Ρ鹊姆绞?借助CloudCompare軟件顯示粗配準狀態(tài)下得到的點云,計算其與目標點云之間的最近鄰距離以及均方根誤差,結(jié)果如圖9(b)所示(同樣以第3組點云數(shù)據(jù)為例)。粗配準均方根誤差SRMSE為1.23 mm。將粗配準點云間距圖9(b)與精配準點云間距圖9(a)相比,可以直觀地發(fā)現(xiàn),將經(jīng)過點對齊粗配準后的點云數(shù)據(jù)經(jīng)由ICP算法進行精配準,得到的點云配準結(jié)果可滿足工件檢測要求。
提出了一種對應(yīng)點對的方法用于掃描點云數(shù)據(jù)與CAD模型之間的粗配準。此方法可較好地應(yīng)用于不完整點云配準,再使用ICP精配準算法進行精細配準。點云配準完成后對配準精度進行了評價,使用均方根誤差作為評價指標,粗配準的均方根誤差為1.23 mm,精配準的均方根誤差為0.62 mm,配準精度提高了49.59%,表明了所提出方法能為ICP算法提供一個很好的初始值,使得配準效果有所提升。
將ICP算法在精配準過程中迭代次數(shù)對應(yīng)的配準精度進行比較,結(jié)果表明3組掃描數(shù)據(jù)均在迭代10次時已有較好的配準效果,在迭代40次時,配準精度趨于穩(wěn)定,均方根誤差可控制在0.62 mm。由于被測工件表面存在一定的加工誤差,所提出的配準方法得到的結(jié)果可滿足工件要求。但是,為測試所提出的配準方法的可行性,選擇事先設(shè)定實驗對象配準的迭代次數(shù)作為迭代終止條件。在實際工業(yè)生產(chǎn)過程中,應(yīng)是以要求的工件配準精度標準作為迭代終止條件,實現(xiàn)自動化配準,以更快更準確地完成目標。