Roboflow 集成
Roboflow 提供了一套用于构建和部署 计算机视觉 模型的工具。您可以使用其 API 和 SDK 将 Roboflow 集成到开发流程的各个阶段,或者利用其端到端界面来管理从图像收集到推理的整个过程。Roboflow 提供了 数据标注、模型训练 和 模型部署 等功能,为开发定制的计算机视觉解决方案以及 Ultralytics 工具提供了组件。
许可
Ultralytics 提供了两种许可选项,以适应不同的用例:
- AGPL-3.0 许可证: 这种经 OSI 批准的开源许可证非常适合学生和爱好者,可促进开放协作和知识共享。有关更多详细信息,请参见LICENSE文件。
- 企业许可证: 此许可证专为商业用途而设计,允许将 Ultralytics 软件和 AI 模型无缝集成到商业产品和服务中。 如果您的场景涉及商业应用,请通过 Ultralytics 许可联系我们。
有关更多详细信息,请参见Ultralytics 许可页面。
本指南演示了如何使用 Roboflow 查找、标记和组织数据,以训练自定义 Ultralytics YOLO11 模型。
- 收集数据以训练自定义 YOLO11 模型
- 上传、转换和标注 YOLO11 格式的数据
- 预处理和增强数据以提高模型的鲁棒性
- YOLO11 的数据集管理
- 导出数据,支持40+种格式,用于模型训练
- 上传自定义 YOLO11 模型权重以进行测试和部署
- 如何评估 YOLO11 模型
- 学习资源
- 项目展示
- 常见问题
收集数据以训练自定义 YOLO11 模型
Roboflow 提供两项主要服务来协助 Ultralytics YOLO 模型 的数据收集:Universe 和 Collect。有关数据收集策略的更多一般信息,请参阅我们的数据收集和标注指南。
Roboflow Universe
Roboflow Universe 是一个在线存储库,其中包含大量视觉数据集。
使用 Roboflow 帐户,您可以导出 Universe 上可用的数据集。要导出数据集,请使用相关数据集页面上的“Download this Dataset”按钮。
为了与 Ultralytics YOLO11 兼容,请选择“YOLO11”作为导出格式:
Universe 页面还汇总了上传到 Roboflow 的公开微调 YOLO 模型。这对于探索用于测试或自动数据标记的预训练模型非常有用。
Roboflow Collect
如果您更喜欢自己收集图像,Roboflow Collect 是一个开源项目,支持通过边缘设备上的网络摄像头自动收集图像。您可以使用文本或图像提示来指定要收集的数据,从而帮助仅捕获视觉模型所需的图像。
上传、转换和标注 YOLO11 格式的数据
Roboflow Annotate 是一种在线工具,用于标记图像以用于各种计算机视觉任务,包括 目标检测、分类 和 分割。
要为 Ultralytics YOLO 模型(支持检测、实例分割、分类、姿势估计和 OBB)标记数据,首先在 Roboflow 中创建一个项目。
接下来,将您的图像和任何来自其他工具的现有注释上传到 Roboflow。
上传后,您将被定向到“标注”页面。选择已上传的图像批次,然后点击“开始标注”以开始标注。
标注工具
- 边界框标注: 按
B
或单击框形图标。单击并拖动以创建 边界框的坐标。一个弹出窗口将提示您选择要注释的类。
- 多边形标注: 用于 实例分割。按
P
或单击多边形图标。单击对象周围的点以绘制多边形。
标签助手(SAM 集成)
Roboflow 集成了基于 Segment Anything Model (SAM) 的标签助手,以潜在地加快注释速度。
要使用标签助手,请单击侧边栏中的光标图标。SAM 将为您的项目启用。
将鼠标悬停在对象上,SAM 可能会建议一个注释。单击以接受注释。您可以通过单击建议区域的内部或外部来优化注释的特异性。
标记
您可以使用侧边栏中的“标签”面板向图像添加标签。标签可以表示位置、相机来源等属性。这些标签允许您搜索特定图像并生成包含带有特定标签的图像的数据集版本。
标签辅助(基于模型)
Roboflow 上托管的模型可以与 Label Assist 结合使用,Label Assist 是一种自动标注工具,它利用您训练好的 YOLO11 模型来建议标注。首先,将您的 YOLO11 模型权重上传到 Roboflow(请参见以下说明)。然后,通过单击左侧边栏中的魔术棒图标并选择您的模型来激活 Label Assist。
选择您的模型,然后点击“继续”以启用标签辅助:
当您打开新的图像进行标注时,Label Assist 可能会根据您模型的预测自动建议标注。
YOLO11 的数据集管理
Roboflow 提供了多种工具来理解和管理您的计算机视觉数据集。
数据集搜索
使用数据集搜索功能,根据语义文本描述(例如,“查找包含所有人的图像”)或特定标签/标记来查找图像。通过单击侧边栏中的“数据集”,然后使用搜索栏和过滤器来访问此功能。
例如,搜索包含人物的图像:
您可以使用“标签”选择器通过标签优化搜索:
健康检查
在训练之前,使用 Roboflow Health Check 来深入了解您的数据集并识别潜在的改进。通过“Health Check”侧边栏链接访问它。它提供关于图像大小、类别平衡、标注热图等的统计信息。
健康检查可能会建议进行更改以提高性能,例如解决在类别平衡功能中发现的类别不平衡问题。了解数据集的健康状况对于有效的模型训练至关重要。
预处理和增强数据以提高模型的鲁棒性
要导出您的数据,您需要创建一个数据集版本,它是您的数据集在特定时间点的快照。单击侧栏中的“版本”,然后单击“创建新版本”。在这里,您可以应用预处理步骤和数据增强,以潜在地增强模型的鲁棒性。
对于每个选定的增强,会弹出一个窗口,允许您微调其参数,例如亮度。适当的增强可以显著提高模型的泛化能力,这是我们的模型训练技巧指南中讨论的一个关键概念。
导出数据,支持40+种格式,用于模型训练
生成数据集版本后,您可以将其导出为适合模型训练的各种格式。单击版本页面上的“导出数据集”按钮。
选择“YOLO11”格式以兼容 Ultralytics 训练流程。现在您可以开始训练您的自定义 YOLO11 模型。有关使用导出的数据集启动训练的详细说明,请参阅 Ultralytics Train 模式文档。
上传自定义 YOLO11 模型权重以进行测试和部署
Roboflow 为已部署的模型提供可扩展的 API 和与 NVIDIA Jetson、Luxonis OAK、Raspberry Pi 和基于 GPU 的系统等设备兼容的 SDK。在我们的指南中探索各种模型部署选项。
您可以通过使用简单的 Python 脚本将其权重上传到 Roboflow 来部署 YOLO11 模型。
创建一个新的 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 YOLO11 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'
project.version(dataset.version).deploy(
model_type="yolov8", model_path=MODEL_PATH
) # Note: Use "yolov8" as model_type for YOLO11 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-id
, your-project-id
, VERSION
数字,以及 MODEL_PATH
使用特定于您的 Roboflow 帐户、项目和本地训练结果目录的值。确保 MODEL_PATH
正确指向包含您训练结果的目录 best.pt
权重文件。
当您运行上面的代码时,系统会要求您进行身份验证(通常通过 API 密钥)。然后,您的模型将被上传,并为您的项目创建一个 API 端点。此过程最多可能需要 30 分钟才能完成。
要测试您的模型并查找受支持的 SDK 的部署说明,请转到 Roboflow 侧栏中的“Deploy”选项卡。在此页面顶部,将出现一个小部件,允许您使用网络摄像头或通过上传图像或视频来测试您的模型。
您上传的模型还可以用作标注助手,根据其训练结果建议对新图像进行标注。
如何评估 YOLO11 模型
Roboflow 提供了评估模型性能的功能。理解性能指标对于模型迭代至关重要。
上传模型后,通过 Roboflow 仪表板上的模型页面访问模型评估工具。点击“查看详细评估”。
该工具显示了一个混淆矩阵,用于说明模型性能,以及一个使用CLIP嵌入的交互式向量分析图。 这些功能有助于确定模型改进的领域。
混淆矩阵弹出窗口:
将鼠标悬停在单元格上可查看值,单击单元格可查看带有模型预测和真实数据的相应图像。
点击“向量分析”,查看基于 CLIP 嵌入的可视化图像相似度的散点图。距离越近的图像在语义上越相似。点代表图像,颜色从白色(良好性能)到红色(较差性能)。
向量分析有所帮助:
- 识别图像聚类。
- 精确定位模型表现不佳的集群。
- 了解导致性能不佳的图像之间的共性。
学习资源
探索以下资源,了解更多关于将 Roboflow 与 Ultralytics YOLO11 结合使用的信息:
- 在自定义数据集上训练 YOLO11 (Colab): 一个交互式的 Google Colab notebook,指导您在自己的数据上训练 YOLO11。
- YOLO11 文档: 了解如何在 Ultralytics 框架内训练、导出和部署 YOLO11 模型。
- Ultralytics 博客: 包含关于计算机视觉的文章,包括 YOLO11 训练和标注最佳实践。
- Ultralytics YouTube 频道: 提供关于计算机视觉主题的深度视频指南,从模型训练到自动标注和部署。
项目展示
用户结合 Ultralytics YOLO11 和 Roboflow 的反馈:
常见问题
常见问题
如何使用 Roboflow 为 YOLO11 模型标记数据?
使用 Roboflow Annotate。创建一个项目,上传图像,然后使用注释工具(B
用于 边界框, P
用于多边形)或基于 SAM 的标签助手,以加快标签速度。详细步骤可在 上传、转换和标记数据部分.
Roboflow 提供哪些用于收集 YOLO11 训练数据的服务?
Roboflow 提供了 Universe(访问大量数据集)和 Collect(通过网络摄像头自动收集图像)。这些可以帮助获取 YOLO11 模型所需的训练数据,补充我们的数据收集指南中概述的策略。
如何使用 Roboflow 管理和分析我的 YOLO11 数据集?
利用 Roboflow 的数据集搜索、标记和健康检查功能。搜索通过文本或标签查找图像,而健康检查分析数据集质量(类别平衡、图像大小等),以指导训练前的改进。有关详细信息,请参见数据集管理部分。
如何从 Roboflow 导出我的 YOLO11 数据集?
在 Roboflow 中创建一个数据集版本,应用所需的预处理和增强,然后单击“导出数据集”并选择 YOLO11 格式。该过程在导出数据部分中进行了概述。这使您的数据可以与 Ultralytics 训练管道一起使用。
如何将 YOLO11 模型与 Roboflow 集成和部署?
使用提供的 Python 脚本将您训练好的 YOLO11 权重上传到 Roboflow。这将创建一个可部署的 API 端点。有关脚本和说明,请参阅上传自定义权重部分。在我们的文档中探索更多部署选项。