YOLO 是 Joseph Redmon 等人于 2015 年提出的基于单个神经网络的目标检测算法。YOLO 的全称是 You Only Look Once,正是其自身特点的高度概括。

YOLOv8 是 Ultralytics 在 2023 年初推出的一个重大更新版本,建立在以前 YOLO 版本成功的基础上,基于深度学习和计算机视觉的前沿进展,采用最先进的 SOTA 模型,引入了新的功能和改进,进一步提升了目标检测的性能和灵活性,提供了无与伦比的速度和准确性。

YOLOv8 的精简设计使其适用于各种应用,并且可以轻松适应不同的硬件平台,从边缘设备到云 API,使其成为各种物体检测与跟踪、实例分割、图像分类和姿态估计任务的绝佳选择。

YOLOv8 共有 5 个不同大小的预训练模型,由小到大分别是 n、s、m、l 和 x,模型越大其检测效果越好,但模型越大参数量越大、运行速度越慢,训练时需要消耗的资源也越多。

复现环境

  • 操作系统:Windows11
  • 软件工具:PyCharm2023 + Anaconda3

参考来源

前期准备

  • 从开源仓库下载源码:

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

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

配置环境

  • 打开 Anaconda Prompt,创建一个新环境,官方要求 Python 版本要大于 3.8:
conda create -n env_yolov8 python==3.9

  • 提示要下载一些包,输入 y 继续:

  • 等待包下载完毕,环境创建完成:

  • 激活新创建的环境:
conda activate env_yolov8

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

  • 下载 Pytorch,打开官网:https://pytorch.org/
  • CUDA 版本选择 12.1,复制下载命令:

  • 粘贴到 Anaconda Prompt 运行下载命令:

  • 等待下载完成,下载时间略长:

  • 用 PyCharm 打开 YOLOv8 源码:

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

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

  • 打开 Pycharm 终端:

  • 输入命令下载 ultralytics 包:
pip install ultralytics

  • 如果下载速度较慢,可换用清华源下载:
pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple/

  • 等待下载完成:

复现功能

  • 复现目标检测功能,直接在终端运行命令:
yolo predict model=yolov8n.pt source=./ultralytics/assets/bus.jpg

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

  • 复现实例分割功能,直接在终端运行命令:
yolo predict model=yolov8n-seg.pt source=./ultralytics/assets/bus.jpg
  • 运行结果在 run 文件夹 segment 里:

  • 复现姿态检测功能,直接在终端运行命令:
yolo predict model=yolov8n-pose.pt source=./ultralytics/assets/bus.jpg
  • 运行结果在 run 文件夹 pose 里:

模型训练

  • 未完待续……

更多内容

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