跳至内容

Ultralytics YOLOv8 模式

Ultralytics YOLO 生态系统和集成

导言

Ultralytics YOLOv8 不只是另一种对象检测模型;它是一个多功能框架,旨在覆盖机器学习模型的整个生命周期--从数据摄取和模型训练到验证、部署和实际跟踪。每种模式都有特定的用途,其设计旨在为您提供不同任务和用例所需的灵活性和效率。



观看: Ultralytics 模式教程:训练、验证、预测、输出和基准。

模式一览

了解Ultralytics YOLOv8 支持的不同模式对于最大限度地利用您的模型至关重要:

  • 训练模式:在自定义或预载数据集上对模型进行微调。
  • Val模式:用于验证模型性能的训练后检查点。
  • 预测模式:释放模型对真实世界数据的预测能力。
  • 导出模式:让您的模型以各种格式部署就绪。
  • 跟踪模式:将物体检测模式扩展到实时跟踪应用中。
  • 基准模式:在不同的部署环境中分析模型的速度和准确性。

本综合指南旨在为您提供每种模式的概述和实用见解,帮助您充分发挥YOLOv8 的潜力。

火车

训练模式用于在自定义数据集上训练YOLOv8 模型。在该模式下,模型使用指定的数据集和超参数进行训练。训练过程包括优化模型参数,使其能够准确预测图像中物体的类别和位置。

列车示例

瓦尔

Val 模式用于在YOLOv8 模型训练完成后对其进行验证。在该模式下,模型在验证集上进行评估,以衡量其准确性和泛化性能。该模式可用于调整模型的超参数,以提高其性能。

Val 示例

预测

预测模式用于使用训练有素的YOLOv8 模型对新图像或视频进行预测。在该模式下,模型从检查点文件加载,用户可以提供图像或视频来执行推理。模型会预测输入图像或视频中物体的类别和位置。

预测示例

出口

导出模式用于将YOLOv8 模型导出为可用于部署的格式。在此模式下,模型将转换为其他软件应用程序或硬件设备可以使用的格式。在将模型部署到生产环境时,该模式非常有用。

出口示例

轨道

跟踪模式用于使用YOLOv8 模型实时跟踪物体。在该模式下,模型从检查点文件加载,用户可以提供实时视频流来执行实时物体跟踪。该模式适用于监控系统或自动驾驶汽车等应用。

轨道示例

基准

基准模式用于分析YOLOv8 中各种导出格式的速度和准确性。基准模式提供的信息包括导出格式的大小、其 mAP50-95 指标(用于物体检测、分割和姿态)或 accuracy_top5 度量(用于分类),以及不同导出格式(如ONNX,OpenVINO,TensorRT 等)下每幅图像的推理时间(以毫秒为单位)。这些信息可以帮助用户根据他们对速度和准确性的要求,为他们的特定使用案例选择最佳的导出格式。

基准范例

常见问题

如何使用Ultralytics YOLOv8 训练自定义对象检测模型?

使用Ultralytics YOLOv8 训练自定义对象检测模型需要使用训练模式。您需要一个YOLO 格式的数据集,其中包含图像和相应的注释文件。使用以下命令启动训练过程:

示例

from ultralytics import YOLO

# Train a custom model
model = YOLO("yolov8n.pt")
model.train(data="path/to/dataset.yaml", epochs=100, imgsz=640)
yolo train data=path/to/dataset.yaml epochs=100 imgsz=640

有关更详细的说明,请参阅Ultralytics Train Guide

Ultralytics YOLOv8 使用什么指标来验证模型的性能?

Ultralytics YOLOv8 在验证过程中使用各种指标来评估模型性能。这些指标包括

  • mAP(平均精度):用于评估物体检测的精确度。
  • IOU(Intersection over Union):测量预测边界框与地面实况边界框之间的重叠。
  • 精确度和召回率:精确度衡量的是真阳性检测结果与检测到的阳性结果总数之比,而召回率衡量的是真阳性检测结果与实际阳性结果总数之比。

您可以运行以下命令开始验证:

示例

from ultralytics import YOLO

# Validate the model
model = YOLO("yolov8n.pt")
model.val(data="path/to/validation.yaml")
yolo val data=path/to/validation.yaml

有关详细信息,请参阅《验证指南》

如何导出YOLOv8 模型以供部署?

Ultralytics YOLOv8 提供导出功能,可将训练有素的模型转换成各种部署格式,如ONNX,TensorRT,CoreML 等。请使用下面的示例导出您的模型:

示例

from ultralytics import YOLO

# Export the model
model = YOLO("yolov8n.pt")
model.export(format="onnx")
yolo export model=yolov8n.pt format=onnx

每种导出格式的详细步骤可参阅《导出指南》

Ultralytics YOLOv8 中的基准模式有何作用?

Ultralytics YOLOv8 中的基准模式用于分析各种导出格式(如ONNX,TensorRT, 和OpenVINO )的速度和准确性。它提供了模型大小等指标、 mAP50-95 在不同的硬件设置下,我们还能提供对象检测和推理所需的时间,帮助您选择最适合您部署需求的格式。

示例

from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)
yolo benchmark model=yolov8n.pt data='coco8.yaml' imgsz=640 half=False device=0

有关详细信息,请参阅《基准指南》

如何使用Ultralytics YOLOv8 进行实时目标跟踪?

使用Ultralytics YOLOv8 中的跟踪模式可实现实时目标跟踪。该模式扩展了对象检测功能,可跨视频帧或实时馈送跟踪对象。使用以下示例启用跟踪功能:

示例

from ultralytics import YOLO

# Track objects in a video
model = YOLO("yolov8n.pt")
model.track(source="path/to/video.mp4")
yolo track source=path/to/video.mp4

有关深入说明,请访问轨道指南



创建于 2023-11-12,更新于 2024-07-04
作者:glenn-jocher(6)

评论