icp算法

基于点云方式的6D姿态识别

白昼怎懂夜的黑 提交于 2020-02-28 05:09:25
作者:Tom Hardy Date:2020-2-26 来源: 基于点云方式的6D姿态识别 前言 除了对应点方式,还可以将点云将与整个形状对齐,获得6D姿态。通常,首先进行粗配准以提供初始对准,然后进行密集配准方法,如迭代最近点(ICP),以获得最终的6D姿态。针对点云方式,挑选了一些相关的paper,在这里做下基本思想分享。 1、Go-ICP: A Globally Optimal Solution to 3D ICP Point-Set Registration 迭代最近点(ICP)算法是目前应用最广泛的点集配准方法之一。然而,基于局部迭代优化的ICP算法易受局部极小值的影响。它的性能严重依赖于初始化的质量,并且只保证局部最优性。本文提出了在ICP定义的L2误差度量下,两个三维点集欧氏(刚性)配准的第一个全局最优算法Go-ICP。Go-ICP方法基于搜索整个3D运动空间SE(3)的分枝定界(BnB)方案。利用SE(3)几何的特殊结构,推导了新的配准误差函数的上下界。在BnB方案中引入局部ICP,在保证全局最优的同时加快了新方法的速度。本文还讨论了扩展,解决了异常值健壮性问题。实验结果表明,该方法能够在不考虑初始值的情况下产生可靠的配准结果。Go-ICP可应用于需要最佳解决方案或无法始终获得良好初始化的情况。 2、SUPER 4PCS Fast Global Pointcloud

PCL点云配准(1)

梦想的初衷 提交于 2019-12-25 01:53:11
在逆向工程,计算机视觉,文物数字化等领域中,由于点云的不完整,旋转错位,平移错位等,使得要得到的完整的点云就需要对局部点云进行配准,为了得到被测物体的完整数据模型,需要确定一个合适的坐标系,将从各个视角得到的点集合并到统一的坐标系下形成一个完整的点云,然后就可以方便进行可视化的操作,这就是点云数据的配准。点云的配准有手动配准依赖仪器的配准,和自动配准,点云的自动配准技术是通过一定的算法或者统计学规律利用计算机计算两块点云之间错位,从而达到两块点云自动配准的效果,其实质就是把不同的坐标系中测得到的数据点云进行坐标系的变换,以得到整体的数据模型,问题的关键是如何让得到坐标变换的参数R(旋转矩阵)和T(平移向量),使得两视角下测得的三维数据经坐标变换后的距离最小,,目前配准算法按照过程可以分为整体配准和局部配准,。PCL中有单独的配准模块,实现了配准相关的基础数据结构,和经典的配准算法如ICP。 PCL中实现配准算法以及相关的概念 两两配准的简介:一对点云数据集的配准问题是两两配准(pairwise registration 或 pair-wise registration).通常通过应用一个估计得到的表示平移和选装的4*4缸体变换矩阵来使得一个点云的数据集精确的与另一个点云数据集(目标数据集)进行完美的配准 具体的实现步骤: (1)首先从两个数据集中按照同样的关键点选取的标准

PCL点云库:ICP算法(讲解很好带有图,作者研究很深入)

匿名 (未验证) 提交于 2019-12-03 00:26:01
Implementations .   ICP算法采用最小二乘估计计算变换矩阵,原理简单且具有较好的精度,但是由于采用了迭代计算,导致算法计算速度较慢,而且采用ICP进行配准计算时,其对待配准点云的初始位置有一定要求,若所选初始位置不合理,则会导致算法陷入局部最优。PCL点云库已经实现了多种点云配准算法: pcl::GeneralizedIterativeClosestPoint< PointSource, PointTarget > Class Template Reference pcl::IterativeClosestPoint< PointSource, PointTarget, Scalar > Class Template Reference pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar > Class Template Reference pcl::IterativeClosestPointNonLinear< PointSource, PointTarget, Scalar > Class Template Reference pcl::JointIterativeClosestPoint< PointSource, PointTarget, Scalar >

ICP与NDT

