【论文阅读】YOLO系列论文:YOLO v5

这篇具有很好参考价值的文章主要介绍了【论文阅读】YOLO系列论文:YOLO v5。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

代码:https://github.com/ultralytics/yolov5github.com

优缺点/总结

优点

  • 拥有四种模型,可以灵活部署

缺点

  • 在性能上稍弱于YOLO V4

模型的改进

  • 增加了Focus切片、自适应锚框、自适应图片缩放结构,保留信息,加快推理速度

解决的问题

模型

有4个版本,分别是Yolov5s,Yolov5m,Yolov5l,yolov5x四个模型,其中Yolov5s网络是该系列中深度最小,宽度最小的网络

yolov5论文引用,YOLO系列,论文阅读,YOLO,目标检测

主要结构分为四个模块:输入端、Backbone主干网络、Neck、Prediction

  • 输入端:Mosaic数据增强、自适应锚框计算、自适应图片缩放
  • Backbone主干网络:Focus结构,CSP结构
  • Neck:FPN+PAN结构
  • Prediction:GIoU Loss

结构

输入端

Mosaic数据增强

采用4张图片,随机缩放,随即裁剪、随机排布的方式进行拼接,解决数据集中小、中、大目标占比不均衡的问题

yolov5论文引用,YOLO系列,论文阅读,YOLO,目标检测

  • 丰富数据集:随机使用4张图片,随机缩放,再随机分布进行拼接,大大丰富了检测数据集,特别是随机缩放增加了很多小目标,让网络的鲁棒性更好。
  • 减少GPU:Mosaic增强训练时,可以直接计算4张图片的数据,使得Mini-batch大小并不需要很大,一个GPU就可以达到比较好的效果。

自适应锚框计算

  • 在Yolo算法中,针对不同的数据集,都会有初始设定长宽的锚框
  • 在网络训练中,网络在初始锚框的基础上输出预测框,进而和真实框groundtruth进行比对,计算两者差距,再反向更新,迭代网络参数
  • Yolov5将此功能嵌入到代码中,每次训练时,自适应的计算不同训练集中的最佳锚框值(也可以关闭此功能)

自适应图片缩放

  • 在常用的目标检测算法中,不同的图片长宽都不相同,因此常用的方式是将原始图片统一缩放到一个标准尺寸,再送入检测网络中。

yolov5论文引用,YOLO系列,论文阅读,YOLO,目标检测

  • 在项目实际使用时,很多图片的长宽比不同,因此缩放填充后,两端的黑边大小都不同,而如果填充的比较多,则存在信息冗余,影响推理速度。
  • Yolov5的代码中datasets.py的letterbox函数中进行了修改,对原始图像自适应的添加最少的黑边
    • 计算缩放比例:缩放尺寸除以原始图像尺寸,选择小的缩放系数
    • 计算缩放后的尺寸:原始图片的长宽都乘以最小的缩放系数
    • 计算黑边填充数值:用缩放尺寸减去第二步缩放后的尺寸,得到需要填充的数值
  • 图像高度上两端的黑边变少了,在推理时,计算量也会减少,即目标检测速度会得到提升
  • 训练时没有采用缩减黑边的方式,还是采用传统填充的方式。只是在测试,使用模型推理时,才采用缩减黑边的方式,提高目标检测,推理的速度

Backbone主干网络

Focus结构

yolov5论文引用,YOLO系列,论文阅读,YOLO,目标检测

  • Fcous: 图片进行切片操作
    • 在一张图片中每隔一个像素拿到一个值,类似于邻近下采样,这样就拿到了四张图片,四张图片互补,长的差不多,但是没有信息丢失
    • 将W、H信息就集中到了通道空间,输入通道扩充了4倍,即拼接起来的图片相对于原先的RGB三通道模式变成了12个通道
    • 最后将得到的新图片再经过卷积操作,最终得到了没有信息丢失情况下的二倍下采样特征图
  • Focus的作用:
    • 使图片在下采样的过程中,不带来信息丢失的情况下
    • 将W、H的信息集中到通道上,再使用3 × 3的卷积对其进行特征提取,使得特征提取得更加的充分
    • 虽然增加了一点点的计算量,但是为后续的特征提取保留了更完整的图片下采样信息

CSP结构

