跳至内容

Roboflow 集成

Roboflow提供了一套用于构建和部署计算机视觉模型的工具。您可以使用其应用程序接口(API)和软件开发工具包(SDK)将Roboflow 集成到开发流程的各个阶段,也可以利用其端到端接口管理从图像采集到推理的整个过程。Roboflow 提供数据标注模型训练模型部署等功能,为开发定制计算机视觉解决方案和Ultralytics 工具提供了组件。

许可

Ultralytics 提供两种许可选项,以适应不同的使用情况:

  • AGPL-3.0 许可:这种经 OSI 批准的开源许可证非常适合学生和爱好者使用,可促进开放协作和知识共享。详情请查看LICENSE文件。
  • 企业许可证:该许可证专为商业用途设计,允许将Ultralytics 软件和人工智能模型无缝集成到商业产品和服务中。如果您的方案涉及商业应用,请通过Ultralytics 许可联系我们。

更多详情,请参阅Ultralytics 许可页面

本指南演示了如何查找、标注和组织数据,以训练自定义的 Ultralytics YOLO11模型。

为训练自定义YOLO11 模型收集数据

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

Roboflow 宇宙

Roboflow Universe 是一个在线存储库,其中包含大量视觉数据集

Roboflow 宇宙

有了Roboflow 帐户,您就可以导出 Universe 上的数据集。要导出数据集,请使用相关数据集页面上的 "下载此数据集 "按钮。

Roboflow 导出宇宙数据集

与Ultralytics 兼容 YOLO11的兼容性,请选择YOLO11"作为导出格式:

Roboflow Universe 数据集导出格式选择

Universe 还提供了一个页面,汇集了上传到Roboflow 的公共微调YOLO 模型。这对于探索用于测试或自动数据标注的预训练模型非常有用。

Roboflow 收集

如果您喜欢自己收集图像,Roboflow Collect 是一个开源项目,可通过边缘设备上的网络摄像头自动收集图像。您可以使用文本或图像提示来指定要收集的数据,这样有助于只捕捉视觉模型所需的图像。

为YOLO11 格式上传、转换和标注数据

Roboflow Annotate 是一款在线工具,用于为各种计算机视觉任务(包括物体检测分类分割)的图像贴标签。

为Ultralytics 标签数据 YOLO模型(支持检测、实例分割、分类、姿势估计和 OBB)的数据标签,首先要在Roboflow 中创建一个项目。

创建Roboflow 项目

接下来,将图像和其他工具中的任何现有注释上传到Roboflow。

上传图片至Roboflow

上传后,您将被引导至 "标注 "页面。选择一批上传的图像,然后点击 "开始标注 "开始标注。

注释工具

  • 边界框注释:新闻 B 或点击方框图标。点击并拖动以创建 边界框.弹出窗口会提示您为注释选择一个类。

用边界框在Roboflow 中注释图像

  • 多边形注释:用于 实例分割.按下 P 或单击多边形图标。单击对象周围的点来绘制多边形。

标签助理SAM 集成)

Roboflow 集成了基于分段任意模型 (SAM) 的标签助手,可加快注释速度。

要使用标签助手,请单击侧边栏中的光标图标。您的项目将启用SAM 。

使用SAM-powered 标签辅助工具在Roboflow 中注释图像

将鼠标悬停在一个对象上,SAM 可能会建议一个注释。点击接受注释。您可以通过点击建议区域内部或外部来完善注释的具体内容。

标记

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

在Roboflow

标签辅助(基于模型)

托管在Roboflow 上的模型可与标签辅助工具一起使用。 YOLO11模型来建议注释。首先,将您的YOLO11 模型权重上传到Roboflow (请参阅下面的说明)。然后,点击左侧边栏中的魔棒图标,选择您的模型,激活标签辅助工具。

选择您的型号,然后单击 "继续 "启用标签辅助功能:

在Roboflow中启用标签辅助功能

当您打开新图像进行注释时,标签助手会根据模型的预测自动建议注释。

基于训练有素的模型推荐注释的标签辅助工具

数据集管理YOLO11

Roboflow 提供多种工具,用于理解和管理计算机视觉数据集

使用数据集搜索可根据语义文本描述(如 "查找所有包含人物的图像")或特定标签/标记查找图像。点击侧边栏中的 "数据集",使用搜索栏和过滤器访问该功能。

例如,搜索包含人物的图像:

在Roboflow 数据集中搜索图像

您可以通过 "标签 "选择器使用标签来完善搜索:

在Roboflow中按标签过滤图像

健康检查

培训前,请使用Roboflow 健康检查深入了解您的数据集,并确定潜在的改进措施。通过 "健康检查 "侧边栏链接访问。它可提供图像大小、类平衡、注释热图等统计数据。

