于微波,錢柏竹,楊宏韜,何科毅
(長(zhǎng)春工業(yè)大學(xué)電氣與電子工程學(xué)院,長(zhǎng)春 130012)
三維點(diǎn)云數(shù)據(jù)是離散點(diǎn)組成的集合,構(gòu)成物體的幾何特征,同時(shí)還具有較高的精簡(jiǎn)性和靈活性,因此逐漸成為三維重建中常見的處理對(duì)象,與之相關(guān)的點(diǎn)云配準(zhǔn)逐漸成為熱門的研究方向。
點(diǎn)云配準(zhǔn)是三維重建研究中的關(guān)鍵技術(shù)之一,在點(diǎn)云數(shù)據(jù)完整且重疊率相對(duì)較高的情況下,傳統(tǒng)的點(diǎn)云配準(zhǔn)方法會(huì)獲得較好的配準(zhǔn)結(jié)果,但往往由于設(shè)備以及環(huán)境等因素,獲得的點(diǎn)云數(shù)據(jù)常常有所缺失且重疊率較低,這時(shí)用傳統(tǒng)的點(diǎn)云配準(zhǔn)方法導(dǎo)致配準(zhǔn)的結(jié)果誤差很大,配準(zhǔn)時(shí)間較長(zhǎng)等問(wèn)題,嚴(yán)重影響接下來(lái)的三維重建的結(jié)果。
在點(diǎn)云配準(zhǔn)中,如果直接把每個(gè)點(diǎn)都納入計(jì)算中,就會(huì)使算法的計(jì)算時(shí)限很長(zhǎng)。所以在近年來(lái),已經(jīng)有不少學(xué)者都在點(diǎn)云的提取方向中作了不少研究,這樣就會(huì)使計(jì)算的時(shí)限大大地縮短,而且都可以取得不錯(cuò)的配準(zhǔn)成果。李仁忠等[1]提出采用ISS算法對(duì)源點(diǎn)云進(jìn)行提取特征點(diǎn)操作,采用點(diǎn)特征直方圖(FPFH)對(duì)提取的特征點(diǎn)進(jìn)行特征描述,結(jié)合改進(jìn)的迭代最近點(diǎn)(ICP)[2]算法進(jìn)行點(diǎn)云配準(zhǔn)處理,該算法提高了該點(diǎn)云數(shù)據(jù)之間的配準(zhǔn)速度,但在點(diǎn)云配準(zhǔn)精度方面與ICP算法相差不大;魯鐵定等[3]提出一種改進(jìn)的超四點(diǎn)快速魯棒匹配算法(super four point fast robust matching algorithm,Super 4PCS),將3D-SIFT算法用于提取點(diǎn)云數(shù)據(jù)中的關(guān)鍵點(diǎn),減少總體的點(diǎn)云數(shù)據(jù),但該算法處理低重疊率的點(diǎn)云數(shù)據(jù)得不到良好的配準(zhǔn)結(jié)果。陸軍等[4]提出一種多尺度加權(quán)法向投影均值差的特征點(diǎn)提取方法,該方法的主要目的是提取點(diǎn)云數(shù)據(jù)中具有明顯特征的關(guān)鍵點(diǎn),同時(shí)對(duì)關(guān)鍵點(diǎn)計(jì)算方向直方圖簽名描述子(SHOT),用隨機(jī)采樣一致性(RANSAC)算法結(jié)合ICP算法完成點(diǎn)云配準(zhǔn),該算法基本解決對(duì)于低重疊率時(shí)點(diǎn)云配準(zhǔn)結(jié)果較差的問(wèn)題,但常面臨噪聲影響較大、時(shí)間復(fù)雜度較高等問(wèn)題。胡加濤等[5]提出一種基于幾何特征的由粗到細(xì)的點(diǎn)云配準(zhǔn)算法,利用投影變換提取輪廓點(diǎn),根據(jù)曲率特征對(duì)所獲得的輪廓點(diǎn)進(jìn)行特征描述,從而實(shí)現(xiàn)粗配準(zhǔn)。但該算法在具有低重疊程度的點(diǎn)云數(shù)據(jù)得不到較好的配準(zhǔn)結(jié)果。荊路等[6]提出一種基于尺度不變特征變換(SIFT)特征點(diǎn)結(jié)合ICP的點(diǎn)云配準(zhǔn)方法,利用SIFT算法提取特征點(diǎn),對(duì)提取的特征點(diǎn)計(jì)算點(diǎn)特征直方圖(FPFH)的值,將該特征值帶入采樣一致性初始配準(zhǔn)算法(SAC-IA)實(shí)現(xiàn)點(diǎn)云粗配準(zhǔn),然后利用ICP計(jì)算實(shí)現(xiàn)點(diǎn)云的精配準(zhǔn)。但該算法在提取點(diǎn)云數(shù)據(jù)的特征點(diǎn)需要一定的時(shí)間。梁振斌等[7]提出一種利用深度學(xué)習(xí)進(jìn)行點(diǎn)云配準(zhǔn)的方法,首先通過(guò)訓(xùn)練生成3D描述子,然后利用生成的3D描述子對(duì)關(guān)鍵點(diǎn)進(jìn)行特征描述,獲取對(duì)應(yīng)點(diǎn)對(duì)的集合,實(shí)現(xiàn)點(diǎn)云配準(zhǔn)。但該算法中特征點(diǎn)的描述子需要經(jīng)過(guò)從大量的數(shù)據(jù)集訓(xùn)練中得出,配準(zhǔn)時(shí)間較長(zhǎng)。
本文針對(duì)目前的三維點(diǎn)云配準(zhǔn)算法中,配準(zhǔn)時(shí)間長(zhǎng),配準(zhǔn)結(jié)果產(chǎn)生錯(cuò)位、局部最小值等問(wèn)題。采用兩步配準(zhǔn)方式,先對(duì)三維點(diǎn)云數(shù)據(jù)進(jìn)行初始配準(zhǔn),然后針對(duì)初始配準(zhǔn)的結(jié)果,進(jìn)行精確配準(zhǔn),防止產(chǎn)生局部最小值的問(wèn)題,同時(shí)提出一種基于輪廓點(diǎn)作為特征點(diǎn)的提取算法,以減少配準(zhǔn)所需的時(shí)間。
在初始配準(zhǔn)階段,提出一種基于輪廓點(diǎn)的配準(zhǔn)方法,利用聚類算法對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行分割,引入角度閾值進(jìn)行輪廓點(diǎn)提取,以提取出的輪廓點(diǎn)作為特征點(diǎn),計(jì)算3DSC描述值,獲得對(duì)應(yīng)關(guān)系,根據(jù)對(duì)應(yīng)關(guān)系,再采用改進(jìn)的隨機(jī)采樣一致性(RANSAC)算法計(jì)算變換矩陣,完成初始配準(zhǔn)。點(diǎn)云初始配準(zhǔn)之后,源點(diǎn)云已經(jīng)與目標(biāo)點(diǎn)云基本重合,但是仍然存在偏差,因此需要在初始配準(zhǔn)的基礎(chǔ)上,進(jìn)行精配準(zhǔn)。采用廣義迭代最近點(diǎn)(generalized iterative closest point,GICP)算法進(jìn)行軸承蓋點(diǎn)云數(shù)據(jù)的精配準(zhǔn)。算法流程圖如圖1所示。
圖1 改進(jìn)的點(diǎn)云配準(zhǔn)算法流程圖
2.1.1 三維點(diǎn)云分割處理
由于三維點(diǎn)云數(shù)據(jù)的空間關(guān)系較為復(fù)雜,因此通過(guò)對(duì)固定的距離閾值對(duì)點(diǎn)云進(jìn)行聚類,將產(chǎn)生過(guò)分割以及欠分割等問(wèn)題,因此,采用基于密度的DBSCAN聚類算法[8]進(jìn)行點(diǎn)云數(shù)據(jù)的分割處理。給定源點(diǎn)云數(shù)據(jù)集P={p1,p2,…,pn}和目標(biāo)點(diǎn)云數(shù)據(jù)集Q={q1,q2,…,qm},為了提高搜索效率,將k-d tree數(shù)據(jù)結(jié)構(gòu)引入到DBSCAN算法中形成改進(jìn)的DBSCAN算法,其算法流程是:
步驟1:對(duì)于需要進(jìn)行處理的點(diǎn)云數(shù)據(jù)P和Q,給定參數(shù)Eps和參數(shù)MinPts。
步驟2:建立點(diǎn)云數(shù)據(jù)的k-d tree數(shù)據(jù)結(jié)構(gòu)。
步驟3:隨機(jī)在源點(diǎn)云數(shù)據(jù)集P和目標(biāo)點(diǎn)云數(shù)據(jù)集Q中各找一點(diǎn)pi和點(diǎn)qi,通過(guò)參數(shù)Eps和參數(shù)MinPts,判斷點(diǎn)pi和點(diǎn)qi是否為核心點(diǎn)。
步驟4:若點(diǎn)pi和點(diǎn)qi為核心點(diǎn),根據(jù)密度可達(dá)要求可以找到該核心點(diǎn)的可達(dá)點(diǎn)集合分別為P1和Q1。
步驟5:重復(fù)步驟3、步驟4,直到給定的數(shù)據(jù)集中的所有點(diǎn)都被訪問(wèn)過(guò)。于是得到聚類完成的點(diǎn)集P1,P2,…,Pn和Q1,Q2,…,Qm。
將采集的三維點(diǎn)云數(shù)據(jù),使用改進(jìn)后的DBSCAN算法進(jìn)行聚類分割,分割結(jié)果如圖2和圖3所示。
(a) 分割得到上表面 (b) 分割后得到正表面
(a) 分割得到上表面 (b) 分割后得到側(cè)表面
2.1.2 基于角度閾值的特征點(diǎn)提取
三維點(diǎn)云數(shù)據(jù)中的點(diǎn)可以分為內(nèi)點(diǎn)和邊界輪廓點(diǎn),如圖4和圖5所示。根據(jù)2.1.1節(jié)可以得到分割后的點(diǎn)云數(shù)據(jù),需要對(duì)分割后的點(diǎn)云數(shù)據(jù)進(jìn)行邊界輪廓提取。因此需要判別該點(diǎn)是否為邊界輪廓點(diǎn)。根據(jù)圖4和圖5可以直觀發(fā)現(xiàn),如果點(diǎn)P在點(diǎn)云數(shù)據(jù)的內(nèi)部時(shí),點(diǎn)P與周圍點(diǎn)的連線夾角在每個(gè)角度均會(huì)存在,但點(diǎn)P在點(diǎn)云數(shù)據(jù)的邊界時(shí),點(diǎn)P與周圍點(diǎn)的連線夾角超過(guò)一定的角度之后,這種連線夾角就不存在,則這樣的點(diǎn)P為邊界點(diǎn)。
將點(diǎn)P與其K鄰域點(diǎn)投影到其構(gòu)造的最小二乘平面,設(shè)K鄰域點(diǎn)為Mi(i∈[0,k-1]),Mj為P的K鄰域最近點(diǎn),以PMj為基準(zhǔn)向量,取K鄰域點(diǎn)中其他任意一點(diǎn)Mi,作向量PMi。
首先,計(jì)算PMj與PMi向量間的夾角β(β∈[0,π])以及叉積向量ni=PMj×PMi,并以此為基準(zhǔn)向量。
當(dāng)nj·ni>0時(shí),βi保持不變;當(dāng)nj·ni<0時(shí),βi=βi+π。
然后,對(duì)向量夾角序列s=(β1,β2,…,βk-1)進(jìn)行升序排列并加入兩個(gè)極值角度,得到新的向量夾角序列s=(0,β1,β2,…,βk-1,2π),則每個(gè)相鄰線段之間的夾角θi=βi+1-βi(i∈[0,k])。根據(jù)θi是否超過(guò)設(shè)定閾值來(lái)判斷P點(diǎn)是否為邊界輪廓點(diǎn)。
圖4 點(diǎn)P為邊界輪廓點(diǎn) 圖5 點(diǎn)P在點(diǎn)云內(nèi)部
針對(duì)分割后的三維點(diǎn)云數(shù)據(jù),進(jìn)行基于角度閾值的特征點(diǎn)提取可以得到圖6和圖8的實(shí)驗(yàn)結(jié)果,將得到的分割后的目標(biāo)點(diǎn)云特征點(diǎn)和分割后的源點(diǎn)云特征點(diǎn)分別進(jìn)行取并處理,得到圖7和圖9的整體輪廓特征點(diǎn)的結(jié)果。
圖6 分割后目標(biāo)點(diǎn)云的特征點(diǎn) 圖7 整體目標(biāo)點(diǎn)云的特征點(diǎn)
圖8 分割后源點(diǎn)云的特征點(diǎn) 圖9 整體源點(diǎn)云的特征點(diǎn)
由2.1節(jié)獲得目標(biāo)點(diǎn)云P和源點(diǎn)云Q的特征點(diǎn)后,需要對(duì)提取的特征點(diǎn)計(jì)算3DSC[9]描述值。3DSC描述值的基本思想是計(jì)算特征點(diǎn)中的每個(gè)點(diǎn)的上下文信息,然后比較每個(gè)點(diǎn)是否相似,得到最近似的排列次序,最后找到兩個(gè)點(diǎn)云之間對(duì)應(yīng)的點(diǎn)。具體計(jì)算步驟如下:
步驟1:估計(jì)特征點(diǎn)的法向量,對(duì)于任意特征點(diǎn)pi和點(diǎn)qi構(gòu)建點(diǎn)鄰域的協(xié)方差矩陣。
(1)
(2)
式中,k分別為點(diǎn)pi和點(diǎn)qi為中心的最近點(diǎn)數(shù)目;p0、q0為質(zhì)心。接下來(lái)對(duì)式(1)和式(2)進(jìn)行特征值分解,得到特征向量和特征值。
M·vj=λj·vj,j∈{1,2,3}
(3)
記特征值λ1<λ2<λ3,則最小特征值λ1所對(duì)應(yīng)的特征向量v1是點(diǎn)pi或點(diǎn)qi的法向量。
步驟2:構(gòu)建以特征值的法向量方向?yàn)楸睒O方向,分別以點(diǎn)pi和點(diǎn)qi為球心,Rj為半徑的球區(qū)域。
(4)
式中,rmin、rmax為設(shè)置的最小半徑和最大半徑。
步驟3:計(jì)算每個(gè)區(qū)域的權(quán)重。
(5)
(6)
式中,V(j,k,l)為第j個(gè)半徑,第k個(gè)方位角,第l個(gè)仰角方向的區(qū)域體積;ρi為對(duì)應(yīng)局部點(diǎn)的密度。
步驟4:計(jì)算特征點(diǎn)的3DSC描述值。
fpi={ω1,ω2,…,ωk}
(7)
fqi={ω1,ω2,…,ωk}
(8)
則fpi、fqi為特征點(diǎn)的3DSC描述值。
由式(7)、式(8)得到特征點(diǎn)的描述值去確定初始對(duì)應(yīng)點(diǎn)對(duì)時(shí),仍會(huì)造成一些誤匹配的點(diǎn)對(duì),因此需要剔除誤匹配的點(diǎn)對(duì),使得點(diǎn)云數(shù)據(jù)之間的變換關(guān)系更加精確。
根據(jù)2.2節(jié)可以找到初始的匹配點(diǎn)對(duì)的集合,將其記為L(zhǎng)。
L={(pi,qi)|pi∈P1,qi∈Q1,i=1,2,…,n}
(9)
式中,P1、Q1分別為P、Q的特征點(diǎn)集;N為L(zhǎng)中的點(diǎn)對(duì)數(shù)目。在L中隨機(jī)取n個(gè)點(diǎn)對(duì),分別為(p1,q1),(p2,q2),…,(pn,qn),如果滿足式(10),則(pi,qi)屬于正確的匹配點(diǎn)對(duì)的集合L1。
(10)
式中,dpn,qn為點(diǎn)pn、點(diǎn)qn的歐式距離;ω為設(shè)置大于0的閾值。上述幾何一致性可以去除一些誤匹配的點(diǎn)對(duì),得到對(duì)應(yīng)點(diǎn)對(duì)集合L1。接下來(lái)使用隨機(jī)采樣一致性(RANSAC)算法[10]進(jìn)一步精確點(diǎn)對(duì)。具體算法流程如下:
步驟1:從提取的匹配點(diǎn)對(duì)中隨機(jī)選取3個(gè)點(diǎn)對(duì)作為一個(gè)樣本點(diǎn)集。
步驟2:將隨機(jī)選取的3個(gè)點(diǎn)對(duì)作為正確的匹配點(diǎn)對(duì),計(jì)算旋轉(zhuǎn)矩陣和平移向量。
步驟3:使用步驟2計(jì)算出的旋轉(zhuǎn)矩陣和平移向量,判斷其余的匹配點(diǎn)對(duì)是否為正確的匹配:如果通過(guò)旋轉(zhuǎn)平移其余匹配點(diǎn)之間的距離小于給定的閾值,則認(rèn)為這一組點(diǎn)是正確的匹配點(diǎn)對(duì),記作內(nèi)點(diǎn);否則記作外點(diǎn)。所有內(nèi)點(diǎn)組成一組正確的對(duì)應(yīng)點(diǎn)對(duì)。
步驟4:繼續(xù)重復(fù)步驟1~步驟3的步驟,直到到達(dá)給定的循環(huán)最大次數(shù),將內(nèi)點(diǎn)最多的點(diǎn)集L2作為提取的正確匹配點(diǎn)對(duì)。
根據(jù)點(diǎn)集L2中源點(diǎn)云P和目標(biāo)點(diǎn)云Q的對(duì)應(yīng)關(guān)系,計(jì)算式(11)和式(12)得到對(duì)應(yīng)的質(zhì)心pc、qc。
(11)
(12)
式中,n為鄰域點(diǎn)的數(shù)量;pi和qi為對(duì)應(yīng)點(diǎn)。
接下來(lái)根據(jù)式(13)計(jì)算協(xié)方差矩陣E。
(13)
對(duì)矩陣E進(jìn)行SVD奇異分解:
E=UΛVT
(14)
式中,U、V為3×3的正交矩陣;Λ為協(xié)方差矩陣E的特征值組成的對(duì)角矩陣,根據(jù)U、VT得到旋轉(zhuǎn)矩陣R和平移矩陣T。
R=VUT
(15)
T=qc-Rpc
(16)
根據(jù)求出的旋轉(zhuǎn)矩陣R和平移矩陣T,得到初始配準(zhǔn)后的源點(diǎn)云P′。
P′=RP+T
(17)
三維點(diǎn)云初始配準(zhǔn)結(jié)果,如圖10所示??梢钥闯龀跏寂錅?zhǔn)后,源點(diǎn)云與目標(biāo)點(diǎn)云的位置仍存在偏差。
(a) 初始位置 (b) 初始配準(zhǔn)結(jié)果
GICP算法是ICP算法的改進(jìn),主要目的在于找到經(jīng)過(guò)初始配準(zhǔn)后的源點(diǎn)云P′與目標(biāo)點(diǎn)云Q之間的旋轉(zhuǎn)矩陣和平移向量,使得目標(biāo)函數(shù)最小。為了提高點(diǎn)云配準(zhǔn)中魯棒性,該算法在構(gòu)造誤差函數(shù)時(shí)引入一個(gè)高斯概率模型,利用點(diǎn)云鄰域集合的協(xié)方差矩陣構(gòu)造誤差函數(shù),其他部分保持不變,以降低算法的復(fù)雜度和保持速度。
(18)
(19)
(20)
(21)
所以,GICP算法的誤差函數(shù)為:
(22)
步驟1:將初始配準(zhǔn)后的源點(diǎn)云數(shù)據(jù)P′和目標(biāo)點(diǎn)云數(shù)據(jù)Q進(jìn)行配準(zhǔn)。
步驟3:利用SVD奇異分解求取旋轉(zhuǎn)矩陣R和平移向量T,更新源點(diǎn)云數(shù)據(jù)P′′=RP′+T,然后計(jì)算目標(biāo)函數(shù)式(22)使其最小,即對(duì)應(yīng)點(diǎn)之間的均方誤差最小。
步驟4:如果計(jì)算的誤差函數(shù)最小值大于給定的閾值,將返回步驟2;如果低于給定的閾值或者迭代次數(shù)大于給定的最大迭代次數(shù),則停止計(jì)算。
經(jīng)過(guò)精配準(zhǔn)后的三維點(diǎn)云配準(zhǔn)結(jié)果,如圖11所示。可以看出經(jīng)過(guò)精配準(zhǔn)后,源點(diǎn)云與目標(biāo)點(diǎn)云已經(jīng)完全重合。
(a) 初始配準(zhǔn)結(jié)果 (b) 精配準(zhǔn)結(jié)果
首先,利用光柵掃描儀獲取工業(yè)上軸承蓋的點(diǎn)云數(shù)據(jù)原圖,對(duì)不同角度的軸承蓋點(diǎn)云數(shù)據(jù),進(jìn)行配準(zhǔn)實(shí)驗(yàn)。采用配準(zhǔn)精度(RMSE)評(píng)判點(diǎn)云的配準(zhǔn)精度,RMSE表示兩片點(diǎn)云在空間中距離的接近程度,其定義為:
(23)
為驗(yàn)證本文所提出的提取輪廓點(diǎn)的方法在軸承蓋點(diǎn)云配準(zhǔn)方面的優(yōu)越性,將從兩個(gè)方面進(jìn)行實(shí)驗(yàn),分別為:
(1)設(shè)置不同的閾值提取輪廓點(diǎn),進(jìn)行初始配準(zhǔn)實(shí)驗(yàn),結(jié)果如圖12和圖13所示。
圖12 不同閾值下輪廓特征點(diǎn)數(shù)目與配準(zhǔn)時(shí)間比較 圖13 不同閾值下配準(zhǔn)精度比較
(2)選取合適的閾值后,將提取出的輪廓點(diǎn)與經(jīng)典的特征點(diǎn)提取算法ISS、HARRIS、以及SIFT算法進(jìn)行初始配準(zhǔn)實(shí)驗(yàn),將采用SAC-IA算法進(jìn)行初始配準(zhǔn)的結(jié)果進(jìn)行對(duì)比分析,統(tǒng)計(jì)結(jié)果如圖14所示。
圖14 不同特征點(diǎn)提取算法初始配準(zhǔn)結(jié)果精度比較/mm
根據(jù)圖12和圖13可以看出閾值的大小決定提取的輪廓點(diǎn)的數(shù)目,閾值越大,輪廓點(diǎn)越少,輪廓細(xì)節(jié)不明顯。反之,則獲得的輪廓點(diǎn)多,輪廓細(xì)節(jié)也就越多。但提取出的輪廓點(diǎn)太多,會(huì)使配準(zhǔn)誤差較大,配準(zhǔn)時(shí)間很長(zhǎng)。提取出的輪廓點(diǎn)少,即使配準(zhǔn)時(shí)間短,但配準(zhǔn)誤差很大,因此,綜合配準(zhǔn)時(shí)間和配準(zhǔn)精度因素,本文的配準(zhǔn)實(shí)驗(yàn)中,提取的輪廓特征點(diǎn)閾值為0.79。輪廓特征點(diǎn)如圖7和圖9所示。
從圖14可以看出,根據(jù)折線和數(shù)值可以發(fā)現(xiàn)利用ISS算法提取軸承蓋的特征點(diǎn)進(jìn)行初始配準(zhǔn)的均方根誤差最大。其次,是利用SIFT算法初始配準(zhǔn)的均方根誤差均值為1.172 mm,最后,利用HARRIS算法進(jìn)行初始配準(zhǔn)的均方根誤差均值為0.92 mm。利用本文算法提出的將提取的輪廓作為特征點(diǎn)的方法,進(jìn)行初始配準(zhǔn)時(shí),均方根誤差均值為0.90 mm。因此,本文提出的提取特征點(diǎn)的方法是可行的,配準(zhǔn)結(jié)果良好。
為了驗(yàn)證本文算法的有效性,將本文算法與SAC-IA+ICP[11]算法、NDT+ICP[12]算法、SAC-IA+ NDT[7]算法進(jìn)行對(duì)比分析。最終點(diǎn)云配準(zhǔn)誤差結(jié)果如圖15所示,最終點(diǎn)云配準(zhǔn)所需時(shí)間如圖16所示,實(shí)驗(yàn)配準(zhǔn)結(jié)果如圖17所示。
圖15 不同配準(zhǔn)算法配準(zhǔn)精度比較
圖16 不同配準(zhǔn)算法配準(zhǔn)時(shí)間比較
圖17 本文算法與不同算法配準(zhǔn)結(jié)果
可以看出實(shí)驗(yàn)1、2、3的原始點(diǎn)云數(shù)據(jù)中,待配準(zhǔn)的兩片軸承蓋點(diǎn)云數(shù)據(jù)的重疊程度均較低,針對(duì)實(shí)驗(yàn)1、2、3中提取出的輪廓點(diǎn)不同的情況時(shí),觀察圖15和圖16,SAC-IA+ICP算法進(jìn)行配準(zhǔn)實(shí)驗(yàn)時(shí),配準(zhǔn)誤差較大,配準(zhǔn)時(shí)間較長(zhǎng);NDT+ICP算法進(jìn)行配準(zhǔn)實(shí)驗(yàn)時(shí),雖然配準(zhǔn)時(shí)間較短,但仍沒有改善配準(zhǔn)誤差;SAC-IA+NDT算法進(jìn)行配準(zhǔn)實(shí)驗(yàn)時(shí),配準(zhǔn)時(shí)間很長(zhǎng),同時(shí)配準(zhǔn)誤差大;本文算法的配準(zhǔn)結(jié)果中看,兩片點(diǎn)云完全匹配到一起,RMSE值達(dá)到毫米級(jí),同時(shí)根據(jù)數(shù)值計(jì)算出配準(zhǔn)誤差與其他算法相比至少減少50%,配準(zhǔn)時(shí)間與其他算法相比提升至少50%。針對(duì)實(shí)驗(yàn)4、5中提取出的輪廓點(diǎn)相同的情況時(shí),觀察圖15和圖16,SAC-IA+ICP算法進(jìn)行配準(zhǔn)實(shí)驗(yàn)時(shí),配準(zhǔn)誤差與實(shí)驗(yàn)1、2、3相比有所減少,但誤差仍較大,配準(zhǔn)時(shí)間與實(shí)驗(yàn)1、2、3相比增加10 s左右;NDT+ICP算法進(jìn)行配準(zhǔn)實(shí)驗(yàn)時(shí),配準(zhǔn)誤差與實(shí)驗(yàn)1、2、3相比有所減少,但配準(zhǔn)時(shí)間與實(shí)驗(yàn)1、2、3相比增加5倍甚至需要更多的時(shí)間;SAC-IA+NDT算法進(jìn)行配準(zhǔn)實(shí)驗(yàn)時(shí),配準(zhǔn)誤差與實(shí)驗(yàn)1、2、3相比有所減少,但配準(zhǔn)所需要的時(shí)間是最多的;本文算法的配準(zhǔn)結(jié)果中,兩片待配準(zhǔn)的點(diǎn)云已經(jīng)完全匹配到一起,同時(shí)配準(zhǔn)誤差與其他三種算法相比是最小的,配準(zhǔn)時(shí)間與其他三種算法相比至少提高2倍。
總體而言,相比于其他三種算法,本文算法在配準(zhǔn)效果及配準(zhǔn)時(shí)間上均有優(yōu)勢(shì),對(duì)于重疊程度較低的點(diǎn)云數(shù)據(jù)也能得到很好的配準(zhǔn)效果。
對(duì)于三維重建中的點(diǎn)云配準(zhǔn)問(wèn)題,提出一種基于輪廓點(diǎn)作為特征點(diǎn)進(jìn)行點(diǎn)云配準(zhǔn)的方法,該方法可以減少點(diǎn)云表面變化不明顯的點(diǎn),且根據(jù)角度閾值提取出的輪廓點(diǎn)在多個(gè)點(diǎn)云數(shù)據(jù)中有較好的穩(wěn)定性。設(shè)計(jì)了一種基于輪廓點(diǎn)的3DSC特征匹配的點(diǎn)云初始配準(zhǔn)方法,并將初始配準(zhǔn)的結(jié)果用GICP算法進(jìn)行精確配準(zhǔn),實(shí)驗(yàn)結(jié)果表明本文方法的有效性,同時(shí)可以解決對(duì)較低重疊率點(diǎn)云數(shù)據(jù)的配準(zhǔn)問(wèn)題,配準(zhǔn)精度與效率較好,能應(yīng)用到點(diǎn)云配準(zhǔn)中,因此,本文方法可以為接下來(lái)的三維重建提供較好的初值。