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