李運(yùn)川,王曉紅,陳思吉,葛義攀,李 闖
(1.貴州大學(xué)礦業(yè)學(xué)院,貴州 貴陽 550025; 2.貴州大學(xué)林學(xué)院,貴州 貴陽 550025)
點(diǎn)云配準(zhǔn)是指將不同視角獲取的同一物體點(diǎn)云數(shù)據(jù)變換到統(tǒng)一坐標(biāo)系的過程[1],該技術(shù)在三維重建[2]、逆向工程[3]、文物保護(hù)[4]、地質(zhì)災(zāi)害[5]、無人駕駛[6]等領(lǐng)域具有廣泛應(yīng)用。為了解決點(diǎn)云配準(zhǔn)問題,國內(nèi)外研究者提出了多種算法[7-8]。其中,具有代表性的算法有采樣一致性初始配準(zhǔn)算法(Sample Consensus Initial Aligment, SAC-IA)[9]、四點(diǎn)快速匹配算法(4-Points Fast Matching Aligment, 4PCS)[10]、迭代最近點(diǎn)算法(Iterative Closest Point, ICP)[11-14]和正態(tài)分布變換算法(Normal Distributions Transform, NDT)[15-17]等。
同時(shí),針對(duì)點(diǎn)云配準(zhǔn)算法存在錯(cuò)誤匹配點(diǎn)對(duì)、精度不高等不足,國內(nèi)外研究者實(shí)現(xiàn)了多種改進(jìn)算法。陳學(xué)偉等人[18]利用采樣一致性初始配準(zhǔn)算法(SAC-IA)實(shí)現(xiàn)兩點(diǎn)云的粗配準(zhǔn),然后利用KD樹加速查找對(duì)應(yīng)點(diǎn)對(duì),并使用方向向量閾值去除錯(cuò)誤對(duì)應(yīng)點(diǎn)對(duì),以此改進(jìn)ICP算法,從而實(shí)現(xiàn)精配準(zhǔn)。實(shí)驗(yàn)表明該算法具有相對(duì)較好的配準(zhǔn)精度和收斂速度。王宗躍等人[19]提出了基于多核CPU的海量點(diǎn)云并行K近鄰算法,該算法利用多核CPU的多線程并行特性,提高了K鄰近搜索速度。張蕾等人[20]提出了一種基于距離約束改進(jìn)的ICP算法,該算法利用鄰近點(diǎn)法來獲取配準(zhǔn)點(diǎn),并使用這些配準(zhǔn)點(diǎn)的重心作為參照點(diǎn),求取各個(gè)配準(zhǔn)點(diǎn)到配準(zhǔn)點(diǎn)重心之間的距離,再結(jié)合點(diǎn)對(duì)距離約束來剔除錯(cuò)誤配準(zhǔn)點(diǎn)對(duì),最后,進(jìn)行點(diǎn)云配準(zhǔn)。該算法在配準(zhǔn)速度和精度方面均有所提高。鐘瑩等人[21]在匹配點(diǎn)對(duì)集中,通過增加閾值來降低噪聲對(duì)配準(zhǔn)的影響,并對(duì)點(diǎn)與點(diǎn)之間的方向向量夾角設(shè)定閾值,從而達(dá)到提高配準(zhǔn)精度、剔除錯(cuò)誤匹配點(diǎn)對(duì)的目的。
針對(duì)點(diǎn)云配準(zhǔn)中存在錯(cuò)誤匹配點(diǎn)對(duì)、精度不高等問題,本文采用基于OpenMP的多核并行技術(shù)[22-23]來提升配準(zhǔn)算法速度,并引入動(dòng)態(tài)閾值和配準(zhǔn)點(diǎn)重心約束來剔除錯(cuò)誤匹配點(diǎn)對(duì),以此來提升配準(zhǔn)精度,從而完成點(diǎn)云配準(zhǔn)。通過對(duì)ICP、SAC-IA+ICP算法和本文算法進(jìn)行點(diǎn)云配準(zhǔn)實(shí)驗(yàn),并從算法速度、精度等方面進(jìn)行對(duì)比分析,來驗(yàn)證本文算法的可行性。
本文的點(diǎn)云配準(zhǔn)算法包括2個(gè)過程:粗配準(zhǔn)和精配準(zhǔn)。在粗配準(zhǔn)階段,首先進(jìn)行點(diǎn)云下采樣,然后利用基于OpenMP的多核并行技術(shù),來計(jì)算點(diǎn)云查詢點(diǎn)的法向量、FPFH特征,以及并行查找對(duì)應(yīng)點(diǎn)對(duì),最后計(jì)算出粗配準(zhǔn)變換參數(shù),從而實(shí)現(xiàn)粗配準(zhǔn)。精配準(zhǔn)采用改進(jìn)的ICP算法逐步獲取最佳配準(zhǔn)結(jié)果。本文點(diǎn)云配準(zhǔn)算法的流程如圖1所示。
圖1 本文點(diǎn)云配準(zhǔn)算法的流程
本文采用改進(jìn)的SAC-IA算法進(jìn)行點(diǎn)云粗配準(zhǔn),改進(jìn)點(diǎn)主要體現(xiàn)在利用OpenMP并行加速提取點(diǎn)云查詢點(diǎn)的法向量、FPFH等特征,以及對(duì)對(duì)應(yīng)點(diǎn)對(duì)的并行查找。
在利用SAC-IA算法進(jìn)行粗配準(zhǔn)時(shí),提取點(diǎn)云查詢點(diǎn)的法向量、FPFH等特征以及查找對(duì)應(yīng)點(diǎn)對(duì)的時(shí)候,各查詢點(diǎn)的相關(guān)計(jì)算存在時(shí)間復(fù)雜度高的問題,尤其在查找對(duì)應(yīng)點(diǎn)對(duì)時(shí)花費(fèi)了粗配準(zhǔn)的大部分時(shí)間,而利用OpenMP的多核并行優(yōu)勢,正好可以解決時(shí)間復(fù)雜度高的問題。此外,各點(diǎn)云查詢點(diǎn)的特征提取是相互獨(dú)立的,可以同時(shí)進(jìn)行,這與OpenMP的多核并行特性不謀而合。
通過上述分析,本文利用OpenMP來實(shí)現(xiàn)SAC-IA算法中所涉及的點(diǎn)云查詢點(diǎn)的法向量、FPFH等特征提取,以及對(duì)應(yīng)點(diǎn)對(duì)的查找這3個(gè)部分的并行加速處理,從而提升粗配準(zhǔn)算法的速度。其具體過程如下所示,并且可以用圖2清晰地表示其流程。
1)第1個(gè)并行域?qū)崿F(xiàn)點(diǎn)云查詢點(diǎn)的法向量的并行加速提取,由于每個(gè)點(diǎn)云查詢點(diǎn)的法向量計(jì)算是相互獨(dú)立的,可以利用多核多線程并行加速提取法向量特征。
2)在第2個(gè)并行域中,基于步驟1求得的法向量特征信息,對(duì)點(diǎn)云查詢點(diǎn)的FPFH特征進(jìn)行并行加速提取,由于每個(gè)點(diǎn)云查詢點(diǎn)的FPFH計(jì)算相互獨(dú)立,因此每個(gè)線程負(fù)責(zé)并行加速提取FPFH特征。
3)基于前2個(gè)步驟提取的法向量、FPFH特征信息,在第3個(gè)并行域中,實(shí)現(xiàn)對(duì)應(yīng)點(diǎn)對(duì)的并行加速查找,由于對(duì)應(yīng)點(diǎn)對(duì)查找中存在多個(gè)可以并行的循環(huán)操作,這正好可以利用OpenMP來并行加速這些循環(huán)操作。
圖2 基于OpenMP加速特征提取
本文采用OpenMP來改進(jìn)SAC-IA算法,以此改進(jìn)算法加速計(jì)算源點(diǎn)云P和目標(biāo)點(diǎn)云Q的粗配準(zhǔn)變換參數(shù)。本文改進(jìn)的SAC-IA算法的主要步驟包括:點(diǎn)云下采樣、基于OpenMP實(shí)現(xiàn)點(diǎn)云查詢點(diǎn)的法向量和FPFH特征的并行加速提取、基于OpenMP并行加速查找對(duì)應(yīng)點(diǎn)對(duì)、計(jì)算粗配準(zhǔn)變換參數(shù)R、T,其大致思路如下:
Step1對(duì)點(diǎn)云進(jìn)行下采樣,并基于OpenMP并行加速提取點(diǎn)云查詢點(diǎn)的法向量、FPFH等特征;從源點(diǎn)云P中選取N個(gè)樣本點(diǎn),為了盡量保證所選的樣本點(diǎn)具有不同的FPFH特征,樣本點(diǎn)兩兩之間的距離應(yīng)大于預(yù)先給定的最小距離閾值dmin。
Step2基于OpenMP并行加速查找對(duì)應(yīng)點(diǎn)對(duì),在目標(biāo)點(diǎn)云Q中查找與源點(diǎn)云P中所選樣本點(diǎn)具有相同或相似FPFH特征的一個(gè)或多個(gè)點(diǎn),從這些點(diǎn)中隨機(jī)選取一個(gè)點(diǎn)作為源點(diǎn)云P在目標(biāo)點(diǎn)云中的匹配點(diǎn),從而獲得N對(duì)匹配點(diǎn)對(duì)。
Step3計(jì)算Step2所獲得的N對(duì)匹配點(diǎn)對(duì)之間的剛體變換參數(shù),然后通過求解匹配點(diǎn)變換后的距離誤差和函數(shù)L(li)來判斷當(dāng)前剛體變換參數(shù)的性能;此處的距離誤差和函數(shù)L(li)多使用Huber罰函數(shù)表示,其公式如式(1)和式(2)所示:
(1)
(2)
其中,ml為預(yù)先給定值,li為第i組匹配點(diǎn)變換之后的距離差。
Step4重復(fù)Step1~Step3,并對(duì)比所有的剛體變換參數(shù),使得距離誤差和函數(shù)L(li)的值最小,從中找到一組最優(yōu)粗配準(zhǔn)變換參數(shù)R、T。
Step5利用Step4獲得的最優(yōu)粗配準(zhǔn)變換參數(shù)R、T,將源點(diǎn)云P配準(zhǔn)到目標(biāo)點(diǎn)云Q,獲得新的點(diǎn)云P。
在第2章中實(shí)現(xiàn)了點(diǎn)云粗配準(zhǔn),這就為當(dāng)前的精配準(zhǔn)提供了較好的初始姿態(tài)。接下來,將采用一種改進(jìn)的ICP算法來實(shí)現(xiàn)點(diǎn)云精配準(zhǔn),即在ICP算法的基礎(chǔ)上引入配準(zhǔn)點(diǎn)重心約束和動(dòng)態(tài)閾值來剔除錯(cuò)誤對(duì)應(yīng)點(diǎn)對(duì),從而獲得更高的配準(zhǔn)精度和更好的配準(zhǔn)效果。
由于在點(diǎn)云數(shù)據(jù)的采集過程中不可避免地?fù)接性肼暎尹c(diǎn)云數(shù)據(jù)重疊區(qū)域的拓?fù)浣Y(jié)構(gòu)并不是完全一致的,因此,在確定初始匹配點(diǎn)對(duì)的時(shí)候,往往存在一對(duì)多或錯(cuò)誤對(duì)應(yīng)的情況,這會(huì)使得點(diǎn)云配準(zhǔn)的精度降低或者無法配準(zhǔn)。為此,本文以“配準(zhǔn)點(diǎn)重心”(按式(3)計(jì)算)為參照點(diǎn),計(jì)算初始匹配點(diǎn)對(duì)與配準(zhǔn)點(diǎn)重心的距離差值,若距離差值大于設(shè)定的動(dòng)態(tài)閾值,則視為錯(cuò)誤匹配點(diǎn)對(duì),予以剔除;反之,則保留為正確匹配點(diǎn)對(duì),以此實(shí)現(xiàn)錯(cuò)誤匹配點(diǎn)對(duì)的剔除,公式如式(4)所示:
(3)
(4)
通過文獻(xiàn)分析,本文發(fā)現(xiàn)剔除錯(cuò)誤匹配點(diǎn)對(duì)時(shí)所用的閾值是固定閾值,而固定閾值法的缺陷在于固定閾值不夠靈活,它只適用于某個(gè)點(diǎn)云模型配準(zhǔn),適應(yīng)性較差,對(duì)于多種點(diǎn)云模型時(shí),這會(huì)導(dǎo)致誤剔除率增大。對(duì)此,本文以動(dòng)態(tài)閾值作為約束條件,當(dāng)參與配準(zhǔn)的點(diǎn)云模型發(fā)生變化或ICP算法不斷迭代時(shí),閾值也會(huì)自動(dòng)變化進(jìn)行適配,從而更好地剔除錯(cuò)誤匹配點(diǎn)對(duì)。動(dòng)態(tài)閾值法的具體原理如下:
Step1按照公式(5)計(jì)算初始匹配點(diǎn)對(duì)集中的各對(duì)匹配點(diǎn)到各自的配準(zhǔn)點(diǎn)重心的距離。
(5)
其中,ai和bi為源點(diǎn)云和目標(biāo)點(diǎn)云中第i個(gè)對(duì)應(yīng)點(diǎn)到配準(zhǔn)點(diǎn)重心的距離,N為初始匹配點(diǎn)對(duì)集中匹配點(diǎn)對(duì)的數(shù)目。
Step2按照公式(6)計(jì)算各對(duì)匹配點(diǎn)到各自的配準(zhǔn)點(diǎn)重心的距離的差值,以及該距離差值的平均值。
(6)
Step3利用公式(7)和公式(8)計(jì)算各對(duì)匹配點(diǎn)到各自的配準(zhǔn)點(diǎn)重心的距離的差值的中誤差。
(7)
(8)
其中,m為各對(duì)匹配點(diǎn)到各自的配準(zhǔn)點(diǎn)重心的距離的差值的中誤差,N為初始匹配點(diǎn)對(duì)數(shù)目。
Step4設(shè)定閾值。通過實(shí)驗(yàn)可以發(fā)現(xiàn):先采用測量中通用的2m為閾值,將2m作為閾值時(shí),僅剔除了較少的錯(cuò)誤匹配點(diǎn)對(duì),收斂速度也無明顯增加;而閾值設(shè)置為1.5m時(shí),剔除了較多錯(cuò)誤匹配點(diǎn)對(duì),收斂速度得到一定的提高;故設(shè)定1.5m為閾值。
源點(diǎn)云為P,目標(biāo)點(diǎn)云為Q。改進(jìn)的ICP算法步驟如下:
Step1對(duì)原始點(diǎn)云進(jìn)行下采樣。利用VoxelGrid濾波器對(duì)源點(diǎn)云P和目標(biāo)點(diǎn)云Q進(jìn)行下采樣,獲得精簡后的源點(diǎn)云P和目標(biāo)點(diǎn)云Q。
Step2確定初始對(duì)應(yīng)點(diǎn)對(duì)集。對(duì)精簡后的源點(diǎn)云P中的每一個(gè)點(diǎn),按照歐氏距離最近的原則,在目標(biāo)點(diǎn)云Q中用KD樹加速查找對(duì)應(yīng)點(diǎn),從而得到初始對(duì)應(yīng)點(diǎn)對(duì)集。
Step3計(jì)算配準(zhǔn)點(diǎn)重心。對(duì)初始對(duì)應(yīng)點(diǎn)對(duì)集,分別計(jì)算源點(diǎn)云P和目標(biāo)點(diǎn)云Q的配準(zhǔn)點(diǎn)重心。
Step4剔除錯(cuò)誤對(duì)應(yīng)點(diǎn)對(duì)。利用“配準(zhǔn)點(diǎn)重心約束”剔除錯(cuò)誤對(duì)應(yīng)點(diǎn)對(duì),得到正確對(duì)應(yīng)點(diǎn)對(duì)集。
Step5求解剛體變換矩陣。在Step4所獲得的正確對(duì)應(yīng)點(diǎn)對(duì)集上,使用奇異值分解法求得使目標(biāo)函數(shù)最小的剛體變換矩陣(R,T),計(jì)算公式如式(9):
(9)
其中,(pi,qi)是正確匹配點(diǎn)對(duì)集中的第i對(duì)匹配點(diǎn)對(duì),N為正確匹配點(diǎn)對(duì)的數(shù)目。
Step6更新源點(diǎn)云。使用Step5得到的剛體變換矩陣R、T,將源點(diǎn)云P配準(zhǔn)到目標(biāo)點(diǎn)云Q,獲得新的源點(diǎn)云P;然后,重復(fù)Step2~Step6進(jìn)行迭代計(jì)算,直到達(dá)到最大迭代次數(shù)、均方誤差MSE小于誤差閾值δ或者相鄰兩次變換矩陣差值小于所設(shè)閾值ε(見式(10)),則停止迭代,然后輸出最終剛體變換參數(shù)。
(10)
其中,pi為第k次迭代后的更新源點(diǎn)云Pk中的第i個(gè)點(diǎn),qi為目標(biāo)點(diǎn)云Qk中的第i個(gè)點(diǎn);N是正確匹配點(diǎn)對(duì)數(shù)目;MSEk是第k次迭代后目標(biāo)點(diǎn)云與更新源點(diǎn)云之間的平均距離平方和(即均方誤差);MSEk-MSEk+1為2次迭代誤差。
Step7按照最終的剛體變換參數(shù)R、T,將源點(diǎn)云P配準(zhǔn)到目標(biāo)點(diǎn)云Q。
本實(shí)驗(yàn)利用斯坦福大學(xué)3D模型庫數(shù)據(jù)進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)所采用的軟硬件環(huán)境為:3.40 GHz的AMD Ryzen 5 2600的CPU,8 GB內(nèi)存;64位的Windows10操作系統(tǒng),以及Visual Studio 2017,并結(jié)合點(diǎn)云庫PCL1.9.1實(shí)現(xiàn)本文點(diǎn)云配準(zhǔn)算法。
為了進(jìn)行對(duì)比實(shí)驗(yàn),本文使用了馬、兔、頭像這3組點(diǎn)云數(shù)據(jù)。選擇這3組數(shù)據(jù)來完成本文實(shí)驗(yàn)的原因有3點(diǎn):1)該數(shù)據(jù)是點(diǎn)云配準(zhǔn)算法研究中的經(jīng)典數(shù)據(jù),且適用于本文研究;2)該數(shù)據(jù)的數(shù)據(jù)量都在幾萬到十萬個(gè)點(diǎn)之間,可以用來驗(yàn)證本文算法的速度性能;3)該數(shù)據(jù)沒有噪聲,可以用于人為添加噪聲來驗(yàn)證算法的抗噪性。在具體實(shí)驗(yàn)中,首先,采用本文點(diǎn)云粗配準(zhǔn)算法對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行粗配準(zhǔn)處理;然后,采用本文點(diǎn)云精配準(zhǔn)算法進(jìn)行點(diǎn)云精配準(zhǔn)。同時(shí),與ICP、SAC-IA+ICP算法進(jìn)行對(duì)比實(shí)驗(yàn)。圖3(a)是待配準(zhǔn)馬點(diǎn)云模型,圖3(b)、圖3(c)分別是ICP、SAC-IA+ICP算法配準(zhǔn)結(jié)果,圖3(d)是本文算法配準(zhǔn)結(jié)果。圖4(a)是待配準(zhǔn)兔點(diǎn)云模型,圖4(b)、圖4(c)分別是ICP、SAC-IA+ICP算法配準(zhǔn)結(jié)果,圖4(d)是本文算法配準(zhǔn)結(jié)果。圖5(a)是待配準(zhǔn)頭像點(diǎn)云模型,圖5(b)、圖5(c)分別是ICP、SAC-IA+ICP算法配準(zhǔn)結(jié)果,圖5(d)是本文算法配準(zhǔn)結(jié)果。
(a) 待配準(zhǔn)點(diǎn)云 (b) ICP (c) SAC-IA+ICP (d) 本文算法
(a) 待配準(zhǔn)點(diǎn)云 (b) ICP (c) SAC-IA+ICP (d) 本文算法
(a) 待配準(zhǔn)點(diǎn)云 (b) ICP (c) SAC-IA+ICP (d) 本文算法
4.3.1 配準(zhǔn)效果分析
由圖3(a)~圖5(a)可以直觀地發(fā)現(xiàn)待配準(zhǔn)的馬、兔、頭像點(diǎn)云數(shù)據(jù)的初始姿態(tài)存在明顯偏差;從圖3(b)~圖3(d)、圖4(b)~圖4(d)和圖5(b)~圖5(d)的配準(zhǔn)結(jié)果可以看出,對(duì)于初始姿態(tài)并不好的待配準(zhǔn)點(diǎn)云,相較于ICP、SAC-IA+ICP算法,本文算法實(shí)現(xiàn)了更好的配準(zhǔn)效果。
4.3.2 配準(zhǔn)精度分析
從表1可以看出,相較于ICP、SAC-IA+ICP算法,本文算法在進(jìn)行馬、兔、頭像點(diǎn)云模型配準(zhǔn)時(shí),在配準(zhǔn)速度提升的情況下,配準(zhǔn)精度也獲得了提升。與ICP算法相比,在馬、兔、頭像點(diǎn)云配準(zhǔn)中,本文算法配準(zhǔn)精度都至少提升了35%;與SAC-IA+ICP算法相比,在馬、兔、頭像點(diǎn)云配準(zhǔn)中,本文算法配準(zhǔn)精度分別提升了20%、3.5%和4.9%。本文算法之所以獲得配準(zhǔn)精度的提升,是由于在ICP算法中引入基于動(dòng)態(tài)閾值的配準(zhǔn)點(diǎn)重心約束,從而剔除了錯(cuò)誤匹配點(diǎn)對(duì),使得因錯(cuò)誤匹配點(diǎn)對(duì)的存在而引起配準(zhǔn)效果不佳的問題得到改善。
表1 配準(zhǔn)精度
4.3.3 配準(zhǔn)時(shí)間分析
從表2可以看出,與ICP、SAC-IA+ICP算法相比,本文算法在提升配準(zhǔn)精度的情況下,速度也得到了提升。相較于ICP算法,本文算法在進(jìn)行馬、兔、頭像點(diǎn)云配準(zhǔn)時(shí),配準(zhǔn)速度分別提升了12%、46%、17%;相較于SAC-IA+ICP算法,本文算法在進(jìn)行馬、兔、頭像點(diǎn)云配準(zhǔn)時(shí),配準(zhǔn)速度分別提升了6.9%、29%、12%。在配準(zhǔn)過程中,為了剔除ICP算法中的錯(cuò)誤匹配點(diǎn)對(duì),本文引入動(dòng)態(tài)閾值的配準(zhǔn)點(diǎn)重心約束,這確實(shí)增加了單次迭代的耗時(shí),但總的配準(zhǔn)耗時(shí)降低了。究其原因,一方面是由于迭代次數(shù)減少了,另一方面要?dú)w功于利用OpenMP實(shí)現(xiàn)點(diǎn)云查詢點(diǎn)的法向量、FPFH等特征的并行加速提取以及對(duì)應(yīng)點(diǎn)對(duì)的并行查找,從而降低了算法耗時(shí)。此外,在整個(gè)算法中,對(duì)點(diǎn)云進(jìn)行了精簡,這減少了配準(zhǔn)的計(jì)算量,同時(shí)加入了KD樹,這加快了對(duì)應(yīng)點(diǎn)的搜索速度,從而提升了本文配準(zhǔn)算法的速度。
表2 配準(zhǔn)時(shí)間
4.3.4 抗噪性分析
如圖6(a)所示,本文以兔點(diǎn)云為實(shí)驗(yàn)對(duì)象,然后給其分別添加10%、20%、30%和40%的高斯噪聲,來驗(yàn)證本文算法的抗噪性。圖6(b)和圖6(c)分別是SAC-IA+ICP和本文算法在帶有不同比例高斯噪聲下的配準(zhǔn)結(jié)果。通過表3可以看出,隨著高斯噪聲比例的增加,SAC-IA+ICP和本文算法的配準(zhǔn)精度都不斷上升,而且本文算法與SAC-IA+ICP算法的配準(zhǔn)精度能夠保持一致,這說明本文算法具有與SAC-IA+ICP算法相當(dāng)?shù)目乖胄浴?/p>
(a) 輸入數(shù)據(jù)
(b) SAC-IA+ICP算法
(c) 本文算法圖6 高斯噪聲下的點(diǎn)云配準(zhǔn)
表3 不同高斯噪聲比例下的配準(zhǔn)精度
點(diǎn)云配準(zhǔn)是三維重建、逆向工程、文物保護(hù)、計(jì)算機(jī)視覺、自動(dòng)駕駛等領(lǐng)域的關(guān)鍵技術(shù),點(diǎn)云配準(zhǔn)算法的配準(zhǔn)精度、速度會(huì)直接影響后續(xù)處理的質(zhì)量。針對(duì)點(diǎn)云配準(zhǔn)中存在錯(cuò)誤對(duì)應(yīng)點(diǎn)對(duì)、精度不高等問題,在粗配準(zhǔn)階段,本文采用基于OpenMP的多核并行技術(shù),來并行加速提取點(diǎn)云查詢點(diǎn)的法向量、FPFH等特征,以及對(duì)對(duì)應(yīng)點(diǎn)對(duì)的并行查找,從而提升了配準(zhǔn)過程的速度;在精配準(zhǔn)階段,引入基于動(dòng)態(tài)閾值的配準(zhǔn)點(diǎn)重心約束,結(jié)合點(diǎn)對(duì)距離約束來剔除錯(cuò)誤匹配點(diǎn)對(duì),從而達(dá)到提升整個(gè)配準(zhǔn)算法精度的目的。實(shí)驗(yàn)結(jié)果表明,相較于ICP、SAC-IA+ICP算法,本文算法在提升配準(zhǔn)精度的情況下,配準(zhǔn)速度也得到了提升;在抗噪性方面,本文算法具有與SAC-IA+ICP算法相當(dāng)?shù)目乖胄?。此外,本文算法的速度還具有提升空間,因此在下一步工作中,將考慮利用CUDA并行加速點(diǎn)云配準(zhǔn)算法,以此實(shí)現(xiàn)算法速度的更大提升。