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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

三維點云配準算法原理及推導

3D視覺工坊 ? 來源:3D視覺工坊 ? 2023-09-25 11:31 ? 次閱讀

??作者|劉緣

1點云配準過程 就是求一個兩個點云之間的旋轉平移矩陣(rigid transform or euclidean transform 剛性變換或歐式變換),將源點云(source cloud)變換到目標點云(target cloud)相同的坐標系下。 可以表示為以下的方程: 2cc73a20-5a2b-11ee-939d-92fbcf53809c.svg 其中2ccee338-5a2b-11ee-939d-92fbcf53809c.svg2cd5f128-5a2b-11ee-939d-92fbcf53809c.svg就是target cloud與source cloud中的一對對應點。 而我們要求的就是其中的R與T旋轉平移矩陣。 這里,我們并不知道兩個點集中點的對應關系。這也就是配準的核心問題。

2

配準分為粗配準與精配準兩步

粗配準就是再兩個點云還差得十萬八千里、完全不清楚兩個點云的相對位置關系的情況下,找到一個這兩個點云近似的旋轉平移矩陣(不一定很精確,但是已經大概是對的了)。 精配準就是在已知一個旋轉平移的初值的情況下(這個初值大概已經是正確的了),進一步計算得到更加精確的旋轉平移矩陣。 這里從精配準開始講起。 精配準的模式基本上已經固定為使用ICP算法及其各種變種。ICP算法由Besl and McKay 1992, Method for registration of 3-D shapes文章提出。 文中提到的算法不僅僅考慮了點集與點集之間的配準,還有點集到模型、模型到模型的配準等。 簡要介紹一下點集到點集ICP配準的算法:

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

2cdb7b48-5a2b-11ee-939d-92fbcf53809c.svg

(這里的表述與原文略微有些不同,原文是用四元數(shù)加上一個偏移向量來表達旋轉平移變換。)2ce41032-5a2b-11ee-939d-92fbcf53809c.svg就是一對對應點,總共有2ce77970-5a2b-11ee-939d-92fbcf53809c.svg對對應點。這個目標函數(shù)實際上就是所有對應點之間的歐式距離的平方和。

2) 尋找對應點 可是,我們現(xiàn)在并不知道有哪些對應點。因此,我們在有初值的情況下,假設用初始的旋轉平移矩陣對source cloud進行變換,得到的一個變換后的點云。 然后將這個變換后的點云與target cloud進行比較,只要兩個點云中存在距離小于一定閾值(這就是題主所說的ICP中的一個參數(shù)),我們就認為這兩個點就是對應點。這也是"最鄰近點"這個說法的來源。
3) R、T優(yōu)化 有了對應點之后,我們就可以用對應點對旋轉R與平移T進行估計。這里R和T中只有6個自由度,而我們的對應點數(shù)量是龐大的(存在多余觀測值)。因此,我們可以采用最小二乘等方法求解最優(yōu)的旋轉平移矩陣。一個數(shù)值優(yōu)化問題,這里就不詳細講了。

4) 迭代 我們優(yōu)化得到了一個新的R與T,導致了一些點轉換后的位置發(fā)生變化,一些最鄰近點對也相應的發(fā)生了變化。 因此,我們又回到了步驟2)中的尋找最鄰近點方法。2)3)步驟不停迭代進行,直到滿足一些迭代終止條件,如R、T的變化量小于一定值,或者上述目標函數(shù)的變化小于一定值,或者鄰近點對不再變化等。(這里也是題主所說的ICP算法中的一個參數(shù)) 算法大致流程就是上面這樣。這里的優(yōu)化過程是一個貪心的策略。首先固定R跟T利用最鄰近算法找到最優(yōu)的點對,然后固定最優(yōu)的點對來優(yōu)化R和T,依次反復迭代進行。 這兩個步驟都使得目標函數(shù)值下降,所以ICP算法總是收斂的,這也就是原文中收斂性的證明過程。這種優(yōu)化思想與K均值聚類的優(yōu)化思想非常相似,固定類中心優(yōu)化每個點的類別,固定每個點的類別優(yōu)化類中心。 關于參數(shù)的選擇: ICP算法的參數(shù)主要有兩個。一個是ICP的鄰近距離,另外一個是迭代的終止條件。這些參數(shù)的選擇,與實際的工程應用相關。比如說你的儀器精度是5mm,那么小于5mm是可以認為是對應點,而最終的迭代終止條件也就是匹配點之間平均距離小于5mm。 而且這些參數(shù)可以由算法逐步迭代減小,最初使用較大的對應點距離參數(shù),然后逐步減小到一個較小的值。(問過師兄才知道實際過程這樣操作會比較合適。)需要手動調整一些參數(shù)。(這跟機器學習調參比起來,簡直不是事~)

3

粗配準

前面介紹到了,ICP算法的基本原理。它需要一個旋轉平移矩陣的初值。這個初值如果不太正確,那么由于它的greedy優(yōu)化的策略,會使其目標函數(shù)下降到某一個局部最優(yōu)點(當然也是一個錯誤的旋轉平移矩陣)。因此,我們需要找到一個比較準確的初值,這也就是粗配準需要做的。 粗配準目前來說還是一個難點。針對于不同的數(shù)據(jù),有許多不同的方法被提出。

