YOLOV8的性能和使用

ops/2024/12/15 15:44:18/

【欢迎关注编码小哥,学习更多实用的编程方法和技巧】

       YOLOv8 是YOLO 系列实时物体检测器的新的迭代产品,在精度和速度方面都具有尖端性能。在之前YOLO 版本的基础上,YOLOv8 引入了新的功能和优化,使其成为广泛应用中各种物体检测任务的理想选择。

主要功能

  • 先进的骨干和颈部架构: YOLOv8 采用了最先进的骨干和颈部架构,从而提高了特征提取和物体检测性能。
  • 无锚分体式Ultralytics 头: YOLOv8 采用无锚分体式Ultralytics 头,与基于锚的方法相比,它有助于提高检测过程的准确性和效率。
  • 优化精度与速度之间的权衡: 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-姿势yolov8n-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)

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

检测(开放图像)

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

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

模型尺寸
(像素)
acc
top1
acc
top5
速度
CPU ONNX
(毫秒)
速度
A100 TensorRT
(毫秒)
params
(M)
FLOPs
(B) at 640
YOLOv8n-cls22469.088.312.90.312.74.3
YOLOv8s-cls22473.891.723.40.356.413.5
YOLOv8m-cls22476.893.585.40.6217.042.7
YOLOv8l-cls22476.893.5163.00.8737.599.7
YOLOv8x-cls22479.094.6232.01.0157.4154.8

姿势(COCO)

模型尺寸
(像素)

50-95
mAPpose
50
速度
CPU ONNX
(毫秒)
速度
A100 TensorRT
(毫秒)
params
(M)
FLOPs
(B)
YOLOv8n-姿势64050.480.1131.81.183.39.2
YOLOv8s-姿势64060.086.2233.21.4211.630.2
YOLOv8m-姿势64065.088.8456.32.0026.481.0
YOLOv8l-姿势64067.690.0784.52.5944.4168.6
YOLOv8x-姿势64069.290.21607.13.7369.4263.2
YOLOv8x-pose-p6128071.691.24088.710.0499.11066.4

OBB

模型尺寸
(像素)
mAPtest
50
速度
CPU ONNX
(毫秒)
速度
A100 TensorRT
(毫秒)
params
(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 训练和推理示例:

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

from ultralytics import YOLO#加载预训练模型YOLOv8n
model = YOLO("yolov8n.pt")#显示模型信息
model.info()#基于COCO8数据集训练100轮
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)# 利用YOLOv8n模型预测图片'bus.jpg'
results = model("path/to/bus.jpg")

常见问题

yolov8-and-how-does-it-differ-from-previous-yolo-versions">YOLOv8 是什么?它与以前的YOLO 版本有何不同?

YOLOv8 是Ultralytics YOLO 系列的最新版本,旨在通过先进的功能提高实时目标检测性能。与早期版本不同的是,YOLOv8 采用了无锚点分离式Ultralytics 头、最先进的骨干和颈部结构,并优化了精度与速度的权衡,是各种应用的理想之选。更多详情,请查看概述和主要功能部分。

yolov8-for-different-computer-vision-tasks">如何将YOLOv8 用于不同的计算机视觉任务?

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

yolov8-models">YOLOv8 模型的性能指标是什么?

YOLOv8 模型在各种基准数据集上都达到了最先进的性能。例如,YOLOv8n 模型在 COCO 数据集上的 mAP(平均精度)为 37.3,在 A100TensorRT 上的速度为 0.99 毫秒。每个模型变体在不同任务和数据集上的详细性能指标见性能指标部分。

yolov8-model">如何训练YOLOv8 模型?

可使用Python训练YOLOv8 模型,以下是使用 COCO 预训练的YOLOv8 模型在 COCO8 数据集上训练模型 100 个epoch 的示例:

from ultralytics import YOLO#加载预训练YOLOv8n模型
model = YOLO("yolov8n.pt")#基于COCO8数据集训练100轮
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

yolov8-models-for-performance">能否对YOLOv8 型号进行性能基准测试?

可以对YOLOv8 机型在各种导出格式下的速度和准确性进行性能基准测试。可以使用PyTorch,ONNX,TensorRT 等进行基准测试。下面是使用Python进行基准测试的命令示例:

from ultralytics.utils.benchmarks import benchmark#在GPU上压测
benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)


http://www.ppmy.cn/ops/142143.html

相关文章

前端成长之路:CSS复合选择器

复合选择器 在CSS中,可以根据选择器的类型将选择器分为基础选择器和复合选择器。 基础选择器就是前面提到过的类选择器、id选择器、标签选择器等;而复合选择器就是在基础选择器的基础之上,将基本选择器进行组合形成的。 复合选择器是由两个及…

人工智能原理实验四:智能算法与机器学习

一、实验目的 本实验课程是计算机、智能、物联网等专业学生的一门专业课程,通过实验,帮助学生更好地掌握人工智能相关概念、技术、原理、应用等;通过实验提高学生编写实验报告、总结实验结果的能力;使学生对智能程序、智能算法等…

【Qt】QWidget中的常见属性及其功能(一)

目录 一、 enabled 例子: 二、geometry 例子: window fram 例子 : 四、windowTiltle 五、windowIcon 例子: qrc机制 创建qrc文件 例子: qt中的很多内置类都是继承自QWidget的,因此熟悉QWidget的…

HarmonyOS-高级(五)

文章目录 HiTraceMeterHiTraceChain错误管理故障分析 🏡作者主页:点击! 🤖HarmonyOS专栏:点击! ⏰️创作时间:2024年12月11日12点12分 HiTraceMeter HiTraceMeter提供系统性能打点接口。开发者…

分类算法评估标准综述

目录 ​编辑 混淆矩阵(Confusion Matrix) 准确率(Accuracy) 精确率(Precision) 召回率(Recall) F1分数(F1 Score) ROC曲线和AUC值 P-R曲线 马修斯相…

【Linux课程学习】:第20弹---信号入门专题(基础部分)

🎁个人主页:我们的五年 🔍系列专栏:Linux课程学习 🌷追光的人,终会万丈光芒 🎉欢迎大家点赞👍评论📝收藏⭐文章 ​ Linux学习笔记: https://blog.csdn.n…

外卖开发(九)——Excel数据报表ApachePOI

外卖开发(九)——Excel数据报表 一、ApachePOI二、入门案例三、导出运营数据报表1、ReportController2、ReportService 一、ApachePOI Apache POl是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是,我们可以使用POI在Java程…

LINUX——shell编程

Shell 简介 Shell 是一个 C 语言编写的脚本语言,它是用户与 Linux 的桥梁,用户输入命令交给 Shell 处理, Shell 将相应的操作传递给内核(Kernel),内核把处理的结果输出给用户。 下面是流程示意图&#xff…