写在前面

这是一篇于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转换矩阵,其形式如下

⎡⎣⎢⎢⎢a1b1c10a2b2c20a3b3c30ΔXΔYΔZ1⎤⎦⎥⎥⎥[a1a2a3ΔXb1b2b3ΔYc1c2c3ΔZ0001]

\begin{bmatrix} a_1 & a_2 & a_3 & \Delta X\\ b_1 & b_2 & b_3 & \Delta Y\\ c_1 & c_2 & c_3 & \Delta Z\\ 0 & 0 & 0 & 1 \end{bmatrix}
其中 ΔX,ΔY,ΔZΔX,ΔY,ΔZ\Delta X,\Delta Y,\Delta Z为平移参数, R=[a1b1c1a2b2c2a3b3c3]R=[a1a2a3b1b2b3c1c2c3]R=\bigl[\begin{smallmatrix} a_1 & a_2 & a_3 \\ b_1 & b_2 & b_3 \\ c_1 & c_2 & c_3 \end{smallmatrix} \bigr]为旋转矩阵。
坐标转换的数学模型为:

⎡⎣⎢XYZ⎤⎦⎥=⎡⎣⎢ΔXΔYΔZ⎤⎦⎥+R⎡⎣⎢xyz⎤⎦⎥(1)(1)[XYZ]=[ΔXΔYΔZ]+R[xyz]

\begin{equation} {\left[ \begin{array}{ccc} X\\ Y\\ Z \end{array} \right ]}= {\left[ \begin{array}{ccc} \Delta X\\ \Delta Y\\ \Delta Z \end{array} \right ]}+R{\left[ \begin{array}{ccc} x\\ y\\ z \end{array} \right ]} \end{equation}

实验结果与分析

1 实验结果

拼接三帧点云后的地图。

2 实验分析

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

3 实验中遇到的问题

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

三维激光雷达点云拼接相关推荐

  1. 北斗导航 | SLAM之三维激光雷达点云(附Matlab源代码)

    ============================================================ 博主github:https://github.com/MichaelBeec ...

  2. 基于曲率的体素聚类的三维激光雷达点云实时鲁棒分割方法

    点云PCL免费知识星球,点云论文速读. 文章:Curved-Voxel Clustering for Accurate Segmentation of 3D LiDAR Point Clouds wi ...

  3. 深度相机Kinect2.0三维点云拼接实验(三)

    文章目录 概要 刚体空间旋转的描述 旋转矩阵 欧拉角 四元数 刚体空间平移的描述 总结 概要   Kinect2.0是微软推出的一款RGB-D相机,它即支持普通相机的拍摄,也支持脉冲测量深度信息.本系 ...

  4. 目标检测YOLO实战应用案例100讲-基于激光雷达点云的三维目标检测算法研究

    目录 基于激光雷达点云的三维目标检测算法研究 基于投影图的方法 基于点云的多模态融合方法

  5. 深度相机Kinect2.0三维点云拼接实验(二)

    文章目录 摘要 Linux系统下的环境搭建 Ubuntu系统安装 ROS-Melodic安装 Kinect2.0驱动安装 PCL库安装 Open-CV库安装 注意事项 Windows10系统下的环境搭 ...

  6. 三维激光点云到二维图像的投影

    Camera系列文章 传感器融合是将多个传感器采集的数据进行融合处理,以更好感知周围环境:这里首先介绍Camera的相关内容,包括摄像头及图像知识基本介绍,OpenCV图像识别(特征提取,目标分类等) ...

  7. 汽车的另一双眼睛 | 一文读懂车载激光雷达点云及发展情况!

    编辑 | 制造漫谈 点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 点击进入→自动驾驶之心[3D目标检测]技术交流群 后台回复[3D检测综述]获取最新基于点云 ...

  8. 实时的激光雷达点云压缩

    点云PCL免费知识星球,点云论文速读. 标题:Real-Time Spatio-Temporal LiDAR Point Cloud Compression 作者:Yu Feng , Shaoshan ...

  9. 无人驾驶汽车系统入门:基于深度学习的实时激光雷达点云目标检测及ROS实现...

    参加 2018 AI开发者大会,请点击 ↑↑↑ 作者:申泽邦(Adam Shan),兰州大学在读硕士研究生,主要研究方向无人驾驶,深度学习:兰大未来计算研究院无人车团队负责人,自动驾驶全栈工程师. 近 ...

  10. 基于激光雷达点云的3D检测方法汇总(LiDAR only)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨柒柒@知乎 来源丨https://zhuanlan.zhihu.com/p/436452723 ...

最新文章

  1. 在JS中最常看到切最容易迷惑的语法(转)
  2. PVUVIP之间的区别和联系
  3. 20155201 网络攻防技术 实验六 信息搜集与漏洞
  4. 详细的基于opencv svm hog的描述讲解
  5. linux虚拟地址被大量占用,《Linux中为什么要使用虚拟地址》
  6. .NetCore2.1 WebAPI 根据swagger.json自动生成客户端代码
  7. 工单更改历史记录(轉載)
  8. git命令:修改已经commit的注释
  9. html语言怎么办到直接手写,4、手写HTML语言代码之《文字处理》
  10. 彭亚雄:7月24日阿里云上海峰会企业存储大神
  11. XCode5 文档下载地址
  12. 知识付费平台现状:供应商、购买者议价能力较
  13. linux怎么取消文件隐藏命令,linux命令行下隐藏文件的操作
  14. (八)理解迭代思维(80)
  15. Advantech PCI card 驱动注册 --W T
  16. PC:各大主板开机启动项快捷键
  17. sql重复数据只取一条记录
  18. python毒酒检测_一道著名的毒酒问题
  19. uva11400 动态规划
  20. 使用Python分析移动语音账单

热门文章

  1. Apache Kafka核心组件和流程-协调器(消费者和组协调器)-设计-原理(入门教程轻松学)
  2. 专利申请过程中的重要文件总结
  3. Arduino学习笔记—— 猜数字游戏
  4. matlab教程 导入数据,MATLAB数据导入
  5. TF之saved-model踩坑,多次保存模型必看
  6. SAR图像聚焦质量评价插件
  7. 如何能把 CAJ 格式文档转换成 PDF 格式?
  8. 梯度向量与梯度下降法
  9. MBR分区和GPT分区区别
  10. java 计算同比增长率