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

安装

在一个 Python>=3.7 环境中,使用 PyTorch>=1.7,通过 pip 安装 ultralytics 软件包以及所有依赖项

  1. pip install ultralytics

使用

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

  1. yolo TASK MODE ARGS
  2. Where TASK (optional) is one of [detect, segment, classify]
  3. MODE (required) is one of [train, val, predict, export, track]
  4. ARGS (optional) are any number of custom 'arg=value' pairs like 'imgsz=320' that override defaults.

我们以detect任务为例Detect任务。执行命令,模型会自动去下载预训练的模型

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

训练自己的数据集

本节我们就来学习如何训练自己的数据集,例如我们现在想要识别如下几种图标, 我们就需要来训练自己的数据集。

采集数据

采集数据具体的步骤如下:

  1. 采集图像(注意:多种角度,多种光照情况下)
  2. 剔除有瑕疵的图像:如模糊不清,没有出现识别主体
  3. 标注图像:框出要识别的主体
  4. 拆分训练集和验证机,推荐按照1:4的比例拆分

    标注数据

    使用labelimg对采集的数据进行标注
    You Only Look Once - 图2

模型训练

模型训练命令如下:

  1. yolo detect train data=coco128.yaml model=yolov8n.yaml epochs=100 imgsz=640

创建yaml配置文件

配置文件内容格式参考coco128.yaml

  1. # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
  2. path: ../datasets/coco128 # dataset root dir
  3. train: images/train2017 # train images (relative to 'path') 128 images
  4. val: images/train2017 # val images (relative to 'path') 128 images
  5. test: # test images (optional)
  6. # Classes
  7. names:
  8. 0: person
  9. 1: bicycle