点击查看【bilibili】
Ultralytics YOLOv8 是一款前沿、最先进(SOTA)的模型,基于先前 YOLO 版本的成功,引入了新功能和改进,进一步提升性能和灵活性。YOLOv8 设计快速、准确且易于使用,使其成为各种物体检测与跟踪、实例分割、图像分类和姿态估计任务的绝佳选择。
安装
在一个 Python>=3.7 环境中,使用 PyTorch>=1.7,通过 pip 安装 ultralytics 软件包以及所有依赖项。
pip install ultralytics
使用
YOLOv8 可以在命令行界面(CLI)中直接使用,只需输入 yolo 命令:
命令的格式为:
yolo TASK MODE ARGS
Where TASK (optional) is one of [detect, segment, classify]
MODE (required) is one of [train, val, predict, export, track]
ARGS (optional) are any number of custom 'arg=value' pairs like 'imgsz=320' that override defaults.
我们以detect任务为例Detect任务。执行命令,模型会自动去下载预训练的模型
yolo detect predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'
训练自己的数据集
本节我们就来学习如何训练自己的数据集,例如我们现在想要识别如下几种图标, 我们就需要来训练自己的数据集。
采集数据
采集数据具体的步骤如下:
- 采集图像(注意:多种角度,多种光照情况下)
- 剔除有瑕疵的图像:如模糊不清,没有出现识别主体
- 标注图像:框出要识别的主体
- 拆分训练集和验证机,推荐按照1:4的比例拆分
标注数据
使用labelimg对采集的数据进行标注
模型训练
模型训练命令如下:
yolo detect train data=coco128.yaml model=yolov8n.yaml epochs=100 imgsz=640
创建yaml配置文件
配置文件内容格式参考coco128.yaml
# 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, ..]
path: ../datasets/coco128 # dataset root dir
train: images/train2017 # train images (relative to 'path') 128 images
val: images/train2017 # val images (relative to 'path') 128 images
test: # test images (optional)
# Classes
names:
0: person
1: bicycle