Yolov5训练及测试(Linux/Mac)

一、介绍

Yolov5当前只公布了代码没有相关的论文,只能通过yolov5的代码来了解其算法。yolov5的整体模型和yolov4差别很小,Yolov5在性能上稍弱于yolov4,但是在灵活性与速度上远强于YOLO V4,在模型的快速部署上具有极强优势

二、特点

2.1 与yolov3对比主要有以下区别

(1)输入端:Mosaic数据增强、自适应锚框计算、自适应图片缩放
(2)Backbone:Focus结构,CSP结构
(3)Neck:FPN+PAN结构
(4)Prediction:GIOU_Loss
(5)pytorch实现,Yolov5代码中给出的网络文件是yaml格式,和原本Yolov3、Yolov4中的cfg不同

2.2 四种网络模型

Yolov5官方代码中,给出的目标检测网络中一共有4个版本,分别是Yolov5s、Yolov5m、Yolov5l、Yolov5x四个模型。其中Yolov5s网络是Yolov5系列中深度最小,特征图的宽度最小的网络。后面的3种都是在此基础上不断加深,不断加宽。yolov5s的模型十几M大小,速度很快,线上生产效果可观,嵌入式设备可以使用。

三、 训练及使用

3.1 下载

git clone https://github.com/ultralytics/yolov5.git

3.2 配置环境

根据requirements.txt文件配置环境,或者直接在当前环境中执行

pip install -r requirements.txt

3.3 下载权重文件

进入/yolov5/weights/ 文件夹下,执行./download_weights.sh,会将最新的四种模型的权重文件下载到yolov5文件夹下。
在这里插入图片描述

3.4 测试

cd yolov5
python detect.py --source data/images --weights yolov5s.pt --conf 0.25

检测结果会保存到yolov5/runs/detect/exp文件夹下,原图在data/images文件夹中。
在这里插入图片描述
注意:如果报关于环境配置的错误,注释掉detect.py文件中第166行的代码。
在这里插入图片描述

3.4 训练

3.4.1 数据集下载

可以执行下面的命令下载相应的数据集,也可以直接执行训练命令,会自动下载相应的数据集,并放到合适的位置。

bash data/scripts/get_coco.sh #下载coco数据集
bash data/scripts/get_voc.sh  #下载voc数据集

3.4.2 数据集的位置

将数据集放到和yolov5并排的文件夹下
在这里插入图片描述

3.4.3 训练

python train.py --img 640 --batch 16 --epochs 5 --data data/coco128.yaml --weights yolov5s.pt

猜你喜欢

转载自blog.csdn.net/duzhongqiang/article/details/113755783