跳转至内容

探索 Ultralytics YOLOv8

概述

YOLOv8 由 Ultralytics 于 2023 年 1 月 10 日发布,在准确性和速度方面提供了前沿的性能。YOLOv8 在之前 YOLO 版本的基础上进行了改进,引入了新的特性和优化,使其成为各种应用中各种 目标检测 任务的理想选择。

Ultralytics YOLOv8



观看: Ultralytics YOLOv8 模型概述

YOLOv8 的主要特性

  • 高级骨干和颈部架构: YOLOv8 采用最先进的骨干和颈部架构,从而改进了特征提取目标检测性能。
  • 无锚点分离式 Ultralytics Head: YOLOv8 采用无锚点分离式 Ultralytics head,与基于锚点的方法相比,这有助于提高准确性并提高检测效率。
  • 优化的准确性-速度权衡: YOLOv8 专注于在准确性和速度之间保持最佳平衡,适用于各种应用领域中的实时对象检测任务。
  • 多种预训练模型: YOLOv8 提供了一系列预训练模型,以满足各种任务和性能需求,从而可以更轻松地找到适合您特定用例的正确模型。

支持的任务和模式

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 系列的多功能性和稳健性,使其适用于计算机视觉中的各种应用。

性能指标

性能

有关使用这些在 COCO 上训练的模型的示例,请参阅检测文档,其中包括 80 个预训练类别。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
A100 TensorRT
(毫秒)
参数
(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

有关使用这些在 Open Image V7 上训练的模型的示例,请参阅检测文档,其中包括 600 个预训练类别。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
A100 TensorRT
(毫秒)
参数
(M)
FLOPs
(B)
YOLOv8n64018.4142.41.213.510.5
YOLOv8s64027.7183.11.4011.429.7
YOLOv8m64033.6408.52.2626.280.6
YOLOv8l64034.9596.92.4344.1167.4
YOLOv8x64036.3860.63.5668.7260.6

有关使用这些在 COCO 上训练的模型的示例,请参阅分割文档,其中包括 80 个预训练类别。

模型尺寸
(像素)
mAPbox
50-95
mAPmask
50-95
速度
CPU ONNX
(毫秒)
速度
A100 TensorRT
(毫秒)
参数
(M)
FLOPs
(B)
YOLOv8n-seg64036.730.596.11.213.412.6
YOLOv8s-seg64044.636.8155.71.4711.842.6
YOLOv8m-seg64049.940.8317.02.1827.3110.2
YOLOv8l-seg64052.342.6572.42.7946.0220.5
YOLOv8x-seg64053.443.4712.14.0271.8344.1

请参阅分类文档,其中包含使用这些在ImageNet上训练的模型的使用示例,其中包括 1000 个预训练类别。

模型尺寸
(像素)
acc
top1
acc
top5
速度
CPU ONNX
(毫秒)
速度
A100 TensorRT
(毫秒)
参数
(M)
FLOPs
(B) at 224
YOLOv8n-cls22469.088.312.90.312.70.5
YOLOv8s-cls22473.891.723.40.356.41.7
YOLOv8m-cls22476.893.585.40.6217.05.3
YOLOv8l-cls22476.893.5163.00.8737.512.3
YOLOv8x-cls22479.094.6232.01.0157.419.0

请参阅姿势估计文档,获取在COCO上训练的这些模型的使用示例,其中包括 1 个预训练类别“person”。

模型尺寸
(像素)
mAP姿势估计
50-95
mAP姿势估计
50
速度
CPU ONNX
(毫秒)
速度
A100 TensorRT
(毫秒)
参数
(M)
FLOPs
(B)
YOLOv8n-pose64050.480.1131.81.183.39.2
YOLOv8s-pose64060.086.2233.21.4211.630.2
YOLOv8m-pose64065.088.8456.32.0026.481.0
YOLOv8l-pose64067.690.0784.52.5944.4168.6
YOLOv8x-pose64069.290.21607.13.7369.4263.2
YOLOv8x-pose-p6128071.691.24088.710.0499.11066.4

请参阅定向检测文档,其中包含使用这些在DOTAv1上训练的模型的使用示例,其中包括 15 个预训练类别。

模型尺寸
(像素)
mAP测试
50
速度
CPU ONNX
(毫秒)
速度
A100 TensorRT
(毫秒)
参数
(M)
FLOPs
(B)
YOLOv8n-obb102478.0204.773.573.123.3
YOLOv8s-obb102479.5424.884.0711.476.3
YOLOv8m-obb102480.5763.487.6126.4208.6
YOLOv8l-obb102480.71278.4211.8344.5433.8
YOLOv8x-obb102481.361759.1013.2369.5676.7

YOLOv8 使用示例

此示例提供了简单的 YOLOv8 训练和推理示例。有关这些和其他模式的完整文档,请参见PredictTrainValExport文档页面。

请注意,以下示例适用于用于目标检测的 YOLOv8 Detect 模型。有关其他支持的任务,请参阅SegmentClassifyOBB 文档和 Pose 文档。

示例

PyTorch pretrained *.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")

可以使用 CLI 命令直接运行模型:

# Load a COCO-pretrained YOLOv8n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLOv8n model and run inference on the 'bus.jpg' image
yolo predict model=yolov8n.pt source=path/to/bus.jpg

引用和致谢

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.0Enterprise 许可提供。

常见问题

什么是 YOLOv8,它与之前的 YOLO 版本有何不同?

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

如何将 YOLOv8 用于不同的计算机视觉任务?

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

YOLOv8 模型的性能指标有哪些?

YOLOv8 模型在各种基准数据集上实现了最先进的性能。例如,YOLOv8n 模型在 COCO 数据集上实现了 37.3 的 mAP(平均精度均值),在 A100 TensorRT 上实现了 0.99 毫秒的速度。有关不同任务和数据集中每个模型变体的详细性能指标,请参见性能指标部分。

如何训练 YOLOv8 模型?

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

示例

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)
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640

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

我可以对 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)
yolo benchmark model=yolov8n.pt data='coco8.yaml' imgsz=640 half=False device=0

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



📅创建于 2 年前 ✏️已更新 22 天前
glenn-jocherRizwanMunawarY-T-GLaughing-qLexBaroupderrengerMatthewNoyceUltralyticsAssistantBurhan-QAyushExelfcakyon

评论