点云

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

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

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

有组织的点云

  • 像图像数据一样组织成行和列
  • 格式:M x N x 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立体视觉同步定位和映射

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