点云配准1:配准基础及icp算法
目錄
- 點(diǎn)云配準(zhǔn)(point set registration)
- 點(diǎn)云配準(zhǔn)系列
- icp算法原理
- 算法優(yōu)缺點(diǎn)
- 算法原理
- 配準(zhǔn)實(shí)現(xiàn)
- 參考及感謝
- papers
- blogs
- 完
點(diǎn)云配準(zhǔn)(point set registration)
對于一個(gè)目標(biāo),諸如激光雷達(dá)掃描儀(LIDAR)、影像重建等往往不能一次獲得其整個(gè)的點(diǎn)云。例如激光雷達(dá)掃描儀需要從多個(gè)角度掃描才能得到一把椅子或者整個(gè)建筑的全部點(diǎn)云,而這些點(diǎn)云可能并不是處在同一坐標(biāo)系下的,存在著空間旋轉(zhuǎn)平移關(guān)系。只存在空間旋轉(zhuǎn)平移變換的配準(zhǔn)問題稱為剛體配準(zhǔn)(rigid registration),存在縮放、變形、仿射變換(scale、deformation、affine)的配準(zhǔn)問題稱為非剛體配準(zhǔn)(non-rigid registration)。顯然,非剛體配準(zhǔn)的難度大于剛體配準(zhǔn)。
剛體變換點(diǎn)云配準(zhǔn)的基本問題是尋找最優(yōu)的空間平移變換矩陣,使得兩點(diǎn)云能很好地配準(zhǔn)在一起。
另外,非同源數(shù)據(jù)點(diǎn)云的配準(zhǔn)也是一個(gè)研究點(diǎn)。例如可以對一個(gè)建筑進(jìn)行無人機(jī)影像三維重建(sfm是大家比較熟知的影像重建算法,常用成熟軟件有Pix4D,Smart3D等)獲取三維點(diǎn)云,并進(jìn)行地基激光雷達(dá)掃描。顯然對建筑頂面來說,影像重建的點(diǎn)云是優(yōu)于LIDAR點(diǎn)云的,而就得到的建筑側(cè)面的點(diǎn)云來說,LIDAR點(diǎn)云要優(yōu)于影像重建點(diǎn)云。這就涉及到影像點(diǎn)云與LIDAR點(diǎn)云配準(zhǔn)的問題,并且往往兩點(diǎn)云是部分重疊的。
Stanford Bunny配準(zhǔn)實(shí)例:后續(xù)將有此實(shí)例實(shí)現(xiàn)的詳細(xì)講解
點(diǎn)云配準(zhǔn)系列
點(diǎn)云配準(zhǔn)1:配準(zhǔn)基礎(chǔ)及icp算法
點(diǎn)云配準(zhǔn)2:icp算法在PCL1.10.0上的實(shí)現(xiàn)+源碼解析
點(diǎn)云配準(zhǔn)3:3d-ndt算法在pcl上的實(shí)現(xiàn)以及參數(shù)設(shè)置
點(diǎn)云配準(zhǔn)4:cloudcompare的使用以及點(diǎn)云配準(zhǔn)功能
點(diǎn)云配準(zhǔn)5:4pcs算法在pcl上的實(shí)現(xiàn)
點(diǎn)云配準(zhǔn)6:tricp算法在pcl上的實(shí)現(xiàn)
點(diǎn)云配準(zhǔn)論文閱讀筆記–Efficient Variants of the ICP Algorithm
點(diǎn)云配準(zhǔn)論文閱讀筆記–Comparing ICP variants on real-world data sets
點(diǎn)云配準(zhǔn)論文閱讀筆記–(4PCS)4-Points Congruent Sets for Robust Pairwise Surface Registration
點(diǎn)云配準(zhǔn)論文閱讀筆記–3d-dnt博士論文
icp算法原理
算法優(yōu)缺點(diǎn)
icp(Iterative Closest Point,迭代最近鄰點(diǎn))算法是點(diǎn)云配準(zhǔn)的經(jīng)典算法,精度高,不需要提取特征點(diǎn);但是需要在icp使用之前兩點(diǎn)云已經(jīng)完成粗配準(zhǔn),否則容易陷入局部最優(yōu);算法只適用于剛體配準(zhǔn);算法不適用于部分重疊點(diǎn)云的配準(zhǔn)。
算法原理
假設(shè)點(diǎn)云{Q}為目標(biāo)點(diǎn)云(參考點(diǎn)云),{P}為源點(diǎn)云(待配準(zhǔn)的點(diǎn)云),pi(i∈1,2,...N)p_i(i\in1,2,...N)pi?(i∈1,2,...N)是{S}中的一個(gè)點(diǎn),qiq_iqi?是{E}中與pip_ipi?距離最近的點(diǎn)。
我們需要計(jì)算從{P }到{Q }的RT變換矩陣,即旋轉(zhuǎn)矩陣R和平移矩陣T。如果變換參數(shù)是準(zhǔn)確的,那么點(diǎn)云{P }中的每一個(gè)點(diǎn)pip_ipi?,經(jīng)過變換后應(yīng)該與點(diǎn)云{Q}中的點(diǎn)qiq_iqi?完全重合,
即:qi=Rpi+Tq_i=Rp_i+Tqi?=Rpi?+T。但由于有噪聲的存在,不可能所有點(diǎn)都完全重合,所以我們定義目標(biāo)函數(shù):
使目標(biāo)函數(shù)最小的R,T即為所求變換參數(shù)。F其實(shí)就是參考點(diǎn)云{Q } 與 已經(jīng)進(jìn)行R,T矩陣空間變換的{P’} 之間的平均距離。
計(jì)算方法:
首先,對{P}中的每個(gè)點(diǎn)pip_ipi?,尋找其在{Q}中的最近點(diǎn)qiq_iqi?(利用kd樹最近鄰查找算法可實(shí)現(xiàn)),組成一一對應(yīng)的點(diǎn)對
計(jì)算兩組點(diǎn)云的質(zhì)心,分別記為up,uqu_p,u_qup?,uq?:
對兩組點(diǎn)云進(jìn)行去質(zhì)心,得到:
構(gòu)建矩陣H:
對H矩陣進(jìn)行SVD分解:
(SVD(奇異值分解)是一種常用的矩陣重要特征計(jì)算工具,我們只是借助它計(jì)算RT矩陣,在此暫不必深究)
得到R與T:
得到R,T矩陣以后,用其對待配準(zhǔn)空間進(jìn)行空間變換得到新的點(diǎn)集,并代入目標(biāo)函數(shù):
若如果新的變換點(diǎn)集與參考點(diǎn)集滿足兩點(diǎn)集的平均距離小于某一給定閾值,則停止迭代計(jì)算,否則新的變換點(diǎn)集作為新的{P_i }繼續(xù)迭代,直到達(dá)到目標(biāo)函數(shù)的要求。
總結(jié)ICP算法:
1、計(jì)算{P}中的每一個(gè)點(diǎn)在{Q}點(diǎn)集中的對應(yīng)近點(diǎn);
2、求得使上述對應(yīng)點(diǎn)對平均距離最小的剛體變換,求得平移參數(shù)和旋轉(zhuǎn)參數(shù);
3、對{P}使用上一步求得的平移和旋轉(zhuǎn)矩陣進(jìn)行空間變換,得到新的變換點(diǎn)集{P’};
4、如果新的變換點(diǎn)集與參考點(diǎn)集滿足兩點(diǎn)集的平均距離小于某一給定閾值,或者迭代次數(shù)達(dá)到設(shè)定的最大值,則停止迭代計(jì)算,否則新的變換點(diǎn)集作為新的{P}繼續(xù)迭代,直到達(dá)到目標(biāo)函數(shù)的要求。
在“Recent developments and trends in point set registration methods”中:
作者總結(jié)了最近鄰點(diǎn)查找選擇,點(diǎn)匹配,配對權(quán)重,離群點(diǎn)去除,誤差最小化是icp的主要問題,且學(xué)者們已經(jīng)做了大量的改進(jìn)。
點(diǎn)云濾和采樣方法:隨機(jī)、統(tǒng)一、法向空間、基于相關(guān)性的和約束對齊
在離群點(diǎn)去除階段,Tricp算法去除那些可能會(huì)影響最小化過程的點(diǎn)對。tricp作為icp的改進(jìn)算法,能夠?qū)Σ糠种丿B點(diǎn)云進(jìn)行配準(zhǔn)。
作者將icp算法過程總結(jié)如下:
(圖摘自Recent developments and trends in point set registration methods)
配準(zhǔn)實(shí)現(xiàn)
點(diǎn)云配準(zhǔn)二:icp算法在PCL1.10.0上的實(shí)現(xiàn)+源碼解析
參考及感謝
papers
Maiseli, Baraka, et al. “Recent Developments and Trends in Point Set Registration Methods.” Journal of Visual Communication and Image Representation, vol. 46, no. 46, 2017, pp. 95–106.
Paul J. Besl, Neil D. McKay. A method for registration of 3-D shapes[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1992. 14(2): 239-256.
上述文章下載:share_noel/papers
https://blog.csdn.net/qq_41102371/article/details/125646840
blogs
ICP算法(迭代最近點(diǎn)算法)詳細(xì)推導(dǎo)
特別推薦:利用SVD求得兩個(gè)對應(yīng)點(diǎn)集合的旋轉(zhuǎn)矩陣R和轉(zhuǎn)移矩陣t的數(shù)學(xué)推導(dǎo)
vs2019配置pcl1.10.0+點(diǎn)云可視化示例
完
邊學(xué)邊用,如有錯(cuò)漏,敬請指正
--------------------------------------------------------------------------------------------諾有缸的高飛鳥202011
--------------------------------------------------------------------------------------------更新于202012
總結(jié)
以上是生活随笔為你收集整理的点云配准1:配准基础及icp算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows 一些恶搞的bat小脚本
- 下一篇: librtmp读包阻塞问题修复