[0045] 需要說明的是,當(dāng)組件被稱為“安裝于”另一個組件,它可以直接在另一個組件上或者也可以存在居中的組件。當(dāng)一個組件被認(rèn)為是“設(shè)置于”另一個組件,它可以是直接設(shè)置在另一個組件上或者可能同時存在居中組件。當(dāng)一個組件被認(rèn)為是“固定于”另一個組件,它可以是直接固定在另一個組件上或者可能同時存在居中組件。
[0046] 除非另有定義,本文所使用的所有的技術(shù)和科學(xué)術(shù)語與屬于本發(fā)明的技術(shù)領(lǐng)域的技術(shù)人員通常理解的含義相同。本文中在本發(fā)明的說明書中所使用的術(shù)語只是為了描述具體的實施例的目的,不是旨在于限制本發(fā)明。本文所使用的術(shù)語“或/及”包括一個或多個相關(guān)的所列項目的任意的和所有的組合。
[0047] 請參閱圖1,本發(fā)明提供了一種排除鄰域的雙向最近鄰相似比算法,用于構(gòu)建模型點云和場景點云之間的對應(yīng)關(guān)系,包括以下步驟:
[0048] S1、輸入關(guān)鍵點及描述子:創(chuàng)建模型點云對象P和場景點云對象Q, ?和分別為模型點云對象P和場景對象Q上的關(guān)鍵點集合, 和
分別為模型關(guān)鍵點集合 和場景關(guān)鍵點集合 中的關(guān)鍵點對應(yīng)的局部特征
描述子集合。本申請的算法目標(biāo)是根據(jù)PF和QF中的局部特征描述子,構(gòu)建出一個較為準(zhǔn)確的點對點的對應(yīng)關(guān)系集合,提高后續(xù)點云配準(zhǔn)的成功率。
[0049] S2、初步匹配對應(yīng)關(guān)系:通過相似度匹配模型點云和場景點云的特征描述子來生成初始的對應(yīng)關(guān)系,構(gòu)建一個模型?場景之間的初始對應(yīng)點對集合 。
[0050] 模型關(guān)鍵點與場景關(guān)鍵點的初始對應(yīng)關(guān)系是根據(jù)關(guān)鍵點上對應(yīng)的局部特征描述子的相似度來確定的,其原理是特征描述子的相近程度,反映了對應(yīng)局部曲面的相近程度。
具體為:對于兩個局部特征描述子 和 ,相似度 表示為:
[0051] ??????????????????(1)
[0052] 其中, 表示L2范數(shù)。
[0053] 下面以6個關(guān)鍵點數(shù)為例來詳細(xì)說明該算法的具體使用過程。
[0054] 對于每個模型關(guān)鍵點 ,從場景關(guān)鍵點集合 中搜索特征相似度由高到低排列的6個場景關(guān)鍵點 ,對應(yīng)的描述子為 。
由于第一特征近鄰點(場景關(guān)鍵點 )與模型關(guān)鍵點 的相近程度高于其余特征近鄰點,故模型關(guān)鍵點 和場景關(guān)鍵點 組成初始對應(yīng)點對 ,所有模型關(guān)鍵點上構(gòu)建的初始對應(yīng)點對 即為初始對應(yīng)點對集合 。搜索多個場景關(guān)鍵點的目的是為
Nannsr算法提供更多鄰近關(guān)系,從而構(gòu)建新的最近鄰相似性比。
[0055] S3、施加雙向鄰域約束:對初始對應(yīng)關(guān)系實施一種松弛的鄰域約束,對初始對應(yīng)點對集合 進(jìn)行初步驗證,排除明顯錯誤的對應(yīng)點對,得到初步排除錯誤對應(yīng)點對的對應(yīng)關(guān)系集合 。
[0056] 具體步驟為:
[0057] S3.1、對于初始對應(yīng)點對 ,定義以模型關(guān)鍵點 為球心、半徑為r1的雙向鄰域約束空間區(qū)域。本實施例中,區(qū)域半徑r1設(shè)置為6mr,其中mr表示場景點云上的平均網(wǎng)格分辨率。
[0058] S3.2、通過反向搜索,找到場景關(guān)鍵點 在模型點云上的對應(yīng)點 ;
[0059] S3.3、若 和 的空間距離在不大于r1,保留該初始對應(yīng)點對 ,否則予以排除。
[0060] 如圖2所示(圖中正向?qū)嵕€箭頭表示模型關(guān)鍵點 匹配場景關(guān)鍵點 的過程,反向虛線箭頭表示場景關(guān)鍵點 反向搜索獲得模型點云上的對應(yīng)點 的過程,以下各圖中相同),現(xiàn)有的雙向約束條件中,只有當(dāng) 和 完全重合,兩個點對應(yīng)的特征描述子互為最近,說明該初始對應(yīng)點對 滿足雙向約束,該點對被保留,如圖2中下部所示的正向?qū)嵕€箭頭和反向虛線箭頭重合的情況;若 和 不重合,初始對應(yīng)點對 不滿足雙向約束,該點對被排除,如圖2中下部所示的正向?qū)嵕€箭頭和反向虛線箭頭不重合的情況。
[0061] 相比BSS算法中采用的雙向約束方法,雙向鄰域約束方法更為靈活,能夠保留更多正確的對應(yīng)關(guān)系。雙向約束通常要求兩個點完全重合,但這種嚴(yán)格性約束容易導(dǎo)致部分正確對應(yīng)關(guān)系被誤排除。而雙向鄰域約束通過引入空間距離容忍度,解決了這一問題。具體的,不同于現(xiàn)有的雙向約束中嚴(yán)格要求 和 完全重合,本申請中的雙向鄰域約束只要求和 的空間距離保持在一定區(qū)域范圍(即 位于雙向鄰域約束空間區(qū)域)內(nèi),說明初始對應(yīng)點對 滿足所述的雙向領(lǐng)域約束,便保留點對 ,如圖3中上部所示的情況;
若 和 的空間距離大于上述的r1,說明初始對應(yīng)點對 不滿足所述的雙向領(lǐng)域約束,該點對則被排除。因為當(dāng) 和 足夠接近(即 和 的空間距離小于r)1 ,采用或 代入后續(xù)算法進(jìn)行計算,最終輸出的結(jié)果幾乎相同。所以這類近似互為最近的點對同嚴(yán)格互為最近的點對一樣,具有較大的可能性是正確的對應(yīng)點對。雙向鄰域約束保留這類點對,在初步排除外點的同時又能保留更多內(nèi)點以提高后續(xù)配準(zhǔn)算法的準(zhǔn)確性。