三维激光雷达点云拼接

时间:2024-04-14 12:49:40

写在前面

这是一篇于2017.4.19完成的实验报告,现整理成博客,当时处于摸索阶段,水平有限,后来也未对点云处理进行深入的研究,在此只是记录一下。
主要参考资料为CloudCompare wiki document
对三维点云的处理,可以使用PCL(Point Cloud Library),功能十分强大。
在激光SLAM和RGB-D SLAM领域,通常使用ICP(Iterative Closest Point)算法对两个点集进行配准,从而求得位姿变换。
这里不会涉及PCL和ICP,后续用到这些知识再补充。

实验目的

(1)了解点云的拼接。
(2)学会使用软件CloudCompare,用手选同名点的方法实现点云的拼接。

原理与步骤

激光雷达获得大量一帧帧的点云数据后,需要经过对点云数据的配准,才能拼接成一幅三维雷达点云地图。
在本实验中,输入数据为在一特定区域内由激光雷达采集的多帧点云数据(在本实验中称为配准数据)和由高精度测绘设备采集的完整数据(在本实验中称为参考数据),将一帧帧的配准数据匹配到参考数据上,最终可拼接成一幅完整的三维雷达点云地图。
由于待配准的一帧雷达点云数据与参考数据差异过大,不能采用传统的ICP算法进行配准。
CloudCompare是一款3D点云处理软件,它提供了多种对点云进行粗略或精细匹配的方法。这里采用选取同名点配准的方法,可以通过Tools > Registration > Align (point pairs picking)使用。该工具允许用户通过在两个实体中挑选至少三个等效点对(即同名点)来配准两个实体。

1 首先选择两个实体,然后调用Align (point pairs picking)工具。

2 角色分配

指定哪个点云将是参考(不会移动),哪一个将是配准的点云(最终实际移动的云)。

三维激光雷达点云拼接

3 选取同名点

(1)在参考点云上选取3个点。

三维激光雷达点云拼接

(2)在配准点云上选取与参考点云中一一对应的同名点。优先选取离中心区域较近的点,而且容易分辨。
三维激光雷达点云拼接

4 配准

选取至少三对同名点后,单击align按钮后,配准点云被匹配到参考点云上,此时为预览效果。同名点的选取直接影响配准效果,效果较差时需要删除误差较大的配准点,重新选择。

三维激光雷达点云拼接

5 验证或取消

使用绿色的“√”和红色“×”图标来验证或取消当前的拼接过程。选择验证后,会生成一份报告,其中包括4×4转换矩阵,其形式如下

[a1a2a3ΔXb1b2b3ΔYc1c2c3ΔZ0001]

其中ΔXΔYΔZ为平移参数,R=[a1a2a3b1b2b3c1c2c3]为旋转矩阵。
坐标转换的数学模型为:
(1)[XYZ]=[ΔXΔYΔZ]+R[xyz]

三维激光雷达点云拼接

实验结果与分析

1 实验结果

拼接三帧点云后的地图。

三维激光雷达点云拼接

2 实验分析

通过手选同名点配准的方法,拼接一幅完整的三维雷达点云地图,在本实验输入数据的规模下是一种有效的方法。然而操作过程繁琐,在配准数据较多时,是一项繁重的任务,而且手动选择同名点,难免会产生误差,同时随着误差的积累,会影响最终拼接的效果。

三维激光雷达点云拼接

3 实验中遇到的问题

在拼接一定数量的点云图后,因为疏忽,颠倒了配准图和参考图,配准后参考图和配准图均无法与之前拼接的点云图进行拼接。
因此在做实验之前一定要理解原理,严格遵守规则,否则会浪费大量宝贵的时间。