我們先介紹配準的評價標準,再在這個標準下提出一些搜索策略。 評價標準:比較通用的一個是LCP(Largetst Common Pointset)。給定兩個點集P,Q,找到一個變換T(P),使得變換后的P與Q的重疊度最大。在變換后的P內任意一點,如果在容差范圍內有另外一個Q的點,則認為該點是重合點。重合點占所有點數(shù)量的比例就是重疊度。 解決上述LCP問題,最簡單粗暴的方法就是遍歷。假設點集P,Q的大小分別為m,n。而找到一個剛體變換需要3對對應點。 那么brute force 搜索的需要2cf4d5de-5a2b-11ee-939d-92fbcf53809c.svg的復雜度。對于動輒幾百萬個點的點云,這種時間復雜度是不可接受的。 因此,許多搜索策略被提出。比較容易想到的是RANSAC之類的搜索方法。而對于不同的場景特點,可以利用需配準點云的特定信息加快搜索。(例如知道點云是由特定形狀的面構成的)這里先介紹一個適用于各種點云,不需要先驗信息的搜索策略,稱為4PC(4 Point Congruent)。 搜索策略:4PC搜索策略是在P,Q中找到四個共面的對應點。

2d01a084-5a2b-11ee-939d-92fbcf53809c.jpg

如上圖所示(來自4PC原文),這四個共面的點相交于e。這里有兩個比例在剛體變化下是不變的。(實際上在仿射變換下也是不變的) 2d0e205c-5a2b-11ee-939d-92fbcf53809c.svg2d174006-5a2b-11ee-939d-92fbcf53809c.svg 而4PC將對于三個點的搜索轉換為對e,e'的搜索,從而將復雜度降低到了2d1af8fe-5a2b-11ee-939d-92fbcf53809c.svg。 這四個點的距離越遠,計算得到的轉換越穩(wěn)健。但是這里的四個點的搜索依賴于兩個點云的重疊度。 具體的算法可以參考4-Points Congruent Sets for Robust Pairwise Surface Registration的原文。 4PC算法通用性較好,但是對于重疊度較小、或是噪聲較大的數(shù)據(jù)也會出現(xiàn)配準錯誤或是運行時間過長的問題。針對于不同的場景很多其他的搜索策略也被提出。 這里安利一下我?guī)熜值恼撐陌蓗Automatic registration of large-scale urban scene point clouds based on semantic feature points 我們課題組主要是研究室外地面站LiDAR獲取的點云配準問題。這種情形下,由于掃描儀內有自動安平裝置,Z軸都是豎直方向(重力方向),剛體變換只存在三維平移與平面(XoY面上的)旋轉。我們就在場景中搜索豎直的特征線并且得到它們與地面的交點。

2d21c12a-5a2b-11ee-939d-92fbcf53809c.jpg

再將這些交點構建出三角形,以三角形的全等關系來得到匹配。

2d2a1f46-5a2b-11ee-939d-92fbcf53809c.jpg

找出其中一致性最好的三角形集合,作為匹配的集合,進行粗配準。 這種方法適用于豎直線較多的場景,比如城區(qū)的建筑物的邊線、林區(qū)樹木的樹干等。設計的方法還是很巧妙的。當然如果場景內這種特征較少,就比較難以配準。

編輯:黃飛

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

    關注

    23

    文章

    4587

    瀏覽量

    92503
  • ICP
    ICP
    +關注

    關注

    0

    文章

    68

    瀏覽量

    12745

原文標題:三維點云配準過程詳解:算法原理及推導

文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于深度學習的三維方法

    基于深度學習的三維方法成為研究的主流,并隨之誕生了DeepVCP、DGR、Predator等著名的方法。
    發(fā)表于 11-29 11:41 ?1731次閱讀

    基于二激光測距儀的三維模型研究

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

    一種快速的三維自動方法

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

    三維顱骨自動非剛性方法

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

    基于平移域估計的全局算法

    針對迭代最近(ICP)算法需要兩幅具有良好的初始位置,否則易陷入局部最優(yōu)的問題,提出了一種基于平移域估計的
    發(fā)表于 12-18 13:50 ?0次下載
    基于平移域估計的<b class='flag-5'>點</b><b class='flag-5'>云</b>全局<b class='flag-5'>配</b><b class='flag-5'>準</b><b class='flag-5'>算法</b>

    基于分層策略的三維非剛性模型算法

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

    使用PCL進行數(shù)據(jù)粗算法的研究資料分析

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

    計算機視覺:三維數(shù)據(jù)處理學習內容總結

    。三維匹配的目的就是把相鄰掃描的數(shù)據(jù)拼接在一起。三維匹配重點關注匹配算法,常用的算法有最近
    的頭像 發(fā)表于 11-27 10:32 ?4788次閱讀

    基于機械臂的車輛輪廓掃描定位及數(shù)據(jù)

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

    的概念以及與三維圖像的關系

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

    三維過程及集到點集ICP算法研究

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

    三維的相關知識學習技巧

    過程就是求一個兩個之間的旋轉平移矩陣(rigid transform or eucl
    的頭像 發(fā)表于 12-02 09:40 ?1882次閱讀

    自動駕駛領域的工作原理與技術方法

    RANSAC算法被引入三維領域,其本質就是不斷的對源點
    發(fā)表于 03-24 09:58 ?713次閱讀

    基于深度學習的三維新方法

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

    三維過程詳解:算法原理及推導

    就是再兩個還差得十萬八千里、完全不清楚兩個的相對位置關系的情況下,找到一個這兩個
    的頭像 發(fā)表于 09-21 17:20 ?963次閱讀