手把手带你调参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

相关文章
|
编解码 缓存 并行计算
YOLOv5入门实践(4)——手把手教你训练自己的数据集
YOLOv5入门实践(4)——手把手教你训练自己的数据集
2205 0
YOLOv5入门实践(4)——手把手教你训练自己的数据集
|
6月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【PyTorch实战演练】使用Cifar10数据集训练LeNet5网络并实现图像分类(附代码)
【PyTorch实战演练】使用Cifar10数据集训练LeNet5网络并实现图像分类(附代码)
405 0
|
26天前
|
数据处理 算法框架/工具 计算机视觉
手把手教你使用YOLOV5训练自己的目标检测模型
本教程由肆十二(dejahu)撰写,详细介绍了如何使用YOLOV5训练口罩检测模型,涵盖环境配置、数据标注、模型训练、评估与使用等环节,适合大作业及毕业设计参考。提供B站视频、CSDN博客及代码资源链接,便于学习实践。
65 1
手把手教你使用YOLOV5训练自己的目标检测模型
|
14天前
|
机器学习/深度学习 弹性计算 人工智能
大模型进阶微调篇(三):微调GPT2大模型实战
本文详细介绍了如何在普通个人电脑上微调GPT2大模型,包括环境配置、代码实现和技术要点。通过合理设置训练参数和优化代码,即使在无独显的设备上也能完成微调,耗时约14小时。文章还涵盖了GPT-2的简介、数据集处理、自定义进度条回调等内容,适合初学者参考。
122 6
|
26天前
|
计算机视觉
目标检测笔记(二):测试YOLOv5各模块的推理速度
这篇文章是关于如何测试YOLOv5中不同模块(如SPP和SPPF)的推理速度,并通过代码示例展示了如何进行性能分析。
69 3
|
5月前
|
计算机视觉
【YOLOv10训练教程】如何使用YOLOv10训练自己的数据集并且推理使用
【YOLOv10训练教程】如何使用YOLOv10训练自己的数据集并且推理使用
|
6月前
|
机器学习/深度学习 PyTorch 测试技术
PyTorch实战:图像分类任务的实现与优化
【4月更文挑战第17天】本文介绍了使用PyTorch实现图像分类任务的步骤,包括数据集准备(如使用CIFAR-10数据集)、构建简单的CNN模型、训练与优化模型以及测试模型性能。在训练过程中,使用了交叉熵损失和SGD优化器。此外,文章还讨论了提升模型性能的策略,如调整模型结构、数据增强、正则化和利用预训练模型。通过本文,读者可掌握基础的PyTorch图像分类实践。
|
机器学习/深度学习 算法 TensorFlow
TensorFlow 进阶:定制模型和训练算法
本文将为你提供关于 TensorFlow 的中级知识,你将学习如何通过子类化构建自定义的神经网络层,以及如何自定义训练算法。
|
机器学习/深度学习 PyTorch 算法框架/工具
【Pytorch神经网络实战案例】03 CIFAR-10数据集:Pytorch使用GPU训练CNN模版-测试方法
【Pytorch神经网络实战案例】03 CIFAR-10数据集:Pytorch使用GPU训练CNN模版-测试方法
328 0
|
并行计算 PyTorch 算法框架/工具