yolo-v5
实现步骤:
准备阶段——数据整理——模型训练——模型推理
准备阶段:需要的硬件,软件的安装,环境的配置
数据整理:图片标签标注,训练集和验证集
模型训练:模型中参数的设置,训练方法,获得训练模型
模型推理:用训练好的模型对新的数据进行推理和验证
对于yolo-v5搭建
1.注意yolov5-5.0文件夹下的VOCdevkit文件夹
对于images文件夹如下图所示,其中train与val均为jpg的图片格式
对于labels文件夹如下图所示,其中train与val文件夹中均为txt文本文档格式
对于VOC2007文件夹如下图所示,其中Annotations为打标签后的结果为xml文件,JPEGImages存放的时jpg文件,需要用label去进行打标签。YOLOLabels文件夹不详,可能为打标签时用的yolo格式,没有用voc格式。
2.进入pycharm软件,从左上角文件,点击打开,选择我们的yolov5-5.0文件夹,然后确定。先打开data,data中有一个three.yaml文件,如下图所示
在这里有几个类别,那么nc就写多少,对于names为这三个类别的名字
3.之后我们在models中,点击其中的three.yaml,同样是更改nc
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(默认,预设)是我们训练的次数,我们的数据越多的话训练的次数就可以越多,可以几百个几千个。修改完后,我们点击运行,如果有报错,可以从另一个报错文档以及网上查找资料依次改正。
下面为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,它会生成一些新的文件夹,我们要去找到最新的那一个,如下图
把其中的best.pt文件的路径(来自根目录的)复制一下。
7.接下来我们打开detect.py,把150行那边的第一个权重文件路径粘贴为我们刚刚复制的。然后对应第二行为检测的东西,可以为视频,直接把视频放在yolov5-5.0文件夹里面,然后把对应的目录名修改好。如下图
然后点击运行即可