Meet YOLO26: next-gen vision AI.

Link to this section探索 Ultralytics YOLOv8#

Link to this section概述#

YOLOv8 由 Ultralytics 于 2023 年 1 月 10 日发布,在精度和速度方面提供了尖端的性能。基于以往 YOLO 版本的进步,YOLOv8 引入了新的功能和优化,使其成为各种应用场景下 目标检测 任务的理想选择。

YOLOv8 性能对比图



Watch: Ultralytics YOLOv8 Model Overview
在 Ultralytics Platform 上尝试

直接在 Ultralytics Platform 上探索并运行 YOLOv8 模型。

Link to this sectionYOLOv8 的主要功能#

  • 先进的骨干网络 (Backbone) 和颈部网络 (Neck) 架构: YOLOv8 采用了最先进的骨干和颈部架构,从而提升了 特征提取目标检测 的性能。
  • 无锚点 (Anchor-free) 分离式 Ultralytics Head: YOLOv8 采用了无锚点的分离式 Ultralytics head,与基于锚点的方法相比,它有助于提高精度并使检测过程更加高效。
  • 优化的精度-速度权衡: YOLOv8 专注于在精度和速度之间保持最佳平衡,适用于多种应用领域中的实时目标检测任务。
  • 多种预训练模型: YOLOv8 提供了一系列预训练模型以满足不同的任务和性能要求,让你更容易找到适合你特定用例的模型。

Link to this section支持的任务和模式#

YOLOv8 系列提供了一系列多样化的模型,每种模型都专门针对计算机视觉中的特定任务。这些模型旨在满足各种需求,从目标检测到更复杂的任务,如 实例分割、姿态/关键点检测、旋转目标检测和分类。

YOLOv8 系列的每个变体都针对其各自的任务进行了优化,确保了高性能和高精度。此外,这些模型兼容各种操作模式,包括 推理验证训练导出,从而促进了它们在部署和开发不同阶段的使用。

模型文件名任务推理验证训练导出
YOLOv8yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.pt检测
YOLOv8-segyolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.pt实例分割
YOLOv8-poseyolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.pt姿态/关键点
YOLOv8-obbyolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.pt旋转目标检测
YOLOv8-clsyolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.pt分类

此表格概述了 YOLOv8 模型变体,重点介绍了它们在特定任务中的适用性以及它们与推理、验证、训练和导出等各种操作模式的兼容性。它展示了 YOLOv8 系列的多功能性和鲁棒性,使其适用于 计算机视觉 中的多种应用。

Link to this section性能指标#

性能

See Detection Docs for usage examples with these models trained on COCO, which include 80 pretrained classes.

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(ms)
速度
A100 TensorRT
(ms)
参数
(M)
FLOPs
(B)
YOLOv8n64037.380.40.993.28.7
YOLOv8s64044.9128.41.2011.228.6
YOLOv8m64050.2234.71.8325.978.9
YOLOv8l64052.9375.22.3943.7165.2
YOLOv8x64053.9479.13.5368.2257.8

Link to this sectionYOLOv8 使用示例#

此示例提供了简单的 YOLOv8 训练和推理示例。有关这些模式以及其他 模式 的完整文档,请参阅 预测训练验证导出 文档页面。

请注意,以下示例适用于目标检测的 YOLOv8 检测 模型。有关其他支持的任务,请参阅 分割分类OBB姿态 文档。

示例

可以将 PyTorch 预训练的 *.pt 模型以及配置文件 *.yaml 传递给 YOLO() 类,以在 Python 中创建模型实例:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv8n model
model = YOLO("yolov8n.pt")

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the YOLOv8n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

Link to this section引文与致谢#

Ultralytics YOLOv8 出版物

由于 YOLOv8 模型发展迅速,Ultralytics 尚未发布正式的研究论文。我们专注于推进技术并使其更易于使用,而不是制作静态文档。有关 YOLO 架构、功能和用法的最新信息,请参阅我们的 GitHub 存储库文档

如果你在工作中使用 YOLOv8 模型或本存储库中的任何其他软件,请使用以下格式引用它:

引用
@software{yolov8_ultralytics,
  author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu},
  title = {Ultralytics YOLOv8},
  version = {8.0.0},
  year = {2023},
  url = {https://github.com/ultralytics/ultralytics},
  orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069},
  license = {AGPL-3.0}
}

请注意,DOI 尚在处理中,一旦可用,将添加到引用中。YOLOv8 模型根据 AGPL-3.0企业版 许可证提供。

Link to this section常见问题 (FAQ)#

Link to this section什么是 YOLOv8,它与之前的 YOLO 版本有何不同?#

YOLOv8 旨在通过高级功能提高实时目标检测性能。与早期版本不同,YOLOv8 采用了 无锚点分割 Ultralytics 检测头、最先进的 骨干网络 和颈部架构,并提供优化的 精度-速度权衡,使其成为各种应用的理想选择。有关更多详细信息,请查看 概述关键特性 部分。

Link to this section我该如何将 YOLOv8 用于不同的计算机视觉任务?#

YOLOv8 支持广泛的计算机视觉任务,包括目标检测、实例分割、姿态/关键点检测、旋转目标检测和分类。每个模型变体都针对其特定任务进行了优化,并兼容各种操作模式,如 推理验证训练导出。有关更多信息,请参阅 支持的任务和模式 部分。

Link to this sectionYOLOv8 模型的性能指标是什么?#

YOLOv8 模型在各种基准测试数据集上实现了最先进的性能。例如,YOLOv8n 模型在 COCO 数据集上实现了 37.3 的 mAP(平均精度均值),在 A100 TensorRT 上达到了 0.99 毫秒的速度。各模型变体在不同任务和数据集上的详细性能指标可以在 性能指标 部分找到。

Link to this section如何训练 YOLOv8 模型?#

可以使用 Python 或 CLI 训练 YOLOv8 模型。以下是使用 COCO 预训练的 YOLOv8 模型在 COCO8 数据集上训练 100 个 轮次 的示例:

示例
from ultralytics import YOLO

# Load a COCO-pretrained YOLOv8n model
model = YOLO("yolov8n.pt")

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

有关更多详细信息,请访问 训练 文档。

Link to this section我可以对 YOLOv8 模型进行性能基准测试吗?#

是的,可以对 YOLOv8 模型进行速度和精度方面的性能基准测试,涵盖各种导出格式。你可以使用 PyTorch、ONNX、TensorRT 等进行基准测试。以下是使用 Python 和 CLI 进行基准测试的示例命令:

示例
from ultralytics.utils.benchmarks import benchmark

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

有关更多信息,请查看 性能指标 部分。

评论