基于點特征直方圖的點云自動配準(zhǔn)方法
【專利摘要】本發(fā)明公開了基于點特征直方圖的點云自動配準(zhǔn)方法,包括:對被測物體多站采集獲取點云數(shù)據(jù),確定基準(zhǔn)站和待配準(zhǔn)站;從兩站點云數(shù)據(jù)中均隨機選取m個采樣點,使任意三個點都不共線,每兩個采樣點均滿足距離約束原則;對兩站進行同名點對匹配,使基準(zhǔn)站采樣點集和待配準(zhǔn)站采樣點集形成的同名點對三角網(wǎng)近似全等;獲取待配準(zhǔn)站點云數(shù)據(jù)的變換矩陣,計算點特征直方圖差異值獲取配準(zhǔn)誤差;篩選出配準(zhǔn)誤差值最小時對應(yīng)的變換矩陣;計算兩站點云數(shù)據(jù)的重疊區(qū)域點云數(shù)據(jù),通過迭代最近點算法獲得精細(xì)配準(zhǔn)矩陣。本發(fā)明能夠解決對相鄰兩站點云重疊度較小或重疊區(qū)域特征不明顯情況下的點云數(shù)據(jù)配準(zhǔn)時容易陷入局部最小解問題,該方法準(zhǔn)確性高,整體效率高。
【專利說明】
基于點特征直方圖的點云自動配準(zhǔn)方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明屬于點云數(shù)據(jù)配準(zhǔn)領(lǐng)域,特別涉及一種基于點特征直方圖的點云自動配準(zhǔn) 方法。
【背景技術(shù)】
[0002] 三維激光掃描技術(shù)早期興起于工業(yè)領(lǐng)域的逆向工程中,主要用于工藝品設(shè)計、汽 車、飛機以及船舶等工業(yè)制造業(yè)領(lǐng)域,后來逐漸被應(yīng)用到測繪行業(yè)領(lǐng)域。通常情況下,三維 激光掃描工作由于受到被測物體范圍較廣、掃描設(shè)備的測量范圍有限、物體遮擋等等因素 的影響,需架設(shè)多站進行不同角度的掃描,從而獲取到被測對象表面的整體點云數(shù)據(jù)。而根 據(jù)掃描儀的掃描原理,采集到的三維點云坐標(biāo)數(shù)據(jù)并不是出于統(tǒng)一坐標(biāo)系下,因此需要將 不同站、不同時間段或者不同傳感器設(shè)備采集到的點云數(shù)據(jù)匹配到統(tǒng)一三維空間直角坐標(biāo) 系底下,這個過程即稱之為點云數(shù)據(jù)配準(zhǔn)。點云數(shù)據(jù)配準(zhǔn)主要分為初始配準(zhǔn)和精細(xì)配準(zhǔn)兩 大模塊。
[0003] 點云初始配準(zhǔn)算法主要有以下幾大類:基于測量設(shè)備的初始配準(zhǔn)、基于輔助標(biāo)識 的初始配準(zhǔn)、基于紋理特征的初始配準(zhǔn)、基于表面幾何特征的初始配準(zhǔn)、基于RANSAC的初始 配準(zhǔn)。其中基于測量設(shè)備的初始配準(zhǔn)指的是依靠測量設(shè)備的一些定位信息來獲取不同站點 云之間的相對移動位置關(guān)系,進而利用這些相對關(guān)系進行初始配準(zhǔn)。這類初始配準(zhǔn)對測量 設(shè)備過于依賴,無法滿足大部分實際工程需求。在很多工程應(yīng)用中,掃描現(xiàn)場擺設(shè)適當(dāng)數(shù)量 的控制標(biāo)靶,進而在內(nèi)業(yè)中進行標(biāo)靶點云的識別。研究者們據(jù)此提出了一些基于輔助標(biāo)識 的自動配準(zhǔn)方法,但這類方法增加了外業(yè)的工作量,并且有時會出現(xiàn)標(biāo)靶遮擋物體表面的 情況出現(xiàn)。此外隨著掃描儀的發(fā)展,掃描儀逐漸開始搭載相機,因而研究者們提出了一些基 于紋理特征的初始配準(zhǔn)算法,但由于該類算法需要影像信息,如果影像有變形或者雙張影 像重疊度不夠則無法進行匹配,不具備廣泛應(yīng)用性。除了依靠點云的屬性信息進行點云配 準(zhǔn)工作外,還可以依據(jù)點云中潛在的一些幾何特征進行點云配準(zhǔn)工作,研究人員已經(jīng)在此 方面做出了大量的研究。但這類算法多數(shù)只適用于噪聲點較少的情況下,很易因噪聲點的 參與而干擾特征描述子的計算準(zhǔn)確度,從而影響配準(zhǔn)效果。且點云對象特征不明顯的情況 下,上述的幾種算法很難獲取到正確結(jié)果。通常情況下,為避免一些錯誤點或者局外點對某 個算法造成影響,應(yīng)當(dāng)首先借助某種方法將這些局外點剔除,因而很多研究者提出了一些 基于RANSAC的初始配準(zhǔn)方法,其中R. B. Rusu等提出了一種基于點特征快速直方圖的SAC-IA 算法,但該算法針對重疊度較小情況下的點云配準(zhǔn)容易造成局部最小解問題,且針對大數(shù) 據(jù)量點云配準(zhǔn)該算法無法達(dá)到高效實時配準(zhǔn),因此需要進一步改進。
[0004] 點云精細(xì)配準(zhǔn)算法大多都是基于ICP(Iterative closest point,迭代最近點)算 法或者其變種改進算法進行的。ICP算法由Besl和Mckay以及Chen和Medioni早期提出,該算 法為后續(xù)基于迭代的配準(zhǔn)算法發(fā)展奠定了理論和框架基礎(chǔ)?;谇叭搜芯窟@些不同種類的 變種ICP算法基礎(chǔ),由于不同種變種算法針對不同傳感器和不同環(huán)境因素有著各自的優(yōu)缺 點,并沒有合適的框架通過比較這些算法針對不同情況提出合適的算法,因此Fr dn?〇iS Pomerleau等提出了一種變種ICP算法評價協(xié)議標(biāo)準(zhǔn),此外Ff:an_p.oisPomerleau也提出了一 種ICP算法開源庫,該庫涵蓋了一種ICP可重構(gòu)算法框架,該框架可以融入不同種改進ICP算 法,框架內(nèi)部可以快速比較不同變種算法的性能與準(zhǔn)確性。但即便是上述各種ICP算法改進 及優(yōu)化,但針對重疊度較小的點云而言,初始配準(zhǔn)后直接進行ICP算法匹配也容易陷入局部 最小解問題。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的一個目的是提供了一種基于點特征直方圖的點云自動配準(zhǔn)方法,能夠解 決現(xiàn)有技術(shù)中對相鄰兩站點云重疊度較小或重疊區(qū)域特征不明顯情況下的點云數(shù)據(jù)配準(zhǔn) 時容易陷入局部最小解的問題,且該方法準(zhǔn)確性高,整體效率高。
[0006] 本發(fā)明提供的技術(shù)方案為:
[0007] 一種基于點特征直方圖的點云自動配準(zhǔn)方法,包括:
[0008] 對被測物體進行多站采集獲取該被測物體表面的整體點云數(shù)據(jù),確定基準(zhǔn)站和待 配準(zhǔn)站,其中,基準(zhǔn)站和待配準(zhǔn)站為相鄰的兩站;
[0009] 從所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)中均隨機選取m個采樣點,均使 所選取的m個采樣點中的任意三個點都不共線,且每兩個采樣點之間的距離均滿足距離約 束原則,其中,m> = 3;
[0010] 對所述待配準(zhǔn)站采樣點集和所述基準(zhǔn)站采樣點集進行同名點對的對應(yīng)匹配,使所 述基準(zhǔn)站采樣點集和所述待配準(zhǔn)站采樣點集形成的同名點對三角網(wǎng)近似全等;
[0011] 獲取所述待配準(zhǔn)站點云數(shù)據(jù)的變換矩陣T,通過計算點特征直方圖差異值獲取所 述待配準(zhǔn)站點云數(shù)據(jù)經(jīng)過變換矩陣T變換后與所述基準(zhǔn)站點云數(shù)據(jù)的配準(zhǔn)誤差;
[0012] 對所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)均進行多次采樣,從多次采樣獲 取的配準(zhǔn)誤差中篩選出配準(zhǔn)誤差值最小時對應(yīng)的變換矩陣T min,進行點云數(shù)據(jù)的初始配準(zhǔn);
[0013] 計算所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)的重疊區(qū)域點云數(shù)據(jù),并通過 迭代最近點算法獲得精細(xì)配準(zhǔn)矩陣,進行點云數(shù)據(jù)的精細(xì)配準(zhǔn)。
[0014] 優(yōu)選的是,所述的基于點特征直方圖的點云自動配準(zhǔn)方法,從所述基準(zhǔn)站點云數(shù) 據(jù)中和所述待配準(zhǔn)站點云數(shù)據(jù)中均隨機選取m個采樣點之前還包括:
[0015] 對所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)進行預(yù)處理;
[0016] 計算所述基準(zhǔn)站點云表面和所述待配準(zhǔn)站點云表面的法線;
[0017] 計算所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)的點特征快速直方圖。
[0018] 優(yōu)選的是,所述的基于點特征直方圖的點云自動配準(zhǔn)方法,從所述基準(zhǔn)站點云數(shù) 據(jù)中和所述待配準(zhǔn)站點云數(shù)據(jù)中均隨機選取m個采樣點具體包括:
[0019] 對所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)進行采樣時,當(dāng)采集一個新樣點 時,判斷所選取的新樣點與已有的采樣點是否滿足距離約束原則;
[0020] 若不滿足,則新樣點無效,繼續(xù)進行采集,若滿足,則繼續(xù)判斷所選取的新樣點與 已有采樣點構(gòu)建的直線的垂直距離是否小于預(yù)設(shè)閾值e dlst;
[0021] 若小于,則所采集的新樣點與已有的采樣點共線,該新樣點無效,重新進行采樣; [0022]若不小于,則所采集的新樣點有效,繼續(xù)采集下一個樣點。
[0023]優(yōu)選的是,所述的基于點特征直方圖的點云自動配準(zhǔn)方法,所述通過計算點特征 直方圖差異值獲取所述待配準(zhǔn)站點云數(shù)據(jù)經(jīng)過變換矩陣T變換后與所述基準(zhǔn)站點云數(shù)據(jù)的 配準(zhǔn)誤差包括:
[0024] 所述待配準(zhǔn)站點云數(shù)據(jù)Ρ經(jīng)過變換矩陣Τ變換后為Ρ',在所述基準(zhǔn)站點云數(shù)據(jù)Q中 查找所述待配準(zhǔn)站點云數(shù)據(jù)Ρ'中每個點對應(yīng)的最近鄰域點;
[0025] 根據(jù)獲取的點Pi對應(yīng)的最近鄰域點,提取出鄰域索引和鄰域間距離;
[0026]判斷鄰域間距離是否小于預(yù)定的鄰域點對距離閾值e ;
[0027] 若不小于,則繼續(xù)遍歷點云數(shù)據(jù)P'中下一個點進行鄰域間距離判斷;
[0028] 若小于,則計算點P,與其對應(yīng)的最近鄰域點形成的點對之間的快速直方圖差異平 方值總和err or,并統(tǒng)計至總誤差值SumErr or上,同時累計滿足預(yù)定的鄰域點對距離閾值e 的點對個數(shù)nr;
[0029] 判斷nr是否大于零,若大于零,返回配準(zhǔn)的點特征中誤_
若 不大于零,則返回配準(zhǔn)的分值為無窮大。
[0030] 優(yōu)選的是,所述的基于點特征直方圖的點云自動配準(zhǔn)方法,所述計算所述基準(zhǔn)站 點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)的重疊區(qū)域點云數(shù)據(jù)包括:
[0031] 分別計算所述待配準(zhǔn)站點云數(shù)據(jù)P和所述基準(zhǔn)站點云數(shù)據(jù)Q的點云包圍盒;
[0032] 對所述基準(zhǔn)站點云數(shù)據(jù)Q進行空間網(wǎng)格線性劃分;
[0033] 遍歷所述待配準(zhǔn)站點云數(shù)據(jù)P中的每個點P,,并計算每個點^對應(yīng)的網(wǎng)格線性編碼 值;
[0034]在所述基準(zhǔn)站點云數(shù)據(jù)Q的空間網(wǎng)格中查找是否存在與該待配準(zhǔn)站點云數(shù)據(jù)中點 Pi的網(wǎng)格線性編碼值對應(yīng)的空間網(wǎng)格;
[0035] 若不存在,則繼續(xù)遍歷待配準(zhǔn)站點云數(shù)據(jù)P中的點;
[0036] 若存在,則對所述待配準(zhǔn)站點云數(shù)據(jù)中點索引進行存儲,且標(biāo)記所述待配準(zhǔn) 站點云數(shù)據(jù)中點網(wǎng)格線性編碼值對應(yīng)所述基準(zhǔn)站點云數(shù)據(jù)Q中的空間網(wǎng)格為重疊網(wǎng) 格;
[0037]根據(jù)存儲的所述待配準(zhǔn)站點云數(shù)據(jù)中點Pi的索引,以及所述基準(zhǔn)站點云數(shù)據(jù)Q中 重疊的空間網(wǎng)格,得到所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)的重疊區(qū)域點云數(shù) 據(jù)。
[0038]優(yōu)選的是,所述的基于點特征直方圖的點云自動配準(zhǔn)方法,所述通過迭代最近點 算法獲得精細(xì)配準(zhǔn)矩陣包括下列步驟:
[0039]步驟一、得到所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)的重疊區(qū)域點云數(shù)據(jù) 后,根據(jù)獲取的重疊區(qū)域點云數(shù)據(jù)執(zhí)行迭代最近點算法,得到配準(zhǔn)矩陣T1;
[0040] 步驟二、將配準(zhǔn)矩陣應(yīng)用至經(jīng)過初始配準(zhǔn)后的所述待配準(zhǔn)站點云數(shù)據(jù)Ρ'上,即 P/i = P/ i-i*Ti;
[0041] 步驟三、循環(huán)執(zhí)行步驟一至步驟二,達(dá)到迭代循環(huán)次數(shù)N,其中,N> = 2;
[0042] 步驟四、計算所述待配準(zhǔn)站點云數(shù)據(jù)P'經(jīng)過配準(zhǔn)矩陣配準(zhǔn)后與所述基準(zhǔn)站點云 數(shù)據(jù)的配準(zhǔn)誤差ε;
[0043] 步驟五、判斷配準(zhǔn)誤差ε是否小于等于點云采樣分辨率的0.5倍范圍內(nèi),
[0044] 若不滿足,則使迭代循環(huán)次數(shù)Ν加1;
[0045] 若滿足,則輸出精細(xì)配準(zhǔn)矩陣:ΤζΤΑ?^. . .Τη。
[0046]優(yōu)選的是,所述的基于點特征直方圖的點云自動配準(zhǔn)方法,在所述待配準(zhǔn)站點云 數(shù)據(jù)的初始配準(zhǔn)階段和精細(xì)配準(zhǔn)階段,均采用開放運算語言并行加速模塊進行加速。
[0047]優(yōu)選的是,所述的基于點特征直方圖的點云自動配準(zhǔn)方法,所述待配準(zhǔn)站點云數(shù) 據(jù)初始配準(zhǔn)階段的開放運算語言并行加速模塊包括:點云鄰域搜索模塊、點特征直方圖計 算模塊以及初始配準(zhǔn)迭代過程模塊。
[0048]優(yōu)選的是,所述的基于點特征直方圖的點云自動配準(zhǔn)方法,所述待配準(zhǔn)站點云數(shù) 據(jù)初始配準(zhǔn)階段的開放運算語言并行加速過程包括:
[0049]中央處理器將去噪后的所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)發(fā)送至圖 形處理器并存儲至全局內(nèi)存中;
[0050] 中央處理器創(chuàng)建基準(zhǔn)站點云鄰域搜索KD-tree并發(fā)送至圖形處理器中,點云鄰域 并行搜索和計算所述基準(zhǔn)站點云表面和所述待配準(zhǔn)站點云表面的法線同時執(zhí)行;
[0051] 并行計算所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)的點特征簡易直方圖;
[0052] 并行計算所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)的點特征快速直方圖; [0053]并行執(zhí)行初始配準(zhǔn)迭代過程;
[0054]圖形處理器將初始配準(zhǔn)迭代過程中獲取的變換矩陣及配準(zhǔn)誤差發(fā)送至中央處理 器中,篩選出配準(zhǔn)誤差最小時對應(yīng)的變換矩陣Tmin。
[0055]優(yōu)選的是,所述的基于點特征直方圖的點云自動配準(zhǔn)方法,所述待配準(zhǔn)站點云數(shù) 據(jù)精細(xì)配準(zhǔn)階段的開放運算語言并行加速模塊包括:每次迭代的鄰域搜索模塊、最小二乘 估計變換矩陣模塊以及點云矩陣變換模塊。
[0056]優(yōu)選的是,所述的基于點特征直方圖的點云自動配準(zhǔn)方法,所述待配準(zhǔn)站點云數(shù) 據(jù)精細(xì)配準(zhǔn)階段的開放運算語言并行加速過程包括:
[0057]中央處理器將初始配準(zhǔn)后的基準(zhǔn)站點云數(shù)據(jù)和待配準(zhǔn)站點云數(shù)據(jù)發(fā)送至圖形處 理器并存儲至全局內(nèi)存中;
[0058]中央處理器創(chuàng)建基準(zhǔn)站點云鄰域搜索KD-tree并發(fā)送至圖形處理器中,進行鄰域 并行搜索;
[0059]對變換矩陣變量G、h并行填充,并發(fā)送矩陣G、h至中央處理器中,進行楚列斯基分 解法求解變換矩陣T_i ;
[0060] 中央處理器發(fā)送變換矩陣T_i至圖形處理器中進行點云矩陣變換并行計算,同時 累乘精細(xì)配準(zhǔn)矩陣
[0061] 其中,
[0062]
[0063]本發(fā)明至少包括以下有益效果:首先在點云數(shù)據(jù)初始配準(zhǔn)階段采用了基于點特征 直方圖的采樣一致性初始配準(zhǔn)算法(SAC-IA),并對該算法的不足之處,從算法準(zhǔn)確度和效 率角度提出了改進,算法在點云數(shù)據(jù)初始配準(zhǔn)階段提出了兩項改進,一是在算法中加入了 采樣點幾何形狀約束以保證采樣點不共線,二是通過計算點特征直方圖差異代替了歐式距 離差異改進了配準(zhǔn)誤差評定方法,從而保證了算法的準(zhǔn)確性,避免了局部最小解問題;附加 了同名點對三角網(wǎng)是否近似全等判斷條件,避免了大部分不符合條件點對的迭代計算,從 而提高了算法的整體效率。在點云數(shù)據(jù)精細(xì)配準(zhǔn)階段通過計算所述基準(zhǔn)站點云數(shù)據(jù)和所述 待配準(zhǔn)站點云數(shù)據(jù)的重疊區(qū)域點云數(shù)據(jù),并通過迭代最近點算法獲得精細(xì)配準(zhǔn)矩陣,從而 進行所述待配準(zhǔn)站點云數(shù)據(jù)的精細(xì)配準(zhǔn),避免了現(xiàn)有算法不能應(yīng)對點云重疊度較小的點云 數(shù)據(jù)配準(zhǔn)情況。在初始配準(zhǔn)階段和精細(xì)配準(zhǔn)階段,均采用開放運算語言(Open Computing Language,簡稱OpenCL)并行加速算法進行加速,從而在整體上很大程度地提高了算法效 率,使得算法足以完成海量點云實時性配準(zhǔn)工作。
【附圖說明】
[0064] 圖1為本發(fā)明所述的基于點特征直方圖的點云自動配準(zhǔn)方法的流程示意圖;
[0065] 圖2為本發(fā)明所述的基于點特征直方圖的點云自動配準(zhǔn)方法的初始配準(zhǔn)階段的流 程不意圖;
[0066] 圖3為本發(fā)明所述的基于點特征直方圖的點云自動配準(zhǔn)方法的精細(xì)配準(zhǔn)階段的流 程不意圖;
[0067]圖4為點對三角網(wǎng)近似全等示意圖;
[0068]圖5為點云數(shù)據(jù)空間網(wǎng)格劃分效果圖;
[0069] 圖6為基于重疊區(qū)域的精細(xì)配準(zhǔn)算法迭代效果圖;
[0070] 圖7為點云數(shù)據(jù)初始配準(zhǔn)并行加速流程示意圖;
[0071 ]圖8為點云數(shù)據(jù)精細(xì)配準(zhǔn)并行加速流程示意圖;
[0072]圖9(a)為對故宮云龍大石雕掃描的兩站去噪后原始數(shù)據(jù)視圖;
[0073]圖9(b)為對故宮云龍大石雕掃描的兩站原始點云數(shù)據(jù)物理疊合效果圖;
[0074]圖9(c)為對故宮云龍大石雕掃描的兩站點云數(shù)據(jù)自動配準(zhǔn)后的點云疊加效果圖;
[0075] 圖10(a)為對一高校掃描的兩站去燥后原始數(shù)據(jù)視圖;
[0076] 圖10(b)為對一高校掃描的兩站原始點云數(shù)據(jù)物理疊合效果圖;
[0077] 圖10(c)為對一高校掃描的兩站點云數(shù)據(jù)自動配準(zhǔn)后的點云疊加效果圖;
[0078] 圖11(a)為對一塊地形掃描的兩站去燥后原始數(shù)據(jù)視圖;
[0079] 圖11(b)為對一塊地形掃描的兩站原始點云數(shù)據(jù)物理疊合效果圖;
[0080] 圖11(C)為對一塊地形掃描的兩站點云數(shù)據(jù)自動配準(zhǔn)后的點云疊加效果圖;
[0081] 圖12(a)為對一棵樹掃描的兩站去燥后原始數(shù)據(jù)視圖;
[0082]圖12(b)為對一棵樹掃描的兩站原始點云數(shù)據(jù)物理疊合效果圖;
[0083]圖12(c)為對一棵樹掃描的兩站點云數(shù)據(jù)自動配準(zhǔn)后的點云疊加效果圖。
【具體實施方式】
[0084]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它 實施例,都屬于本發(fā)明保護的范圍。
[0085]為使本發(fā)明技術(shù)方案的優(yōu)點更加清楚,下面結(jié)合附圖和實施例對本發(fā)明作詳細(xì)說 明。
[0086] 如圖1,圖2所示,本發(fā)明實施例提供的基于點特征直方圖的點云自動配準(zhǔn)方法,包 括下列步驟:
[0087] S01、對被測物體進行多站采集獲取該被測物體表面的整體點云數(shù)據(jù),確定基準(zhǔn)站 和待配準(zhǔn)站,其中,基準(zhǔn)站和待配準(zhǔn)站為相鄰的兩站;
[0088]需要說明的是:對被測物體進行多站采集,一般將第一站作為基準(zhǔn)站,但是具體將 哪一站作為基準(zhǔn)站,本發(fā)明并不做具體限定。待配準(zhǔn)站和基準(zhǔn)站為相鄰的兩站,如果將第一 站作為基準(zhǔn)站,一般將相鄰的第二站作為待配準(zhǔn)站,當(dāng)將第二站和第一站進行點云數(shù)據(jù)配 準(zhǔn)后,第二站的點云數(shù)據(jù)和第一站的點云數(shù)據(jù)位于統(tǒng)一的三維空間直角坐標(biāo)系中,這時將 統(tǒng)一后的第一站和第二站作為基準(zhǔn)站,將和第二站相鄰的第三站作為待配準(zhǔn)站。最后將采 集的所有站點云數(shù)據(jù)都配準(zhǔn)至統(tǒng)一的三維空間直角坐標(biāo)系中。
[0089] S02、從所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)中均隨機選取m個采樣點, 均使所選取的m個采樣點中的任意三個點都不共線,且每兩個采樣點之間的距離均滿足距 離約束原則,其中,m> = 3;
[0090] 其中,如圖2所示,在所述步驟S02之前,還包括步驟:
[0091] A、對所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)進行預(yù)處理;其中,對所述基 準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)進行預(yù)處理,主要是對點云數(shù)據(jù)進行去噪處理。 [0092] B、計算所述基準(zhǔn)站點云表面和所述待配準(zhǔn)站點云表面的法線。
[0093] C、計算所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)的點特征快速直方圖。
[0094]其中,步驟S02的過程具體為:
[0095] S021、對所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)進行采樣時,當(dāng)采集一個 新樣點時,判斷所選取的新樣點與已有的采樣點是否滿足距離約束原則;
[0096] S022、若不滿足,則新樣點無效,繼續(xù)進行采集,
[0097] S023、若滿足,則繼續(xù)判斷所選取的新樣點與已有采樣點構(gòu)建的直線的垂直距離 是否小于預(yù)設(shè)閾值e diSt;
[0098] S024、若小于,則所采集的新樣點與已有的采樣點共線,該新樣點無效,重新進行 米樣;
[0099] S025、若不小于,則所采集的新樣點有效,繼續(xù)采集下一個樣點。
[0100]例如:在進行SAC-IA算法的采樣點時,依次在待配準(zhǔn)站點云中依據(jù)距離約束原則 采樣點,當(dāng)采樣到第二個點時,由已有的兩個采樣點PI、P2構(gòu)建成一條直線L;繼續(xù)在待配準(zhǔn) 站點云中采集點,每采樣一個新的樣點P new,就開始首先判斷與已有樣點的距離是否滿足距 離約束原則,進而再判斷該點到構(gòu)建的直線L的垂直距離是否小于預(yù)設(shè)閾值£<^,如果小 于則代表與已有樣點共線,該樣點無效,需重新篩選,否則該樣點有效,繼續(xù)采樣下一個點, 直到采集樣點的個數(shù)達(dá)到要求個數(shù)。
[0101] 其中,預(yù)設(shè)閾值edlst,一般設(shè)置為點云采樣分辨率值的若干倍,例如3到5倍之間。
[0102] S03、對所述待配準(zhǔn)站采樣點集和所述基準(zhǔn)站采樣點集進行同名點對的對應(yīng)匹配, 使所述基準(zhǔn)站采樣點集和所述待配準(zhǔn)站采樣點集形成的同名點對三角網(wǎng)近似全等;
[0103] 需要說明的是:對所述待配準(zhǔn)站采樣點集和所述基準(zhǔn)站采樣點集進行同名點對的 對應(yīng)匹配,是利用SAC-IA算法尋找同名點對,同名點對搜索完成后,分別依照順序?qū)⒒鶞?zhǔn)站 點云數(shù)據(jù)Q,待配準(zhǔn)站點云數(shù)據(jù)P中各自的m個采樣點每三個點構(gòu)成一個三角形,然后各自組 成一個三角網(wǎng)形式。依次判斷所有組兩站點對的對應(yīng)三角形是否近似全等,如果都近似全 等則繼續(xù)SAC-IA算法的矩陣求解步驟,否則SAC-IA算法執(zhí)行返回到采樣點步驟。
[0104]例如:當(dāng)采樣點m = 3時,判斷單個三角形是否近似全等,m>3時則判斷三角網(wǎng)是否 近似全等。兩站點云對應(yīng)的采樣點組成的三角網(wǎng)如圖4所示。
[0105] S04、估計所述待配準(zhǔn)站點云數(shù)據(jù)的變換矩陣T,通過計算點特征直方圖差異值獲 取所述待配準(zhǔn)站點云數(shù)據(jù)經(jīng)過變換矩陣T變換后與所述基準(zhǔn)站點云數(shù)據(jù)的配準(zhǔn)誤差;
[0106] 其中,獲取配準(zhǔn)誤差的具體過程為:
[0107] S041、所述待配準(zhǔn)站點云數(shù)據(jù)P經(jīng)過變換矩陣T變換后為P',在所述基準(zhǔn)站點云數(shù) 據(jù)Q中查找所述待配準(zhǔn)站點云數(shù)據(jù)P'中每個點對應(yīng)的最近鄰域點;
[0108] S042、根據(jù)獲取的點Pi對應(yīng)的最近鄰域點,提取出鄰域索引index和鄰域間距離 dist;
[0109] S043、判斷鄰域間距離dist是否小于預(yù)定的鄰域點對距離閾值e;
[0110] S044、若不小于,則繼續(xù)遍歷點云數(shù)據(jù)P'中下一個點進行鄰域間距離判斷;
[0111] S045、若小于,則計算點Pi與其對應(yīng)的最近鄰域點形成的點對之間的快速直方圖 差異平方值總和error,并統(tǒng)計至總誤差值SumError上,即:SumError = SumError+error,同 時累計滿足預(yù)定的鄰域點對距離閾值e的點對個數(shù)nr,即:nr = nr+1;
[0112] S046、判斷nr是否大于零,若大于零,返回配準(zhǔn)的點特征中誤差
若不大于零,則返回配準(zhǔn)的分值為無窮大。
[0113] S05、循環(huán)執(zhí)行步驟S02至S04,對所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)進 行多次采樣,從多次采樣獲取的配準(zhǔn)誤差中篩選出配準(zhǔn)誤差值最小時對應(yīng)的變換矩陣Tmin, 進行所述待配準(zhǔn)站點云數(shù)據(jù)的初始配準(zhǔn);
[0114]其中,循環(huán)執(zhí)行步驟S02至S04,也就是循環(huán)執(zhí)行一個迭代過程,用來獲取配準(zhǔn)誤 差,提高了配準(zhǔn)的準(zhǔn)確性。
[0115] S06、計算所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)的重疊區(qū)域點云數(shù)據(jù),并 通過迭代最近點算法獲得精細(xì)配準(zhǔn)矩陣,進行所述待配準(zhǔn)站點云數(shù)據(jù)的精細(xì)配準(zhǔn)。
[0116]其中,如圖3所示,所述計算所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)的重疊 區(qū)域點云數(shù)據(jù)包括下列步驟:
[0117]步驟一、分別計算所述待配準(zhǔn)站點云數(shù)據(jù)P和所述基準(zhǔn)站點云數(shù)據(jù)Q的點云包圍 盒;
[0118] 步驟二、對所述基準(zhǔn)站點云數(shù)據(jù)Q進行空間網(wǎng)格線性劃分;
[0119] 步驟三、遍歷所述待配準(zhǔn)站點云數(shù)據(jù)P中的每個點Pi,并計算每個APi對應(yīng)的網(wǎng)格 線性編碼值;
[0120] 步驟四、在所述基準(zhǔn)站點云數(shù)據(jù)Q的空間網(wǎng)格中查找是否存在與該待配準(zhǔn)站點云 數(shù)據(jù)中點Pi的網(wǎng)格線性編碼值對應(yīng)的空間網(wǎng)格;
[0121] 步驟五、若不存在,則執(zhí)行步驟三繼續(xù)遍歷待配準(zhǔn)站點云數(shù)據(jù)P中的點;
[0122] 步驟六、若存在,則對所述待配準(zhǔn)站點云數(shù)據(jù)中點索引進行存儲,存儲至 vIndeX_P*,且標(biāo)記所述待配準(zhǔn)站點云數(shù)據(jù)中APi的網(wǎng)格線性編碼值對應(yīng)的空間網(wǎng)格為重 置網(wǎng)格;
[0123] 步驟七、根據(jù)存儲的所述待配準(zhǔn)站點云數(shù)據(jù)中點Pi的索引,以及所述基準(zhǔn)站點云 數(shù)據(jù)Q中重疊的空間網(wǎng)格,得到所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)的重疊區(qū)域 點云數(shù)據(jù),將重疊區(qū)域點云數(shù)據(jù)存儲
[0124] 具體的點云空間網(wǎng)格劃分效果如圖5(a)(b)所示,圖5(b)為最終的重疊部分網(wǎng)格 篩選結(jié)果。
[0125] 其中,所述通過迭代最近點算法獲得精細(xì)配準(zhǔn)矩陣包括下列步驟:
[0126] 步驟一、得到所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)的重疊區(qū)域點云數(shù)據(jù) 后,根據(jù)獲取的重疊區(qū)域點云數(shù)據(jù)執(zhí)行迭代最近點算法,得到配準(zhǔn)矩陣T 1;
[0127] 步驟二、將配準(zhǔn)矩陣應(yīng)用至經(jīng)過初始配準(zhǔn)后的所述待配準(zhǔn)站點云數(shù)據(jù)Ρ'上,即 P/i = P/ i-i*Ti;
[0128] 步驟三、循環(huán)執(zhí)行步驟一至步驟二,達(dá)到迭代循環(huán)次數(shù)N,其中,N> = 2;
[0129] 步驟四、計算所述待配準(zhǔn)站點云數(shù)據(jù)P'經(jīng)過配準(zhǔn)矩陣配準(zhǔn)后與所述基準(zhǔn)站點云 數(shù)據(jù)的配準(zhǔn)誤差ε;
[0130] 步驟五、判斷配準(zhǔn)誤差ε是否小于等于點云采樣分辨率的0.5倍范圍內(nèi),
[0131 ]若不滿足,則使迭代循環(huán)次數(shù)Ν加1;
[0132] 若滿足,則輸出精細(xì)配準(zhǔn)矩陣:ΤιΤΑ?^. . .Τη。
[0133] 其中,算法的迭代收斂條件是采用迭代次數(shù)收斂,一般情況下迭代最大次數(shù)N設(shè)置 為2或者3即可。具體的算法迭代效果如圖6所示。
[0134] 進一步的,在所述待配準(zhǔn)站點云數(shù)據(jù)的初始配準(zhǔn)階段和精細(xì)配準(zhǔn)階段,均采用開 放運算語言并行加速模塊進行加速。
[0135] 其中,開放運算語言為OpenCL。
[0136] 其中,所述待配準(zhǔn)站點云數(shù)據(jù)初始配準(zhǔn)階段的開放運算語言并行加速模塊包括: 點云鄰域搜索模塊、點特征直方圖計算模塊以及初始配準(zhǔn)迭代過程模塊。
[0137] 如圖7所示,所述待配準(zhǔn)站點云數(shù)據(jù)初始配準(zhǔn)階段的開放運算語言并行加速過程 包括:
[0138] 中央處理器將去噪后的所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)發(fā)送至圖 形處理器并存儲至全局內(nèi)存中;
[0139] 中央處理器創(chuàng)建基準(zhǔn)站點云鄰域搜索KD-tree并發(fā)送至圖形處理器中,點云鄰域 并行搜索和計算所述基準(zhǔn)站點云表面和所述待配準(zhǔn)站點云表面的法線同時執(zhí)行;
[0140]并行計算所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)的點特征簡易直方圖; [0141]并行計算所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)的點特征快速直方圖;
[0142] 并行執(zhí)行初始配準(zhǔn)迭代過程;
[0143] 圖形處理器將初始配準(zhǔn)迭代過程中獲取的變換矩陣及配準(zhǔn)誤差發(fā)送至中央處理 器中,篩選出配準(zhǔn)誤差最小時對應(yīng)的變換矩陣Tmin。
[0144] 其中,中央處理器為CPU,圖形處理器為GPU。
[0145] 其中,所述待配準(zhǔn)站點云數(shù)據(jù)精細(xì)配準(zhǔn)階段的開放運算語言并行加速模塊包括: 每次迭代的鄰域搜索模塊、最小二乘估計變換矩陣模塊以及點云矩陣變換模塊。
[0146] 如圖8所示,所述待配準(zhǔn)站點云數(shù)據(jù)精細(xì)配準(zhǔn)階段的開放運算語言并行加速過程 包括:
[0147] 中央處理器將初始配準(zhǔn)后的基準(zhǔn)站點云數(shù)據(jù)和待配準(zhǔn)站點云數(shù)據(jù)發(fā)送至圖形處 理器并存儲至全局內(nèi)存中;
[0148] 中央處理器創(chuàng)建基準(zhǔn)站點云鄰域搜索KD-tree并發(fā)送至圖形處理器中,進行鄰域 并行搜索;
[0149] 對變換矩陣變量G、h并行填充,并發(fā)送矩陣G、h至中央處理器中,進行楚列斯基分 解法求解變換矩陣T_i ;
[0150] 中央處理器發(fā)送變換矩陣T_i至圖形處理器中進行點云矩陣變換并行計算,同時 累乘精細(xì)配準(zhǔn)矩陣
[0151] 其中,
[0152]
[0153] 為了驗證本發(fā)明實施例的廣泛適用性,本發(fā)明實施例準(zhǔn)備了三組實驗,分別對應(yīng) 不同種類的點云數(shù)據(jù)。針對配準(zhǔn)的應(yīng)用,實際數(shù)據(jù)主要分為三大類:線特征明顯點云、面特 征明顯點云以及無明顯特征點云。其中線特征明顯點云指的是點云的上線性特征比較明 顯、線性輪廓較為突出,如:石雕文物等等;面特征明顯點云指的是點云中有很多突出的平 面特征,如:城市建筑物等等;無明顯點特征點云指的是點云中沒有任何突出的線、面等特 征,如:地形、樹木等等。因此本發(fā)明實施例在實際實驗前準(zhǔn)備了以上三種種類數(shù)據(jù),實際采 集點云三維激光掃描設(shè)備為RIEGL VZ1000,具體數(shù)據(jù)分別為:故宮云龍大石雕點云數(shù)據(jù)、某 高??蒲袠屈c云數(shù)據(jù)、某塊地形數(shù)據(jù)、單棵樹木點云。針對每類數(shù)據(jù),均采取兩站掃描,兩站 間點云重疊度控制在15%-20%左右。各種不同類型點云數(shù)據(jù)配準(zhǔn)實驗如下:
[0154] (1)線特征明顯點云自動配準(zhǔn)實驗
[0?55]故宮云龍大石雕掃描兩站數(shù)據(jù)數(shù)量分別為:2,637,262、3,779,241,點云米樣分辨 率為1.0_,通過實際算法驗證,本發(fā)明實施例的算法以及并行加速后的算法均能完成兩站 點云自動配準(zhǔn)過程,如圖9(a)(b)(c)(d)所示。圖(a)透明區(qū)域分別代表兩站點云重疊區(qū)域。
[0156] 并行加速前后,平均運行時間對比如下表:
[0157] 表格1故宮云龍大石雕點云配準(zhǔn)運行時間消耗對比
[0158]
[0159]其中,需要說明的是,本發(fā)明實施例原始算法是在初始配準(zhǔn)階段和精細(xì)配準(zhǔn)階段 沒有采用并行加速時的算法。
[0160] (2)面特征明顯點云自動配準(zhǔn)實驗
[0161] 某高校掃描兩站數(shù)據(jù)數(shù)量分別為:36,074,395、34,973,429,點云采樣分辨率為 5.0mm,通過實際算法驗證,本發(fā)明實施例原始算法以及并行加速后算法均能完成兩站點云 自動配準(zhǔn)過程,如圖l〇(a)(b)(c)所示,圖(a)透明區(qū)域分別代表兩站點云主要重疊區(qū)域。
[0162] 算法并行前后,平均運行時間對比如下表:
[0163] 表格2某高??蒲袠屈c云配準(zhǔn)運行時間消耗對比
[0164]
[0165] (3)無明顯特征點云自動配準(zhǔn)實驗
[0166] 1、某塊地形掃描兩站數(shù)據(jù)數(shù)量分別為:1,507,694、1,154,906,點云米樣分辨率為 10.0mm,通過實際算法驗證,本發(fā)明實施例原始算法以及并行加速后算法均能完成兩站點 云自動配準(zhǔn)過程,如圖ll(a)(b)(c)(d)所示,(a)圖透明區(qū)域即代表兩站大致重疊區(qū)域。
[0167] 算法并行前后,平均運行時間對比如下表:
[0168] 表格3某塊地形點云配準(zhǔn)運行時間消耗對比
[0169]
[0170] 2、某單棵樹木掃描兩站數(shù)據(jù)數(shù)量分別為:1,507,694、1,154,906,點云米樣分辨率 為6.0mm,通過實際算法驗證,本發(fā)明實施例算法以及并行加速后算法均能完成兩站點云自 動配準(zhǔn)過程,如圖12(a)(b)(c)(d)所示。
[0171 ]表格4某單棵樹木點云配準(zhǔn)運行時間消耗對比
[0172]
[0173] 通過上述配準(zhǔn)實驗可知,本發(fā)明實施例的算法能夠很好應(yīng)用于不同類型的點云數(shù) 據(jù),具有較廣的適用性,且每次實驗的配準(zhǔn)中誤差均在點云采樣分辨率的0.5倍以下,滿足 配準(zhǔn)中誤差要求。且通過不同類型點云配準(zhǔn)運行時間消耗的對比可發(fā)現(xiàn),通過并行加速優(yōu) 化后,點云自動配準(zhǔn)算法效率提高了大約8倍左右。
[0174] 盡管本發(fā)明的實施方案已公開如上,但其并不僅僅限于說明書和實施方式中所列 運用,它完全可以被適用于各種適合本發(fā)明的領(lǐng)域,對于熟悉本領(lǐng)域的人員而言,可容易地 實現(xiàn)另外的修改,因此在不背離權(quán)利要求及等同范圍所限定的一般概念下,本發(fā)明并不限 于特定的細(xì)節(jié)和這里示出與描述的圖例。
【主權(quán)項】
1. 一種基于點特征直方圖的點云自動配準(zhǔn)方法,其特征在于,包括: 對被測物體進行多站采集獲取該被測物體表面的整體點云數(shù)據(jù),確定基準(zhǔn)站和待配準(zhǔn) 站,其中,基準(zhǔn)站和待配準(zhǔn)站為相鄰的兩站; 從所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)中均隨機選取m個采樣點,均使所選 取的m個采樣點中的任意Ξ個點都不共線,且每兩個采樣點之間的距離均滿足距離約束原 貝1J,其中,m〉= 3; 對所述待配準(zhǔn)站采樣點集和所述基準(zhǔn)站采樣點集進行同名點對的對應(yīng)匹配,使所述基 準(zhǔn)站采樣點集和所述待配準(zhǔn)站采樣點集形成的同名點對Ξ角網(wǎng)近似全等; 獲取所述待配準(zhǔn)站點云數(shù)據(jù)的變換矩陣T,通過計算點特征直方圖差異值獲取所述待 配準(zhǔn)站點云數(shù)據(jù)經(jīng)過變換矩陣T變換后與所述基準(zhǔn)站點云數(shù)據(jù)的配準(zhǔn)誤差; 對所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)均進行多次采樣,從多次采樣獲取的 配準(zhǔn)誤差中篩選出配準(zhǔn)誤差值最小時對應(yīng)的變換矩陣Tmin,進行點云數(shù)據(jù)的初始配準(zhǔn); 計算所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)的重疊區(qū)域點云數(shù)據(jù),并通過迭代 最近點算法獲得精細(xì)配準(zhǔn)矩陣,進行點云數(shù)據(jù)的精細(xì)配準(zhǔn)。2. 如權(quán)利要求1所述的基于點特征直方圖的點云自動配準(zhǔn)方法,其特征在于,從所述基 準(zhǔn)站點云數(shù)據(jù)中和所述待配準(zhǔn)站點云數(shù)據(jù)中均隨機選取m個采樣點之前還包括: 對所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)進行預(yù)處理; 計算所述基準(zhǔn)站點云表面和所述待配準(zhǔn)站點云表面的法線; 計算所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)的點特征快速直方圖。3. 如權(quán)利要求1所述的基于點特征直方圖的點云自動配準(zhǔn)方法,其特征在于,從所述基 準(zhǔn)站點云數(shù)據(jù)中和所述待配準(zhǔn)站點云數(shù)據(jù)中均隨機選取m個采樣點具體包括: 對所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)進行采樣時,當(dāng)采集一個新樣點時, 判斷所選取的新樣點與已有的采樣點是否滿足距離約束原則; 若不滿足,則新樣點無效,繼續(xù)進行采集,若滿足,則繼續(xù)判斷所選取的新樣點與已有 采樣點構(gòu)建的直線的垂直距離是否小于預(yù)設(shè)闊值edist; 若小于,則所采集的新樣點與已有的采樣點共線,該新樣點無效,重新進行采樣; 若不小于,則所采集的新樣點有效,繼續(xù)采集下一個樣點。4. 如權(quán)利要求2所述的基于點特征直方圖的點云自動配準(zhǔn)方法,其特征在于,所述通過 計算點特征直方圖差異值獲取所述待配準(zhǔn)站點云數(shù)據(jù)經(jīng)過變換矩陣T變換后與所述基準(zhǔn)站 點云數(shù)據(jù)的配準(zhǔn)誤差包括: 所述待配準(zhǔn)站點云數(shù)據(jù)P經(jīng)過變換矩陣T變換后為P',在所述基準(zhǔn)站點云數(shù)據(jù)Q中查找 所述待配準(zhǔn)站點云數(shù)據(jù)P'中每個點對應(yīng)的最近鄰域點; 根據(jù)獲取的點Pi對應(yīng)的最近鄰域點,提取出鄰域索引和鄰域間距離; 判斷鄰域間距離是否小于預(yù)定的鄰域點對距離闊值e ; 若不小于,則繼續(xù)遍歷點云數(shù)據(jù)P'中下一個點進行鄰域間距離判斷; 若小于,則計算點Pi與其對應(yīng)的最近鄰域點形成的點對之間的快速直方圖差異平方值 總和error,并統(tǒng)計至總誤差值SumError上,同時累計滿足預(yù)定的鄰域點對距離闊值e的點 對個數(shù)nr; 判斷nr是否大于零,若大于零,返回配準(zhǔn)的點特征中誤差若不大 于零,則返回配準(zhǔn)的分值為無窮大。5. 如權(quán)利要求1所述的基于點特征直方圖的點云自動配準(zhǔn)方法,其特征在于,所述計算 所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)的重疊區(qū)域點云數(shù)據(jù)包括: 分別計算所述待配準(zhǔn)站點云數(shù)據(jù)P和所述基準(zhǔn)站點云數(shù)據(jù)Q的點云包圍盒; 對所述基準(zhǔn)站點云數(shù)據(jù)Q進行空間網(wǎng)格線性劃分; 遍歷所述待配準(zhǔn)站點云數(shù)據(jù)P中的每個點Pi,并計算每個點Pi對應(yīng)的網(wǎng)格線性編碼值; 在所述基準(zhǔn)站點云數(shù)據(jù)Q的空間網(wǎng)格中查找是否存在與該待配準(zhǔn)站點云數(shù)據(jù)中點Pi的 網(wǎng)格線性編碼值對應(yīng)的空間網(wǎng)格; 若不存在,則繼續(xù)遍歷待配準(zhǔn)站點云數(shù)據(jù)P中的點; 若存在,則對所述待配準(zhǔn)站點云數(shù)據(jù)中點Pi的索引進行存儲,且標(biāo)記所述待配準(zhǔn)站點云 數(shù)據(jù)中點Pi的網(wǎng)格線性編碼值對應(yīng)所述基準(zhǔn)站點云數(shù)據(jù)Q中的空間網(wǎng)格為重疊網(wǎng)格; 根據(jù)存儲的所述待配準(zhǔn)站點云數(shù)據(jù)中點Pi的索引,W及所述基準(zhǔn)站點云數(shù)據(jù)Q中重疊的 空間網(wǎng)格,得到所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)的重疊區(qū)域點云數(shù)據(jù)。6. 如權(quán)利要求5所述的基于點特征直方圖的點云自動配準(zhǔn)方法,其特征在于,所述通過 迭代最近點算法獲得精細(xì)配準(zhǔn)矩陣包括下列步驟: 步驟一、得到所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)的重疊區(qū)域點云數(shù)據(jù)后, 根據(jù)獲取的重疊區(qū)域點云數(shù)據(jù)執(zhí)行迭代最近點算法,得到配準(zhǔn)矩陣Τι ; 步驟二、將配準(zhǔn)矩陣Τι應(yīng)用至經(jīng)過初始配準(zhǔn)后的所述待配準(zhǔn)站點云數(shù)據(jù)Ρ '上,即Ρ ' 1 = P'i-i*Ti; 步驟Ξ、循環(huán)執(zhí)行步驟一至步驟二,達(dá)到迭代循環(huán)次數(shù)N,其中,N〉= 2; 步驟四、計算所述待配準(zhǔn)站點云數(shù)據(jù)P'經(jīng)過配準(zhǔn)矩陣Τι配準(zhǔn)后與所述基準(zhǔn)站點云數(shù)據(jù) 的配準(zhǔn)誤差ε; 步驟五、判斷配準(zhǔn)誤差ε是否小于等于點云采樣分辨率的0.5倍范圍內(nèi), 若不滿足,則使迭代循環(huán)次數(shù)Ν加1; 若滿足,則輸出精細(xì)配準(zhǔn)矩陣:Τ = Τ?*Τ2*. . .Τη。7. 如權(quán)利要求4所述的基于點特征直方圖的點云自動配準(zhǔn)方法,其特征在于,在所述待 配準(zhǔn)站點云數(shù)據(jù)的初始配準(zhǔn)階段和精細(xì)配準(zhǔn)階段,均采用開放運算語言并行加速模塊進行 加速。8. 如權(quán)利要求7所述的基于點特征直方圖的點云自動配準(zhǔn)方法,其特征在于,所述待配 準(zhǔn)站點云數(shù)據(jù)初始配準(zhǔn)階段的開放運算語言并行加速模塊包括:點云鄰域捜索模塊、點特 征直方圖計算模塊W及初始配準(zhǔn)迭代過程模塊。9. 如權(quán)利要求8所述的基于點特征直方圖的點云自動配準(zhǔn)方法,其特征在于,所述待配 準(zhǔn)站點云數(shù)據(jù)初始配準(zhǔn)階段的開放運算語言并行加速過程包括: 中央處理器將去噪后的所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)發(fā)送至圖形處 理器并存儲至全局內(nèi)存中; 中央處理器創(chuàng)建基準(zhǔn)站點云鄰域捜索KD-tree并發(fā)送至圖形處理器中,點云鄰域并行 捜索和計算所述基準(zhǔn)站點云表面和所述待配準(zhǔn)站點云表面的法線同時執(zhí)行; 并行計算所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)的點特征簡易直方圖; 并行計算所述基準(zhǔn)站點云數(shù)據(jù)和所述待配準(zhǔn)站點云數(shù)據(jù)的點特征快速直方圖; 并行執(zhí)行初始配準(zhǔn)迭代過程; 圖形處理器將初始配準(zhǔn)迭代過程中獲取的變換矩陣及配準(zhǔn)誤差發(fā)送至中央處理器中, 篩選出配準(zhǔn)誤差最小時對應(yīng)的變換矩陣Tmin。 10 .如權(quán)利要求7所述的基于點特征直方圖的點云自動配準(zhǔn)方法,其特征在于,所述待 配準(zhǔn)站點云數(shù)據(jù)精細(xì)配準(zhǔn)階段的開放運算語言并行加速模塊包括:每次迭代的鄰域捜索模 塊、最小二乘估計變換矩陣模塊W及點云矩陣變換模塊。11.如權(quán)利要求10所述的基于點特征直方圖的點云自動配準(zhǔn)方法,其特征在于,所述待 配準(zhǔn)站點云數(shù)據(jù)精細(xì)配準(zhǔn)階段的開放運算語言并行加速過程包括: 中央處理器將初始配準(zhǔn)后的基準(zhǔn)站點云數(shù)據(jù)和待配準(zhǔn)站點云數(shù)據(jù)發(fā)送至圖形處理器 并存儲至全局內(nèi)存中; 中央處理器創(chuàng)建基準(zhǔn)站點云鄰域捜索KD-tree并發(fā)送至圖形處理器中,進行鄰域并行 捜索; 對變換矩陣變量G、h并行填充,并發(fā)送矩陣G、h至中央處理器中,進行楚列斯基分解法 求解變換矩陣T_i; 中央處理器發(fā)送變換矩陣T_i至圖形處理器中進行點云矩陣變換并行計算,同時累乘 精細(xì)配準(zhǔn)矩陣 其中,
【文檔編號】G06T5/40GK105976312SQ201610371302
【公開日】2016年9月28日
【申請日】2016年5月30日
【發(fā)明人】黃明, 丁鶴松, 賈軍輝
【申請人】北京建筑大學(xué)