Roboflow

Roboflow 提供用于 数据标注 和以多种格式导出数据集(包括 YOLO)的工具。本指南涵盖了为 Ultralytics YOLO 模型进行数据标注、导出和部署的相关内容。

许可协议

Ultralytics 提供两种许可选项,以满足不同的使用场景:

  • AGPL-3.0 许可证:此 OSI 认证的开源许可证 非常适合学生和爱好者,旨在促进开放协作与知识共享。详情请参阅 LICENSE 文件。
  • 企业许可协议:此许可专为商业用途设计,允许将 Ultralytics 软件和 AI 模型无缝集成到商业产品和服务中。如果你的场景涉及商业应用,请通过 Ultralytics 许可 与我们联系。

更多详细信息,请参阅 Ultralytics 许可页面

本指南演示了如何使用 Roboflow 查找、标注和整理数据,以用于训练自定义 Ultralytics YOLO26 模型。

收集用于训练自定义 YOLO26 模型的数据

Roboflow 提供两项主要服务来协助收集 Ultralytics YOLO 模型 的数据:Universe 和 Collect。有关数据收集策略的更多一般信息,请参阅我们的 数据收集与标注指南

Roboflow Universe

Roboflow Universe 是一个计算机视觉 数据集 在线存储库。你可以导出 YOLO 格式的数据集,以便与 Ultralytics 模型结合使用。

Roboflow Collect

如果你更喜欢自行收集图像,Roboflow Collect 是一个开源项目,支持通过边缘设备上的摄像头自动收集图像。你可以使用文本或图像提示来指定需要收集的数据,从而帮助你仅捕获视觉模型所需的必要图像。

上传、转换并标注 YOLO26 格式的数据

Roboflow Annotate 是一款在线工具,用于标注各种计算机视觉任务的图像,包括 目标检测分类分割

要为 Ultralytics YOLO 模型标注数据,请在 Roboflow 中创建一个项目,上传你的图像,然后开始标注。

标注工具

  • 边界框标注:按 B 键或点击方框图标。点击并拖动以创建 边界框。弹窗会提示你为标注选择一个类别。
  • 多边形标注:用于 实例分割。按 P 键或点击多边形图标。围绕物体点击点以绘制多边形。

标注助手 (SAM 集成)

Roboflow 集成了基于 Segment Anything Model (SAM) 的标注助手,旨在提高标注效率。

要使用标注助手,请点击侧边栏中的光标图标。SAM 将在该项目中启用。

将鼠标悬停在物体上,SAM 可能会建议一个标注。点击以接受该标注。你可以通过在建议区域内或外点击来进一步优化标注的精确度。

标签管理

你可以使用侧边栏中的标签面板为图像添加标签。标签可以代表位置、摄像头来源等属性。通过这些标签,你可以搜索特定图像并生成包含特定标签图像的数据集版本。

标注助手 (基于模型)

托管在 Roboflow 上的模型可以与标注助手配合使用以提供标注建议。将你的 YOLO 模型权重上传至 Roboflow(见下方说明),然后通过侧边栏中的魔棒图标激活标注助手。

YOLO26 数据集管理

Roboflow 提供了多种工具来理解和管理你的计算机视觉 数据集

数据集搜索

使用数据集搜索功能,根据文本描述或特定标签/标注查找图像。点击侧边栏中的“Dataset”即可访问此功能。

健康检查 (Health Check)

在训练前,请使用 Roboflow 健康检查功能深入了解你的数据集并识别潜在的改进空间。通过侧边栏链接“Health Check”访问。它提供有关图像尺寸、类别平衡、标注热力图等方面的统计数据。

Roboflow Health Check analysis dashboard

健康检查可能会建议一些改进性能的措施,例如解决在类别平衡功能中发现的类别不平衡问题。了解数据集的健康状况对于有效的 模型训练 至关重要。

预处理与数据增强以增强模型鲁棒性

要导出数据,你需要创建一个数据集版本,这是你数据集在特定时间点的快照。点击侧边栏中的“Versions”,然后点击“Create New Version”。在这里,你可以应用预处理步骤和 数据增强,以增强模型鲁棒性。

Creating Roboflow dataset version with augmentation

对于每种选定的增强方式,弹窗允许你微调其参数,如亮度。适当的增强可以显著改善模型泛化能力,这是我们 模型训练技巧指南 中讨论的一个关键概念。

导出数据为 40 多种格式以进行模型训练

数据集版本生成后,你可以将其导出为各种适合模型训练的格式。在版本页面点击“Export Dataset”按钮。

Roboflow dataset export to YOLO format

选择“YOLO26”格式以确保与 Ultralytics 训练流水线的兼容性。现在,你已准备好训练你的自定义 YOLO26 模型。有关开始训练的详细说明,请参阅 Ultralytics 训练模式文档

上传自定义 YOLO26 模型权重以进行测试和部署

