几种点云配准算法比较
一、算法实现软硬件环境
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 结果图分析
原始图

pfh粗配准

fpfh粗配准

3Dsc粗配准

ndt粗配准

2.3.2 时间分析

2.3.3变换矩阵分析
变换矩阵结构为
| R3*3 | T1*3 |
|---|---|
| 0 | 1 |

2.3.4误差分析

2.4 粗配准中的icp用法
在icp粗配准,当给不同的数据集时(R、T不同时的点云),icp可能陷入局部最优解,故icp一般用于精配准中,且需要提供良好的初值。
综上,粗配准方案中,算法耗时时间依次为NDT
2.4 完全配准比较
下面对上述几种粗配准方案中,加上精配准。然后对结果进行比较。
2.4.1 结果图分析

pfh+icp

fpfh+icp

3Dsc+icp

ndt+icp
2.4.2 时间分析

2.4.3变换矩阵分析

2.4.4误差分析

可以得出,配准精度最高的是3Dsc,但耗时最长。
耗时:ndt
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/204332.html原文链接:https://javaforall.net
