林 森,張 強(qiáng)
(1.沈陽理工大學(xué) 自動(dòng)化與電氣工程學(xué)院,遼寧 沈陽 110159;2.遼寧工程技術(shù)大學(xué) 電子與信息工程學(xué)院,遼寧 葫蘆島 125105)
隨著三維(3D)激光掃描設(shè)備的飛速發(fā)展,點(diǎn)云已經(jīng)成為表征三維世界的主要數(shù)據(jù)格式。在實(shí)際測量過程中,由于被測物體的幾何形狀和測量方法的限制,測量設(shè)備需要從不同角度對被測物體進(jìn)行多次定位測量,每次測量只能捕獲3D對象的部分點(diǎn)云,為了獲得完整的3D對象,必須使用點(diǎn)云配準(zhǔn)技術(shù)。點(diǎn)云配準(zhǔn)就是把在不同視角下獲取的多個(gè)3D點(diǎn)云數(shù)據(jù),旋轉(zhuǎn)平移到同一坐標(biāo)系下。目前,3D點(diǎn)云配準(zhǔn)技術(shù)是逆向工程、數(shù)字醫(yī)學(xué)圖像、表面質(zhì)量檢測等領(lǐng)域的重要基礎(chǔ)[1]。建立產(chǎn)品三維數(shù)據(jù)模型屬于逆向工程的一個(gè)應(yīng)用領(lǐng)域,點(diǎn)云配準(zhǔn)結(jié)果的好壞直接影響建模的正確性。
由于激光設(shè)備獲取的3D物體點(diǎn)云部分區(qū)域重疊,且?guī)в性肼暫彤惓|c(diǎn),針對該類點(diǎn)云配準(zhǔn)問題,一般分為粗配準(zhǔn)和精確配準(zhǔn)兩個(gè)過程。粗配準(zhǔn)就是估計(jì)兩個(gè)點(diǎn)云之間的初始轉(zhuǎn)換,分為深度學(xué)習(xí)配準(zhǔn)方法和優(yōu)化的配準(zhǔn)方法,對于未知產(chǎn)品,若產(chǎn)品與訓(xùn)練數(shù)據(jù)存在較大的分布差異,深度學(xué)習(xí)配準(zhǔn)方法性能會(huì)急劇下降,而優(yōu)化的配準(zhǔn)方法不需要訓(xùn)練數(shù)據(jù),能更好的應(yīng)用于產(chǎn)品建模[1]?;趦?yōu)化的粗配準(zhǔn)又分為三類:手動(dòng)配準(zhǔn)、用投票法則的配準(zhǔn)和用局部特征的配準(zhǔn),其中局部特征的配準(zhǔn)方法因效率高且能自動(dòng)配準(zhǔn),所以應(yīng)用更廣泛。楊穩(wěn)等人[2]提出層次優(yōu)化的顱骨點(diǎn)云配準(zhǔn),該方法根據(jù)特征點(diǎn)的特征序列確定初始對應(yīng)點(diǎn)對,能快速配準(zhǔn)完整的顱骨點(diǎn)云,但針對更復(fù)雜的部分重疊物體點(diǎn)云,計(jì)算特征序列難以精準(zhǔn)描述點(diǎn)的特征;Feng[3]等人提出一種基于局部特征描述符(Local Point Feature Histogram,LPFH)的粗配準(zhǔn),相較于常用描述符,其配準(zhǔn)精度更高,但是粗配準(zhǔn)框架并不剔除異常點(diǎn),對于數(shù)據(jù)量大的復(fù)雜點(diǎn)云,整體效率低,并且難以完成配準(zhǔn);李新春等人[4]提出一種基于鄰域特征點(diǎn)提取和匹配(Neighborhood Characteristic Point Extraction and Matching,NCCP)的點(diǎn)云配準(zhǔn),提高了精度,并解決了噪聲干擾問題,但該方法在提取和匹配特征點(diǎn)時(shí),兩次使用最小二乘法計(jì)算對應(yīng)點(diǎn)的曲率,耗費(fèi)了大量時(shí)間。
粗配準(zhǔn)結(jié)果為精確配準(zhǔn)提供初始數(shù)據(jù)。對于精確配準(zhǔn)階段,最經(jīng)典、應(yīng)用最廣泛的方法是Besl等人[5]在1992年提出的ICP算法,基本原理是,最小化一個(gè)點(diǎn)云與另一個(gè)變換后點(diǎn)云之間的誤差函數(shù),迭代更新剛體變換,直到獲得收斂為止,最后得到旋轉(zhuǎn)平移矩陣。但是,ICP算法很難找到需要大變換點(diǎn)云的旋轉(zhuǎn)平移矩陣,從而陷入局部最小值,計(jì)算效率低,并且很難克服噪聲。通過粗配準(zhǔn),可以解決ICP算法陷入局部最小值和魯棒性差的問題,并且對于初始位置好的點(diǎn)云,還可以減少ICP的迭代次數(shù)來快速地配準(zhǔn)兩片點(diǎn)云,從而提高配準(zhǔn)效率。針對ICP算法本身,也有各種改進(jìn)。Choi等人[6]提出用k維樹改進(jìn) ICP(K-dimensional tree Iterative Closest Point,KICP),通過加快搜索最近點(diǎn)的速度,提高了效率;Li等人[7]給ICP迭代過程加入動(dòng)態(tài)因子,在保證配準(zhǔn)精度情況下,提高了ICP的收斂速度;王賓等人[8]在精確配準(zhǔn)階段提出基于雙向距離比例的ICP算法,提高了配準(zhǔn)精度;Zhang等人[9]提出快速和魯棒的ICP算法,基于Welsch函數(shù)改進(jìn)誤差度量,并使用具有Anderson加速功能的Majorization-Minimization算法將其最小化,提高了配準(zhǔn)精度和效率,并且使配準(zhǔn)框架具有更強(qiáng)的魯棒性。
由于3D物體點(diǎn)云需將粗配準(zhǔn)的匹配點(diǎn)對作為精確配準(zhǔn)的輸入數(shù)據(jù),才能完成有效的點(diǎn)云配準(zhǔn)[10],因此粗配準(zhǔn)結(jié)果的好壞,會(huì)直接影響精確配準(zhǔn)的效率和精度,上述研究直接應(yīng)用于部分重疊點(diǎn)云,配準(zhǔn)效果不好,因此,針對部分重疊點(diǎn)云配準(zhǔn)問題,提出應(yīng)用鄰域點(diǎn)信息描述與匹配的點(diǎn)云配準(zhǔn)方法,即基于NDM的KICP算法(NDMKICP)。首先,將曲率變化、測量角度和特征值性質(zhì)指標(biāo)組合,提取特征點(diǎn);其次,改進(jìn)法向量夾角,點(diǎn)密度和曲率,提出多尺度矩陣描述符;再次,提出用k維樹初步建立匹配關(guān)系,并針對點(diǎn)的幾何信息和歐氏距離,兩次剔除錯(cuò)誤匹配點(diǎn)對,完成粗配準(zhǔn);最后,用k維樹改進(jìn)ICP算法完成精確配準(zhǔn)。該配準(zhǔn)方法能完成3D對象表面點(diǎn)云配準(zhǔn),顯著提高了配準(zhǔn)的效率和精度,并在斯坦福點(diǎn)云數(shù)據(jù)庫下,驗(yàn)證了算法的優(yōu)勢和魯棒性。
以往的粗配準(zhǔn)研究都從單個(gè)鄰域點(diǎn)信息出發(fā),進(jìn)行高維度的描述,但是配準(zhǔn)效率低。本文提出從點(diǎn)云數(shù)據(jù)的協(xié)方差矩陣出發(fā),結(jié)合點(diǎn)的多個(gè)鄰域點(diǎn)幾何信息,提取特征點(diǎn)后,進(jìn)行低維度的描述。
提取特征點(diǎn)的目的是在點(diǎn)云數(shù)據(jù)中獲取具有某些約束的點(diǎn),作為后續(xù)粗配準(zhǔn)工作的輸入點(diǎn)集。提取特征點(diǎn)的關(guān)鍵是具有旋轉(zhuǎn)平移不變性,使用單一的特征往往會(huì)導(dǎo)致配準(zhǔn)計(jì)算量冗余、特征信息不完整[11]。因?yàn)榍首兓?、測量角度和特征值性質(zhì)的計(jì)算效率高、含有特征信息更多[12-13],所以將這三個(gè)特征組合并改進(jìn),提出三尺度特征點(diǎn)(Curvature change,Measuring angle and Eigenvalue property,CME)。
點(diǎn)的曲率反映了曲面偏離平面的程度。對于給定的點(diǎn)pi,鄰域的深度變化越劇烈,以點(diǎn)pi為中心的區(qū)域特征就越明顯。如圖1(a)所示,點(diǎn)A、B和C分別位于平滑、略有變化和急劇變化的區(qū)域,(b)~(d)表示不同半徑曲面的切平面。對點(diǎn)A,在半徑較小的情況下,局部相鄰表面近似為平面,曲率近似為零。而點(diǎn)B,C的同心圓半徑增加,鄰域表面會(huì)迅速變化,且曲率增加。因此,可以根據(jù)不同半徑的曲率變化選擇表示某些區(qū)域特征的點(diǎn)。
圖1 表面不同點(diǎn)的示例Fig.1 Example of different points in surface
設(shè)置查詢點(diǎn)pi,在其半徑r鄰域內(nèi)構(gòu)造加權(quán)協(xié)方差矩陣:
式中,pj為鄰域點(diǎn),為權(quán)重。
求解公式(1)的特征值λj1≥λj2≥λj3,曲率ci計(jì)算如下:
基于三個(gè)不同半徑rj(j=1,2,3)計(jì)算點(diǎn)pi的三個(gè)不同曲率。對于彎曲表面,c1,c2,c3大于零,而對于平坦表面等于零。根據(jù)公式(3),圖1(a)中的A點(diǎn)被刪除,而B和C點(diǎn)則被保留。
式中εc=0.1為設(shè)定閾值[12]。
當(dāng)物體的表面急劇變化時(shí),由于測量角度的問題,相鄰點(diǎn)的密度可能會(huì)減小,并且點(diǎn)坐標(biāo)誤差可能會(huì)增加[14],這些點(diǎn)不能視為關(guān)鍵點(diǎn),例如C點(diǎn),用公式(4)剔除曲率和大于φ=1.6[14]的不良點(diǎn):
通過求解協(xié)方差矩陣獲得的特征值具有一定的幾何意義[13],特征值的大小可以看作是橢球軸的長度,特征矢量e1,e2,e3可以看作是局部坐標(biāo)系的軸,如圖2所示。橢球的形狀是對鄰域內(nèi)點(diǎn)分布的抽象描述。如果鄰點(diǎn)沿某個(gè)方向密集分布,則該方向?yàn)闄E球第一主方向。點(diǎn)分布稀疏的方向是第二主方向,點(diǎn)分布極為稀疏是第三主方向。為了避免檢測到沿主方向有相似伸展的特征點(diǎn),選擇特征值變化量大于ρ=1.25[13]的點(diǎn):
圖2 特征值和特征向量的幾何意義Fig.2 Geometric significance of eigenvalue and eigenvectors
式中,λ11,λ12是第一個(gè)半徑r1對應(yīng)協(xié)方差矩陣的特征值。
對于待配準(zhǔn)的輸入點(diǎn)云,給定三個(gè)半徑r1、r2、r3,取r2=1.1r1,r3=1.2r1,滿足公式(3)~式(5)的點(diǎn)為CME特征點(diǎn)。
由于高維度的描述計(jì)算復(fù)雜度高,而單一的低維度描述特征識別度低,特征信息量少。因此,從點(diǎn)云表面的基本幾何特征出發(fā)[3-4,15],選取計(jì)算復(fù)雜度最低的法向量、點(diǎn)密度和表面曲率進(jìn)行改進(jìn),提出多尺度低維度的描述符。
設(shè)P是待配準(zhǔn)的點(diǎn)云,它包含N個(gè)點(diǎn){p1,p2,...,pN}。給定一個(gè)查詢點(diǎn)pi(i∈[1,N]),其鄰域是一個(gè)以pi為中心,半徑為r的球體,用pij={pik|k=1,2,3,...,j}表示球體內(nèi)pi的相鄰點(diǎn),其中k是pi相鄰點(diǎn)個(gè)數(shù)。設(shè)是pik質(zhì)心,在球體內(nèi)建立協(xié)方差矩陣Cov2(pi):
pi的法向量ni可以用以下等式表示:
式中,λi0,λi1,λi2是特征值,V0是λi0對應(yīng)的特征向量。基于此,提出三個(gè)尺度的幾何描述:
(1)對于pi和pik,用兩者法向量的cos值作為第一個(gè)尺度,用來描述點(diǎn)云表面區(qū)域的起伏變化,如圖3所示,其中θ是向量夾角。計(jì)算方法見公式(8)。
圖3 法向量夾角Fig.3 Normal vector included angle
式中,|·|表示向量的模,ni是查詢點(diǎn)pi的法向量,nik是相鄰點(diǎn)pik的法向量,F(xiàn)1(pik)是ni和nik的cos值。F1(pik)的范圍[-1,1],將此范圍劃分為25個(gè)直方圖,并通過計(jì)算落入對應(yīng)直方圖中的數(shù)目來形成第一個(gè)尺度矩陣。
(2)文獻(xiàn)[16]證明3D投影對噪聲具有魯棒性,因此,對于點(diǎn)pi,其法向量為ni,將半徑為r的球體內(nèi)點(diǎn)集pik投影到垂直于ni的切面。投影點(diǎn)與pi的歐氏距離作為第二個(gè)尺度,用來描述點(diǎn)密度,如圖4所示,圖中L為垂直于ni的切面,計(jì)算方法見公式(9):
圖4 點(diǎn)密度特征圖Fig.4 Illustration of point density feature
式中,||·||表示歐氏距離,pi為查詢點(diǎn),pik為鄰域點(diǎn),ni是pi的法向量。最后,將F2(pik)歸一化并劃分為15個(gè)直方圖,作為第二個(gè)尺度矩陣。
(3)對于點(diǎn)集P中的每個(gè)點(diǎn)pi,用表面曲率作為第三個(gè)尺度,描述曲面在查詢點(diǎn)處的彎曲程度,計(jì)算方法見公式(10):
式中,λi0≤λi1≤λi2是特征值。將F3(pik)歸一化并劃分為20個(gè)直方圖,作為第三個(gè)尺度矩陣。
法向量、點(diǎn)密度和表面曲率都具有旋轉(zhuǎn)平移不變性,描述的局部特征是唯一的[17]。因此,可以將上文三個(gè)尺度矩陣組合,形成特征點(diǎn)的多尺度矩陣描述符(Multi-scale Matrix Descriptor,MSM),如公式(11)所示。
公式(11)中,N是特征點(diǎn)數(shù)量,VMSM是N×60維的矩陣,j為鄰域點(diǎn)數(shù)量,·為四舍五入取整,|·|為絕對值,r為鄰域半徑,為曲率的平均值。vote(x)為定義的函數(shù),表示將第x個(gè)直方圖記為1。
為了提高特征匹配的識別度,提出以下方法:
(1)設(shè)提取特征點(diǎn)的點(diǎn)集為Pa和Qa,兩片點(diǎn)云的多尺度矩陣描述符為F(Pa),F(xiàn)(Qa)。建立k維樹,搜索F(Pa)和F(Qa)歐氏距離最小的子向量,把向量所對應(yīng)的點(diǎn),初步建立起匹配關(guān)系,記為:
式中,Ni為初步匹配點(diǎn)對數(shù)量。通過k維樹初步建立匹配關(guān)系,其替代了常用方法中需要遍歷全部點(diǎn)過程,提高了效率,同時(shí)也替代了設(shè)定歐氏距離閾值獲取匹配點(diǎn)對的方式,解決了因歐氏距離閾值設(shè)置不合理而導(dǎo)致刪除正確匹配點(diǎn)對的問題[9]。
(2)對于點(diǎn)對集K1,內(nèi)任意點(diǎn)pi對應(yīng)的法向量夾角、點(diǎn)密度、曲率,分別為F1(pj)、F2(pj)、F3(pj)。內(nèi)任意點(diǎn)qi對應(yīng)的法向量夾角、點(diǎn)密度、曲率,分別為F1(qj)、F2(qj)、F3(qj)。滿足公式(13)則認(rèn)為對應(yīng)關(guān)系正確,建立如公式(14)所示的匹配點(diǎn)對集K2。
式 中,|·|為 絕 對 值,σ1=σ2=σ3=0.1為 設(shè) 定閾值[18]。
式中,Nj為匹配點(diǎn)對數(shù)量。
(3)使用剛性距離約束檢驗(yàn)點(diǎn)對集K2,在K2任選兩個(gè)匹配點(diǎn)對(pj,qj),(pk,qk),根據(jù)文獻(xiàn)[4]設(shè)定閾值τ=0.005,若匹配點(diǎn)對不滿足公式(15),則從集合K3中剔除,直到遍歷K2,得到精煉的匹配點(diǎn)對集K3。
式中,||·||表示歐氏距離。
式中,Nk為經(jīng)過兩種配對參數(shù)精煉后獲得的正確匹配點(diǎn)對的數(shù)量。
最后對匹配點(diǎn)對集K3用單位四元數(shù)算法[18],獲取旋轉(zhuǎn)矩陣Ra和平移向量Ta。
對于源點(diǎn)云Q,根據(jù)初始配準(zhǔn)獲取的旋轉(zhuǎn)矩陣Ra和平移向量Ta,用公式(17)變換得到Q',將P和Q'作為輸入點(diǎn)云。
為了得到精度更高的配準(zhǔn)結(jié)果,本文使用KICP算法進(jìn)行精確配準(zhǔn),具體步驟如下:
(1)輸入待配準(zhǔn)的點(diǎn)云P和Q',設(shè)定終止閾值η[5]和最大迭代次數(shù);
(2)對于Q'中一點(diǎn),用k維樹在P中尋找歐氏距離最近的對應(yīng)點(diǎn),得到對應(yīng)點(diǎn)對,直到遍歷Q';
(3)用SVD法計(jì)算對應(yīng)點(diǎn)對的旋轉(zhuǎn)矩陣Rk和平移向量Tk,然后計(jì)算公式(18)的目標(biāo)函數(shù);
(4)將步驟(3)的旋轉(zhuǎn)矩陣Rk和平移向量Tk應(yīng)用于Q',計(jì)算Q'k+1=RK·Q'k+TK,用Q'k+1替代Q';
(5)計(jì)算步驟(3)中相鄰兩次目標(biāo)函數(shù)的變化,若Ek+1-Ek<η或達(dá)到設(shè)定的最大迭代次數(shù)時(shí),則終止迭代,否則轉(zhuǎn)向步驟(2)。
本文的粗配準(zhǔn)和精確配準(zhǔn)總流程可歸結(jié)為圖5所示。
圖5 算法總流程圖Fig.5 Algorithm flow chart
本部分實(shí)驗(yàn)均在配置為Intel core i5 2.3GHz CPU、8GB內(nèi)存的計(jì)算機(jī)上完成。
為了驗(yàn)證提取CME特征點(diǎn)的必要性,采用斯坦福大學(xué)的Bunny(35947)和Dragon(56053)點(diǎn)云模型,將CME約束提取特征點(diǎn)與曲率變化(Curvature Change,CC)、測量角度(Measuring Angle,MA)、特征值性質(zhì)(Eigenvalue Property,EP)以及兩兩組合的方法比較,分別討論7類提取方法獲取的特征點(diǎn)數(shù)量、對粗配準(zhǔn)效率和精度的影響,如圖6所示。人為選定點(diǎn)云第一個(gè)點(diǎn)為初始查詢點(diǎn)。
由圖6(a)可以看出,使用單一特征提取的特征點(diǎn)數(shù)量多于兩個(gè)特征組合,而CME約束提取特征點(diǎn)數(shù)量最少,證明特征約束越多,提取特征點(diǎn)數(shù)量越少。由圖6(b)可知,特征點(diǎn)數(shù)量越多,在計(jì)算描述符和獲取匹配點(diǎn)對時(shí)越耗時(shí),CME特征點(diǎn)數(shù)量最少,所以粗配準(zhǔn)效率最高。由圖6(c)可知,由于使用單一特征提取的點(diǎn)集內(nèi)存在大量異常點(diǎn),故配準(zhǔn)誤差大,精度低;而使用兩個(gè)特征組合配準(zhǔn)精度明顯提升;CME特征點(diǎn)提取效果最好,因此粗配準(zhǔn)誤差最小。綜上證明,使用CME特征點(diǎn)會(huì)讓兩組待配準(zhǔn)的點(diǎn)云有更好的初始位置,且配準(zhǔn)效率最高。
圖6 特征點(diǎn)粗配準(zhǔn)結(jié)果對比Fig.6 Influence of feature points on initial registration result
為了證明構(gòu)造多尺度矩陣描述符(MSM)的必要性,將MSM與法向量(Normal Vector,NV)矩陣、點(diǎn)密度(Point Density,PD)矩陣、曲率(Curvature,CU)矩陣以及兩兩組合構(gòu)成的描述符進(jìn)行對比,如圖7所示,并討論7種描述符計(jì)算效率以及對粗配準(zhǔn)結(jié)果的影響。
圖7 描述符對比實(shí)驗(yàn)Fig.7 Descriptor comparison experiment
由圖7(a)可以看出,相同模型下7種描述粗配準(zhǔn)時(shí)間最大與最小相差都約1s,證明描述符的三個(gè)子尺度矩陣計(jì)算效率都很高,提出的MSM描述符時(shí)間計(jì)算復(fù)雜度低。由圖7(b)可知,對于簡單的Bunny模型,使用MSM描述符精度雖然最小,但相比于其他描述符,配準(zhǔn)精度提升不大,所以提出的三個(gè)子尺度矩陣及其組合的描述符,都能完成簡單點(diǎn)云模型的配準(zhǔn),證明了三個(gè)子特征的有效性。而較復(fù)雜的Dragon模型配準(zhǔn),使用一個(gè)子尺度矩陣描述特征點(diǎn)描述性有限,所以粗配準(zhǔn)誤差最高;使用兩個(gè)子尺度矩陣粗配準(zhǔn)精度明顯提升;而MSM粗配準(zhǔn)精度最高,證明MSM的描述性最強(qiáng),獲取的匹配點(diǎn)對幾何特征最接近。
本節(jié)使用的物體點(diǎn)云是Leica P50掃描儀在實(shí)際環(huán)境不同視角下對實(shí)驗(yàn)室某機(jī)器人(Robot)進(jìn)行掃描獲取的點(diǎn)云數(shù)據(jù)[19],點(diǎn)數(shù)為296 356、269 132。評價(jià)指標(biāo)為配準(zhǔn)總耗時(shí)和配準(zhǔn)誤差(ξRMSE),ξRMSE定義[9]見公式(19)。
為驗(yàn)證提出的配準(zhǔn)方法有更高的配準(zhǔn)效率和精度,將本文的NDM-KICP算法與經(jīng)典ICP算法、粗配準(zhǔn)不同但精確配準(zhǔn)相同的基于LPFH的KICP算法(LPFH-KICP)[3]、粗配準(zhǔn)和精確配準(zhǔn)都不同的基于NCCP的雙向k維樹ICP(Bidirectional k-d tree ICP,BKICP)算 法(NCCPBKICP)[4]、基于半正定的隨機(jī)算法(Semidefinite-Based Randomized Approach,SDRSAC)[20]、采樣一致性無損檢測(Sampling Consensus and Nondestructive Testing,SAC-IA NDT)算 法[21]做對比,配準(zhǔn)結(jié)果如圖8,配準(zhǔn)數(shù)據(jù)見表1。
圖8 Robot配準(zhǔn)效果Fig.8 Registration result of Robot
圖8整體來看,經(jīng)典ICP無法完成有效的點(diǎn)云配準(zhǔn),SAC-IA NDT出現(xiàn)明顯的錯(cuò)配,其他4種配準(zhǔn)算法都能完成較好的配準(zhǔn);觀察左臂、胸口屏幕和底座三處細(xì)節(jié)進(jìn)行對比,LPFH-KICP和NCCP-BKICP在左臂和胸口屏幕按鈕處配準(zhǔn)有微小的偏差,在底座拼接處有明顯的錯(cuò)位;SDRSAC在左臂處有明顯的錯(cuò)位,胸口屏幕按鈕處有微小偏差;而本文算法在這三個(gè)部分的配準(zhǔn)線條更加流暢,配準(zhǔn)效果最好。由于Robot點(diǎn)云數(shù)量大且重疊率低,即使配準(zhǔn)框架的計(jì)算復(fù)雜度低,配準(zhǔn)也會(huì)非常耗時(shí)。通過表1定量分析,本文算法比經(jīng)典ICP的配準(zhǔn)精度高2個(gè)量級。與LPFH-KICP算法相比,本文算法配準(zhǔn)效率提高了40%,配準(zhǔn)精度提高了35%。與NCCP-BKICP算法相比,本文算法配準(zhǔn)效率提高了51%,配準(zhǔn)精度提高了40%。與SDRSAC算法相比,本文算法配準(zhǔn)效率提高了58%,配準(zhǔn)精度提高了29%。與SAC-IA NDT算法相比,本文算法配準(zhǔn)效率提高了54%,配準(zhǔn)精度提高2個(gè)量級。所以,本文算法在配準(zhǔn)效率和精度上有較大優(yōu)勢,證明本文三重約束提取特征點(diǎn)和多特征低維度描述符組合,又兩次剔除錯(cuò)誤匹配點(diǎn)對的方法,使配準(zhǔn)效果更好,效率更高。
表1 Robot模型配準(zhǔn)數(shù)據(jù)Tab.1 Registration data of Robot model
綜合上述實(shí)驗(yàn),本文算法可以完成具有較大初始位置差異和部分區(qū)域重疊的實(shí)際物體表面點(diǎn)云的配準(zhǔn),并且有較高的配準(zhǔn)效率和精度。
為了驗(yàn)證本文NDM-KICP算法在其他點(diǎn)云模型上也具有較高的配準(zhǔn)效率和精度,采用斯坦福大學(xué)模型設(shè)置兩組實(shí)驗(yàn)。第一組實(shí)驗(yàn)考慮實(shí)際采集的點(diǎn)云有殘缺,源點(diǎn)云為Bunny(35947)模型,目標(biāo)點(diǎn)云為源點(diǎn)云在三維空間做(Re,te)的大幅度旋轉(zhuǎn)平移變換,對目標(biāo)點(diǎn)云隨機(jī)剔除5%,10%,15%,20%的點(diǎn)數(shù)。第二組實(shí)驗(yàn)考慮實(shí)際采集點(diǎn)云數(shù)據(jù)帶有噪聲,源點(diǎn)云為Dragon(52368)模型,目標(biāo)點(diǎn)云為源點(diǎn)云做(Re,te)變換,對目標(biāo)點(diǎn)云分別加入0.1ˉr、0.2ˉr、0.3ˉr、0.5ˉr的高斯白噪聲,其中ˉr為平均密度。配準(zhǔn)耗時(shí)是粗、精配準(zhǔn)總時(shí)間,配準(zhǔn)精度使用變換矩陣相對誤差[8],如式(20)所示。Bunny模型配準(zhǔn)結(jié)果圖和配準(zhǔn)數(shù)據(jù)見圖9和表2,Dragon模型配準(zhǔn)結(jié)果圖和配準(zhǔn)數(shù)據(jù)見圖10和表3。
表2 Bunny模型配準(zhǔn)數(shù)據(jù)Tab.2 Registration data of Bunny model
圖9 Bunny配準(zhǔn)效果Fig.9 Registration result of Bunny
式中,ξR是相對旋轉(zhuǎn)誤差,ξt是相對平移誤差,(Rk,tk)是精確配準(zhǔn)求解的旋轉(zhuǎn)平移矩陣,(Re,te)是設(shè)定的旋轉(zhuǎn)平移矩陣,‖·‖F(xiàn)是F范數(shù),‖·‖2是2范數(shù)。
由于斯坦福模型的結(jié)構(gòu)相對簡單,點(diǎn)云表面多處特征相似,若提取的特征點(diǎn)代表性不強(qiáng),描述符描述性差,會(huì)導(dǎo)致錯(cuò)誤匹配點(diǎn)對急劇增加,從而影響精確配準(zhǔn)的結(jié)果和效率,并且對于數(shù)據(jù)量小的點(diǎn)云,粗配準(zhǔn)提取特征點(diǎn)的耗時(shí)較少,此時(shí)描述符的耗時(shí)會(huì)直接影響配準(zhǔn)效率。
由圖9可以看出,對于不同數(shù)據(jù)殘缺(剔除點(diǎn)云比例)的Bunny模型點(diǎn)云,經(jīng)典ICP無法完成有效的配準(zhǔn),其他算法配準(zhǔn)效果良好。根據(jù)表2定量分析,6種算法的相對平移誤差相差不大。相比于經(jīng)典ICP,本文算法的相對旋轉(zhuǎn)誤差降低3~4個(gè)量級。與LPFH-KICP算法相比,本文算法的配準(zhǔn)耗時(shí)降低了26%~36%,相對旋轉(zhuǎn)誤差減少了8%~66%。與NCCP-BKICP算法相比,本文算法的配準(zhǔn)耗時(shí)降低55%~64%;在相對旋轉(zhuǎn)誤差上,剔除15%~20%點(diǎn)云時(shí),本文算法減少43%~66%。與SDRSAC算法相比,本文算法的配準(zhǔn)耗時(shí)降低60%~64%,相對旋轉(zhuǎn)誤差降低82%~99%。與SAC-IA NDT算法相比,本文算法的配準(zhǔn)耗時(shí)降低92%~94%,相對旋轉(zhuǎn)誤差降低89%~99%??梢钥闯觯疚乃惴ㄔ谂錅?zhǔn)效率和精度上均有優(yōu)勢,并且,隨著剔除點(diǎn)云比例的增加,本文算法能保持較穩(wěn)定的配準(zhǔn)精度,而LPFH-KICP和NCCP-BKICP的相對旋轉(zhuǎn)誤差不斷變大,SDRSAC和SAC-IA NDT的相對旋轉(zhuǎn)誤差起伏較大,由此可以證明,本文算法有更強(qiáng)的魯棒性。
根據(jù)圖10和表3,對帶有不同噪聲的Dragon點(diǎn)云,經(jīng)典ICP仍無法完成有效的配準(zhǔn),配準(zhǔn)精度較本文差4~5個(gè)量級。且6種算法相對平移誤差相同。相比于LPFH-KICP算法,本文算法的配準(zhǔn)耗時(shí)減少了3%~18%,相對旋轉(zhuǎn)誤差減少了1%~33%。相比于NCCP-BKICP算法,本文算法的配準(zhǔn)耗時(shí)減少17%~30%,相對旋轉(zhuǎn)誤差減少了1%~19%。相比于SDRSAC算法,本文算法的配準(zhǔn)耗時(shí)降低16%~53%,相對旋轉(zhuǎn)誤差降低14%~77%。相比于SAC-IA NDT算法相比,本文算法的配準(zhǔn)耗時(shí)降低83%~88%,相對旋轉(zhuǎn)誤差降低2~3個(gè)量級。由此可以證明,對于帶噪聲的點(diǎn)云,本文算法的配準(zhǔn)效率和精度仍有優(yōu)勢,這是由于本文多重幾何特征約束的粗配準(zhǔn)方法,在噪聲環(huán)境下有更好的魯棒性,能給精確配準(zhǔn)提供更好的初始點(diǎn)云。
表3 Dragon模型配準(zhǔn)數(shù)據(jù)Tab.3 Registration data of Dragon model
圖10 Dragon配準(zhǔn)效果Fig.10 Registration result of Dragon
通過對斯坦福點(diǎn)云模型的配準(zhǔn)結(jié)果分析,可以確定在帶有數(shù)據(jù)缺失和噪聲環(huán)境下,對于不同的點(diǎn)云模型,本文算法仍有較高的配準(zhǔn)效率和精度,并且有較好的魯棒性。
為了提高點(diǎn)云配準(zhǔn)技術(shù)的配準(zhǔn)精度和效率,對3D點(diǎn)云數(shù)據(jù)局部坐標(biāo)的幾何信息深入分析,本文提出了應(yīng)用鄰域點(diǎn)信息描述與匹配的點(diǎn)云配準(zhǔn)方法。首先,針對點(diǎn)云表面深度變化,提取特征點(diǎn);其次,改進(jìn)法向量夾角,點(diǎn)密度和曲率三個(gè)幾何特征,提出了一個(gè)多尺度矩陣描述符;再次,提出用k維樹初步建立匹配關(guān)系,并結(jié)合幾個(gè)特征和剛性距離約束,剔除錯(cuò)誤匹配點(diǎn)對,實(shí)現(xiàn)粗配準(zhǔn),最后,在粗配準(zhǔn)基礎(chǔ)上,用k維樹ICP算法完成精確配準(zhǔn)。對于實(shí)物點(diǎn)云配準(zhǔn),本文算法比經(jīng)典ICP配準(zhǔn)精度提高2個(gè)量級,相比于其他算法,配準(zhǔn)精度、效率至少提升29%、54%,證明本文算法有較高的配準(zhǔn)精度和效率。算法的優(yōu)勢還體現(xiàn)在:一是對于不同數(shù)據(jù)缺失和帶有不同噪聲的點(diǎn)云,精度和效率優(yōu)勢不受影響;二是在模型數(shù)據(jù)量較大時(shí),配準(zhǔn)效率優(yōu)勢更加明顯。因此本文算法可以應(yīng)用于3D物體表面點(diǎn)云的配準(zhǔn)中。進(jìn)一步優(yōu)化配準(zhǔn)方法,并將本文算法應(yīng)用于其他環(huán)境中,如生物醫(yī)學(xué)中顱骨、膝蓋等模型的配準(zhǔn)問題,是下一步研究的方向。