Roboflow 为部署模型提供了可扩展的 API 以及与 NVIDIA JetsonLuxonis OAKRaspberry Pi 和基于 GPU 的系统兼容的 SDK。在我们的指南中探索各种 模型部署选项

你可以通过简单的 Python 脚本将 YOLO26 模型权重上传至 Roboflow 来进行部署。

创建一个新的 Python 文件并添加以下代码:

import roboflow  # install with 'pip install roboflow'

# Log in to Roboflow (requires API key)
roboflow.login()

# Initialize Roboflow client
rf = roboflow.Roboflow()

# Define your workspace and project details
WORKSPACE_ID = "your-workspace-id"  # Replace with your actual Workspace ID
PROJECT_ID = "your-project-id"  # Replace with your actual Project ID
VERSION = 1  # Replace with your desired dataset version number
MODEL_PATH = "path/to/your/runs/detect/train/"  # Replace with the path to your YOLO26 training results directory

# Get project and version
project = rf.workspace(WORKSPACE_ID).project(PROJECT_ID)
dataset = project.version(VERSION)

# Upload model weights for deployment
# Ensure MODEL_PATH points to the directory containing 'best.pt'
dataset.deploy(
    model_type="yolov8",
    model_path=MODEL_PATH,
)  # Note: Use "yolov8" as model_type for YOLO26 compatibility in Roboflow deployment

print(f"Model from {MODEL_PATH} uploaded to Roboflow project {PROJECT_ID}, version {VERSION}.")
print("Deployment may take up to 30 minutes.")

在此代码中,将 your-workspace-idyour-project-idVERSION 编号以及 MODEL_PATH 替换为你 Roboflow 帐户、项目以及本地训练结果目录的特定值。确保 MODEL_PATH 正确指向包含你训练好的 best.pt 权重文件的目录。

运行上述代码时,系统会要求你进行身份验证(通常通过 API 密钥)。之后,你的模型将被上传,并为你的项目创建一个 API 端点。此过程最多可能需要 30 分钟才能完成。

要测试你的模型并查找所支持 SDK 的部署说明,请前往 Roboflow 侧边栏中的“Deploy”标签页。在该页面顶部,会出现一个工具栏,允许你使用摄像头或上传图像/视频来测试你的模型。

Roboflow deployment widget for model inference

你上传的模型还可以用作标注助手,根据其训练成果为新图像提供标注建议。

如何评估 YOLO26 模型

Roboflow 提供了评估模型性能的功能。理解 性能指标 对于模型迭代至关重要。

上传模型后,通过 Roboflow 控制面板上的模型页面访问模型评估工具。点击“View Detailed Evaluation”。

Initiating a Roboflow model evaluation

该工具会显示一个 混淆矩阵 以展示模型表现,并使用 CLIP 嵌入生成一个交互式向量分析图。这些功能有助于确定模型需要改进的地方。

混淆矩阵弹窗:

A confusion matrix displayed in Roboflow

悬停在单元格上以查看数值,点击单元格以查看包含模型预测和真实数据的相应图像。

点击“Vector Analysis”以查看基于 CLIP 嵌入的图像相似度散点图。靠得越近的图像语义越相似。点代表图像,颜色从白色(表现良好)到红色(表现较差)渐变。

Roboflow vector analysis plot using CLIP embeddings

向量分析的作用:

  • 识别图像聚类。
  • 精准定位模型表现不佳的聚类。
  • 理解导致性能不佳的图像之间的共性。

学习资源

常见问题 (FAQ)

如何使用 Roboflow 为 YOLO26 模型标注数据?

使用 Roboflow Annotate。创建一个项目,上传图像,并使用标注工具(B 键用于 边界框P 键用于多边形)或基于 SAM 的标注助手来加快标注速度。详细步骤请参见 上传、转换并标注数据章节

Roboflow 提供哪些服务来收集 YOLO26 训练数据?

Roboflow 提供 Universe(访问海量 数据集)和 Collect(通过摄像头自动收集图像)。这些服务可以帮助获取 YOLO26 模型所需的 训练数据,并作为我们 数据收集指南 中所述策略的补充。

如何使用 Roboflow 管理和分析我的 YOLO26 数据集?

利用 Roboflow 的数据集搜索、标签和健康检查功能。搜索功能按文本或标签查找图像,健康检查功能分析数据集质量(类别平衡、图像尺寸等),以便在训练前进行改进。详情请参见 数据集管理章节

如何从 Roboflow 导出我的 YOLO26 数据集?

在 Roboflow 中创建一个数据集版本,应用所需的预处理和 数据增强,然后点击“Export Dataset”并选择 YOLO26 格式。该流程详见 导出数据章节。这将为你的数据与 Ultralytics 训练流水线 的使用做好准备。

如何使用 Roboflow 集成和部署 YOLO26 模型?

使用提供的 Python 脚本将训练好的 YOLO26 权重上传至 Roboflow。这将创建一个可部署的 API 端点。请参阅 上传自定义权重章节 获取脚本和说明。在我们的文档中探索更多 部署选项

评论