yolo-v5

实现步骤:

准备阶段——数据整理——模型训练——模型推理

准备阶段:需要的硬件,软件的安装,环境的配置

数据整理:图片标签标注,训练集和验证集

模型训练:模型中参数的设置,训练方法,获得训练模型

模型推理:用训练好的模型对新的数据进行推理和验证

对于yolo-v5搭建 

1.注意yolov5-5.0文件夹下的VOCdevkit文件夹

YOLO模型相较于传统机器学习算法的优势_人工智能

 

对于images文件夹如下图所示,其中train与val均为jpg的图片格式

 

YOLO模型相较于传统机器学习算法的优势_数据整理_02

对于labels文件夹如下图所示,其中train与val文件夹中均为txt文本文档格式

YOLO模型相较于传统机器学习算法的优势_人工智能_03

对于VOC2007文件夹如下图所示,其中Annotations为打标签后的结果为xml文件,JPEGImages存放的时jpg文件,需要用label去进行打标签。YOLOLabels文件夹不详,可能为打标签时用的yolo格式,没有用voc格式。

YOLO模型相较于传统机器学习算法的优势_深度学习_04

 

2.进入pycharm软件,从左上角文件,点击打开,选择我们的yolov5-5.0文件夹,然后确定。先打开data,data中有一个three.yaml文件,如下图所示

 

YOLO模型相较于传统机器学习算法的优势_深度学习_05

在这里有几个类别,那么nc就写多少,对于names为这三个类别的名字

3.之后我们在models中,点击其中的three.yaml,同样是更改nc

 

YOLO模型相较于传统机器学习算法的优势_权重_06

4.打开requirements.txt,然后打开pycharm终端输入pip install -r requirements.txt,去配置这个项目所需要的环境

5.准备开始训练了,打开train.py文件,在456行附近去修改路径,我们的权重的路径就是weights下的yolov5s.pt,我们可以进行复制路径,复制来自内容根的路径。对应第二行我们模型的yaml是什么?我们打开模型文件models,找到其中的three.yaml然后把对应路径复制过去,同样是选择来自根内容的路径。对应第三行,同样是把路径复制过去,是我们data里面的yaml。对应于第462行中的epochs中的default(默认,预设)是我们训练的次数,我们的数据越多的话训练的次数就可以越多,可以几百个几千个。修改完后,我们点击运行,如果有报错,可以从另一个报错文档以及网上查找资料依次改正。

YOLO模型相较于传统机器学习算法的优势_权重_07

下面为train.py一些参数的释义:

epochs:指的就是训练过程中整个数据集将被迭代多少次,显卡不行你就调小点。

batch-size:一次看完多少张图片才进行权重更新,梯度下降的mini-batch,显卡不行你就调小点。

cfg:存储模型结构的配置文件

data:存储训练、测试数据的文件

img-size:输入图片宽高,显卡不行你就调小点。

rect:进行矩形训练

resume:恢复最近保存的模型开始训练

nosave:仅保存最终checkpoint

notest:仅测试最后的epoch

evolve:进化超参数

bucket:gsutil bucket

cache-images:缓存图像以加快训练速度

weights:权重文件路径

name: 重命名results.txt to results_name.txt

device:cuda device, i.e. 0 or 0,1,2,3 or cpu

adam:使用adam优化

multi-scale:多尺度训练,img-size +/- 50%

single-cls:单类别的训练集

6.我们训练完成后就得到了一个权重文件,权重文件我们可以在runs里面找到,然后打开train,它会生成一些新的文件夹,我们要去找到最新的那一个,如下图

YOLO模型相较于传统机器学习算法的优势_数据整理_08

把其中的best.pt文件的路径(来自根目录的)复制一下。

7.接下来我们打开detect.py,把150行那边的第一个权重文件路径粘贴为我们刚刚复制的。然后对应第二行为检测的东西,可以为视频,直接把视频放在yolov5-5.0文件夹里面,然后把对应的目录名修改好。如下图

YOLO模型相较于传统机器学习算法的优势_人工智能_09

 然后点击运行即可