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