计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

这篇具有很好参考价值的文章主要介绍了计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. yolov5网络架构与组件

1.1 网络可视化工具 netron

在线版本:浏览器中输入链接: https://lutzroeder.github.io/netron/
netron官方的Github链接:https://github.com/lutzroeder/netron

1.2 不同模型的配置

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

1.3 Focus 模块

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

一个小实验:计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

Focus()模块是为减少错误和提高速度而设计的,而不是提高精度。

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

1.4 CSPNet 跨阶段局部网络

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

1.5 SPP 空间金字塔池化

在CSP上添加SPP块,因为它显着地增加了接收字段,分离出了最重要的内容,几乎没有降低网络的操作速度。

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

1.6 PANet 路径聚合网络

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

2. 损失函数

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

2.1 类别预测

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

2.2 边界框回归

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

2.3 回顾IoU

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

2.4 IoU推广——GIoU loss

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

C 框是包围A、B的最小的框

2.5 IoU推广——DIoU loss

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

蓝色为对角线,两框中心点的距离为d

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

在IoU和GIoU一样的情况下,DIoU还有变化。

2.6 IoU推广——CIoU loss

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

优化的偏导数

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

2.7 总结

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

还有CIoU等等,大家感兴趣可以自己了解。

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

DIoU波动稳定,对不同值的适应能力比较强;实验比较G&C:CIoU的表现比较好,YOLOv5默认用CIoU计算Loss

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

3. YOLOv5目标框回归与跨网格预测策略

3.1 回顾:目标框PASCAL VOC标注格式

左上角为坐标原点

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

3.2 标记文件

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

图右框住的部分可以看出,框的宽高等做了归一化;两种标记文件是可以转换的

一个例子

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

3.3 目标框回归

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

蓝色是预测框,虚线是先验框(anchor)

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

两个模型的计算方式出现了改变;原始的yolo / darknet框方程式存在严重缺陷。宽度和高度完全不受限制,它可能导致失控的梯度、不稳定、NaN损失并最终完全失去训练。

对于yolov5,确保通过sigmoid所有模型输出来修补此错误,同时还要确保中心点保持不变1=fcn (0) ,因此模型的标称零输出将导致使用标称锚框大小(即预先设置的锚框)。当前的方程式将锚点的倍数从最小0限制为最大4(这个地方的解释:sigmoid函数取值[0,1],因此其平方乘以2 的取值范围就是[0,4]),并且锚框-目标匹配也已更新为基于宽度-高度倍数,标称上限阈值超参数为4.0。

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

3.4 YOLOv5跨网格匹配策略

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

4. YOLOv5 训练技巧

4.1 训练预热warmup

刚开始训练时,模型的权重(weights)是随机初始化的,此时若选择一个较大的学习率,可能带来模型的不稳定(振荡)。选择warmup预热学习率的方式,可以使得开始训练的几个epoches或者一些steps内学习率较小,在预热的小学习率下,模型可以慢慢趋于稳定,等模型相对稳定后再选择预先设置的学习率进行训练,使得模型收敛速度变得更快,模型效果更佳。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XNOeFks2-1681870777889)(C:/Users/dell/AppData/Roaming/Typora/typora-user-images/image-20230411134042225.png)]

0-30个epoches的warmup,学习率从很小增加很快,第三张图是不同的预热策略。

例子:余弦退火调整学习率。

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

4.2 自动计算锚框

Anchor给出了目标宽高的初始值,需要回归的是目标真实宽高与初始宽高的偏移量,而不使用anchor的做法需要回归宽高的绝对量。
Autoanchor only runs when the best possible recall (BPR,最大可能召回率) is under threshold;在yolov5中,BPR小于98%就会自动计算锚框。

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

也可以自己禁用这一功能,自动计算的锚框信息会保存在模型的权重文件中。

4.3 超参数进化

在yolov5中采用类似GA遗传算法来进行优化,但yolov5无交配这一操作。

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

4.4 自动混合精度训练

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

如何使用呢?

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

4.5 断点续训 !!!

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

4.6 多GPU训练

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

推荐的模式:

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

4.7 并行数据加载

多线程加载数据从而加快速度,最下面的是并行流水线加载

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

DDP模式

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

可以在github上看详细命令和介绍 点击跳转文章来源地址https://www.toymoban.com/news/detail-421442.html

