点云匹配和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配准,但将变换矩阵和黄色进行乘之后偏差更大 ...
随机推荐
- OpenCV学习笔记——点击显示鼠标坐标
点击显示鼠标显示坐标,再次点击时上一次的坐标的会消失…… #include<highgui.h> #include<cv.h> void on_mouse(int event, ...
- PHPStorm下XDebug配置
PHPStorm下XDebug配置 分类: PHP2013-08-11 22:15 19697人阅读 评论(0) 收藏 举报 目录(?)[+] 1安装Xdebug 用yum安装可能会失败,用p ...
- 状态模式 java && php
状态模式 java && php 状态模式 输入信号是事件:输出是状态结果,状态模式状态机就是一个黑盒子.状态模式主要突出了两个字:”改变”,对象的状态决定了状态的行为,事物的 ...
- Yii源码阅读笔记(十八)
View中的查找视图文件方法和渲染文件方法 /** * Finds the view file based on the given view name. * 通过view文件名查找view文件 * ...
- 原创:CentOS6.4配置solr 4.7.2+IK分词器
本文原创,转载请注明出处 相关资源下载:http://pan.baidu.com/s/1pJPpiqv 1.首先说明一下 solr是java语言开发的企业级应用服务器,所以你首先安装好jdk,配置好j ...
- 僵尸传染bfs
#include<stdio.h> int map[4][4]={0,0,0,1, 0,0,1,1, 0,0,1,0, 0,1,0,0}; int mx ...
- openssh-server 安装
sudo apt-get update sudo apt-get install openssh-server 1:ssh-keygen -t rsa -f ~/.ssh/id_rsa 这里会提示输入 ...
- 算法训练 Hankson的趣味题
算法训练 Hankson的趣味题 时间限制:1.0s 内存限制:64.0MB 问题描述 Hanks 博士是BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫Han ...
- 内存分配、C++变量的生命周期和作用域
1.内存分配 程序的内存分配有以下几个区域:堆区.栈区.全局区.程序代码区,另外还有文字常量区. 栈区 ——存放局部变量,即由auto修饰的变量,一般auto省略.由编译器自动分配释放.局部变量定义在 ...
- rabbitMq 转自 http://gaoyangang.iteye.com/blog/1566600
rabbitMq 转自 http://gaoyangang.iteye.com/blog/1566600