使用深度学习的点云入门
深度学习可以自动处理点云,用于广泛的3d成像应用。点云通常来自3d扫描仪,比如激光雷达或Kinect®设备。它们在机器人导航和感知、深度估计、立体视觉、监视、场景分类以及高级驾驶辅助系统(ADAS)中都有应用。
一般来说,在深度学习工作流中使用点云数据的第一步是:
导入点云数据。使用数据存储存储大量的数据。
可选地增加数据。
将点云编码为与MATLAB一致的图像格式®基于深度学习的工作流。
您可以将相同的深度学习方法应用于使用点云数据的分类、对象检测和语义分割任务,就像使用常规网格图像数据一样。但是,首先必须将点云和激光雷达数据的无序、不规则网格结构编码为规则网格形式。对于某些任务,如语义分割,为了恢复点云结构,需要对基于图像的网络的输出进行一些后处理。
导入点云数据
为了在深度学习工作流程中使用点云数据,首先,读取原始数据。考虑使用一个数据存储来处理和表示太大而不能一次性装入内存的数据集合。由于深度学习通常需要大量的数据,因此数据存储是MATLAB中深度学习工作流的重要组成部分。有关数据存储的详细信息,请参见用于深度学习的数据存储(深度学习工具箱).
的为深度学习导入点云数据示例导入一个大型点云数据集,然后配置和加载一个数据存储。
增加的数据
深度学习模型的准确性和成功依赖于大型带注释的数据集。使用增强来生成更大的数据集有助于减少过拟合。当分类系统将数据中的噪声误认为信号时,就会发生过拟合。通过添加额外的噪声,增强可以帮助模型平衡数据点并将错误最小化。增强还可以为原始训练数据中可能无法很好地表示的数据转换增加鲁棒性(例如旋转、反射、平移)。通过减少过拟合,增强通常可以在推理阶段获得更好的结果,推理阶段根据深度学习神经网络被训练来检测的内容进行预测。
的为深度学习增强点云数据示例设置了一个使用点云数据的基本随机数据增强管道。
将点云数据编码为图像格式
要使用点云进行基于matlab的深度学习工作流程的训练,必须将数据编码为密集的、类似图像的格式。致密化或图形是将不规则的、未网格化的点云数据转换为密集的、类似图像的形式的过程。
的为深度学习编码点云数据示例将点云数据转换为密集的网格结构。
用编码的点云数据训练深度学习分类网络
一旦将点云数据编码为密集形式,就可以使用标准深度学习方法将这些数据用于基于图像的分类、对象检测或语义分割任务。
的训练分类网络对三维点云中的物体进行分类实例将点云数据预处理为体素化编码,然后使用类似图像的数据与简单的三维卷积神经网络进行对象分类。
另请参阅
pcbin
|pcread
|bboxwarp
|bboxcrop
|bboxresize
相关的例子
- 利用PointPillars深度学习的激光雷达三维目标检测(激光雷达工具箱)
- 使用点网深度学习的点云分类(深度学习工具箱)
- 基于PointSeg深度学习网络的激光雷达点云语义分割(深度学习工具箱)
更多关于
- 分割、检测和标记(激光雷达工具箱)