训练自定义检测器模型
通过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的"Download Dataset"按钮将其导出为Tensorflow TFRecord格式。将此归档文件上传到您的Google Drive。
2. 训练模型
要训练您的自定义检测器,请使用Limelight检测器训练Notebook启动Google Colab会话。
该Notebook不需要任何代码更改。按照以下步骤训练您的模型:
第1部分
- 展开第一部分,并点击前三个代码块左上角的播放按钮。最后的"测试"代码块可以跳过以节省时间。

- 如果您看到重启按钮,请忽略它。

- 如果您看到类似这样的窗口,请点击"取消"

第1.1部分
- 展开该部分,运行第一个代码块,并输入指向您的tfrecord.zip文件的Google Drive链接。确保您的tfrecord.zip在Google Drive中设置为"拥有链接的任何人可访问"
第2部分
- 运行两个代码块以解压缩并解析tfrecord.zip
第3部分
- 运行第3部分中的所有代码块以准备训练
第4部分
-
运行第4部分中的所有代码块以开始训练。
-
在训练脚本运行时,您可以刷新文件面板和tensorboard以监控进度。每2000步应该会在"training_progress"文件夹中出现一个新的检查点。
-
虽然训练将在40000步自动停止,但您可以随时使用本节最后一个代码块中的停止按钮停止它。只要有检查点可用,您就可以继续进行量化和编译。
第5-7部分
- 运行第5部分中的所有代码块,生成标签文件并将模型转换为 兼容的FlatBuffer格式
- 运行第6部分中的所有代码块,将模型量化为INT8/8位推理。
- 运行第7部分中的所有代码块,为Google Coral和Limelight准备模型。最后一个代码块将花费一些时间,并将训练好的模型下载为.zip文件。
上传到Limelight
- 解压您Colab会话中的归档文件。
- FTC团队 - 如果您有Limelight3A,上传8位tflite模型和labels.txt。您需要将运行时引擎从"coral"更改为"cpu"
- FRC团队 - 如果您有Google Coral,将limelight_neural_detector_coral.tflite和labels.txt文件上传到您的Limelight。