使用点云测量和分析3D场景
点云是3D空间中数据点的集合,其中每个点代表现实物体表面上某个位置的X坐标、Y坐标和z坐标,这些点共同映射整个表面。点云通常由激光扫描仪立体声相机和飞行时间相机。
根据数据类型,点云可以分为两类:
有组织的点云
- 像图像数据一样被组织成行和列
- 格式:M × N × C,其中M为行数,N为列数,C为通道数
- 像立体相机和飞行时间相机这样的传感器通常会产生有组织的点云
- 包含关于相邻点之间关系的信息
无组织点云
- 未被组织成行或列的
- 格式:MxC,其中M为点云中的点数,C为通道数
- 典型的激光雷达传感器产生无组织的点云
- 通过投影到球体上(例如使用MATLAB),可以将无组织的点云转换为有组织的点云pcorganize函数转换)
常用的MATLAB工作流程和任务
读、写和流点云
MATLAB为pcd、ply、pcap、las/laz和ibeo数据容器等流行的文件格式提供了读取器。您还可以从Velodyne和Ouster激光雷达传感器实时传输激光雷达数据。
创建合成激光雷达数据
创建模拟实际激光雷达传感器的合成激光雷达数据,并在部署到实际系统之前测试您的工作流程。
数据进行预处理
应用预处理算法,如下采样,中值滤波,变换,提取特征,并对齐3D点云
校准激光雷达摄像机
在你的系统中找到相机和激光雷达之间的转换。然后,您可以使用这种转换将激光雷达数据投射到相机数据上,反之亦然。
执行目标检测和语义分割
使用深度学习算法检测对象或分割点云。
制作地图并本地化车辆
使用一系列点云执行注册、映射构建和SLAM。
部署在cpu和gpu上
您可以在目标硬件上以C/ c++或CUDA代码的形式部署激光雷达处理工作流
例子和如何
参见:三维图像处理,仿射变换,数字图像处理,图像分析,图像处理和计算机视觉,图像重建,图像配准,图像分割,图像阈值,图像变换,对象检测,RANSAC,立体视觉,SLAM(同时定位和映射)