yolov5论文引用,YOLO系列,论文阅读,YOLO,目标检测

  • Yolov4中只有主干网络使用了CSP结构
  • Yolov5中设计了两种CSP结构,以Yolov5s网络为例,CSP1_X结构应用于Backbone主干网络,另一种CSP2_X结构则应用于Neck中。

yolov5论文引用,YOLO系列,论文阅读,YOLO,目标检测

  • CSPNet的作者认为推理计算过高的问题是由于网络优化中的梯度信息重复导致的。
  • 采用CSP模块先将基础层的特征映射划分为两部分,然后通过跨阶段层次结构将它们合并,在减少了计算量的同时可以保证准确率。
    • 优点一:增强CNN的学习能力,使得在轻量化的同时保持准确性。
    • 优点二:降低计算瓶颈
    • 优点三:降低内存成本

Neck

FPN+PAN

yolov5论文引用,YOLO系列,论文阅读,YOLO,目标检测

  • FPN结构,自顶向下,将高层的特征信息通过上采样的方式进行传递融合
  • PAN结构,自下向上,将底层的位置信息通过下采样的方式进行传递融合
  • FPN层自顶向下传递强语义特征,PAN层自底向上传递强定位特征
  • PAN结构中两个特征图结合采用的是concat操作,特征图融合后张量发生了变化

特征融合

  • Yolov4的Neck结构中,采用的都是普通的卷积操作。
  • Yolov5的Neck结构中,采用借鉴CSPnet设计的CSP2结构,加强网络特征融合的能力。

yolov5论文引用,YOLO系列,论文阅读,YOLO,目标检测

Prediction

Loss函数

Yolov5中采用CIoU Loss做bounding box的损失函数

  • CIoU Loss

yolov5论文引用,YOLO系列,论文阅读,YOLO,目标检测

    • 在DIoU Loss的基础上增加一个影响因子,将预测框和目标框的长宽比都考虑进去
    • yolov5论文引用,YOLO系列,论文阅读,YOLO,目标检测

  • 总结四种Loss函数:
    • IOU_Loss:主要考虑检测框和目标框重叠面积。
    • GIOU_Loss:在IOU的基础上,解决边界框不重合时的问题。
    • DIOU_Loss:在IOU和GIOU的基础上,考虑边界框中心点距离的信息。
    • CIOU_Loss:在DIOU的基础上,考虑边界框宽高比的尺度信息。

NMS

  • 采用加权nms方式,不同于yolov4采用的DIoU nms方式

Tricks

1、Yolov5中四种网络的文件内容基本相同,不同的是depth_multiple和width_multiple两个参数

  • 四种结构就是通过上面的两个参数,来进行控制网络的深度宽度。其中depth_multiple控制网络的深度width_multiple控制网络的宽度
  • Yolov5中,网络的不断加深,也在不断增加网络特征提取特征融合的能力
  • 卷积核的数量越多,特征图的厚度,即宽度越宽,网络提取特征的学习能力也越强

Prediction

Objective Function/Loss Function

Yolov4中采用了CIOU_Loss的回归方式,使得预测框回归的速度和精度更高一些

  • CIoU Loss

yolov5论文引用,YOLO系列,论文阅读,YOLO,目标检测

    • 在DIoU Loss的基础上增加一个影响因子,将预测框和目标框的长宽比都考虑进去
    • yolov5论文引用,YOLO系列,论文阅读,YOLO,目标检测文章来源地址https://www.toymoban.com/news/detail-594593.html

