本地运行YOLOV8

YOLOv8 是 YOLO(You Only Look Once)目标检测算法系列的一个变种,它是由 Joseph Redmon 和 Ali Farhadi 提出的一种高效的实时目标检测算法。YOLOv8 是对 YOLOv4 的改进版本,通过一系列的优化和改进,提高了检测性能和速度。

以下是 YOLOv8 的一些特点和改进:

  1. Backbone 网络:YOLOv8 使用 CSPDarknet53 作为其主干网络,这是一种轻量级但强大的骨干网络,有助于提高检测性能。

  2. 网络结构:YOLOv8 采用了一个简单而有效的网络结构,通过堆叠不同尺度的特征图以实现多尺度目标检测。

  3. 优化技术:YOLOv8 使用了一系列优化技术,如模型蒸馏(model distillation)、数据增强(data augmentation)等,以提高检测精度和泛化能力。

  4. 速度和性能:YOLOv8 在保持高检测精度的同时,通过优化网络结构和算法,实现了更快的检测速度,适用于实时目标检测场景。

  5. 开源实现:YOLOv8 的源代码通常是开源的,使得研究人员和开发者可以基于其进行进一步的研究和应用。

总的来说,YOLOv8 是一种高效、准确且实用的目标检测算法,适用于各种场景,包括视频监控、自动驾驶、工业质检等领域。

复现环境

  • 操作系统:Windows10
  • 软件工具:Pycharm2023 + Anaconda3

模型资料来源

前期准备

  • 从开源仓库下载源码:

    5b93fee32deff8d75ab20dc7c1f4180

  • 下载最小模型的预训练权重文件:

    d5eb16af051c07609da4b3ec71ae209

  • 将权重文件直接放在 ultralytics 仓库下即可:

da1bd409ba1755bcbf07d5c6662a3d4

配置环境

  • 打开 Anaconda Prompt,创建一个新环境,官方要求 Python 版本要大于 3.8:

    conda create -n env_yolov8 python==3.9

    b072162db2c8e37ceb52139be7b57f5

  • 输入 nvidia-smi 查看 GPU 支持的最高 CUDA 版本:

    2ad2742ab4f1e3ec4709ea00e3809cf

  • 下载 Pytorch,打开官网:https://pytorch.org/

  • CUDA 版本选择 12.1,复制下载命令:
  • 2385c28b8c95f6be7d45867e8e8a9fc

ed2e48e5c2b26312208610dc76aa48c

  • 用 PyCharm 打开 YOLOv8 源码:

    6b1cab605e5b8faaba2d73af70d401c

  • 点击右下角 Python 解释器—>添加新的解释器—>添加本地解释器:

    ff080ef4447878828927ca6a97de707

  • 切换到我们新创建的环境:

    5825d6d9162d1d83ead06ccb71b102f

  • 打开 Pycharm 终端:

    371199e661ee3f10c5cc16cb01d05f7

  • 输入命令下载 ultralytics 包:

pip install ultralytics

c050c6bebf2ae19cabac0039dbbfba1

复现功能

  • 复现目标检测功能,直接在终端运行命令:

    yolo predict model=yolov8n.pt source=./ultralytics/assets/bus.jpg

    ed89cf583152e625ac0a27e31f85ce3

  • 运行结果在 run 文件夹 detect 里:

    d3f2aa7fd7ff3788810d1fce3150686