在这里插入图片描述

Yolo深度学习模型YOLOv8

Ultralytics YOLOv8 是一款前沿、最先进(SOTA)的模型,基于先前 YOLO 版本的成功,引入了新功能和改进,进一步提升性能和灵活性。YOLOv8 设计快速、准确且易于使用,使其成为各种物体检测与跟踪、实例分割、图像分类和姿态估计任务的绝佳选择。

YOLOv8 系列中的 YOLOv8n、YOLOv8s、YOLOv8m、YOLOv8l、YOLOv8x 是同一架构下的不同规模模型,主要通过网络深度、宽度(通道数) 区分,以平衡检测精度、速度和计算成本。具体区别如下:

1. 核心差异:模型规模与参数

  • YOLOv8n(nano)
    最小模型,网络深度和宽度最小,参数约 3.2M
    特点:速度最快,计算量最小(FLOPs 约 8.7G),适合算力有限的场景(如移动端、嵌入式设备),但精度相对最低。

  • YOLOv8s(small)
    小规模模型,参数约 11.2M,比 nano 更复杂。
    特点:速度较快(略逊于 nano),精度优于 nano,FLOPs 约 28.6G,适合对速度和精度有平衡需求的场景(如边缘计算设备)。

  • YOLOv8m(medium)
    中等规模模型,参数约 25.9M
    特点:精度进一步提升,FLOPs 约 78.9G,速度适中,适合常规 GPU 推理场景(如服务器端基础检测任务)。

  • YOLOv8l(large)
    大规模模型,参数约 43.7M
    特点:精度较高,FLOPs 约 165.2G,计算量较大,适合对精度要求较高且算力充足的场景(如复杂环境检测)。

  • YOLOv8x(xlarge)
    最大模型,参数约 68.2M,网络最深、最宽。
    特点:精度最高,FLOPs 约 257.8G,计算量最大,适合对精度要求极高且算力充足的场景(如科研、高精度工业检测)。

2. 性能表现:速度与精度

在 COCO 数据集(目标检测基准)上的典型表现(仅供参考):

模型 输入尺寸 mAPval(精度) 速度(CPU,ms) 速度(GPU,ms)
YOLOv8n 640×640 37.3 ~140 ~3
YOLOv8s 640×640 44.9 ~220 ~5
YOLOv8m 640×640 50.2 ~450 ~8
YOLOv8l 640×640 52.9 ~700 ~12
YOLOv8x 640×640 53.9 ~1100 ~20
  • mAP:均值平均精度,数值越高精度越好;
  • 速度:单位为毫秒(ms),数值越小速度越快(CPU 为普通桌面处理器,GPU 为 NVIDIA Tesla T4 等中端显卡)。

3. 适用场景

  • YOLOv8n/s:追求速度优先,如实时视频流检测(摄像头监控)、移动端应用、嵌入式设备(如 Jetson Nano)。
  • YOLOv8m:平衡速度与精度,适合大多数服务器端常规检测任务(如工业质检、普通图像识别)。
  • YOLOv8l/x:精度优先,适合对细节要求高的场景(如小目标检测、复杂背景下的精细识别),但需较强算力支持(如高性能 GPU)。

4. 总结

选择时需根据硬件算力、实时性要求、检测精度需求权衡:

  • 算力有限 → 选 n/s 版;
  • 常规场景 → 选 m 版;
  • 高精度需求 → 选 l/x 版。

同一任务中,模型规模越大,训练/推理耗时越长,对显存要求越高(如 YOLOv8x 推理可能需要 8GB 以上 GPU 显存)。

5. YOLOv8的安装和Python使用

请参阅下面的快速安装和使用示例,以及 YOLOv8 文档 上有关培训、验证、预测和部署的完整文档。

安装
使用Pip在一个Python>=3.8环境中安装ultralytics包,此环境还需包含PyTorch>=1.7。这也会安装所有必要的依赖项。

pip install ultralytics

如需使用包括Conda、Docker和Git在内的其他安装方法,请参考快速入门指南。

Usage
CLI
YOLOv8 可以在命令行界面(CLI)中直接使用,只需输入 yolo 命令:

yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'

yolo 可用于各种任务和模式,并接受其他参数,例如 imgsz=640。查看 YOLOv8 CLI 文档以获取示例。

Python

YOLOv8 也可以在 Python 环境中直接使用,并接受与上述 CLI 示例中相同的参数:

from ultralytics import YOLO

# 加载模型
model = YOLO("yolov8n.yaml")  # 从头开始构建新模型
model = YOLO("yolov8n.pt")  # 加载预训练模型(建议用于训练)

# 使用模型
model.train(data="coco128.yaml", epochs=3)  # 训练模型
metrics = model.val()  # 在验证集上评估模型性能
results = model("https://ultralytics.com/images/bus.jpg")  # 对图像进行预测
success = model.export(format="onnx")  # 将模型导出为 ONNX 格式

5. Yolo模型测试使用

请添加图片描述
请添加图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