手把手带你调参Yolo v5 (v6.2)(推理)(一)

简介: 手把手带你调参Yolo v5 (v6.2)(推理)

手把手带你调参Yolo v5 (v6.2)(一)


如果感觉有帮助的话请点赞支持下👍📖🌟

大家好,我是迪菲赫尔曼😁,我最近将本人硕士阶段所有学习的计算机视觉基础知识进行了一个系统性的整理,编写了《目标检测蓝皮书🍀》,共计10 1010篇内容,涵盖从基础知识到论文改进的整个时间线,包含第1 11篇机器学习基础、第2 22篇深度学习基础、第3 33篇卷积神经网络、第4 44篇经典热门网络结构、第5 55篇目标检测基础、第6 66篇网络搭建及训练、第7 77篇模型优化方法及思路、第8 88篇模型超参数调整策略、第9 99篇模型改进技巧、第10 1010篇模型部署基础等,详细的目录大家可以看我的这篇文章:《目标检测蓝皮书》目录,专栏地址:点击跳转,欢迎大家订阅~

1. 代码获取方式🍀


项目地址:https://github.com/ultralytics/yolov5

进入仓库点击 tags 可以查看项目目前提供的版本

558874a512bd4660970d039cc386bbac.png4535382069814688940f9736f796ae2a.png

我选择的代码是v6.1版本

2. 准备项目环境✨


在配置Conda环境后就可以进入项目了,可以通过作者提供的requirements.txt文件进行快速安装。

即在终端中键入如下指令:

pip install -r requirements.txt

requirements.txt文件里面有一些包被注释掉了,这些包是做一些额外的操作时候用的,不安装并不会影响训练和测试;但是有些工具是将.pt文件转换成.onnx时必须安装的;以后会介绍pt怎么转换成onnx,这些用的时候安装就可以。

e9b81af6c8c04cca85798ec31628a372.png

3. YOLOv5命令行预测方式介绍💡


这里介绍一下官方给提供的预测方式,我们平时都是在Pycharm中点击“运行”按钮去预测模型,其实还可以通过命令行的方式去预测,预测后的结果会自动保存到runs/detect路径下;其实在这条指令后面还可以加上一些参数,具体怎么加后面会详细说明。