到了这里,关于【论文阅读】YOLO系列论文:YOLO v5的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【YOLO系列】YOLOv5超详细解读(源码详解+入门实践+改进)

    吼吼!终于来到了YOLOv5啦! 首先,一个热知识:YOLOv5没有发表正式论文哦~ 为什么呢?可能YOLOv5项目的作者Glenn Jocher还在吃帽子吧,hh 前言 一、YOLOv5的网络结构  二、输入端 (1)Mosaic数据增强 (2)自适应锚框计算 (3)自适应图片缩放 三、Backbone (1)Focus结构 (2)CSP结构

    2024年02月07日
    浏览(47)
  • 【YOLO系列】YOLOv5、YOLOX、YOOv6、YOLOv7网络模型结构

    【注】: 本文为YOLOv5、YOLOX、YOLOv6、YOLOv7模型结构图,作图软件为drawio。因精力有限暂时不做结构的详细阐述和具体的代码讲解,后续有机会再做补充。如有需要可以查阅其他博主的文章了解学习。 【另】:希望模型结构图可以帮助到有需要的人,如模型中有错误的地方,欢

    2024年02月07日
    浏览(41)
  • 改进YOLO系列 | YOLOv5/v7 引入谷歌 Lion 优化器

    论文地址:https://arxiv.org/pdf/2302.06675.pdf 代码地址:https://github.com/google/automl/tree/master/lion 我们提出了一种将算法发现作为程序搜索的方法,并将其应用于发现用于深度神经网络训练的优化算法。我们利用高效的搜索技术来探索一个无限且稀疏的程序空间。为了弥补代理任务和

    2024年02月09日
    浏览(40)
  • 改进YOLO系列:YOLOv5结合转置卷积,实现小目标涨点

    该函数是用来进行转置卷积的,它主要做了这几件事:首先,对输入的feature map进行padding操作,得到新的feature map;然后,随机初始化一定尺寸的卷积核;最后,用随机初始化的一定尺寸的卷积核在新的feature map上进行卷积操作。 补充一下,卷积核确实是随机初始的,但是后

    2023年04月09日
    浏览(46)
  • 《基于改进YOLOv5的无人机图像检测算法》论文阅读

    原文链接:UAV Recognition and Tracking Method Based on YOLOv5 | IEEE Conference Publication | IEEE Xplore 《基于改进YOLOv5的无人机图像检测算法》论文阅读        基于深度学习的目标检测算法通常对传统目标检测效果较好,但对小目标的检测精度较低。针对该问题,该文通过对无人机采集图像

    2024年02月14日
    浏览(50)
  • 改进YOLO系列 | YOLOv5/v7 引入 Dynamic Snake Convolution | 动态蛇形卷积

    准确分割拓扑管状结构,如血管和道路,在各个领域中至关重要,可以确保下游任务的准确性和效率。然而,许多因素使任务复杂化,包括细小的局部结构和可变的全局形态。在这项工作中,我们注意到管状结构的特殊性,并利用这一知识来引导我们的DSCNet,以在三个阶段同

    2024年02月07日
    浏览(42)
  • 目标检测YOLO实战应用案例100讲-基于深度学习的航拍图像YOLOv5目标检测(论文篇)(续)

    目录 基础理论及相关技术  2.1 深度学习基础理论 

    2024年04月16日
    浏览(50)
  • 涨点神器:Yolov5 加入ODConv+ConvNeXt提升小目标检测能力,适用yolo各个系列

    论文:Omni-Dimensional Dynamic Convolution 论文地址:Omni-Dimensional Dynamic Convolution | OpenReview ODConv通过并行策略引入一种多维注意力机制以对卷积核空间的四个维度学习更灵活的注意力。上图给出CondConv、DyConv以及ODConv的差异图。延续动态卷积的定义,ODConv可以描述成如下形式:其中

    2024年02月04日
    浏览(54)
  • YOLO Air:YOLO科研改进论文推荐 | 改进组合上千种搭配,包括Backbone,Neck,Head,注意力机制,适用于YOLOv5、YOLOv7、YOLOX等算法

    🔥🔥🔥YOLOAir开源算法库!!! 💡统一使用 YOLOv5、YOLOv7 代码框架, 结合不同模块来构建不同的YOLO目标检测模型。 🌟本项目包含大量的改进方式,降低改进难度,改进点包含 【Backbone特征主干】 、 【Neck特征融合】 、 【Head检测头】 、 【注意力机制】 、 【IoU损失函数】

    2024年02月01日
    浏览(54)
  • 【YOLO系列】YOLOv7论文超详细解读(翻译 +学习笔记)

    终于读到传说中的YOLOv7了~≖‿≖✧ 这篇是在美团的v6出来不到一个月就高调登场,作者还是我们熟悉的AB大神(对,就是v4那个),读起来又是“熟悉”的感觉(贯穿了我的整个五一假期(╯-_-)╯╧╧)。 其实关于YOLOv7的网络结构还有很多细节值得深入研究,以及代码

    2024年02月02日
    浏览(73)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包