RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

三維點(diǎn)云配準(zhǔn)過(guò)程詳解:算法原理及推導(dǎo)

INDEMIND ? 來(lái)源:INDEMIND ? 2023-09-21 17:20 ? 次閱讀

本文將對(duì)三維點(diǎn)云配準(zhǔn)過(guò)程中的算法原理及必要推導(dǎo)流程進(jìn)行詳解。

01點(diǎn)云配準(zhǔn)過(guò)程

就是求一個(gè)兩個(gè)點(diǎn)云之間的旋轉(zhuǎn)平移矩陣(rigid transform or euclidean transform 剛性變換或歐式變換),將源點(diǎn)云(source cloud)變換到目標(biāo)點(diǎn)云(target cloud)相同的坐標(biāo)系下。

可以表示為以下的方程:

ff1577f0-585d-11ee-939d-92fbcf53809c.svg

其中ff20ca7e-585d-11ee-939d-92fbcf53809c.svgff33185a-585d-11ee-939d-92fbcf53809c.svg就是target cloud與source cloud中的一對(duì)對(duì)應(yīng)點(diǎn)。

而我們要求的就是其中的R與T旋轉(zhuǎn)平移矩陣。

這里,我們并不知道兩個(gè)點(diǎn)集中點(diǎn)的對(duì)應(yīng)關(guān)系。這也就是配準(zhǔn)的核心問(wèn)題。

02

配準(zhǔn)分為粗配準(zhǔn)與精配準(zhǔn)兩步

粗配準(zhǔn)就是再兩個(gè)點(diǎn)云還差得十萬(wàn)八千里、完全不清楚兩個(gè)點(diǎn)云的相對(duì)位置關(guān)系的情況下,找到一個(gè)這兩個(gè)點(diǎn)云近似的旋轉(zhuǎn)平移矩陣(不一定很精確,但是已經(jīng)大概是對(duì)的了)。

精配準(zhǔn)就是在已知一個(gè)旋轉(zhuǎn)平移的初值的情況下(這個(gè)初值大概已經(jīng)是正確的了),進(jìn)一步計(jì)算得到更加精確的旋轉(zhuǎn)平移矩陣。

這里從精配準(zhǔn)開(kāi)始講起。

精配準(zhǔn)的模式基本上已經(jīng)固定為使用ICP算法及其各種變種。ICP算法由Besl and McKay 1992, Method for registration of 3-D shapes文章提出。

文中提到的算法不僅僅考慮了點(diǎn)集與點(diǎn)集之間的配準(zhǔn),還有點(diǎn)集到模型、模型到模型的配準(zhǔn)等。

簡(jiǎn)要介紹一下點(diǎn)集到點(diǎn)集ICP配準(zhǔn)的算法:

1) ICP算法核心是最小化一個(gè)目標(biāo)函數(shù):

ff3c6b3a-585d-11ee-939d-92fbcf53809c.svg

(這里的表述與原文略微有些不同,原文是用四元數(shù)加上一個(gè)偏移向量來(lái)表達(dá)旋轉(zhuǎn)平移變換。)

ff4b1b62-585d-11ee-939d-92fbcf53809c.svg就是一對(duì)對(duì)應(yīng)點(diǎn),總共有ff5b3b64-585d-11ee-939d-92fbcf53809c.svg對(duì)對(duì)應(yīng)點(diǎn)。這個(gè)目標(biāo)函數(shù)實(shí)際上就是所有對(duì)應(yīng)點(diǎn)之間的歐式距離的平方和。

2) 尋找對(duì)應(yīng)點(diǎn)

可是,我們現(xiàn)在并不知道有哪些對(duì)應(yīng)點(diǎn)。因此,我們?cè)谟谐踔档那闆r下,假設(shè)用初始的旋轉(zhuǎn)平移矩陣對(duì)source cloud進(jìn)行變換,得到的一個(gè)變換后的點(diǎn)云。

然后將這個(gè)變換后的點(diǎn)云與target cloud進(jìn)行比較,只要兩個(gè)點(diǎn)云中存在距離小于一定閾值(這就是題主所說(shuō)的ICP中的一個(gè)參數(shù)),我們就認(rèn)為這兩個(gè)點(diǎn)就是對(duì)應(yīng)點(diǎn)。這也是"最鄰近點(diǎn)"這個(gè)說(shuō)法的來(lái)源。

