跳到主要内容

训练自定义检测器模型

使用Roboflow、Google Colab和您自己的数据集,您可以快速为Limelight训练自定义检测器模型。

以下是您需要采取的步骤概述:

  • 收集并标注感兴趣对象的图像。
    • 在这种情况下,"标注"是指在感兴趣对象周围绘制边界框的过程。所有这些都可以在Roboflow的网页界面中完成。
    • 或者,您可以从Roboflow Universe中选择一个公共数据集
  • 将标注好的数据集导出为.tfrecord格式,上传到Google Drive,并使用我们的免费训练Notebook与Google Colab。
    • Google Colab允许您使用云端强大的GPU免费训练神经网络。

教程:

1. 数据集

Limelight训练Notebook需要一个压缩的.tfrecord数据集。Roboflow可以一键导出.tfrecord压缩包。

您可以使用Roboflow构建自己的数据集,或浏览Roboflow Universe寻找预先标注的数据集。

如果您选择构建自己的数据集,请阅读以下内容:

  • 您应该最大化数据集的多样性。您的数据集的多样性应该超过部署后Limelight将看到的内容的多样性。

  • 数据集的质量和准确性极其重要。确保您的边界框准确并遵循单一约定。 例如,部分遮挡对象的边界框应该只捕获对象的可见部分。

  • 使用全小写字母作为类别标签

  • 最小化类别标签的数量。

  • 利用Roboflow的增强功能,但确保它们有意义。例如,如果您正在检测红色和蓝色球,请确保您没有在增强的数据集中反转或大幅修改色调。

一旦您标注或找到了数据集,使用Roboflow的"下载数据集"按钮将其导出为Tensorflow TFRecord格式。将此压缩包上传到您的Google Drive。

2. 训练模型

要训练您的自定义检测器,请使用Limelight检测器训练Notebook启动Google Colab会话。

该Notebook不需要任何代码更改。按照以下步骤训练您的模型:

第1部分

  1. 展开第一部分,并点击前三个代码块左上角的播放按钮。最后的"测试"代码块可以跳过以节省时间。

第2部分

  1. 展开第二部分。点击第一个块的播放按钮,将您的Google Drive文件夹挂载到Colab会话的"文件"窗格中。通过点击屏幕左侧的文件夹按钮打开文件窗格。

  2. 一旦您的Google Drive挂载完成,点击"文件"窗格中的刷新按钮。运行本部分的第二个代码块,在gdrive文件夹中选择您已上传的.tfrecord.zip文件。找到该文件,然后点击"选择"按钮。

  3. 运行接下来的两个代码块以解压缩并验证TFRecord。

第3部分

  1. 运行第3部分的所有代码块以准备训练

第4部分

  1. 运行第4部分的所有代码块以开始训练。

  2. 在训练脚本运行时,您可以刷新文件窗格和tensorboard以监控进度。每2000步应该会在"training_progress"文件夹中出现一个新的检查点。

  3. 虽然训练将在40000步自动停止,但您可以随时使用本部分最后一个代码块中的停止按钮停止它。只要有可用的检查点,您就可以继续进行量化和编译。

第5-7部分

  1. 运行第5部分的所有代码块以生成标签文件并将模型转换为兼容的FlatBuffer格式
  2. 运行第6部分的所有代码块以对模型进行INT8 / 8位推理的量化。
  3. 运行第7部分的所有代码块以准备用于Google Coral和Limelight的模型。最后一个代码块将需要一些时间,它会将训练好的模型下载为.zip文件。

上传到Limelight

  1. 解压您Colab会话中的压缩包。将limelight_neural_detector_coral.tflite和labels.txt文件上传到您的Limelight。