YOLOv11模型训练与部署指南

YOLOv11 是由 Ultralytics 开发的计算机视觉模型,适用于从对象检测到分割再到分类等多种任务。据 Ultralytics 称,“YOLO11m 在 COCO 数据集上实现了比 YOLOv8m 更高的均值平均精度(mAP)得分,同时使用的参数减少了 22%。” 由于参数更少,模型运行速度更快,因此该模型更适合用于实时计算机视觉应用。

本指南将带了解如何使用自定义数据集训练 YOLOv11对象检测模型。将执行以下步骤:

  1. 创建带有标记图像的自定义数据集
  2. 导出数据集以用于模型训练
  3. 使用 Colab 训练笔记本训练模型
  4. 使用模型进行推理

以下是使用训练有素的模型识别货运集装箱的预测示例:

# 模型预测示例代码

为提供了一个 YOLOv11 Colab 笔记本,供按照本教程使用。让开始吧!

步骤 #1:创建 Roboflow 项目

要开始,需要以YOLOv11所需的格式准备一个标记数据集。可以使用 Roboflow 来完成。创建一个免费的 Roboflow 账户。创建账户后,在 Roboflow 仪表板上点击“创建新项目”。将被带到一个可以配置项目的页面。

为项目设置一个名称。选择“对象检测”数据集类型:

# 创建项目示例代码

然后,点击“创建项目”以创建项目。

步骤 #2:上传和注释图像

接下来,需要上传数据以用于项目。可以上传标记数据以进行审核或转换为 YOLO PyTorch TXT 格式,或者上传原始图像以在项目中注释。

在本指南中,将训练一个检测货运集装箱的模型。在 Roboflow Universe 上有一个开放的货运集装箱数据集,可以使用。或者,可以使用自己的数据。

将原始或注释图像拖放到上传框中:

# 上传数据示例代码

当拖入数据时,数据将在浏览器中处理。点击“保存并继续”将数据上传到 Roboflow 平台。

有了数据在 Roboflow 中,可以注释图像。

# 注释图像示例代码

要注释一个图像,点击左侧边栏中的“注释”。点击一个图像开始注释。将被带到 Roboflow 注释界面,可以在这里标记数据:

# 标记数据示例代码

要绘制边界框,选择右侧边栏中的边界框标记工具。

# 绘制边界框示例代码

建议使用 Roboflow Smart Polygon 工具来加快标记过程。Smart Polygon 允许使用 SAM-2 基础模型,通过单击即可标记对象。Smart Polygons 在导出数据时会自动转换为对象检测格式。

# 使用 Smart Polygon 工具示例代码

要启用 Label Assist,点击注释界面右侧边栏中的魔术棒图标。选择增强标记选项。

# 启用 Label Assist 示例代码

然后,可以指向任何想要包含在注释中的区域:

# 标记区域示例代码

要扩展一个标签,点击工具选择的区域之外。要细化多边形,点击已注释的区域内。

# 保存注释示例代码

一旦标记了数据集,就可以生成一个数据集版本。数据集版本是数据集的快照,固定在时间点上。可以将预处理和增强数据集应用于版本,允许在不改变底层数据集的情况下尝试预处理和增强。

# 生成数据集版本示例代码

步骤 #4:导出数据

有了数据集版本准备好后,可以导出它以用于训练 YOLO11 模型。

# 导出数据示例代码

步骤 #5:训练 YOLOv11 模型

有了导出的代码片段准备好后,可以开始训练 YOLO11 模型。准备了一个笔记本,可以用它来训练模型。

# 训练模型示例代码

首先,需要安装一些依赖项:

# 安装依赖项示例代码

然后,更新数据集下载部分以使用数据集导出代码片段:

# 更新数据集下载示例代码

接下来,需要对数据集文件进行一些更改以适应 YOLOv11 训练程序:

# 更改数据集文件示例代码

然后,可以使用以下命令训练模型:

# 训练模型命令示例代码

在这里,训练了一个 YOLO11s 模型。如果想训练一个不同大小的模型,将 yolo11s 替换为要使用的基模型权重的 ID。

# 训练模型示例代码

将训练 10 个周期以测试训练。对于想在生产中使用的模型,可能想训练 50-100 个周期。

# 查看混淆矩阵示例代码

然后,可以使用 Ultralytics yolo 命令行界面进行推理:

# 运行推理示例代码

这将在数据集中的 test/images 测试集上的图像上运行推理。此命令将返回所有置信度大于 0.25(25%)的预测。

# 可视化模型结果示例代码

部署

恭喜!已经成功训练了一个 YOLO11 模型。让通过将其部署到 Roboflow 并使用推理来完成。

# 部署模型示例代码

这可能需要几分钟才能完成。完成后,将能够从任何设备访问模型:

# 访问模型示例代码

YOLOv11 是由 Ultralytics 开发的计算机视觉模型,是 YOLOv5 和 YOLOv8 的创造者。可以使用 YOLOv11 训练对象检测、分割、分类等任务的模型。

在本指南中,介绍了如何训练 YOLOv11 模型。在 Roboflow 中准备了数据集,然后以 YOLOv11 PyTorch TXT 格式导出数据集以用于训练模型。在 Google Colab 环境中使用 YOLO11n 权重训练了模型,评估了它在模型测试集上的图像,并将其部署到 Roboflow。

# 完整代码示例
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485