三维激光雷达点云拼接
写在前面
这是一篇于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转换矩阵,其形式如下
\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]为旋转矩阵。
坐标转换的数学模型为:
\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 实验中遇到的问题
在拼接一定数量的点云图后,因为疏忽,颠倒了配准图和参考图,配准后参考图和配准图均无法与之前拼接的点云图进行拼接。
因此在做实验之前一定要理解原理,严格遵守规则,否则会浪费大量宝贵的时间。
三维激光雷达点云拼接相关推荐
- 北斗导航 | SLAM之三维激光雷达点云(附Matlab源代码)
============================================================ 博主github:https://github.com/MichaelBeec ...
- 基于曲率的体素聚类的三维激光雷达点云实时鲁棒分割方法
点云PCL免费知识星球,点云论文速读. 文章:Curved-Voxel Clustering for Accurate Segmentation of 3D LiDAR Point Clouds wi ...
- 深度相机Kinect2.0三维点云拼接实验(三)
文章目录 概要 刚体空间旋转的描述 旋转矩阵 欧拉角 四元数 刚体空间平移的描述 总结 概要 Kinect2.0是微软推出的一款RGB-D相机,它即支持普通相机的拍摄,也支持脉冲测量深度信息.本系 ...
- 目标检测YOLO实战应用案例100讲-基于激光雷达点云的三维目标检测算法研究
目录 基于激光雷达点云的三维目标检测算法研究 基于投影图的方法 基于点云的多模态融合方法
- 深度相机Kinect2.0三维点云拼接实验(二)
文章目录 摘要 Linux系统下的环境搭建 Ubuntu系统安装 ROS-Melodic安装 Kinect2.0驱动安装 PCL库安装 Open-CV库安装 注意事项 Windows10系统下的环境搭 ...
- 三维激光点云到二维图像的投影
Camera系列文章 传感器融合是将多个传感器采集的数据进行融合处理,以更好感知周围环境:这里首先介绍Camera的相关内容,包括摄像头及图像知识基本介绍,OpenCV图像识别(特征提取,目标分类等) ...
- 汽车的另一双眼睛 | 一文读懂车载激光雷达点云及发展情况!
编辑 | 制造漫谈 点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 点击进入→自动驾驶之心[3D目标检测]技术交流群 后台回复[3D检测综述]获取最新基于点云 ...
- 实时的激光雷达点云压缩
点云PCL免费知识星球,点云论文速读. 标题:Real-Time Spatio-Temporal LiDAR Point Cloud Compression 作者:Yu Feng , Shaoshan ...
- 无人驾驶汽车系统入门:基于深度学习的实时激光雷达点云目标检测及ROS实现...
参加 2018 AI开发者大会,请点击 ↑↑↑ 作者:申泽邦(Adam Shan),兰州大学在读硕士研究生,主要研究方向无人驾驶,深度学习:兰大未来计算研究院无人车团队负责人,自动驾驶全栈工程师. 近 ...
- 基于激光雷达点云的3D检测方法汇总(LiDAR only)
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨柒柒@知乎 来源丨https://zhuanlan.zhihu.com/p/436452723 ...
最新文章
- 在JS中最常看到切最容易迷惑的语法(转)
- PVUVIP之间的区别和联系
- 20155201 网络攻防技术 实验六 信息搜集与漏洞
- 详细的基于opencv svm hog的描述讲解
- linux虚拟地址被大量占用,《Linux中为什么要使用虚拟地址》
- .NetCore2.1 WebAPI 根据swagger.json自动生成客户端代码
- 工单更改历史记录(轉載)
- git命令:修改已经commit的注释
- html语言怎么办到直接手写,4、手写HTML语言代码之《文字处理》
- 彭亚雄:7月24日阿里云上海峰会企业存储大神
- XCode5 文档下载地址
- 知识付费平台现状:供应商、购买者议价能力较
- linux怎么取消文件隐藏命令,linux命令行下隐藏文件的操作
- (八)理解迭代思维(80)
- Advantech PCI card 驱动注册 --W T
- PC:各大主板开机启动项快捷键
- sql重复数据只取一条记录
- python毒酒检测_一道著名的毒酒问题
- uva11400 动态规划
- 使用Python分析移动语音账单