使用yolov5来训练模型

YOLOV5训练自己的模型

  • YOLOv5的介绍
    • 使用预训练模型
    • 训练模型过程
    • 自己整

YOLOv5的介绍

YOLOv5(You Only Look Once)是由 UitralyticsLLC公司发布的一种单阶段目标检测算

法,YOLOv5 相比YOLOv4 而言,在检测平均精度降低不多的基础上,具有均值权重文件更

小,训练时间和推理速度更短的特点
YOLOv5下载地址

使用预训练模型

下载后我们可以在这里下载一些预训练模型(权重文件)使用yolov5来训练模型_第1张图片
接下来打开我们的pycharm开始使用模型啦
使用yolov5来训练模型_第2张图片
可以把下载的模型放在根目录下
使用yolov5来训练模型_第3张图片
再打开detect.py使用yolov5来训练模型_第4张图片
在200多行的这个位置改一些参数就可以啦
使用yolov5来训练模型_第5张图片
在这里插入图片描述
看一下data/images里面有些什么吧
使用yolov5来训练模型_第6张图片
左边两个是代码自带的我们也可以添加一些图片去识别(img.png,img_1.png)
运行代码的结果保存在了根目录/runs/detect/exp里面:
使用yolov5来训练模型_第7张图片
我们也可以训练自己的模型

训练模型过程

我们这里采用了官方提供的数据集去训练
coco128数据集网址
我们训练前需要一些配置文件,对于这个官方提供的数据集其实yolo里面已经写好了这个数据集的训练配置文件,在根目录/data下面使用yolov5来训练模型_第8张图片
这里面一些参数我们来看一下:

1、对于这个数据集我们需要创建的目录结构,和yolo放在同一级下命名为datasets,然后把数据集放在里面:

使用yolov5来训练模型_第9张图片

2、数据集的配置

使用yolov5来训练模型_第10张图片
这里由于数据量太少,才120多张图片,所以就把验证集也设置为训练集了,我们自己训练的时候是要划分出来训练集,验证集。
coco128数据集里面正好有80个目标所以nc设置成80

3、网络结构

在根目录的models里面有网络结构:
使用yolov5来训练模型_第11张图片
例如我们选择yolov5m.yaml
打开它之后要把nc也改成80使用yolov5来训练模型_第12张图片

4、然后就可以训练模型了

打开train.py
找到450行左右的这里:
使用yolov5来训练模型_第13张图片
一些参数的作用在这里标注好了
下面还有一个参数–workers 是指多线程训练也可以改一下

训练结果的模型存在根目录/runs/train里面,打开最后一个exp里面的weights
使用yolov5来训练模型_第14张图片
best是最好一次epoch的模型
last是上一次训练的模型

4、接下来在detect.py里面就可以预测了

像这样指明参数:
在这里插入图片描述
就可以愉快的跑模型了

自己整

我们首先需要下载一个软件来标数据:labelimg
我们在命令行里面就可以下载:
在这里插入图片描述
再打开就行了
在这里插入图片描述
使用yolov5来训练模型_第15张图片
这里面的第二个是图片位置
第三个是存取的标签位置
create rectbox是画框
使用yolov5来训练模型_第16张图片
可以这样去愉快的画框,打标签,画框,打标签了
做完数据集之后在按照coco128的训练过程改一些参数就完成啦

你可能感兴趣的:(yolov5,深度学习,计算机视觉,python)