点云配准——(1)几种点云配准算法比较

几种点云配准算法比较

参考许多博客,看了点云配准的好多算法,决定对这几天搞得点云配准做一个总结,主要也防止自己忘掉。主要参考下面这个博客,链接已经附上。
https://blog.csdn.net/peach_blossom/article/details/78506184

一、算法实现软硬件环境

CPU:intel corei5-5200 @2.20Hz

显卡:Nvidia GeForce GTX 850M

内存:8GB

操作系统:Windows 10 专业版

开发环境:Vs2013 +pcl1.8.0(release)

点云配准数据集:不同角度下的bunny rabbit

二、点云配准比较

2.1 配准目标
根据原始点云和目标点云,通过配准求出变换矩阵,即旋转矩阵R和平移矩阵T,并计算误差,来比较匹配结果。主要有以下几种比较
(1)基于局部特征描述子(PFH、FPFH、3Dsc);
(2)基于概率分布 (NDT);
(3)icp粗配准比较 。

2.2 配准目标
(1)提取关键点
(2)特征描述
(3)一致性估计
(4)精配准
(5)误差分析:有一片点云,通过一直的旋转变换得到目标点云,让后通过下面几种配准方法,求出R、T,和实际变换矩阵比较,得到误差。

2.3 粗配准比较
粗配准的各种算法原理不加以介绍,好多博客中已经给出了详解。配准中,由于不同点云数据集的特性,需要提取不同关键点。本文统一对数据集进行滤波采样,减少点的数量,来提高算法的效率。

2.3.1 结果图分析
原始图
**a原始图**
pfh粗配准
pfh
fpfh粗配准
在这里插入图片描述
3Dsc粗配准
在这里插入图片描述
ndt粗配准
在这里插入图片描述

2.3.2 时间分析

时间分析

2.3.3变换矩阵分析
变换矩阵结构为

R3*3T1*3
01

在这里插入图片描述

2.3.4误差分析
在这里插入图片描述

2.4 粗配准中的icp用法

icp配准一般用于精配准中,我看了看网上博客,似乎可以直接进行配准,所以对两组不同角度的点云数据集进行配准。得到的结果如下:
在这里插入图片描述
t=0.063s
在这里插入图片描述
t=0.05s

在icp粗配准,当给不同的数据集时(R、T不同时的点云),icp可能陷入局部最优解,故icp一般用于精配准中,且需要提供良好的初值。

综上,粗配准方案中,算法耗时时间依次为NDT<FPFH<PFH<3Dsc;其中FPFH特征为PFH特征描述子的改进。NDT耗时少,但从上述图中观察,初值提供不够精确。其中旋转矩阵R和平移矩阵T已经列出。

2.4 完全配准比较
下面对上述几种粗配准方案中,加上精配准。然后对结果进行比较。
2.4.1 结果图分析
在这里插入图片描述
pfh+icp
在这里插入图片描述
fpfh+icp
在这里插入图片描述
3Dsc+icp
在这里插入图片描述
ndt+icp

2.4.2 时间分析
在这里插入图片描述
2.4.3变换矩阵分析
在这里插入图片描述

2.4.4误差分析
在这里插入图片描述
可以得出,配准精度最高的是3Dsc,但耗时最长。
耗时:ndt<fpfh<pfh<3dsc

代码下载链接
https://download.csdn.net/download/weixin_43236944/10997992
https://download.csdn.net/download/weixin_43236944/10998014

后续两个月更新完
基于PCL的QT开发

  • 82
    点赞
  • 686
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 66
    评论
open3d是一个用于处理三维数据(点云、三维模型等)的开源库。点云配准是将两个或多个点云数据进行对齐的过程,以便在一个全局坐标系下进行比较、分析或重建。其中,四元数法是一种常用的点云配准方法。 四元数是一种用四个实数表示的扩充复数,可以用于描述旋转变换。在点云配准中,使用四元数法是因为其具有以下优势: 第一,四元数具有紧凑的表示形式,只需要四个实数即可表示旋转变换,相较于旋转矩阵的九个实数表示方式节省了存储空间,降低了计算复杂度。 第二,四元数法能够有效地避免了“万向锁”问题。万向锁是指在使用欧拉角进行坐标变换时,由于旋转过程中会出现奇点,导致旋转角度无法精确表示的问题。而四元数法不会出现这个问题,具有更好的数值稳定性。 在open3d中,点云配准的四元数法通常有以下几个步骤: 首先,计算两个点云之间的特征描述子,例如FPFH(Fast Point Feature Histograms)或SHOT(Signature of Histograms of Orientations)。这些描述子能够表示点云的局部几何信息。 然后,根据特征描述子的相似性,寻找初始的点对应关系。 接下来,通过最小化点云之间的误差指标,例如最小化点到平面的距离或最小化点到点的距离,来优化点对应关系,并计算出旋转矩阵。 将旋转矩阵转换为四元数表示,即可完成点云的配准过程。 四元数法是open3d中常用的点云配准方法之一,其能够高效地实现点云的准确对齐。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 66
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小修勾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值