一、yolov5是什么
yolov5是yolo的第五次迭代,旨在提供高速、高精度的目标检测模型
官方文档:Comprehensive Guide to Ultralytics YOLOv5 - Ultralytics YOLO Docs
二、yolov5的优点
1、高速、高精度 (例如R-CNN 目标检测有两部:先生成候选框再分类)
2、基于pytorch搭建,使用于各种计算机
3、导出格式兼容 (导出的模型可兼容TFLite、ONNX、CoreML 和 TensorRT )
三、yolov5的特点
1、real-time inference 实时推理,输入需要检测的图片可以立刻出结果
2、est-Time Augmentation (TTA) 在测试时增强,在检测的时候会对图片做数据增强操作,比如缩放、平移等,可以减少过拟合
3、Model Ensembling 模型的集成比较方便,训练的时候可以用多种yolo模型的参数
四、yolov5的数据准备
图像目录 /datasets/images/
标签目录 /datasets/lables/
对应的图像和标签命名要一样,就后缀不同 e.g. 图像1999_0_1.jpg. 标签1999_0_1.txt
标签含有五个内容 (class x y w h)
五、影响训练效果的因素
5.1数据集方向
1、每类图像>1500张
2、一类图像的实例>10000
3、图像种类多样 可以是同一实例不同时间、季节、天气的照片
4、标签一致性,图像的每个实例都要被标注出
5、标签准确度,标签矩形框要刚好框住对象,不要多也不要少
6、适当的背景图像(图像里无实例)
5.2模型的选择
yolov5提供了 yolov5n yolov5s yolov5m yolov5l yolov5x,区别就是模型越大,效果越好,但运行时间就越长
这几个模型的架构一样,在储存其架构的yaml文档中,只有depth_multiple和width_multiple不一样
5.3训练参数设置
1、epoch 训练的轮数,一般是300,如果过早出现过拟合可以减少epoch,反之就增加
2、imagesize 一般是640 检测小目标的时候分辨率可以大一点
3、batch size 每批要处理的图像,硬件越顶,batchsize越大
4、hyperparameters 超参数的大小