3) R、T優(yōu)化

有了對(duì)應(yīng)點(diǎn)之后,我們就可以用對(duì)應(yīng)點(diǎn)對(duì)旋轉(zhuǎn)R與平移T進(jìn)行估計(jì)。這里R和T中只有6個(gè)自由度,而我們的對(duì)應(yīng)點(diǎn)數(shù)量是龐大的(存在多余觀測(cè)值)。因此,我們可以采用最小二乘等方法求解最優(yōu)的旋轉(zhuǎn)平移矩陣。一個(gè)數(shù)值優(yōu)化問(wèn)題,這里就不詳細(xì)講了。

4) 迭代

我們優(yōu)化得到了一個(gè)新的R與T,導(dǎo)致了一些點(diǎn)轉(zhuǎn)換后的位置發(fā)生變化,一些最鄰近點(diǎn)對(duì)也相應(yīng)的發(fā)生了變化。

因此,我們又回到了步驟2)中的尋找最鄰近點(diǎn)方法。2)3)步驟不停迭代進(jìn)行,直到滿足一些迭代終止條件,如R、T的變化量小于一定值,或者上述目標(biāo)函數(shù)的變化小于一定值,或者鄰近點(diǎn)對(duì)不再變化等。(這里也是題主所說(shuō)的ICP算法中的一個(gè)參數(shù))

算法大致流程就是上面這樣。這里的優(yōu)化過(guò)程是一個(gè)貪心的策略。首先固定R跟T利用最鄰近算法找到最優(yōu)的點(diǎn)對(duì),然后固定最優(yōu)的點(diǎn)對(duì)來(lái)優(yōu)化R和T,依次反復(fù)迭代進(jìn)行。

這兩個(gè)步驟都使得目標(biāo)函數(shù)值下降,所以ICP算法總是收斂的,這也就是原文中收斂性的證明過(guò)程。這種優(yōu)化思想與K均值聚類的優(yōu)化思想非常相似,固定類中心優(yōu)化每個(gè)點(diǎn)的類別,固定每個(gè)點(diǎn)的類別優(yōu)化類中心。

關(guān)于參數(shù)的選擇:

ICP算法的參數(shù)主要有兩個(gè)。一個(gè)是ICP的鄰近距離,另外一個(gè)是迭代的終止條件。這些參數(shù)的選擇,與實(shí)際的工程應(yīng)用相關(guān)。比如說(shuō)你的儀器精度是5mm,那么小于5mm是可以認(rèn)為是對(duì)應(yīng)點(diǎn),而最終的迭代終止條件也就是匹配點(diǎn)之間平均距離小于5mm。

而且這些參數(shù)可以由算法逐步迭代減小,最初使用較大的對(duì)應(yīng)點(diǎn)距離參數(shù),然后逐步減小到一個(gè)較小的值。(實(shí)際過(guò)程中這樣操作會(huì)比較合適。)需要手動(dòng)調(diào)整一些參數(shù)。(這跟機(jī)器學(xué)習(xí)調(diào)參比起來(lái),簡(jiǎn)直不是事~)

03

粗配準(zhǔn)

前面介紹到了,ICP算法的基本原理。它需要一個(gè)旋轉(zhuǎn)平移矩陣的初值。這個(gè)初值如果不太正確,那么由于它的greedy優(yōu)化的策略,會(huì)使其目標(biāo)函數(shù)下降到某一個(gè)局部最優(yōu)點(diǎn)(當(dāng)然也是一個(gè)錯(cuò)誤的旋轉(zhuǎn)平移矩陣)。因此,我們需要找到一個(gè)比較準(zhǔn)確的初值,這也就是粗配準(zhǔn)需要做的。

粗配準(zhǔn)目前來(lái)說(shuō)還是一個(gè)難點(diǎn)。針對(duì)于不同的數(shù)據(jù),有許多不同的方法被提出。


我們先介紹配準(zhǔn)的評(píng)價(jià)標(biāo)準(zhǔn),再在這個(gè)標(biāo)準(zhǔn)下提出一些搜索策略。

評(píng)價(jià)標(biāo)準(zhǔn):比較通用的一個(gè)是LCP(Largetst Common Pointset)。給定兩個(gè)點(diǎn)集P,Q,找到一個(gè)變換T(P),使得變換后的P與Q的重疊度最大。在變換后的P內(nèi)任意一點(diǎn),如果在容差范圍內(nèi)有另外一個(gè)Q的點(diǎn),則認(rèn)為該點(diǎn)是重合點(diǎn)。重合點(diǎn)占所有點(diǎn)數(shù)量的比例就是重疊度。

解決上述LCP問(wèn)題,最簡(jiǎn)單粗暴的方法就是遍歷。假設(shè)點(diǎn)集P,Q的大小分別為m,n。而找到一個(gè)剛體變換需要3對(duì)對(duì)應(yīng)點(diǎn)。

那么brute force 搜索的需要ff6db4b0-585d-11ee-939d-92fbcf53809c.svg的復(fù)雜度。對(duì)于動(dòng)輒幾百萬(wàn)個(gè)點(diǎn)的點(diǎn)云,這種時(shí)間復(fù)雜度是不可接受的。

因此,許多搜索策略被提出。比較容易想到的是RANSAC之類的搜索方法。而對(duì)于不同的場(chǎng)景特點(diǎn),可以利用需配準(zhǔn)點(diǎn)云的特定信息加快搜索。(例如知道點(diǎn)云是由特定形狀的面構(gòu)成的)這里先介紹一個(gè)適用于各種點(diǎn)云,不需要先驗(yàn)信息的搜索策略,稱為4PC(4 Point Congruent)。

搜索策略:4PC搜索策略是在P,Q中找到四個(gè)共面的對(duì)應(yīng)點(diǎn)。

ff78f06e-585d-11ee-939d-92fbcf53809c.jpg

如上圖所示(來(lái)自4PC原文),這四個(gè)共面的點(diǎn)相交于e。這里有兩個(gè)比例在剛體變化下是不變的。(實(shí)際上在仿射變換下也是不變的)

ff8b4c46-585d-11ee-939d-92fbcf53809c.svgff9a16a4-585d-11ee-939d-92fbcf53809c.svg

而4PC將對(duì)于三個(gè)點(diǎn)的搜索轉(zhuǎn)換為對(duì)e,e'的搜索,從而將復(fù)雜度降低到了ffaa3c32-585d-11ee-939d-92fbcf53809c.svg

這四個(gè)點(diǎn)的距離越遠(yuǎn),計(jì)算得到的轉(zhuǎn)換越穩(wěn)健。但是這里的四個(gè)點(diǎn)的搜索依賴于兩個(gè)點(diǎn)云的重疊度。

具體的算法可以參考4-Points Congruent Sets for Robust Pairwise Surface Registration的原文。

4PC算法通用性較好,但是對(duì)于重疊度較小、或是噪聲較大的數(shù)據(jù)也會(huì)出現(xiàn)配準(zhǔn)錯(cuò)誤或是運(yùn)行時(shí)間過(guò)長(zhǎng)的問(wèn)題。針對(duì)于不同的場(chǎng)景很多其他的搜索策略也被提出。

舉例說(shuō)明,對(duì)于室外地面站LiDAR獲取的點(diǎn)云配準(zhǔn)問(wèn)題。這種情形下,由于掃描儀內(nèi)有自動(dòng)安平裝置,Z軸都是豎直方向(重力方向),剛體變換只存在三維平移與平面(XoY面上的)旋轉(zhuǎn)。我們就在場(chǎng)景中搜索豎直的特征線并且得到它們與地面的交點(diǎn)。

ffb280c2-585d-11ee-939d-92fbcf53809c.jpg

再將這些交點(diǎn)構(gòu)建出三角形,以三角形的全等關(guān)系來(lái)得到匹配。

ffc78cec-585d-11ee-939d-92fbcf53809c.jpg

找出其中一致性最好的三角形集合,作為匹配的集合,進(jìn)行粗配準(zhǔn)。

