點雲幀之間匹配( 拼接 註冊)及演算法

2021-10-09 01:38:31 字數 1458 閱讀 1644

在**中經常看到點雲註冊,他和我們經常說的點雲拼接,點雲配準其實是乙個意思,都是把不同位置的點雲通過重疊部分的資訊,變換到同乙個位置。下面我們就用註冊這個名詞來描述這個過程。

點雲註冊一般分為三類:粗註冊,精細註冊,全域性註冊。

粗註冊:

一般用於註冊兩個位置相差很大的點雲,比如兩幀位於相機座標系的點雲。粗註冊方法大致分為兩類:有標記點粗註冊和無標記點粗註冊。標記點可以是使用者手動標記的,也可以是物體掃瞄時貼的標記點。無標記點註冊更加方便一些,但是對於一些比較對稱或者重合部分很少的情況,可能會有一些失誤的。另外還有一些根據裝置的引數來計算粗註冊變換的方法。

精細註冊:

這裡一般指icp註冊方法。主要用於已經粗註冊好的點雲,需要提公升註冊精度的情況。icp可以加入標記點資訊。因為眾所周知,一些滑動情況會導致icp註冊失敗,但是如果資料本身有標記點的話,可以加入標記點資訊來提公升註冊的成功率。

全域性註冊:

逐幀註冊的點雲資料,往往有累積誤差。全域性註冊可以把累積誤差分散到每一幀中去,從而減少整體的註冊誤差。另外,有些時候所有點雲已經有了粗註冊了,可以應用全域性註冊一次性把所有點雲註冊好。如下圖所示。全域性註冊屬於點雲的精細註冊,點雲需要初始對齊好。它和icp註冊的區別在於,它是多個點雲同時註冊,點雲個數一般大於2。

參考文獻:

** 1.icp及其變種icp**

點雲註冊一般分為兩步,先是粗註冊,即將兩個點雲大致匹配在一起,在使用icp精細匹配,提公升註冊精度。

icp演算法總覽

下面先總的介紹一下icp演算法,之後再詳細介紹裡面的一些重要步驟。

演算法輸入是兩片有部分重疊的點雲a和b,並且已經初始註冊好了,輸出是icp註冊的剛體變換t:

對b進行點取樣,得到取樣點集s

在a中尋找取樣點集s的最近對應點,得到點對集合c

對c中的點雲進行加權處理,並刪掉一些不好的點對

應用目標能量來優化點對距離,得到剛體變換ti。ti對取樣點集進行剛體變換

迭代步驟2-4,直到目標能量優化停止。t=tn * … t1 * t0

具體細節見參考文獻。

參考文獻:

2.dnt

將空間劃分成各個格仔cell。

將參考點雲和目標點雲(變換之後)投票到各個格仔。

計算格仔的正態分佈概率密度函式引數、響應的概率分布函式、目標函式。

未完待續

** 3.特徵點**

根據曲率大小區分:角點、平面點等特徵

描述子:曲率

曲率參考:

多幀點雲資料拼接合併 點雲拼接註冊

點雲拼接,配準,註冊有什麼聯絡 點雲拼接,配準,註冊說的是同乙個概念,就是把不同位置的點雲通過重疊部分的資訊,變換到同乙個位置。下面我們就用註冊這個名詞來描述這個過程。註冊一般分為三類 粗註冊,精細註冊和全域性註冊。粗註冊 一般用於註冊兩個位置相差很大的點雲,比如兩幀位於相機座標系的點雲。粗註冊方法...

點雲資料批量,連續3幀或5幀疊加 拼接

環境 ubuntu 如果是windows系統,讀取檔案的 可參考 linux下的findfirst 在linux作業系統下,編譯器用findfirst 而不是 findfirst linux作業系統下的查詢檔案的操作,需要包含dirent.h標頭檔案.include include include ...

點雲匹配介紹與ICP演算法

點雲匹配 影象配準目的在於比較或融合。針對同一物件在不同條件下獲取的影象,因為雷射掃瞄光束受物體遮擋的原因,不可能通過一次掃瞄完成對整個物體的三維點雲的獲取。因此需要從不同的位置和角度對物體進行掃瞄。三維匹配的目的就是把相鄰掃瞄的點雲資料拼接在一起。三維匹配重點關注匹配演算法,常用的演算法有最近點迭...