激光雷达制导的例子

学习如何加载点云数据,预处理数据集,定义和训练网络,并生成检测。

开始:

  1. 下载代码
  2. 打开代码MATLAB
  3. 跟随下面的步骤。

没有访问?

时间来完成:
15 - 30分钟
水平:
初级/中级

需要复习吗?试着自由,互动教程。

步骤1

加载点云数据和相应的标签

深层神经网络,您可以探索多类对象对点云数据检测。下面的例子使用了PointPillars网络,可以探测点云中的对象和适应周围的边框。

  • 创建数据存储管理数据。
  • 创建一个fileDatastore从指定的路径加载PCD文件使用pcread函数。
  • 加载边界框标签使用boxLabelDatastore函数地面实况标签。

关键要记住:

  • 该示例使用了前视图点云,而不是一个全视图点云。这种方法有两个好处:(1)更快的培训和执行,和(2)更好的网络性能的平均取向、相似度和精度。

步骤2

预处理数据集

你准备把数据集和探索各种增强技术。

  • 将数据集分为训练集和测试集。
  • 执行地面实况数据增加,随机添加一个固定数量的汽车类对象每个点云。下图显示了训练,其余70%的数据进行测试。这种技术有助于提高网络精度在训练通过综合增加训练数据集的大小。
  • 试数据增强技术,如抛、缩放、旋转,和点云的翻译。
  • 查看输出。

关键要记住:

  • 这个例子使用一个小数据集用很少的框架来展示工作流。为了更好的结果,在更大的数据集训练网络。

步骤3

定义网络

开始定义锚箱,柱子PointPillars网络,PointPillars网络。

  • 定义锚箱。
  • 为PointPillars网络定义柱子的数量。
  • 使用PointPillar对象检测函数来创建一个PointPillar对象检测网络。

步骤4

培训网络

一旦你已经定义了网络,训练模型的训练数据集。

  • 指定新的训练参数。
  • 使用trainedPointPillarsObjectDetector功能训练PointPillars。
  • 加载一个pretrained对象探测器如果你不想从头训练模型。

关键要记住:

  • 培训是最耗费时间的一步深度学习工作流程。或者,您可以使用一个pre-trained点云模型来检测对象。

步骤5

生成检测

在最后一步中,使用经过训练的网络测试数据中检测对象和显示的点云边界框。

  • 阅读测试的点云数据。
  • 使用检测功能测试点云获取分数预测边框和信心。
  • 显示检测到输出点云边界框。绿色的边框代表汽车点云的输出。

跟随激光雷达引导示例视频:

看到下面的链接继续多激光雷达任务或保持探索深度学习与相关的应用程序。

Johanna Pingel

与约翰娜,MathWorks深度学习专家