到了这里,关于计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【计算机视觉面经四】基于深度学习的目标检测算法面试必备(RCNN~YOLOv5)

    目标检测算法主要包括:【两阶段】目标检测算法、【多阶段】目标检测算法、【单阶段】目标检测算法。 什么是两阶段目标检测算法,与单阶段目标检测有什么区别? 两阶段目标检测算法因需要进行两阶段的处理:1)候选区域的获取,2)候选区域分类和回归,也称为基于

    2024年03月27日
    浏览(41)
  • 计算机视觉 用于网格/点云等数据可视化的Python库

            很长一段时间,人们主要使用Matplotlib在Python中可视化3D内容。但是它不支持 GPU 硬件加速,所以很多人使用点云库(PCL)作为网格和点云可视化和分析的工具。PCL当然是用于 3D 分析的最佳库之一,而且它是用 C++ 构建的,Python包装器仅包含主PCL库功能的一小部分,

    2024年02月04日
    浏览(34)
  • 【计算机视觉】YOLOv8如何使用?(含源代码)

    comments description keywords true Boost your Python projects with object detection, segmentation and classification using YOLOv8. Explore how to load, train, validate, predict, export, track and benchmark models with ease. YOLOv8, Ultralytics, Python, object detection, segmentation, classification, model training, validation, prediction, model export, bench

    2024年02月04日
    浏览(39)
  • 【计算机视觉】YOLOv9:物体检测技术的飞跃发展

    YOLOv9 引入了可编程梯度信息 (PGI) 和广义高效层聚合网络 (GELAN) 等开创性技术,标志着实时目标检测领域的重大进步。该模型在效率、准确性和适应性方面都有显著提高,在 MS COCO 数据集上树立了新的标杆。YOLOv9 项目虽然是由一个独立的开源团队开发的,但它建立在以下机构

    2024年04月17日
    浏览(32)
  • 【计算机视觉|人脸建模】学习从图像中回归3D面部形状和表情而无需3D监督

    本系列博文为深度学习/计算机视觉论文笔记,转载请注明出处 标题: Learning to Regress 3D Face Shape and Expression from an Image without 3D Supervision 链接:[1905.06817] Learning to Regress 3D Face Shape and Expression from an Image without 3D Supervision (arxiv.org) 从单张图像估计3D面部形状必须对光照、头部姿势

    2024年02月07日
    浏览(35)
  • 计算机竞赛 深度学习YOLOv5车辆颜色识别检测 - python opencv

    🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习YOLOv5车辆颜色识别检测 ** 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:4分 🧿 更多资料, 项目分享: https://gitee.com

    2024年02月08日
    浏览(32)
  • 改良YOLOv8网络架构 | 采用SwinTransformer网络 | 借助位移窗口实现视觉变换 | 计算机视觉

    改良YOLOv8网络架构 | 采用SwinTransformer网络 | 借助位移窗口实现视觉变换 | 计算机视觉 随着计算机视觉技术的不断发展,研究人员们也在不断尝试对各种神经网络进行改良,以提高它们的性能和准确度。其中比较流行的一个目标检测算法就是YOLOv8,但是它依然存在一些不足之处

    2024年02月08日
    浏览(43)
  • 计算机设计大赛 深度学习YOLOv5车辆颜色识别检测 - python opencv

    🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习YOLOv5车辆颜色识别检测 ** 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:4分 🧿 更多资料, 项目分享: https://gitee.com

    2024年02月19日
    浏览(51)
  • 改进YOLOv8 | 主干网络篇 | YOLOv8采用FasterNet提升计算机视觉速度

    深度学习在计算机视觉领域的应用越来越广泛,而目标检测是其中非常重要的一个任务。YOLOv8作为一种先进的目标检测算法,以其快速和准确的特性而备受关注。然而,为了进一步提升YOLOv8的性能和速度,我们可以通过更换主干网络来达到这个目标。本文将介绍一种名为Fas

    2024年01月23日
    浏览(44)
  • 【计算机视觉】YOLOv8的测试以及训练过程(含源代码)

    YOLOv8是来自Ultralytics的最新的基于YOLO的对象检测模型系列,提供最先进的性能。 利用以前的 YOLO 版本,YOLOv8模型更快、更准确,同时为训练模型提供统一框架,以执行: 物体检测 实例分割 图像分类 Ultralytics为YOLO模型发布了一个全新的存储库。它被构建为 用于训练对象检测

    2024年02月13日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包