在本指南中,将详细介绍如何利用Roboflow平台来训练、部署YOLO11模型,并在工作流中使用这些模型。YOLO11是由Ultralytics开发的最新模型架构,它是YOLOv5和YOLOv8的继任者。
Roboflow支持将40多种格式的数据转换为YOLO11所需的格式(YOLO11 PyTorch TXT)。例如,如果有一个COCO JSON数据集,可以将其转换为YOLO11检测、分割等所需的格式。可以在中查看所有支持的格式。
此外,还可以在Roboflow中标注数据,并将其导出为YOLO11格式,以便在Colab笔记本中用于训练。Roboflow提供了一套完整的标注工具,以加快标注过程,包括SAM驱动的标注和自动标注。还可以利用训练好的YOLO11模型作为标注助手,以加快数据标注的速度。
以下是一个展示SAM驱动标注的示例,可以将鼠标悬停在一个对象上并点击它来绘制多边形标注:
可以在Roboflow托管的平台上训练YOLO11模型。要训练一个模型,首先在Roboflow上创建一个项目并生成一个数据集版本。然后,在数据集版本仪表板上点击“Train with Roboflow”:
一个窗口将出现,可以从中选择想要训练的模型类型。选择“YOLO11”:
然后点击“Continue”。接下来,系统会询问是否想要训练一个快速、准确或超大模型。对于测试,建议训练一个快速模型。对于生产用例,如果准确性至关重要,建议训练准确模型。
然后,系统会询问希望从哪个训练检查点开始训练。默认情况下,建议从YOLO11 COCO Checkpoint开始训练。如果已经在数据集的先前版本上训练过YOLO11模型,可以使用该模型作为检查点。这可能有助于获得更高的准确性。
点击“Start Training”开始训练模型。将收到预计训练作业需要多长时间的估计:
训练作业所需的时间将根据数据集中的图像数量和其他几个因素而变化。
当模型训练完成后,它将在Roboflow Web界面中可供测试,并通过Roboflow云REST API或使用Inference进行设备部署。为了实现最低延迟,建议使用在设备上部署。可以在支持CUDA GPU的设备上部署,例如NVIDIA Jetson,GPU将用于加速推理。
要在自己的硬件上部署YOLO11模型,首先安装Inference:
pip install inference
可以以两种方式运行Inference:
在Docker容器中,或使用Python SDK。
在本指南中,将使用Python SDK进行部署。创建一个新的Python文件并添加以下代码:
from inference import get_model
import supervision as sv
import cv2
# 定义用于推理的图像URL
image_file = "image.jpeg"
image = cv2.imread(image_file)
# 加载预训练的yolo11n模型
model = get_model(model_id="yolov11n-640")
# 在选择的图像上运行推理,图像可以是URL、NumPy数组、PIL图像等
results = model.infer(image)[0]
# 将结果加载到supervision Detections API中
detections = sv.Detections.from_inference(results)
# 创建supervision注释器
bounding_box_annotator = sv.BoundingBoxAnnotator()
label_annotator = sv.LabelAnnotator()
# 使用推理结果注释图像
annotated_image = bounding_box_annotator.annotate(
scene=image, detections=detections)
annotated_image = label_annotator.annotate(
scene=annotated_image, detections=detections)
# 显示图像
sv.plot_image(annotated_image)
在上面的代码中,设置Roboflow工作区ID、模型ID和API密钥,如果想使用在工作区中训练的自定义模型。
找到工作区和模型ID,找到API密钥。同时,设置想要运行推理的图像的URL。这可以是本地文件。
以下是一张通过模型运行的图像示例:
模型成功检测到图像中的一个货运集装箱,由围绕感兴趣对象的紫色边界框表示。
还可以在视频流上运行推理。要了解更多关于在视频流上运行模型的信息——从RTSP到网络摄像头——请参阅。
还可以。工作流允许在基于Web的应用程序构建器中构建复杂的多步骤计算机视觉解决方案。
要在使用工作流中的YOLO11,导航到Roboflow仪表板中的工作流标签。这可以从仪表板侧边栏中的工作流链接访问。然后,点击“创建工作流”。
将被带到工作流编辑器,可以在那里配置应用程序:点击“添加块”以添加一个块。然后,添加一个对象检测模型块。
然后,将被带到一个面板,可以从中选择想要使用的模型。设置与YOLO11模型关联的模型ID。可以设置工作区中的任何模型,或者一个公共模型。
要可视化模型预测,添加一个边界框可视化块:
现在可以测试工作流了!要测试工作流,点击“测试工作流”,然后拖入一个想要运行推理的图像。点击“测试工作流”按钮以在图像上运行推理:
YOLO11模型,针对物流用例进行了微调,例如检测货运集装箱,成功识别了货运集装箱。
然后,可以在云中或自己的硬件上部署工作流。要了解如何部署工作流,点击工作流编辑器中的“部署工作流”,然后选择最适合用例的部署选项。
YOLO11是由Ultralytics开发的新型模型架构,它是YOLOv5和YOLOv8的创造者。在本指南中,介绍了三种使用Roboflow与YOLO11的方法: