训练结果
1.下载Yolov5
官方网站下载比较慢,可以在yolov5: YOLOv5 汉化版,保持官方同步更新这个地址去下载,同步官网的更新
2. 安装
进入到yolov5目录,执行以下命令安装所需的环境,使用清华源安装比较快
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
3. 下载官方数据集
查看data/coco128.yaml
# YOLOv5 by Ultralytics, GPL-3.0 license
# COCO128 dataset https://www.kaggle.com/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
# Example usage: python train.py --data coco128.yaml
# parent
# ├── yolov5
# └── datasets
# └── coco128 ← downloads here (7 MB)
# 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
2: car
3: motorcycle
4: airplane
5: bus
6: train
7: truck
8: boat
9: traffic light
10: fire hydrant
11: stop sign
12: parking meter
13: bench
14: bird
15: cat
16: dog
17: horse
18: sheep
19: cow
20: elephant
21: bear
22: zebra
23: giraffe
24: backpack
25: umbrella
26: handbag
27: tie
28: suitcase
29: frisbee
30: skis
31: snowboard
32: sports ball
33: kite
34: baseball bat
35: baseball glove
36: skateboard
37: surfboard
38: tennis racket
39: bottle
40: wine glass
41: cup
42: fork
43: knife
44: spoon
45: bowl
46: banana
47: apple
48: sandwich
49: orange
50: broccoli
51: carrot
52: hot dog
53: pizza
54: donut
55: cake
56: chair
57: couch
58: potted plant
59: bed
60: dining table
61: toilet
62: tv
63: laptop
64: mouse
65: remote
66: keyboard
67: cell phone
68: microwave
69: oven
70: toaster
71: sink
72: refrigerator
73: book
74: clock
75: vase
76: scissors
77: teddy bear
78: hair drier
79: toothbrush
# Download script/URL (optional)
download: https://ultralytics.com/assets/coco128.zip
在coco128.yaml的最后一行是官方训练集的下载地址,训练时使用此文件会自动下载训练集,但自动下载很慢,可以手动下载,并将最后一行注释掉。
下载完成后在yolov5的上一层目录下创建datasets目录,将coco128解压到datasets目录。
4. 训练数据集
yolov5有多个预训练模型,区别如下图所示:
在训练时根据需要可以使用不同的模型,训练命令如下:
python3 train.py --img 640 --batch 16 --epochs 3 --data data/coco128.yaml --cfg models/yolov5s.yaml
--img 640 : 指定图片大小为640x640 ,如果训练集图片不是这个尺寸,会自动进行压缩或填充
--batch 16: batch-size为16
--epochs 3: 训练3轮
--data data/coco128.yaml: 指定数据集
--cfg models/yolov5s.yaml: 指定预训练模型,在这里使用yolov5s
5. 遇到的问题
1)需要安装git
2)第一次训练会自动下载一个文件
Downloading https://ultralytics.com/assets/Arial.ttf to /home/lmm/.config/Ultralytics/Arial.ttf...
可以手动下载根据上面提示,拷贝到相应的目录即可
3)第一次训练会下载yolov5.pt,等待下载完成即可
6. 验证训练模型
训练完成后根据输出的信息,可以知道训练好的模型如下图所示:
使用训练好的模型进行验证:
可以使用coco128数据集中的图片进行验证,命令如下:
python3 detect.py --weights runs/train/exp4/weights/best.pt --source 000000000009.jpg
--source :指定源
结果如下: