名声大噪的YOLO迎来YOLOv8,迅速包揽目标检测、实例分割新SOTA(1)

简介: 名声大噪的YOLO迎来YOLOv8,迅速包揽目标检测、实例分割新SOTA

YOLOv8 抛弃了前几代模型的 Anchor-Base。


YOLO 是一种基于图像全局信息进行预测的目标检测系统。自 2015 年 Joseph Redmon、Ali Farhadi 等人提出初代模型以来,领域内的研究者们已经对 YOLO 进行了多次更新迭代,模型性能越来越强大。现在,YOLOv8 已正式发布。

YOLOv8 是由小型初创公司 Ultralytics 创建并维护的,值得注意的是 YOLOv5 也是由该公司创建的。

YOLOv8 项目地址:https://github.com/ultralytics/ultralytics

YOLOv8 模型介绍

与先前几个版本相比,YOLOv8 模型更快、更准确,同时为训练模型提供统一框架,以执行以下基本任务:

  • 目标检测;
  • 实例分割;
  • 图像分类。


下图是 YOLOv8 执行目标检测和实例分割的实际效果:

图源:https://www.youtube.com/watch?v=QgF5PHDCwHw

YOLOv8 的主要具有以下特点:

  • 对用户友好的 API(命令行 + Python);
  • 模型更快更准确;
  • 模型能完成目标检测、实例分割和图像分类任务;
  • 与先前所有版本的 YOLO 兼容可扩展;
  • 模型采用新的网络主干架构;
  • 无锚(Anchor-Free)检测;
  • 模型采用新的损失函数。


YOLOv8 还高效灵活地支持多种导出格式,并且可在 CPU 和 GPU 上运行该模型。YOLOv8 的整体架构如下图所示:
YOLOv8 架构。图源:GitHub 用户 RangeKing。

值得注意的是,YOLOv8 是一个无锚(Anchor-Free)模型。这意味着它直接预测对象的中心,而不是已知锚框的偏移量。由于减少了 box 预测的数量,因此这种新方法加速了一个非常复杂的推理步骤 —— 非极大值抑制 (NMS)。
图源:https://blog.roboflow.com/whats-new-in-yolov8/

YOLOv8 系列包含 5 个模型,其中 YOLOv8 Nano(YOLOv8n)是最小的模型,但速度最快;而 YOLOv8 Extra Large (YOLOv8x) 是最准确的模型,但速度最慢。

此外,YOLOv8 捆绑(bundle)了以下预训练模型:

  • 在图像分辨率为 640 的 COCO 检测数据集上训练的目标检测检查点;
  • 在图像分辨率为 640 的 COCO 分割数据集上训练的实例分割检查点;
  • 在图像分辨率为 224 的 ImageNet 数据集上预训练的图像分类模型。


从下图我们可以看到,YOLOv8 在目标检测和实例分割任务上的性能很好:


安装与使用

首先,我们需要用 git 克隆存储库:


git clone https://github.com/ultralytics/ultralytics.git


然后用一行代码安装:


pip install -r requirements.txt


如何通过命令行界面(CLI)使用 YOLOv8 ?

Ultralytics 为 YOLOv8 提供了完整的命令行界面 (CLI) API 和 Python SDK,用于执行训练、验证和推理。要使用命令行界面,需要安装 ultralytics 包。


pip install ultralytics


安装完所需的包后,用户就可以使用 yolo 命令进入 YOLOv8 CLI。下面是使用 yolo CLI 运行目标检测推理的示例:

代码中,task flag 可以接受三个参数:detect、classify、segment,分别对应三类任务。类似地,mode 也可以接受三个参数:train、val、predict。

如何在 Python API 中使用 YOLOv8?

你可以创建一个简单的 Python 文件,以导入 YOLO 模块并执行特定任务。

上面的代码表明,首先需要在 COCO128 数据集上训练 YOLOv8 Nano 模型,然后在验证集上对其进行评估,最后对样本图像进行预测。

目标检测的推理结果


下面的命令为使用 YOLOv8 Nano 模型对视频进行检测。


yolo task=detect mode=predict model=yolov8n.pt source='input/video_3.mp4' show=True


在配置有 GTX 1060 GPU 的笔记本电脑上,YOLOv8 Nano 的推理运行速度约为 105 FPS。效果如下:

,时长00:05

采用 YOLOv8 Nano 模型进行检测推理。

不过上述 YOLOv8 Nano 模型在一些画面中会把猫检测成狗。接下来可以使用 YOLOv8 Extra Large 模型对同一视频运行检测并检查输出。


yolo task=detect mode=predict model=yolov8x.pt source='input/video_3.mp4' show=True