Roboflow 健康检查分析仪表板

健康检查可能会建议进行修改以提高性能,例如解决类平衡特征中发现的类不平衡问题。了解数据集的健康状况对于有效的模型训练至关重要。

预处理和增强数据以提高模型的稳健性

要导出数据,需要创建一个数据集版本,它是特定时间点数据集的快照。点击侧边栏中的 "版本",然后点击 "创建新版本"。在这里,您可以应用预处理步骤和数据增强功能来提高模型的稳健性。

利用预处理和增强选项在Roboflow 上创建数据集版本

对于每个选定的增强效果,您都可以通过弹出式窗口对其参数(如亮度)进行微调。适当的增强可以显著提高模型的泛化能力,这也是我们的模型训练技巧指南中讨论的一个关键概念。

以 40 多种格式导出数据,用于模型培训

数据集版本生成后,您可以将其导出为适合模型训练的各种格式。点击版本页面上的 "导出数据集 "按钮。

从Roboflow导出数据集

选择YOLO11"格式,以便与Ultralytics 培训管道兼容。现在,您已经准备好训练您的自定义 YOLO11模型。有关使用导出数据集启动训练的详细说明,请参阅Ultralytics 训练模式文档

上传自定义YOLO11 模型权重,以便测试和部署

Roboflow 为部署的模型提供可扩展的应用程序接口,并提供与NVIDIA JetsonLuxonis OAK树莓派和GPU系统等设备兼容的 SDK。在我们的指南中探索各种模型部署选项

您可以使用YOLO11 简单的 Python脚本来部署 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 侧边栏中的 "部署 "选项卡。在该页面顶部,会出现一个小工具,允许您使用网络摄像头或上传图片或视频来测试您的模型。

使用Roboflow 部署部件在示例图像上运行推理

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

如何评估YOLO11 模型

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

上传模型后,通过Roboflow 面板上的模型页面访问模型评估工具。点击 "查看详细评估"。

启动Roboflow 模型评估

该工具可显示说明模型性能的混淆矩阵和使用CLIP嵌入的交互式矢量分析图。这些功能有助于确定模型需要改进的地方。

混乱矩阵弹出

在Roboflow中显示的混淆矩阵

将鼠标悬停在单元格上可查看数值,点击单元格可查看带有模型预测和地面实况数据的相应图像。

点击 "矢量分析 "查看基于 CLIP 嵌入的图像相似性可视化散点图。距离越近的图像语义越相似。点代表图像,颜色从白色(性能好)到红色(性能差)。

在Roboflow 中利用 CLIP 嵌入绘制向量分析图

矢量分析有帮助:

  • 识别图像集群
  • 精确定位模型表现不佳的群集。
  • 了解导致性能不佳的图像的共性。

学习资源

探索这些资源,了解有关将Roboflow 与Ultralytics YOLO11 结合使用的更多信息:

项目展示

结合Ultralytics YOLO11 和Roboflow 的用户反馈:

展示图片 1 展示图片 2 展示图片 3

常见问题

常见问题

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

使用Roboflow 注释。创建一个项目,上传图像,然后使用注释工具 (B 对于 边界框, P 多边形)或SAM标注助手,以加快标注速度。详细步骤见 上传、转换和标记数据部分.

Roboflow 在收集YOLO11 培训数据方面提供哪些服务?

Roboflow 提供 Universe(访问大量数据集)和 Collect(通过网络摄像头自动采集图像)功能。这些功能有助于为您的YOLO11 模型获取必要的训练数据,对我们的《数据收集指南》中概述的策略进行补充。

如何使用Roboflow 管理和分析YOLO11 数据集?

利用Roboflow 的数据集搜索、标记和健康检查功能。搜索功能可通过文本或标签查找图片,而健康检查功能可分析数据集质量(类平衡、图片大小等),以便在训练前指导改进工作。有关详情,请参阅数据集管理部分

如何从Roboflow 导出YOLO11 数据集?

在Roboflow 中创建数据集版本,应用所需的预处理和增强功能,然后点击 "导出数据集 "并选择YOLO11 格式。导出数据 "部分概述了这一过程。这将为Ultralytics 训练管道使用您的数据做好准备。

如何将YOLO11 模型与Roboflow 集成并部署?

使用提供的Python 脚本将训练好的YOLO11 权重上传到Roboflow 。这将创建一个可部署的 API 端点。有关脚本和说明,请参阅 "上传自定义权重 "部分。在我们的文档中探索更多部署选项

📅创建于 1 年前 ✏️已更新 4 天前

评论