探索 Ultralytics YOLOv8#
概述#
YOLOv8 由 Ultralytics 于 2023 年 1 月 10 日发布,在准确率和速度方面提供了尖端的性能。在先前 YOLO 版本的发展基础之上,YOLOv8 引入了新的功能和优化,使其成为在广泛的应用中执行各种目标检测任务的理想选择。

Watch: Ultralytics YOLOv8 Model Overview
直接在 Ultralytics Platform 上探索并运行 YOLOv8 模型。
YOLOv8 的主要功能#
- 先进的主干网和颈部架构: YOLOv8 采用了最先进的主干网和颈部架构,从而改善了特征提取和目标检测性能。
- 无锚(Anchor-free)分裂式 Ultralytics Head: YOLOv8 采用了无锚分裂式 Ultralytics head,与基于锚点的方法相比,它有助于提高准确性并使检测过程更加高效。
- 优化的准确度与速度平衡: YOLOv8 专注于保持准确度和速度之间的最佳平衡,适用于各种应用领域中的实时目标检测任务。
- 多种预训练模型: YOLOv8 提供了一系列预训练模型,以满足各种任务和性能要求,让你更容易找到适合你特定用例的模型。
支持的任务和模式#
YOLOv8 系列提供多样化的模型,每个模型都专门用于计算机视觉中的特定任务。这些模型旨在满足各种需求,从目标检测到更复杂的任务,例如实例分割、分类、姿态/关键点检测以及旋转目标检测。
YOLOv8 系列的每个变体都针对其各自的任务进行了优化,确保了高性能和高准确率。此外,这些模型兼容各种操作模式,包括推理、验证、训练和导出,从而便利了它们在部署和开发的不同阶段的使用。
| 模型 | 文件名 | 任务 | 训练 | 验证 | 推理 | 导出 |
|---|---|---|---|---|---|---|
| YOLOv8 | yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.pt | Detection | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-seg | yolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.pt | 实例分割 | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-cls | yolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.pt | Classification | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-pose | yolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.pt | 姿态/关键点 | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-obb | yolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.pt | 有向检测 | ✅ | ✅ | ✅ | ✅ |
该表格概述了 YOLOv8 模型变体,突出了它们在特定任务中的适用性以及它们与推理、验证、训练和导出等各种操作模式的兼容性。它展示了 YOLOv8 系列的多功能性和稳健性,使其适用于计算机视觉中的各种应用。
性能指标#
YOLOv8 使用示例#
此示例提供了简单的 YOLOv8 训练和推理示例。有关这些以及其他模式的完整文档,请参阅预测、训练、验证和导出文档页面。
请注意,以下示例适用于用于目标检测的 YOLOv8 检测模型。有关其他支持的任务,请参阅分割、分类、姿态和旋转目标检测文档。
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")引用与致谢#
如果你在工作中使用 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 和企业版许可提供。
常见问题解答#
YOLOv8 模型在各种基准测试数据集上实现了最先进的性能。例如,YOLOv8n 模型在 COCO 数据集上实现了 37.3 的 mAP(平均精度均值),在 A100 TensorRT 上实现了 0.99 毫秒的速度。每个模型变体在不同任务和数据集上的详细性能指标可以在性能指标部分找到。
可以使用 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)有关更多详情,请访问训练文档。
是的,可以对 YOLOv8 模型在各种导出格式下的速度和准确性进行基准测试。你可以使用 PyTorch、ONNX、TensorRT 等进行基准测试。以下是使用 Python 和 CLI 进行基准测试的示例命令:
示例from ultralytics.utils.benchmarks import benchmark # Benchmark on GPU benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, device=0)有关其他信息,请查看性能指标部分。