在配置有 GTX 1060 GPU 的笔记本电脑上,YOLOv8 Extra Large 模型的推理速度约为 17 FPS。效果如下

,时长00:05

采用 YOLOv8 Extra large 模型进行检测推理。


尽管 YOLOv8 Extra Large 的错误分类稍微少了一些,但模型仍然在一些帧中检测错误。

实例分割的推理结果

使用 YOLOv8 进行实例分割同样简单,你只需在上面的命令中更改 task 和 model 名称。


yolo task=segment mode=predict model=yolov8x-seg.pt source='input/video_3.mp4' show=True


因为这次将实例分割与目标检测相结合,所以这一次的平均 FPS 约为 13。

,时长00:05

使用 YOLOv8 Extra Large 模型进行分割推理。


在输出中,分割映射看起来非常干净。即使猫在最后几帧藏在积木下面,模型也能够检测并进行图像分割。

图像分类的推理结果

最后,由于 YOLOv8 已经提供了预训练分类模型,你可以使用 yolov8x-cls 模型对同一视频进行分类。


yolo task=classify mode=predict model=yolov8x-cls.pt source='input/video_3.mp4' show=True


,时长00:05

利用 YOLOv8 Extra Large 模型进行分类推理。

默认情况下,视频中标注了模型预测的前 5 个类。用户无需任何后处理,注释直接匹配 ImageNet 类名。


相关文章
|
4月前
|
机器学习/深度学习 人工智能 安全
基于YOLOv8的铁路工人安全作业检测系统|精准识别反光背心与安全帽
本项目集成了 YOLOv8 工业目标检测模型 与 PyQt5 图形界面工具,实现了对铁路工人穿戴安全装备(如反光背心与安全帽)的自动检测与预警。
基于YOLOv8的铁路工人安全作业检测系统|精准识别反光背心与安全帽
|
3月前
|
机器学习/深度学习 监控 数据可视化
基于YOLOv8的打架斗殴暴力行为智能识别项目源码(目标检测)
本系统结合 YOLOv8检测模型 与 PyQt5界面工具,不仅提供完整训练流程,还支持自定义数据集训练,帮助用户快速搭建 开箱即用的打架斗殴行为识别系统。
419 28
基于YOLOv8的打架斗殴暴力行为智能识别项目源码(目标检测)
|
机器学习/深度学习 测试技术 定位技术
YOLOPoint开源 | 新年YOLO依然坚挺,通过结合YOLOv5&SuperPoint,成就多任务SOTA
YOLOPoint开源 | 新年YOLO依然坚挺,通过结合YOLOv5&SuperPoint,成就多任务SOTA
373 0
|
4月前
|
机器学习/深度学习 人工智能 监控
河道塑料瓶识别标准数据集 | 科研与项目必备(图片已划分、已标注)| 适用于YOLO系列深度学习分类检测任务【数据集分享】
随着城市化进程加快和塑料制品使用量增加,河道中的塑料垃圾问题日益严重。塑料瓶作为河道漂浮垃圾的主要类型,不仅破坏水体景观,还威胁水生生态系统的健康。传统的人工巡查方式效率低、成本高,难以满足实时监控与治理的需求。
|
8月前
|
存储 人工智能 监控
一键部署 Dify + MCP Server,高效开发 AI 智能体应用
本文将着重介绍如何通过 SAE 快速搭建 Dify AI 研发平台,依托 Serverless 架构提供全托管、免运维的解决方案,高效开发 AI 智能体应用。
6462 64
|
人工智能 数据可视化 计算机视觉
Ultralytics YOLO11来啦!更快!更强!
YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的 Joseph Redmon 和 Ali Farhadi 开发。
Ultralytics YOLO11来啦!更快!更强!
|
10月前
|
机器学习/深度学习 存储 人工智能
2025年NVIDIA RTX 4090云服务器租赁价格与选型指南
本文探讨了在主流云服务商尚未提供RTX 4090实例的背景下,如何选择高性能GPU服务器。分析了市场现状、替代方案性能,并推荐阿里云的GN7i(NVIDIA A10)、GN6v(NVIDIA V100)等实例,提供了成本优化策略与选型建议,确保用户在AI训练、图形渲染等场景中实现效率和成本的最佳平衡。
|
存储 关系型数据库 MySQL
MySQL 中的 BLOB 数据类型深入解析
【8月更文挑战第31天】
2140 0
|
openCL Linux 异构计算
Linux服务器如何查询GPU型号
【6月更文挑战第13天】Linux服务器如何查询GPU型号
4364 1
|
存储 PyTorch 算法框架/工具
Transformers 4.37 中文文档(九十八)(2)
Transformers 4.37 中文文档(九十八)
347 0