python detect.py --source 0  # webcam
                          img.jpg  # image
                          vid.mp4  # video
                          path/  # directory
                          path/*.jpg  # glob
                          'https://youtu.be/Zgi9g1ksQHc'  # YouTube
                          'rtsp://example.com/media.mp4'  # RTSP, RTMP, HTTP stream

这里说一下 path/*.jpg ,这个意思就是预测path文件夹下以.jpg结尾的文件

4. detect.py文件解读🚀


4.1 检测一下看看效果


我们可以直接运行detect.py文件试试效果,运行后系统会把检测结果保存在runs\detect\exp2路径下

image.png

检测效果就是这样子的

image.png

image.png

这两张是项目自带的图片,我们也可以把自己想测试的图片或者视频放到这个路径下:

image.png

4.2 参数详解


打开detect.py直接看217行

2b595935c7844b079fe383de23e28bfd.png

4.2.1 “weights”


image.png

这个就是指定网络权重的路径,默认是“yolov5s.pt”,官方提供了很多的版本,我们要更换的时候直接按照Model的名字更换就可以了(当然,使用自己的也是完全没问题的);例如“yolov5m.pt”“yolov5l.pt”,他会自动的下载对应的权重,不需要我们去Github手动下载.(如果下载太慢或者失败只能去官网下载了,下载好了直接放到根目录下就可以)

image.png

这里说一下“default”: default是默认的参数,即使我们在运行时不指定具体参数,那么系统也会执行默认的值。

4.2.2 “source”


image.png

这个参数就是指定网络输入的路径,默认指定的是文件夹,也可以指定具体的文件或者扩展名等

image.png

4.2.3 “data”


image.png

这个就是配置文件的一个路径,配置文件里面包含了下载路径和一些数据集基本信息,在训练时如果不自己指定数据集,系统会自己下载coco128数据集

66b0a5c1fbed4c52a278376c230a603f.png

数据集有三大功能: 训练、验证和测试

训练最好理解,是拟合模型的过程,模型会通过分析数据、调节内部参数从而得到最优的模型效果。

验证即验证模型效果,效果可以指导我们调整模型中的超参数(在开始训练之前设置参数,而不是通过训练得到参数),通常会使用少量未参与训练的数据对模型进行验证,在训练的间隙中进行。

测试的作用是检查模型是否具有泛化能力(泛化能力是指模型对训练集之外的数据集是否也有很好的拟合能力)。通常会在模型训练完毕之后,选用较多训练集以外的数据进行测试。

4.2.4 “imgsz, img, img-size”


image.png

这个意思就是模型在检测图片前会把图片resize成640的size,然后再喂进网络里,并不是说会把们最终得到的结果resize成640大小。

4.2.5 “conf-thres”


image.png

这个就是置信度的阈值,置信度这个概念我在我的博文“YOLOv1详细解读”里面详细介绍了一下,感兴趣的小伙伴可以看一下,通俗一点来说就是网络对检测目标相信的程度,如果这里设置“0”的话,那么网络只要认为这他预测的这个目标有一点点的概率是正确的目标,他都会给框出来,我们可以通过这几幅图对比一下。


我这里把conf-thres参数依次设置成“0”, “0.25”,“0.8”

原图:

image.png

相关文章
|
6月前
|
机器学习/深度学习
深度学习模型调参技巧分享 视频讲解代码实战
深度学习模型调参技巧分享 视频讲解代码实战
45 0
|
9月前
|
编解码 缓存 并行计算
YOLOv5入门实践(4)——手把手教你训练自己的数据集
YOLOv5入门实践(4)——手把手教你训练自己的数据集
977 0
YOLOv5入门实践(4)——手把手教你训练自己的数据集
|
20天前
|
机器学习/深度学习 PyTorch 测试技术
PyTorch实战:图像分类任务的实现与优化
【4月更文挑战第17天】本文介绍了使用PyTorch实现图像分类任务的步骤,包括数据集准备(如使用CIFAR-10数据集)、构建简单的CNN模型、训练与优化模型以及测试模型性能。在训练过程中,使用了交叉熵损失和SGD优化器。此外,文章还讨论了提升模型性能的策略,如调整模型结构、数据增强、正则化和利用预训练模型。通过本文,读者可掌握基础的PyTorch图像分类实践。
|
11月前
|
机器学习/深度学习 存储 人工智能
模型推理加速系列 | 03:Pytorch模型量化实践并以ResNet18模型量化为例(附代码)
本文主要简要介绍Pytorch模型量化相关,并以ResNet18模型为例进行量化实践。
|
12月前
|
机器学习/深度学习 自然语言处理 PyTorch
【Pytorch神经网络实战案例】33 使用BERT模型实现完形填空任务
案例:加载Transformers库中的BERT模型,并用它实现完形填空任务,即预测一个句子中缺失的单词。
372 0
|
12月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【Pytorch神经网络实战案例】26 MaskR-CNN内置模型实现目标检测
将COCO2017数据集上的预训练模型maskrcnm_resnet50_fpn_coco加载到内存,并使用该模型对图片进行目标检测。
144 0
|
12月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【Pytorch神经网络实战案例】01 CIFAR-10数据集:Pytorch使用GPU训练CNN模版-方法①
【Pytorch神经网络实战案例】01 CIFAR-10数据集:Pytorch使用GPU训练CNN模版-方法①
264 0
|
12月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【Pytorch神经网络实战案例】03 CIFAR-10数据集:Pytorch使用GPU训练CNN模版-测试方法
【Pytorch神经网络实战案例】03 CIFAR-10数据集:Pytorch使用GPU训练CNN模版-测试方法
265 0
|
12月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【Pytorch神经网络实战案例】02 CIFAR-10数据集:Pytorch使用GPU训练CNN模版-方法②
【Pytorch神经网络实战案例】02 CIFAR-10数据集:Pytorch使用GPU训练CNN模版-方法②
230 0
|
并行计算 PyTorch 算法框架/工具