本發(fā)明涉及點云數(shù)據(jù)處理技術(shù),具體涉及一種基于法向量相似性的條狀點云拼接方法。
背景技術(shù):
1、點云拼接是點云數(shù)據(jù)處理的關(guān)鍵一步,是將來自不同視角的多個點云數(shù)據(jù)對齊并融合為一個整體模型的過程,在3d重建、機器人導(dǎo)航和自動駕駛等領(lǐng)域具有重要的應(yīng)用價值。由于三維數(shù)據(jù)采集設(shè)備的測量范圍有限,當對大型物體或大型場景進行三維數(shù)據(jù)采集時,同一時刻只能收集到該區(qū)域的一部分數(shù)據(jù)集合,而非一個完整的集合。因此為了獲得完整的三維數(shù)據(jù),需要多次掃描大型物體或場景,然后將掃描數(shù)據(jù)進行拼接。
2、點云拼接是一種將多個點云數(shù)據(jù)集合合并成一個整體的方法,現(xiàn)有的點云拼接方法面臨如下挑戰(zhàn):
3、一、點云數(shù)據(jù)通常來自激光雷達、深度相機等設(shè)備,可能包含噪聲、遮擋和缺失數(shù)據(jù),這些問題會影響拼接的精度和可靠性。
4、二、點云的初始對齊對于拼接效果至關(guān)重要,沒有良好的初始變換矩陣,后續(xù)精細配準算法(如icp)很難收斂到正確的位置。icp作為傳統(tǒng)點云拼接過程中的常用算法,其對初始變換較為敏感,如果初始位置偏差較大,則icp容易陷入局部最優(yōu)。此外,icp對噪聲和異常值較為敏感,需要對點云數(shù)據(jù)進行預(yù)處理去噪,因此,增加了拼接的難度。
5、三、點云通常包含大量數(shù)據(jù)點,處理和對齊這些點需要較高計算資源和時間,即計算復(fù)雜度高,計算成本也較高,在實時應(yīng)用中,這種計算復(fù)雜度是一種巨大的挑戰(zhàn)。
6、四、對于多個點云的拼接,如何進行全局優(yōu)化以避免累積誤差是一個難題,因為局部對齊誤差可能在全局范圍內(nèi)放大,導(dǎo)致最終結(jié)果失真。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的在于解決傳統(tǒng)點云拼接方法的精度和可靠性無法保證、拼接過程較為復(fù)雜,且計算成本較高等技術(shù)問題,而提供一種基于法向量相似性的條狀點云拼接方法。
2、為了實現(xiàn)上述目的,本發(fā)明所提供的技術(shù)解決方案如下:
3、一種基于法向量相似性的條狀點云拼接方法,其特殊之處在于,包括以下步驟:
4、步驟【1】獲取原始點云數(shù)據(jù)
5、通過旋轉(zhuǎn)相機分別獲取相鄰的兩組圖像,再采用激光中心線提取和平面標定的方式獲取與該兩組圖像對應(yīng)的相鄰兩組原始點云數(shù)據(jù);所述相鄰兩組原始點云數(shù)據(jù)之間存在重疊部分,重疊部分的點云根據(jù)相機旋轉(zhuǎn)角度這一先驗信息獲得;
6、步驟【2】提取特征點
7、使用主成分分析法分別獲取每組原始點云重疊部分數(shù)據(jù)中每個點的法向量,再根據(jù)法向量相似性方法提取出重疊部分的特征點,進而得到相鄰兩組原始點云數(shù)據(jù)重疊部分的對應(yīng)的特征點集合;
8、步驟【3】計算初始變換
9、定義步驟【2】得到的兩組特征點集合的其中一組為參考點云,另一組為目標點云,再采用主成分分析法,計算得到目標點云的初始變換;所述初始變換包括初始旋轉(zhuǎn)矩陣和初始平移向量;
10、步驟【4】點云配準
11、建立目標點云和參考點云之間的函數(shù)關(guān)系式,并基于步驟【2】得到的每個點的法向量以及步驟【3】得到的初始變換進行點云配準,從而得到該目標點云對應(yīng)的原始點云數(shù)據(jù)的最優(yōu)剛體變換;所述最優(yōu)剛體變換包括最優(yōu)旋轉(zhuǎn)矩陣和最優(yōu)平移向量;
12、步驟【5】點云拼接
13、依據(jù)步驟【4】得到的原始點云數(shù)據(jù)的最優(yōu)剛體變換,完成相鄰兩組原始點云數(shù)據(jù)重疊部分的對齊,從而實現(xiàn)點云拼接。
14、進一步地,還包括步驟【6】n組點云的拼接
15、對于n組點云的拼接融合,n≥3且為正整數(shù),按照步驟【1】至步驟【5】的方式,首先將第n組原始點云數(shù)據(jù)與第n-1組原始點云數(shù)據(jù)進行拼接,然后將拼接結(jié)果再與第n-2組原始點云數(shù)據(jù)進行拼接,按此順序直至完成與第1組原始點云數(shù)據(jù)的拼接,從而實現(xiàn)所有點云的拼接融合。
16、進一步地,步驟【2】具體為:
17、2.1、選取任一組原始點云數(shù)據(jù),取該點云數(shù)據(jù)重疊部分中的任一點及其鄰域點組成點集,并通過計算得到該點集的質(zhì)心;
18、2.2、將所述點集中的所有點平移,使其質(zhì)心位于原點;
19、2.3、在步驟2.2的基礎(chǔ)上,計算得到所述點集的協(xié)方差矩陣;
20、2.4、對所述點集的協(xié)方差矩陣進行特征值分解,得到該點集的特征值集合及對應(yīng)的特征向量集合,進而得到步驟2.1所取任一點的法向量;所述特征向量集合中包括步驟2.1所取任一點對應(yīng)鄰域點的法向量;所述任一點的法向量是指特征值集合中的最小特征值對應(yīng)的特征向量;
21、2.5、按照步驟2.1至2.4的方式,分別獲取步驟2.1所選取的任一組原始點云數(shù)據(jù)重疊部分中其余每個點的法向量;
22、2.6、分別計算步驟2.4和步驟2.5得到的所有點的法向量與其對應(yīng)的每個鄰域點法向量之間的夾角余弦值,并定義夾角余弦值為每個點與其鄰域點的相似度;
23、2.7、計算步驟2.6所得相似度的均值,并將該均值作為閾值,提取出小于閾值的相似度所對應(yīng)的點,將該點作特征點,進而提取得到步驟2.1所述任一組原始點云數(shù)據(jù)重疊部分對應(yīng)的特征點集合;
24、2.8、按照步驟2.1至2.7的方式,提取得到另一組原始點云數(shù)據(jù)重疊部分對應(yīng)的特征點集合。
25、進一步地,步驟【3】具體為:
26、3.1、定義步驟2.7得到的兩組特征點集合的其中一組為參考點云,另一組為目標點云,假設(shè)參考點云和目標點云按照各自的排列順序呈一一對應(yīng)的關(guān)系,則分別計算獲取參考點云和目標點云的質(zhì)心;
27、3.2、將參考點云和目標點云中的所有點平移,分別使其質(zhì)心位于原點;
28、3.3、在步驟3.2的基礎(chǔ)上,計算得到參考點云和目標點云的協(xié)方差矩陣;
29、3.4、對步驟3.3所述協(xié)方差矩陣進行特征值分解,分別得到參考點云和目標點云對應(yīng)的特征向量矩陣;
30、3.5、根據(jù)步驟3.4得到的特征向量矩陣,計算得到目標點云的初始旋轉(zhuǎn)矩陣;
31、3.6、通過步驟3.1獲取的質(zhì)心,以及步驟3.5得到的初始旋轉(zhuǎn)矩陣,計算得到目標點云的初始平移向量,進而完成初始變換。
32、進一步地,步驟【4】具體為:
33、4.1、建立目標點云和參考點云之間的函數(shù)關(guān)系式,并使用k近鄰搜索算法,在參考點云中搜索出與目標點云中的每個目標點相對應(yīng)的近鄰點,組成目標點云和參考點云之間的對應(yīng)點對;
34、4.2、根據(jù)上述對應(yīng)點對計算得到目標點云的最小化目標函數(shù);
35、4.3、基于步驟2.4和步驟2.5得到的所有點的法向量,以及步驟3.5得到的旋轉(zhuǎn)矩陣和步驟3.6得到的平移向量,根據(jù)步驟4.2的最小化目標函數(shù)計算出目標點云的最優(yōu)剛體變換,從而得到該目標點云對應(yīng)的原始點云數(shù)據(jù)重疊部分的最優(yōu)剛體變換。
36、進一步地,步驟4.3具體為:
37、4.3.1、基于步驟2.4和步驟2.5得到的所有點的法向量,以及步驟3.5得到的旋轉(zhuǎn)矩陣和步驟3.6得到的平移向量,對目標點云中的每個點,在參考點云中搜索滿足步驟4.2所述最小化目標函數(shù)的近鄰點,并建立目標點云和參考點云之間新的對應(yīng)關(guān)系;
38、4.3.2、根據(jù)新的對應(yīng)關(guān)系,按照步驟3.1至3.6的方法重新計算目標點云的旋轉(zhuǎn)矩陣和平移向量;
39、4.3.3、分別設(shè)置誤差閾值和迭代次數(shù)閾值,將目標點云和參考點云按照步驟4.3.1至4.3.2的方式進行迭代計算,直至配準誤差小于誤差閾值,或者迭代次數(shù)達到迭代最高次數(shù)閾值,則迭代結(jié)束,得到目標點云的最優(yōu)剛體變換,從而得到該目標點云對應(yīng)原始點云數(shù)據(jù)重疊部分的最優(yōu)剛體變換。
40、進一步地,步驟4.1中,k近鄰搜索算法搜索出的對應(yīng)點對是指兩點之間距離最小且兩點之間的法向量相似性最大的特征點對。
41、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果如下:
42、1、本發(fā)明通過相機旋轉(zhuǎn)角度這一先驗信息獲得有重疊部分的相鄰兩組原始點云數(shù)據(jù),再針對重疊部分的點云數(shù)據(jù)采用主成分分析法依次計算法向量提取出特征點、計算獲得良好的點云初始變換,之后再進行點云配準及拼接,基于該方法有效地降低了計算成本;同時因僅對重疊部分進行拼接,從而有效地降低了拼接的復(fù)雜度。
43、2、本發(fā)明在初始變換的基礎(chǔ)上,建立目標點云和參考點云之間的函數(shù)關(guān)系式,并使用k近鄰搜索算法搜索出對應(yīng)點對,最后再基于最小化目標函數(shù),通過迭代優(yōu)化點云之間的距離來對齊點云,提高了配準的準確性,進而提高了拼接的精度及可靠性。
44、3、本發(fā)明還可應(yīng)用于多組點云的拼接,采用從最后一組數(shù)據(jù)依次與前一組數(shù)據(jù)進行對齊的方式實現(xiàn)拼接,整體拼接效率及拼接精度較高。