点云

使用点云测量和分析3D场景

点云是3D空间中数据点的集合,其中每个点代表现实物体表面上某个位置的X坐标、Y坐标和z坐标,这些点共同映射整个表面。点云通常由激光扫描仪立体声相机和飞行时间相机。

根据数据类型,点云可以分为两类:

有组织的点云

  • 像图像数据一样被组织成行和列
  • 格式:M × N × C,其中M为行数,N为列数,C为通道数
  • 像立体相机和飞行时间相机这样的传感器通常会产生有组织的点云
  • 包含关于相邻点之间关系的信息

无组织点云

  • 未被组织成行或列的
  • 格式:MxC,其中M为点云中的点数,C为通道数
  • 典型的激光雷达传感器产生无组织的点云
  • 通过投影到球体上(例如使用MATLAB),可以将无组织的点云转换为有组织的点云pcorganize函数转换)

点云处理用于机器人和自主系统的感知和导航。它还可以用于增强现实(AR)和虚拟现实(VR)应用。MATLAB®提供支持点云处理的工具和参考应用程序,特别是通过 激光雷达工具箱™而且计算机视觉工具箱

常用的MATLAB工作流程和任务

读、写和流点云
MATLAB为pcd、ply、pcap、las/laz和ibeo数据容器等流行的文件格式提供了读取器。您还可以从Velodyne和Ouster激光雷达传感器实时传输激光雷达数据。

创建合成激光雷达数据
创建模拟实际激光雷达传感器的合成激光雷达数据,并在部署到实际系统之前测试您的工作流程。

数据进行预处理
应用预处理算法,如下采样,中值滤波,变换,提取特征,并对齐3D点云

校准激光雷达摄像机
在你的系统中找到相机和激光雷达之间的转换。然后,您可以使用这种转换将激光雷达数据投射到相机数据上,反之亦然。

执行目标检测和语义分割
使用深度学习算法检测对象或分割点云。

制作地图并本地化车辆
使用一系列点云执行注册、映射构建和SLAM。

部署在cpu和gpu上
您可以在目标硬件上以C/ c++或CUDA代码的形式部署激光雷达处理工作流

来自Velodyne传感器的实时激光雷达数据流

来自Velodyne传感器的实时激光雷达数据.连接到激光雷达传感器,流实时激光雷达数据到MATLAB。

激光雷达相机校准器应用程序。估计3D激光雷达和相机之间的刚性转换。

激光雷达相机校准器估计3D激光雷达和相机之间的刚性转换。

点云数据序列的目标跟踪。通过使用安装在车辆上的激光雷达传感器捕获的连续激光雷达数据来检测、分类和跟踪车辆。

利用SqueezeSegV2进行点云语义分割

利用SqueezeSegV2进行点云语义分割。有组织的激光雷达数据在语义上分为汽车(红色)、卡车(紫色)和背景(黑色)。(见MATLAB示例)

详细信息请参见激光雷达工具箱™而且计算机视觉工具箱

参见:三维图像处理仿射变换数字图像处理图像分析图像处理和计算机视觉图像重建图像配准图像分割图像阈值图像变换对象检测RANSAC立体视觉SLAM(同时定位和映射)

使用激光雷达工具箱设计、分析和测试激光雷达处理系统。
Baidu
map