Roboflow
Roboflow 提供了构建和部署计算机视觉模型所需的一切。通过API和SDK在流水线的任何步骤连接Roboflow,或使用端到端界面来自动化从图像到推理的整个过程。无论您需要数据标注、模型训练还是模型部署,Roboflow都为您提供了构建自定义计算机视觉解决方案的模块。
许可
Ultralytics提供两种许可选项:
- AGPL-3.0许可证,一个OSI批准的开源许可证,适合学生和爱好者。
- 企业许可证,适用于希望将我们的AI模型整合到其产品和服务中的企业。
更多详情请参见Ultralytics许可。
在本指南中,我们将展示如何收集、标注和组织数据,以用于训练自定义的Ultralytics YOLO11模型。使用下面的目录直接跳转到特定部分:
- 收集用于训练自定义YOLO11模型的数据
- 上传、转换和标注数据为YOLO11格式
- 预处理和增强数据以提高模型鲁棒性
- 数据集管理用于YOLO11
- 以40多种格式导出数据用于模型训练
- 上传自定义YOLO11模型权重进行测试和部署
- 收集用于训练自定义YOLO11模型的数据
Roboflow提供了两种服务,可以帮助您为YOLO11模型收集数据:Universe和Collect。
Universe是一个在线仓库,拥有超过25万个视觉数据集,总计超过1亿张图像。
通过免费的Roboflow账户,您可以导出Universe上可用的任何数据集。要导出数据集,请点击任何数据集上的“下载此数据集”按钮。
对于YOLO11,选择“YOLO11”作为导出格式:
Universe还有一个页面,汇总了所有上传到Roboflow的公开微调YOLO11模型。您可以使用此页面探索预训练模型,用于测试或自动数据标注,或使用Roboflow推理进行原型设计。
如果您想自己收集图像,请尝试Collect,这是一个开源项目,允许您使用边缘设备上的网络摄像头自动收集图像。您可以使用文本或图像提示与Collect一起指示应收集哪些数据,从而仅捕获构建视觉模型所需的有用数据。
上传、转换和标注数据为YOLO11格式
Roboflow Annotate 是一个在线标注工具,用于标注图像以进行目标检测、分类和分割。
要为YOLO11目标检测、实例分割或分类模型标注数据,首先在Roboflow中创建一个项目。
接下来,上传您的图像以及您从其他工具中已有的任何预先存在的标注(使用40多种支持的导入格式之一)到Roboflow。
选择您在上传图像后跳转到的标注页面上已上传的图像批次。然后,点击“开始标注”来为图像添加标签。
要使用边界框进行标注,请按下键盘上的 B
键或在侧边栏中点击方框图标。点击您希望开始绘制边界框的位置,然后拖动以创建框:
一旦创建了标注,将会弹出一个窗口要求您为标注选择一个类别。
要使用多边形进行标注,请按下键盘上的 P
键或在侧边栏中点击多边形图标。启用了多边形标注工具后,点击图像中的各个点以绘制多边形。
Roboflow 提供了一个基于 SAM 的标注助手,通过它您可以比以往更快地标注图像。SAM(分割任何模型)是一种先进的计算机视觉模型,能够精确标注图像。使用 SAM,您可以显著加快图像标注过程。使用多边形标注图像变得简单,只需几次点击,而不是围绕对象精确点击点的繁琐过程。
要使用标注助手,请点击侧边栏中的光标图标,SAM 将被加载以供在您的项目中使用。
将鼠标悬停在图像中的任何对象上,SAM 将推荐一个标注。您可以悬停以找到合适的标注位置,然后点击以创建您的标注。要调整标注的精确度,您可以点击 SAM 在文档中创建的标注内部或外部。
您还可以从侧边栏的标签面板中为图像添加标签。您可以为来自特定区域、特定摄像机等的数据应用标签。然后,您可以使用这些标签搜索与标签匹配的图像,并生成包含特定标签或标签集的数据集版本。
托管在 Roboflow 上的模型可以与 Label Assist 一起使用,这是一个使用您的 YOLO11 模型推荐标注的自动标注工具。要使用 Label Assist,首先将 YOLO11 模型上传到 Roboflow(参见指南后面的说明)。然后,点击左侧边栏中的魔杖图标并选择您的模型以在 Label Assist 中使用。
选择一个模型,然后点击“继续”以启用 Label Assist:
当您打开新的图像进行标注时,Label Assist 将触发并推荐标注。
YOLO11 的数据集管理
Roboflow 提供了一套工具来理解计算机视觉数据集。
首先,您可以使用数据集搜索来查找符合语义文本描述(即找到所有包含人的图像)或指定标签(即图像与特定标签相关联)的图像。要使用数据集搜索,请点击侧边栏中的“数据集”。然后,使用页面顶部的搜索栏和相关过滤器输入搜索查询。
例如,以下文本查询在数据集中查找包含人的图像:
您可以使用“标签”选择器将搜索范围缩小到具有特定标签的图像:
在开始使用您的数据集训练模型之前,我们建议使用 Roboflow 健康检查,这是一个网页工具,提供对您的数据集的洞察以及在训练视觉模型之前如何改进数据集。
要使用健康检查,请点击侧边栏中的“健康检查”链接。将显示一系列统计数据,显示数据集中图像的平均大小、类别平衡、图像中标注位置的热图等。
健康检查可能会建议一些更改以帮助提升数据集性能。例如,类别平衡功能可能会显示标签存在不平衡,如果解决这个问题,可能会提升模型性能。
以40多种格式导出数据用于模型训练
要导出数据,您需要一个数据集版本。版本是数据集在某个时间点的冻结状态。要创建一个版本,首先点击侧边栏中的“版本”。然后,点击“创建新版本”按钮。在此页面上,您可以选择要应用于数据集的增强和预处理步骤:
对于您选择的每个增强,都会弹出一个窗口,允许您根据需要调整增强参数。以下是一个在指定参数内调整亮度增强的示例:
当您的数据集版本生成后,您可以将数据导出为多种格式。点击数据集版本页面上的“导出数据集”按钮以导出您的数据:
现在您已准备好在一个自定义数据集上训练YOLO11。请按照此书面指南和YouTube视频的步骤操作,或参考Ultralytics文档。
上传自定义YOLO11模型权重以进行测试和部署
Roboflow提供了一个无限可扩展的API用于部署模型,以及适用于NVIDIA Jetsons、Luxonis OAKs、Raspberry Pis、基于GPU的设备等的SDK。
您可以通过将YOLO11权重上传到Roboflow来部署YOLO11模型。您可以在几行Python代码中完成此操作。创建一个新的Python文件并添加以下代码:
import roboflow # 使用'pip install roboflow'安装
roboflow.login()
rf = roboflow.Roboflow()
project = rf.workspace(WORKSPACE_ID).project("football-players-detection-3zvbc")
dataset = project.version(VERSION).download("yolov8")
project.version(dataset.version).deploy(model_type="yolov8", model_path=f"{HOME}/runs/detect/train/")
在此代码中,将项目ID和版本ID替换为您账户和项目的值。了解如何获取您的Roboflow API密钥。
当您运行上述代码时,系统会要求您进行身份验证。然后,您的模型将被上传,并为您的项目创建一个API。此过程可能需要长达30分钟才能完成。
要测试您的模型并找到支持SDK的部署说明,请转到Roboflow侧边栏中的“部署”选项卡。在此页面的顶部,将出现一个窗口小部件,您可以使用它来测试您的模型。您可以使用网络摄像头进行实时测试,或上传图像或视频。
您还可以将上传的模型用作标注助手。此功能使用您训练的模型为上传到Roboflow的图像推荐标注。
如何评估YOLO11模型
Roboflow提供了一系列用于评估模型的功能。
一旦您将模型上传到Roboflow,您可以访问我们的模型评估工具,该工具提供了一个混淆矩阵,显示您的模型性能以及一个交互式向量分析图。这些功能可以帮助您找到改进模型的机会。
要访问混淆矩阵,请转到Roboflow仪表板上的模型页面,然后点击“查看详细评估”:
将弹出一个窗口,显示混淆矩阵:
将鼠标悬停在混淆矩阵的方框上,可以看到与该方框关联的值。点击方框可以查看相应类别的图像。点击图像可以查看与该图像相关的模型预测和真实数据。
要获取更多见解,请点击“向量分析”。这将显示使用CLIP计算的您数据集中图像的散点图。图中的图像越接近,它们在语义上就越相似。每个图像都表示为一个点,颜色介于白色和红色之间。点的颜色越红,模型的表现越差。
您可以使用向量分析来:
- 找到图像的聚类;
- 识别模型表现不佳的聚类;
- 可视化模型表现不佳的图像之间的共性。
学习资源
想了解更多关于使用Roboflow创建YOLO11模型的信息吗?以下资源可能在您的工作中有所帮助。
- 在自定义数据集上训练YOLO11:跟随我们的互动笔记本,了解如何在自定义数据集上训练YOLO11模型。
- Autodistill:使用大型基础视觉模型为特定模型标记数据。您可以使用Autodistill为训练YOLO11分类、检测和分割模型标记图像。
- Supervision:一个Python包,包含在处理计算机视觉模型时非常有用的实用工具。您可以使用supervision过滤检测结果、计算混淆矩阵等,所有这些只需几行Python代码。
- Roboflow博客:Roboflow博客涵盖了超过500篇关于计算机视觉的文章,从如何训练YOLO11模型到标注最佳实践。
- Roboflow YouTube频道:在我们的YouTube频道上浏览数十个深入的计算机视觉指南,涵盖从训练YOLO11模型到自动图像标注的主题。
项目展示
以下是我们使用YOLO11和Roboflow共同创建计算机视觉模型所收到的一些反馈。
常见问题
如何使用Roboflow为YOLO11模型标注数据?
使用Roboflow Annotate为YOLO11模型标注数据非常简单。首先,在Roboflow上创建一个项目并上传您的图像。上传后,选择图像批次并点击“开始标注”。您可以使用B
键进行边界框标注,或使用P
键进行多边形标注。为了更快地标注,可以使用基于SAM的标注助手,方法是点击侧边栏中的光标图标。详细步骤可以在这里找到这里。
Roboflow提供哪些服务来收集YOLO11训练数据?
Roboflow提供两项关键服务来收集YOLO11训练数据:Universe和Collect。Universe提供访问超过25万个视觉数据集,而Collect帮助您使用网络摄像头和自动提示收集图像。
如何使用Roboflow管理和分析我的YOLO11数据集?
Roboflow提供了强大的数据集管理工具,包括数据集搜索、标签和健康检查。使用搜索功能可以根据文本描述或标签查找图像。健康检查提供了关于数据集质量的见解,显示类别平衡、图像大小和标注热图。这有助于在训练YOLO11模型之前优化数据集性能。详细信息可以在这里找到这里。
如何从Roboflow导出我的YOLO11数据集?
要从Roboflow导出您的YOLO11数据集,您需要创建一个数据集版本。点击侧边栏中的“版本”,然后点击“创建新版本”并应用任何所需的增强。版本生成后,点击“导出数据集”并选择YOLO11格式。请按照此过程这里。
如何将YOLO11模型与Roboflow集成和部署?
通过上传你的YOLO11权重,使用几行Python代码在Roboflow上集成和部署YOLO11模型。使用提供的脚本进行身份验证并上传你的模型,这将创建一个用于部署的API。有关脚本的详细信息和进一步的说明,请参见本节。
Roboflow提供了哪些评估YOLO11模型的工具?
Roboflow提供了模型评估工具,包括混淆矩阵和向量分析图。从你的模型页面上的“查看详细评估”按钮访问这些工具。这些功能有助于识别模型性能问题并找到改进的领域。更多信息,请参阅本节。