張 勇
(馬鋼冷軋總廠,安徽馬鞍山 243000)
三維點(diǎn)云配準(zhǔn)技術(shù)是實(shí)現(xiàn)物體三維測(cè)量的關(guān)鍵環(huán)節(jié)之一,文章針對(duì)點(diǎn)云配準(zhǔn)精度、速度及魯棒性提出基于GICP 改進(jìn)的配準(zhǔn)算法。該算法結(jié)合基于主成分分析(Principal Component Analysis,簡稱PCA)的粗配準(zhǔn)獲取點(diǎn)云大致的配準(zhǔn)位姿,并針對(duì)不同視角點(diǎn)云數(shù)據(jù)進(jìn)行背景去除、剔除噪聲點(diǎn)及降采樣等一系列預(yù)處理方法,以降低處理點(diǎn)云數(shù)目和無效點(diǎn)云對(duì)配準(zhǔn)性能的影響,同時(shí)使用K-Dtree 搜索最近點(diǎn)提高改進(jìn)的GICP 配準(zhǔn)速度及精準(zhǔn)度。
GICP 是基于ICP 的衍生算法,核心思想是將概率模型添加到ICP 最小化步驟中,以提高算法的精準(zhǔn)度和魯棒性。由于GICP 保留ICP 其他步驟的初始參數(shù)設(shè)置,降低了算法復(fù)雜性并保持運(yùn)行速度,在此假設(shè)點(diǎn)云數(shù)據(jù)通過最近鄰域查找確定了對(duì)應(yīng)關(guān)系,即且ai與bi相互對(duì)應(yīng)。根據(jù)高斯模型生成A、B點(diǎn)集:
對(duì)公式(12)取對(duì)數(shù)進(jìn)行化簡:
由于外界環(huán)境、噪聲干擾和點(diǎn)云稠密度會(huì)影響GICP 算法速度和精確度,文章在優(yōu)化GICP 精配準(zhǔn)前對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行預(yù)處理,以提高改進(jìn)算法的速度和效率。背景去除可以通過點(diǎn)云分割技術(shù)來實(shí)現(xiàn),這里采用基于隨機(jī)一致性采樣算法(RANSAC)將工件點(diǎn)云從背景點(diǎn)云中分割開。在工件點(diǎn)云中隨機(jī)選取兩個(gè)點(diǎn)記并計(jì)算直線模型,根據(jù)點(diǎn)pi到直線距離和人為設(shè)定的閾值τ將點(diǎn)云分為兩類,迭代上述步驟,直到搜索閾值內(nèi)點(diǎn)云數(shù)目最多,即平面背景擬合完成。在噪聲點(diǎn)處理中利用高效便捷的統(tǒng)計(jì)分析法,可以快速將無效點(diǎn)云從點(diǎn)集中剔除,該法計(jì)算所有點(diǎn)及鄰域點(diǎn)的距離dij并根據(jù)點(diǎn)云分布計(jì)算均值μ 和標(biāo)準(zhǔn)差σ,那么鄰域點(diǎn)集中所有點(diǎn)與其鄰域距離大于區(qū)間以外的點(diǎn)均可視為噪聲點(diǎn),其中mul是標(biāo)準(zhǔn)差倍數(shù)閾值。在降采樣中利用八叉樹(Octree)建立體素并用內(nèi)點(diǎn)均值代替體素內(nèi)所有點(diǎn),通過設(shè)置體素大小改變體素網(wǎng)格大小,在達(dá)到降采樣同時(shí)不破壞點(diǎn)云幾何結(jié)構(gòu)。
采用雙目線結(jié)構(gòu)光相機(jī)系統(tǒng)對(duì)工具采集10組點(diǎn)云數(shù)據(jù),取其中3組數(shù)據(jù)為例說明。圖1(a)、(b)、(c)分別是工件A、B、C 實(shí)物圖。因獲取的點(diǎn)云背景噪聲多,配準(zhǔn)難度大,故在保留完整點(diǎn)云特征的前提下,對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行RANSAC 算法去除背景、剔除噪聲點(diǎn)及基于八叉樹(Octree)體素濾波降采樣的預(yù)處理,圖1(d)、(e)、(f)是工件A、B、C 預(yù)處理后的點(diǎn)云數(shù)據(jù)。
圖1 工件實(shí)物和預(yù)處理后的工件點(diǎn)云
實(shí)際獲取的點(diǎn)云數(shù)據(jù)龐大,影響后續(xù)處理速度,故利用八叉樹(Octree)建立體素,對(duì)點(diǎn)云進(jìn)行體素濾波達(dá)到降采樣目的。如圖2所示,對(duì)相應(yīng)工件的目標(biāo)點(diǎn)云進(jìn)行降采樣處理,表1 數(shù)據(jù)顯示工件A、B、C 的源點(diǎn)云和目標(biāo)點(diǎn)云數(shù)目經(jīng)過體素濾波降采樣后驟減。
表1 真實(shí)數(shù)據(jù)集下算法精度對(duì)比
圖2 體素濾波后的工件點(diǎn)云
實(shí)驗(yàn)數(shù)據(jù)見表1,以迭代30次為例,工件A、B、C 在傳統(tǒng)ICP 算法RMSE 值較PCA 配準(zhǔn)算法RMSE值依次高9.59倍、3.44倍、1.02倍,而PCA 配準(zhǔn)算法RMSE 值較文章改進(jìn)算法RMSE 值依次高0.43倍、0.90倍、3.48 倍,證實(shí)工件A、B、C 在文章3 種配準(zhǔn)算法中配準(zhǔn)精度最高的是GICP 優(yōu)化算法,該算法解決了傳統(tǒng)ICP 算法精度不足且容易陷入局部收斂問題。
現(xiàn)將工件A、B、C 三種算法的配準(zhǔn)速度進(jìn)行對(duì)比,如圖3所示,在迭代次數(shù)由10次增加至90次過程中,工件A、B、C 傳統(tǒng)ICP 配準(zhǔn)時(shí)間依次增加2.43倍、7.48倍、2.63倍,而GICP 優(yōu)化算法配準(zhǔn)時(shí)間不會(huì)隨迭代次數(shù)增加而大幅度增長,如圖3所示。
圖3 傳統(tǒng)ICP與優(yōu)化GICP配準(zhǔn)時(shí)間比較
對(duì)測(cè)量工件進(jìn)行數(shù)據(jù)采集和實(shí)驗(yàn)分析,包括點(diǎn)云數(shù)據(jù)背景和噪聲點(diǎn)去除、K-Dtree 臨近搜索、Octree建立體素降采樣的一系列預(yù)處理,分別進(jìn)行了傳統(tǒng)ICP 配準(zhǔn)、基于PCA 配準(zhǔn)以及文章提出的GICP 優(yōu)化配準(zhǔn)算法等實(shí)驗(yàn),結(jié)果表明,在相同點(diǎn)云數(shù)據(jù)下,GICP 優(yōu)化算法在配準(zhǔn)精度上均高于傳統(tǒng)ICP 算法和基于PCA 配準(zhǔn)算法,在相同迭代次數(shù)下,GICP 優(yōu)化算法的配準(zhǔn)速度比傳統(tǒng)ICP 算法配準(zhǔn)速度更快。實(shí)驗(yàn)證明了GICP 優(yōu)化算法配準(zhǔn)效率更高于傳統(tǒng)ICP 算法,并因融合PCA 配準(zhǔn)算法使初始位姿參數(shù)誤差極小而不易陷入局部收斂。