点云匹配和ICP算法概述
Iterative Closest Point (ICP) [1][2][3] is an algorithm employed to minimize the difference between two clouds of points.
点云匹配分类法(1)
Salvi, J. (2007). "A review of recent range image registration methods with accuracy evaluation." Image and Vision Computing 25(5): 578-596.
Mellado, N. and D. Aiger (2014). "SUPER 4PCS Fast Global Point cloud Registration via Smart Indexing."
点云匹配分类法(2)
Coarse to fine registration粗-精过程
粗配的目的:提供刚体变换初始估计
Salvi, J., et al. (2007).
改进ICP算法
Besl, P. J. and N. D. Mckay (1992). "A Method for Registration of 3-D Shapes." IEEE Transactions on Pattern Analysis and Machine Intelligence 14(2): 239-256.
Siegwart, R., et al. (2015). "A Review of Point Cloud Registration Algorithms for Mobile Robotics." Foundations and Trends in Robotics.
ICP算法求解
问题
解决方法
Bergström, P. and O. Edlund (2014). "Robust registration of point sets using iteratively reweighted least squares."
H. Pottmann, S. Leopoldseder, and M. Hofer. Simultaneous registration of multiple views of a 3D object. ISPRS Archives 34/3A (2002), 265-270.
Andreas Nüchter(2008).3D Robotic Mapping-The Simultaneous Localization and Mapping Problem with Six Degrees of Freedom
标准ICP
标准ICP算法是最早提出的基于点-点距离的算法,另外一种是基于点-面的算法,由chen提出,好多文献所说的恶Chen's Method。
标准的ICP算法需要粗配,满足距离足够近这一条件之后才能进行精确配准。
IDC
The idc algorithm does a point-to-point correspondence for calculating the scan alignment. The correspondence problem is solved by two heuristics: the closest point rule and the matching range rule. Furthermore, a formula is provided for calculating an error covariance matrix of the scan matching
Trimmed ICP
在每次迭代的过程中,根据距离残差排序,按照重叠率计算保留的点数。根据保留的点进行计算变换。该方法可以很好的处理部分重叠问题。CC中采用该方法实现,作者的原文还提到了一种自适应计算重叠率的方法。推荐!
稳健ICP
由于Outliner的存在,即观测误差和离群点存在,以及部分重叠问题,粗配之后的数据再进行精配的过程中仍然存在不稳健的问题(Robust问题),因此提出了稳健ICP方法。如SICP,IRLSICP
MBICP
GICP 泛化的ICP,或者叫Plane to Plane ICP
EM-ICP
NICP
GO-ICP
...
一般的ICP算法(上述的)是局部优化算法,还存在全局优化的问题,即不需要单独粗配,直接一步到位。很多的ICP算法都是稳健的方法,但是并不是全局的优化方法。全局的方法有Super4PCS、三点Ransac等。
http://www.mathworks.com/matlabcentral/fileexchange/12627-iterative-closest-point-method
http://www.mathworks.com/matlabcentral/fileexchange/27804-iterative-closest-point
http://projects.asl.ethz.ch/datasets/doku.php?id=laserregistration:laserregistration
点云匹配和ICP算法概述的更多相关文章
- PCL点云库:ICP算法
ICP(Iterative Closest Point迭代最近点)算法是一种点集对点集配准方法.在VTK.PCL.MRPT.MeshLab等C++库或软件中都有实现,可以参见维基百科中的ICP Alg ...
- 三维点集拟合:平面拟合、RANSAC、ICP算法
ACM算法分类:http://www.kuqin.com/algorithm/20080229/4071.html 一: 拟合一个平面:使用SVD分解,代码里面去找吧 空间平面方程的一般表达式为: A ...
- [PCL]5 ICP算法进行点云匹配
上一篇:http://www.cnblogs.com/yhlx125/p/4924283.html截图了一些ICP算法进行点云匹配的类图. 但是将对应点剔除这块和ICP算法的关系还是没有理解. RAN ...
- ICP算法(Iterative Closest Point迭代最近点算法)
标签: 图像匹配ICP算法机器视觉 2015-12-01 21:09 2217人阅读 评论(0) 收藏 举报 分类: Computer Vision(27) 版权声明:本文为博主原创文章,未经博主允许 ...
- ICP 算法
ICP 算法是一种点云到点云的配准方法. 在SLAM中通过空间点云的配准(可以通过相机或者3D激光雷达获取点云数据),可以估计相机运动(机器人运动,旋转矩阵R与平移向量t),累积配准,并不断回环检测, ...
- icp算法基本思想
Icp基本思想参考资料:http://www.cnblogs.com/jian-li/articles/4945676.html ,包括点-点,点-面的各种icp变种 Icp算法就是两个点云X.Y之间 ...
- ICP算法(迭代最近点)
参考博客:http://www.cnblogs.com/21207-iHome/p/6034462.html 最近在做点云匹配,需要用c++实现ICP算法,下面是简单理解,期待高手指正. ICP算法能 ...
- 【转】ICP算法(Iterative Closest Point迭代最近点算法)
原文网址:https://www.cnblogs.com/sddai/p/6129437.html.转载主要方便随时可以查看,如有版权要求请及时联系. 最近在做点云匹配,需要用c++实现ICP算法,下 ...
- ICP算法使用遇到的问题
这几天在学习数据关联的方法,本来想使用ICP算法进行距离测距数据的配准,但是用的过程中出现问题,配的不准,而且偏差更大了. 红色的和黄色的2维激光点进行ICP配准,但将变换矩阵和黄色进行乘之后偏差更大 ...
随机推荐
- 插入随机数到MySQL数据库
我们经常会遇到使用随机的问题,下面就是一种解决随机数的方法. 在构造测试数据时,我们需要对测试表插入随机数据.构造测试数据的方法如下,仅以update为例说明 步骤1:随机数的SQL函数为rand() ...
- [转]Jquery通用开源框架之【ejq.js】
ejq是一款非常小巧的JS工具库,未压缩才50K,在jquery的基础上对jquery缺失部分作了很好的弥补作用. 优点: 1.具有内置的模板解析引擎语法和angularjs相近减少学习成本 2.能够 ...
- 2016.05.03,英语,《Vocabulary Builder》Unit 21
sub, means 'under', as in subway, submarine, substandard. A subject is a person who is under the aut ...
- Redis 笔记与总结5 Redis 常用命令之 键值命令 和 服务器命令 && 高级应用之 安全性 和 主从复制
Redis 提供了丰富的命令对数据库和各种数据库类型进行操作,这些命令可以在 Linux 终端使用. 1. 键值相关命令: 2. 服务器相关命令 键值相关命令 ① keys 命令 返回满足给定 pat ...
- 采用HSV生成随机颜色
使用hsv/hsb生成随机颜色,并排除靠近黑白两色的色值 public static String randomColor(){ int max = 25500000 ; Random rand = ...
- PHP date函数参数详解
PHP date函数参数详解 作者: 字体:[增加 减小] 类型:转载 time()在PHP中是得到一个数字,这个数字表示从1970-01-01到现在共走了多少秒,很奇怪吧 不过这样方便计 ...
- Linux - full name of command
pwd: print working directory cd: change directory ls: list ps: process status su: switch user mv: mo ...
- jboss中文支持
一.中文问题 如果操作系统不支持中文, 应首先使操作系统上的Server支持中文. 修改run.conf中 -Dfile.encoding=gbk -Ddefault.client.encoding= ...
- 捕获JS 错误日志
最近在做项目的过程中,发现很多JS报错没有引起重视,我就想想把JS错误捕获了,然后展示在我们一个平台上 具体实现代码: window.onerror = function(message, url, ...
- Bluetooth RFCOMM介绍
目录 1. 介绍 2. 服务概述 2.1 RS-232控制信号 2.2 Null Modem Emulation 2.3 多串口仿真 3. 服务接口描述 4. RFCOMM帧类型 5. RFCOMM帧 ...