這種方法適用于豎直線較多的場(chǎng)景,比如城區(qū)的建筑物的邊線、林區(qū)樹(shù)木的樹(shù)干等。設(shè)計(jì)的方法還是很巧妙的。當(dāng)然如果場(chǎng)景內(nèi)這種特征較少,就比較難以配準(zhǔn)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4607

    瀏覽量

    92828
  • 三維
    +關(guān)注

    關(guān)注

    1

    文章

    507

    瀏覽量

    28967
  • 點(diǎn)云
    +關(guān)注

    關(guān)注

    0

    文章

    58

    瀏覽量

    3789

原文標(biāo)題:干貨丨三維點(diǎn)云配準(zhǔn)過(guò)程詳解:算法原理及推導(dǎo)

文章出處:【微信號(hào):gh_c87a2bc99401,微信公眾號(hào):INDEMIND】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于深度學(xué)習(xí)的三維點(diǎn)準(zhǔn)方法

    基于深度學(xué)習(xí)的三維點(diǎn)準(zhǔn)方法成為研究的主流,并隨之誕生了DeepVCP、DGR、Predator等著名的方法。
    發(fā)表于 11-29 11:41 ?1817次閱讀

    多傳感器的極大似然準(zhǔn)算法研究

    數(shù)據(jù)準(zhǔn)是多傳感器數(shù)據(jù)融合的先期處理過(guò)程。在研究了傳統(tǒng)的最小二乘算法的基礎(chǔ)上, 提出了基于三維坐標(biāo)系中的極大似然
    發(fā)表于 07-10 09:14 ?11次下載

    基于二激光測(cè)距儀的三維模型準(zhǔn)研究

    在自主移動(dòng)機(jī)器人上安裝二激光測(cè)距儀和內(nèi)置室內(nèi)小型電機(jī)臺(tái)。將激光的平面信息和電機(jī)臺(tái)的高度信息結(jié)合構(gòu)建一個(gè)三維模型。通過(guò)RANSAC算法
    發(fā)表于 09-16 14:46 ?70次下載
    基于二<b class='flag-5'>維</b>激光測(cè)距儀的<b class='flag-5'>三維</b>模型<b class='flag-5'>配</b><b class='flag-5'>準(zhǔn)</b>研究

    一種快速的三維點(diǎn)自動(dòng)準(zhǔn)方法

    采用主成分分析方法(PCA)定義了簡(jiǎn)單的數(shù)學(xué)模型和軸向確定方法等來(lái)實(shí)現(xiàn)準(zhǔn)。大量實(shí)驗(yàn)證明,算法能夠快速實(shí)現(xiàn)任意形狀、大小及位置的兩片點(diǎn)
    發(fā)表于 09-23 17:59 ?25次下載

    三維顱骨自動(dòng)非剛性準(zhǔn)方法

    針對(duì)三維顱骨模型在初始姿態(tài)相差較大以及存在較多缺失情況下自動(dòng)準(zhǔn)困難的問(wèn)題,提出一種基于邊緣對(duì)應(yīng)的三維顱骨非剛性自動(dòng)
    發(fā)表于 12-09 10:23 ?0次下載

    基于平移域估計(jì)的點(diǎn)全局準(zhǔn)算法

    坐標(biāo)軸的包圍盒估計(jì)平移域范圍;其次利用改進(jìn)的全局ICP算法在估計(jì)出的平移域和[-,-3的旋轉(zhuǎn)域中進(jìn)行全局搜索準(zhǔn)。該算法可以根據(jù)待準(zhǔn)點(diǎn)
    發(fā)表于 12-18 13:50 ?0次下載
    基于平移域估計(jì)的<b class='flag-5'>點(diǎn)</b><b class='flag-5'>云</b>全局<b class='flag-5'>配</b><b class='flag-5'>準(zhǔn)</b><b class='flag-5'>算法</b>

    基于分層策略的三維非剛性模型準(zhǔn)算法

    三維非剛性模型分析中,通常需要對(duì)不同姿態(tài)下的模型進(jìn)行準(zhǔn)。針對(duì)傳統(tǒng)配準(zhǔn)算法存在復(fù)雜度高、計(jì)算量大、精確度低等問(wèn)題,提出一種新的基于分層策略
    發(fā)表于 01-23 14:50 ?3次下載
    基于分層策略的<b class='flag-5'>三維</b>非剛性模型<b class='flag-5'>配</b><b class='flag-5'>準(zhǔn)</b><b class='flag-5'>算法</b>

    使用PCL進(jìn)行點(diǎn)數(shù)據(jù)粗準(zhǔn)算法的研究資料分析

    傳統(tǒng)ICP算法精度受點(diǎn)初始位姿影響較大,收斂速度慢,不能滿足精細(xì)化點(diǎn)建模的要求?;诖藛?wèn)題,通過(guò)基于快速點(diǎn)特征直方圖的采樣一致性
    發(fā)表于 03-01 09:34 ?14次下載
    使用PCL進(jìn)行<b class='flag-5'>點(diǎn)</b><b class='flag-5'>云</b>數(shù)據(jù)粗<b class='flag-5'>配</b><b class='flag-5'>準(zhǔn)</b><b class='flag-5'>算法</b>的研究資料分析

    基于機(jī)械臂的車(chē)輛輪廓掃描定位及數(shù)據(jù)準(zhǔn)

    車(chē)輛輪廓的三維點(diǎn)模型在汽車(chē)智能化制造及過(guò)程中具有重要作用。為提高點(diǎn)
    發(fā)表于 05-26 15:56 ?6次下載

    點(diǎn)的概念以及與三維圖像的關(guān)系

    點(diǎn)概念 點(diǎn)三維圖像的關(guān)系:三維圖像是一種特殊的信息表達(dá)形式,其特征是表達(dá)的空間中
    的頭像 發(fā)表于 08-17 09:18 ?7252次閱讀
    <b class='flag-5'>點(diǎn)</b><b class='flag-5'>云</b>的概念以及與<b class='flag-5'>三維</b>圖像的關(guān)系

    三維點(diǎn)準(zhǔn)過(guò)程點(diǎn)集到點(diǎn)集ICP準(zhǔn)算法研究

    準(zhǔn)的模式基本上已經(jīng)固定為使用ICP算法及其各種變種。ICP算法由Besl and McKay 1992, Method for registration of 3-D shapes
    的頭像 發(fā)表于 11-28 16:12 ?1509次閱讀

    三維點(diǎn)準(zhǔn)的相關(guān)知識(shí)學(xué)習(xí)技巧

    點(diǎn)準(zhǔn)過(guò)程就是求一個(gè)兩個(gè)點(diǎn)之間的旋轉(zhuǎn)平移矩陣(r
    的頭像 發(fā)表于 12-02 09:40 ?1919次閱讀

    自動(dòng)駕駛領(lǐng)域點(diǎn)準(zhǔn)的工作原理與技術(shù)方法

    RANSAC算法被引入三維點(diǎn)準(zhǔn)領(lǐng)域,其本質(zhì)就是不斷的對(duì)源點(diǎn)
    發(fā)表于 03-24 09:58 ?755次閱讀

    基于深度學(xué)習(xí)的三維點(diǎn)準(zhǔn)新方法

    一、摘要 本文介紹了一種基于深度學(xué)習(xí)的三維點(diǎn)準(zhǔn)新方法。該架構(gòu)由個(gè)部分組成: (1)編碼器由
    的頭像 發(fā)表于 06-17 09:54 ?1382次閱讀
    基于深度學(xué)習(xí)的<b class='flag-5'>三維</b><b class='flag-5'>點(diǎn)</b><b class='flag-5'>云</b><b class='flag-5'>配</b><b class='flag-5'>準(zhǔn)</b>新方法

    三維點(diǎn)準(zhǔn)算法原理及推導(dǎo)

    準(zhǔn)就是再兩個(gè)點(diǎn)還差得十萬(wàn)八千里、完全不清楚兩個(gè)點(diǎn)的相對(duì)位置關(guān)系的情況下,找到一個(gè)這兩個(gè)
    的頭像 發(fā)表于 09-25 11:31 ?971次閱讀
    RM新时代网站-首页