匿名 (未验证) 提交于 2019-12-03 00:03:02
NDT:相当于是栅格化的ICP 优点: 1)栅格化可以去除噪点的影响 2)NDT算法便于用GPU加速 缺点; 对于结构化点云,NDT对一块栅格高斯分布的假设不成立,效果不好,反而点线ICP(2D)或点面ICP效果更好一些。 对于非结构大规模点云,NDT速度快一些,初值鲁棒性取决于栅格大小,越大,精度越差,但对初值鲁棒性好一些,反之,对初值更依赖,类似于ICP对应的min_distance最小匹配距离作用。 如果想让点云匹配对初值不那么敏感,可以考虑CSM+ICP的方法,CSM确定一个初始范围,再通过ICP精确化。 (如果有理解不对的地方希望指正) 来源:51CTO 作者: 知也无涯jx 链接:https://blog.csdn.net/m0_37604894/article/details/100778693

点云ICP注册

ⅰ亾dé卋堺 提交于 2019-12-01 15:00:21
原文链接 背景 两个点云要注册在一块,一般分两个步骤:先做一个大致的对齐,也就是所谓的初始注册,一般可以通过一些可靠的点对来计算得到(如图3所示);然后在初始注册的基础上进行精细注册,提升注册的精度(如图4所示)。精细注册的方法,一般采用ICP算法,也就是最近点迭代的方法。 ICP算法总览 下面先总的介绍一下ICP算法,之后再详细介绍里面的一些重要步骤。 算法输入是两片有部分重叠的点云a和b,并且已经初始注册好了,输出是ICP注册的刚体变换T: 1. 对b进行点采样,得到采样点集s 2. 在a中寻找采样点集s的最近对应点,得到点对集合c 3. 对c中的点云进行加权处理,并删掉一些不好的点对 4. 应用目标能量来优化点对距离,得到刚体变换Ti。Ti对采样点集进行刚体变换 5. 迭代步骤2-4,直到目标能量优化停止。T=Tn * ...... T1 * T0 点采样 由于计算速度的要求,一般是需要对点云b进行采样。然后用采样点去找对应进行优化。除了计算上的要求,如果用全点云进行匹配的话,精度也不会更加的好。因为更好的采样方法可以避免陷入能量局部极小的情况。常见的采样方法有均匀采样和几何采样。 均匀采样:采样点分布均匀,采样速度快,适合几何特征比较多的点云。因为这样的点云,均匀采样总能采样到几何特征。如果几何特征少的话,如下左图所示,有可能就采样不到几何特征。 几何采样

点集配准技术(ICP、RPM、KC、CPD)

孤街醉人 提交于 2019-12-01 12:21:20
  在计算机视觉和模式识别中,点集配准技术是查找将两个点集对齐的空间变换过程。寻找这种变换的目的主要包括:1、将多个数据集合并为一个全局统一的模型;2、将未知的数据集映射到已知的数据集上以识别其特征或估计其姿态。点集的获取可以是来自于3D扫描仪或测距仪的原始数据,在图像处理和图像配准中,点集也可以是通过从图像中提取获得的一组特征(例如角点检测)。    点集配准研究的问题可以概括如下:假设{ M , S }是空间 R d 中的两个点集,我们要寻找一种变换 T ,或者说是一种从 R d 空间到 R d 空间的映射,将其作用于点集 M 后,可以使得变换后的点集 M 和点集 S 之间的差异最小。将变换后的点集 M 记为 T ( M ),那么转换后的点集 T ( M )与点集 S 的差异可以由某种距离函数来定义,一种最简单的方法是对配对点集取欧式距离的平方:   点集配准方法一般分为刚性配准和非刚性配准。   刚性 配准: 给定两个点集,刚性配准产生一个刚性变换,该变换将一个点集映射到另一个点集。刚性变换定义为不改变任何两点之间距离的变换,一般这种转换只包括平移和旋转。   非刚性 配准: 给定两个点集,非刚性配准产生一个非刚性变换,该变换将一个点集映射到另一个点集。非刚性变换包括仿射变换,例如缩放和剪切等,也可以涉及其他非线性变换。   下面我们来具体介绍几种点集配准技术。 一.