一、YOLOv8简介
YOLOv8是一款前沿、最先进(SOTA)的模型,基于先前 YOLO 版本的成功,引入了新功能和改进,进一步提升性能和灵活性。YOLOv8 设计快速、准确且易于使用,使其成为各种物体检测与跟踪、实例分割、图像分类和姿态估计任务的绝佳选择。
二、环境安装
conda create -n yolov8 python=3.7
conda activate yolov8
conda install pytorch==1.7.0 torchvision==0.8.0 torchaudio==0.7.0 cudatoolkit=11.0 -c pytorch
pip install ultralytics
三、快速训练与测试
- 指定训练数据:/ultralytics-main/ultralytics/datasets/mydata.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: /data/ # dataset root dir
train: mytrain.txt # train images (relative to 'path') 128 images
val: myval.txt # val images (relative to 'path') 128 images
test: # test images (optional)
# Classes
names:
0: xx
1: xx
2: xx
3: xx
4: xx
5: xx
6: xx
7: xx
8: xx
- 训练
from ultralytics import YOLO
# Load a model
model = YOLO("yolov8m.yaml") # build a new model from scratch
model = YOLO("yolov8m.pt") # load a pretrained model (recommended for training)
# Use the model
model.train(data="mydata.yaml", epochs=80) # train the model
- 测试
from ultralytics import YOLO
# Load a model
model = YOLO("yolov8m.yaml")
model = YOLO("/mnt/Project/ultralytics-main/runs/detect/train_yolov8m/best.pt")
results = model.predict(source="/test_path/", save=True, save_txt=True, save_conf=True)
四、模型
-
YOLOv8 的检测、分割和姿态模型在 COCO 数据集上进行预训练,而分类模型在 ImageNet 数据集上进行预训练。在首次使用时,模型会自动从最新的 Ultralytics 发布版本中下载。
-
YOLOv8共提供了5中不同大小的模型选择,方便开发者在性能和精度之前进行平衡。以下以YOLOv8的目标检测模型为例:
-
YOLOv8的分割模型也提供了5中不同大小的模型选择:
-
相关github链接:https://github.com/ultralytics/ultralytics/blob/main/README.zh-CN.md