yolov8的使用


yolov8使用指定模型预测

打开Anaconda Prompt,进入虚拟系统yolov8,使用如下命令安装代码:

1
pip install ultralytics

使用如下命令使用摄像头预测:

1
yolo predict model=yolov8n source=0 show=true

model=yolov8n 代表使用yolov8n模型,yolov8n为官方训练的较小的一个模型;
source=0 代表使用摄像头作为视频源,0可以切换为视频路径;
show=true 代表将识别结果实时显示出来。
识别完成后会将结果自动保存在’users/你的用户名/runs’文件夹下。

yolov8模型训练

yolov8数据集结构

这里只介绍yolov8能使用的一中数据集结构,有些其他数据集也能使用。
数据集目录结构如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
yolov8_dataset/

├── train/
│ ├── images/
│ │ ├── img1.jpg
│ │ ├── img2.jpg
│ │ └── ...
│ │
│ └── labels/
│ ├── img1.txt
│ ├── img2.txt
│ └── ...

├── valid/
│ ├── images/
│ │ ├── img_a.jpg
│ │ ├── img_b.jpg
│ │ └── ...
│ │
│ └── labels/
│ ├── img_a.txt
│ ├── img_b.txt
│ └── ...

├── test/
│ ├── images/
│ │ ├── img_x.jpg
│ │ ├── img_y.jpg
│ │ └── ...
│ │
│ └── labels/
│ ├── img_x.txt
│ ├── img_y.txt
│ └── ...

└── dataset.yaml # 包含数据集配置信息的YAML文件

train 用于训练的照片和数据;
valid 用于训练过程中检测模型的数据集,用以在训练过程中评估模型的能力,可以没有此数据集,这样的话就无法实时显示模型的评估数据;
test 用于训练结束后整体评估模型的能力,可以没有此数据集,这样的话最终无法生成整体评估数据;
dateset.yaml 用于记录数据集中train、valid、test等数据集的位置以及模型训练信息。

dateset.yaml内容如下:

1
2
3
4
5
6
7
8
9
10
# 这里的path需要指向你项目中数据集的目录
path: C:/Users/15875/Desktop/YOLOv8/birdsflying
# 这里分别指向你训练、验证、测试的文件地址,只需要指向图片的文件夹即可。但是要注意图片和labels名称要对应
train: train # train images (relative to 'path') 128 images
val: valid # val images (relative to 'path') 128 images
test: valid # test images (optional)

# Classes
names:
0: bird

模型训练

使用如下命令指定数据集进行训练:

1
yolo train data='dataset.yaml'model=yolov8n.pt epochs=500 lr0=0.01

data=’’ 填写dataset.yaml所在路径;
model=yolov8n.pt 代表使用官方模型作为预训练模型(一般不自己从零开始训练模型,这是一件很难的事情);
epochs=500 代表训练500轮,模型训练是一次一次迭代提升的过程,一般100到200轮就不会再有明显提升;
lr0=0.01 代表每次训练向最优值步进的跨度是0.01,这个参数可以暂时不了解。
训练完成的模型会保存在’users/你的用户名/train’文件夹下。
训练过程一般时间很长,具体时间视GPU强弱而定。

如果想使用刚刚训练完成的模型可以使用预测命令,将model指向模型的路径:

1
yolo predict model=yolov8n source=0 show=true

文章作者: jiasen
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 jiasen !
  目录