韓德川
(中國(guó)電子科技集團(tuán)公司第二十研究所,西安 710068)
在計(jì)算機(jī)應(yīng)用領(lǐng)域,點(diǎn)云匹配是一個(gè)非常重要的中間步驟,它在表面重建、三維物體識(shí)別、相機(jī)定位等問(wèn)題中有著極其重要的應(yīng)用。對(duì)于點(diǎn)云匹配問(wèn)題,研究者提出了很多解決方案,如點(diǎn)標(biāo)記法、自旋圖像、主曲率方法、遺傳算法、隨機(jī)采樣一致性算法等,這些算法各有特色,在許多特定的情況下能夠解決點(diǎn)云匹配的問(wèn)題。但是應(yīng)用最廣泛、影響最大的還是由Besl于1992 年提出的迭代最近點(diǎn)算法(Itera?tiveClosest Point,ICP),該算法重復(fù)進(jìn)行選擇對(duì)應(yīng)關(guān)系點(diǎn)對(duì),計(jì)算最優(yōu)剛體變換,直到滿(mǎn)足正確配準(zhǔn)的收斂精度要求,其本質(zhì)是基于最小二乘法的最優(yōu)配準(zhǔn)方法。ICP算法雖然因?yàn)楹?jiǎn)單而被廣泛應(yīng)用,但是它易于陷入局部最大值,同時(shí)其嚴(yán)重依賴(lài)初始配準(zhǔn)位置,它要求兩個(gè)點(diǎn)云的初始位置必須足夠近,并且當(dāng)存在噪聲點(diǎn)、外點(diǎn)時(shí)可能導(dǎo)致配準(zhǔn)失敗。除ICP 算法之外,Tsin和Kanade應(yīng)用核密度估計(jì),將點(diǎn)云表示成概率密度,提出了核心相關(guān)算法(Kernel Correla?tion,KC)。這種計(jì)算最優(yōu)配準(zhǔn)的方法通過(guò)設(shè)置兩個(gè)點(diǎn)云間的相似度測(cè)量來(lái)減小它們的距離。對(duì)全局目標(biāo)函數(shù)執(zhí)行最優(yōu)化算法,使目標(biāo)函數(shù)值減小到收斂域。因?yàn)橐粋€(gè)點(diǎn)云中的點(diǎn)必須和另一個(gè)點(diǎn)云中的所有點(diǎn)進(jìn)行比較,所以這種方法的算法復(fù)雜度很高。
在生產(chǎn)制造中,很多時(shí)候需要對(duì)部件位姿調(diào)整過(guò)程中的點(diǎn)云進(jìn)行匹配,例如航天器的自動(dòng)對(duì)接過(guò)程,然而上述較為熟知的算法,無(wú)法很好地適用于部件位姿調(diào)整過(guò)程中的點(diǎn)云匹配任務(wù),進(jìn)而無(wú)法完成姿態(tài)追蹤等問(wèn)題,對(duì)此,本文提出一種基于加權(quán)距離投票的點(diǎn)云匹配算法,完成位姿調(diào)整過(guò)程中的部件表面點(diǎn)云匹配。
本文所提出的點(diǎn)云匹配算法是建立在點(diǎn)云的距離不變性之上的。隨著部件位姿調(diào)整,部件外形在線測(cè)量系統(tǒng)可獲得不同視角下的部件表面標(biāo)志點(diǎn)點(diǎn)云數(shù)據(jù),但標(biāo)志點(diǎn)與其周?chē)臉?biāo)志點(diǎn)的空間距離是不隨測(cè)量視角改變而發(fā)生變化,本文利用部件表面點(diǎn)云的距離不變性來(lái)進(jìn)行點(diǎn)云匹配。
圖1 距離不變性示意圖
假設(shè)不同視角下測(cè)得移動(dòng)部件表面局部點(diǎn)云數(shù)據(jù)1 和點(diǎn)云數(shù)據(jù)2 包含部分共有的標(biāo)志點(diǎn)測(cè)量數(shù)據(jù),其中移動(dòng)部件表面局部點(diǎn)云數(shù)據(jù)1中的測(cè)量標(biāo)志點(diǎn)為:={s|s∈,= 1,2…} ,移動(dòng)部件表面局部點(diǎn)云數(shù)據(jù)2 中的測(cè)量標(biāo)志點(diǎn)為:={t|t∈,= 1,2…} 。部件表面測(cè)量點(diǎn)云的匹配過(guò)程,即找到、中同一測(cè)量標(biāo)志點(diǎn),確定部件表面局部點(diǎn)云間同一測(cè)量標(biāo)志點(diǎn)點(diǎn)對(duì)集,完成無(wú)序點(diǎn)云匹配的過(guò)程。設(shè)和中同一部件表面測(cè)量標(biāo)志點(diǎn)構(gòu)成的有序子集分 別 為:={p| p∈,= 1,2…} 和={q|q∈,= 1,2…} ,其中(p,q)為匹配測(cè)量標(biāo)志點(diǎn)點(diǎn)對(duì),即(p,q)分別為不同視角下同一測(cè)量標(biāo)志點(diǎn)的三維空間坐標(biāo),則點(diǎn)云匹配過(guò)程如圖2所示。
圖2 部件表面測(cè)量點(diǎn)云匹配
根據(jù)標(biāo)志點(diǎn)的空間距離不變性,若(p,q)、(p,q)為兩組匹配測(cè)量標(biāo)志點(diǎn)點(diǎn)對(duì)時(shí),必滿(mǎn)足如下約束。
其中,為距離誤差閾值,由雙目測(cè)量精度確定。
因此,由于測(cè)量標(biāo)志點(diǎn)空間分布的隨機(jī)性,當(dāng)(p,q)為匹配測(cè)量標(biāo)志點(diǎn)點(diǎn)對(duì)時(shí),p到部件表面局部點(diǎn)云中每個(gè)點(diǎn)的距離依次與q到部件表面局部點(diǎn)云中每個(gè)點(diǎn)的距離相比較,滿(mǎn)足以下不等式的總個(gè)數(shù)最多。
圖3 距離投票示意圖
遍歷過(guò)點(diǎn)p的所有邊,并按以上規(guī)則對(duì)中頂點(diǎn)進(jìn)行投票,當(dāng)所有的邊投票結(jié)束時(shí),得票最多的點(diǎn)T即為點(diǎn)p的匹配點(diǎn)。重復(fù)以上步驟,直至找到部件表面局部點(diǎn)云和部件表面局部點(diǎn)云中所有的匹配點(diǎn)對(duì)。
(5)遍歷部件表面局部點(diǎn)云中所有頂點(diǎn)的得票數(shù),得分最多的點(diǎn)T即為待匹配點(diǎn)S的匹配點(diǎn);
(6)循環(huán)執(zhí)行步驟(3)直至找到所有匹配點(diǎn)對(duì);
通過(guò)不同規(guī)模的點(diǎn)云仿真實(shí)驗(yàn)對(duì)點(diǎn)云匹配算法的時(shí)效性展開(kāi)分析,部分點(diǎn)云匹配結(jié)果如圖4所示。其中,圓點(diǎn)云為原始點(diǎn)云,菱形點(diǎn)為目標(biāo)點(diǎn)云,五角星點(diǎn)為由距離投票法計(jì)算轉(zhuǎn)換矩陣對(duì)原始點(diǎn)云的轉(zhuǎn)換結(jié)果。
圖4 點(diǎn)云匹配時(shí)效性分析
點(diǎn)云匹配實(shí)驗(yàn)中點(diǎn)云匹配時(shí)間如表1所示。
表1 點(diǎn)云匹配時(shí)間統(tǒng)計(jì)
通過(guò)表1的結(jié)果,作出基于加權(quán)距離投票的點(diǎn)云匹配算法的時(shí)間-點(diǎn)數(shù)曲線擬合,結(jié)果如圖5所示。
圖5 點(diǎn)云匹配時(shí)間-點(diǎn)數(shù)曲線圖
由圖5所示的實(shí)驗(yàn)數(shù)據(jù)所擬合的點(diǎn)云匹配算法的時(shí)間-點(diǎn)數(shù)曲線為:
式中,為匹配時(shí)間,為點(diǎn)云數(shù)目。擬合結(jié)果見(jiàn)表2。
表2 擬合結(jié)果準(zhǔn)確性分析
由圖5 可知,當(dāng)點(diǎn)數(shù)在30 以?xún)?nèi)時(shí),時(shí)間隨點(diǎn)的個(gè)數(shù)增加速度平緩,且由式(3)可知,此時(shí)匹配算法耗時(shí)在0.011 s 以?xún)?nèi),滿(mǎn)足算法的實(shí)時(shí)性要求。
匹配算法的時(shí)效性實(shí)驗(yàn)中,實(shí)驗(yàn)結(jié)果充分證明了匹配算法在點(diǎn)云數(shù)據(jù)理想時(shí)是有效的。但在實(shí)際部件位姿調(diào)整過(guò)程中,由于雙目相機(jī)的視角變化、測(cè)量環(huán)境的變化及標(biāo)志點(diǎn)測(cè)量算法發(fā)生退化時(shí),會(huì)造成部件表面標(biāo)志點(diǎn)點(diǎn)云測(cè)量數(shù)據(jù)的測(cè)量誤差,所以有必要驗(yàn)證在點(diǎn)云數(shù)據(jù)質(zhì)量差時(shí),本文點(diǎn)云匹配算法的有效性。
如圖6 所示,由于標(biāo)志點(diǎn)空間位置測(cè)量時(shí),必然存在一定的測(cè)量誤差,故實(shí)驗(yàn)驗(yàn)證時(shí),首先給定一組柱面模擬點(diǎn)云數(shù)據(jù)1,給數(shù)據(jù)1 中每一點(diǎn)疊加測(cè)量誤差,得到柱面模擬點(diǎn)云數(shù)據(jù)2,對(duì)點(diǎn)云數(shù)據(jù)1 進(jìn)行剛體變換后同樣疊加測(cè)量誤差,得到點(diǎn)云數(shù)據(jù)3;其中點(diǎn)云數(shù)據(jù)1 為標(biāo)志點(diǎn)的理論空間位置,點(diǎn)云數(shù)據(jù)2、點(diǎn)云數(shù)據(jù)3 為理論標(biāo)志點(diǎn)云在不同視角下的觀測(cè)值。此時(shí)以點(diǎn)云數(shù)據(jù)2及點(diǎn)云數(shù)據(jù)3進(jìn)行點(diǎn)云匹配模擬實(shí)驗(yàn)。
圖6 測(cè)量誤差示意圖
如圖7所示,部件對(duì)接工況下,在部件位姿調(diào)整過(guò)程中,由于雙目相機(jī)的視角變化、標(biāo)志點(diǎn)的遮擋及標(biāo)志點(diǎn)檢測(cè)算法發(fā)生退化會(huì)造成部件表面點(diǎn)云數(shù)據(jù)的不完整,此時(shí)待匹配局部點(diǎn)云只有部分重疊。故在實(shí)驗(yàn)時(shí),通過(guò)將不同視角下的測(cè)量點(diǎn)云中各自獨(dú)立刪除部分空間點(diǎn)進(jìn)行模擬實(shí)驗(yàn)。
圖7 部分重疊示意圖
由時(shí)效性分析實(shí)驗(yàn)可知,當(dāng)匹配點(diǎn)云中待匹配點(diǎn)數(shù)在30 以?xún)?nèi)時(shí),距離投票算法耗時(shí)在0.011 s 內(nèi),可滿(mǎn)足追蹤算法的實(shí)時(shí)性要求,故實(shí)驗(yàn)考慮在30 點(diǎn)以?xún)?nèi)的點(diǎn)云匹配問(wèn)題,部分實(shí)驗(yàn)如圖8所示。
圖8 非完整點(diǎn)云匹配結(jié)果
由表3可知,本文提出的基于加權(quán)距離投票的點(diǎn)云匹配算法,在仿真點(diǎn)云存在測(cè)量誤差及點(diǎn)云數(shù)據(jù)不完整的情況下是可靠的。
表3 非完整點(diǎn)云匹配結(jié)果
續(xù)表3
本文給出了基于加權(quán)距離投票的點(diǎn)云匹配算法,從時(shí)效性和匹配準(zhǔn)確性?xún)煞矫鎸?duì)算法進(jìn)行分析,分析結(jié)果顯示算法滿(mǎn)足實(shí)時(shí)性要求,在仿真點(diǎn)云存在測(cè)量誤差及點(diǎn)云數(shù)據(jù)不完整的情況下,點(diǎn)云匹配算法是可靠的。該算法可以解決點(diǎn)云匹配過(guò)程中的一些相關(guān)問(wèn)題,具有一定的實(shí)際意義。