yolov4、yolov5优化策略

一、yolov4优化策略

1.Mosaic data augmentation:四张图像拼接成一张进行训练,现在一个batch相当于以前4个batch。

2.Random Erase:用随机值或训练集的平均像素值替换图像的区域。

3.Self-adversarial-training(SAT):引入噪音点来增加难度。

4.DropBlock :(之前的dropout是随机选择点,现在吃掉一个区域)。

5.Label Smoothing自觉不错(过拟合),让它别太自信,标签01改为,0.95,0.05,效果

使用之后效果分析(右图):簇内更紧密,簇间更分离。

 6.CIOU损失:参考上篇文章:区分(GIOU、DIOU、CIOU)(正则化、归一化、标准化)-CSDN博客


 

7.SOFT-NMS:在目标检测中,NMS用于通过选择具有最高置信度得分的框来删除冗余的边界框。然而,当检测算法产生具有类似置信度分数的重叠框时,这有时会导致重要边界框的消除
Soft-NMS通过对重叠框的置信度分数应用衰减函数来解决这个问题,这个函数基于其与最高得分框之间的重叠程度降低较低得分框的得分。其思想是保留较低得分框的信息,同时优先考虑最高得分框。这使得Soft-NMS在重叠框的情况下更加容忍,并有助于提高目标检测的准确性。 

 8.SPPnet(Spatial Pyramid Pooling)空间金字塔:V3中为了更好满足不同输入大小,训练的时候要改变输入数据的大小,V4在最后的卷积层和全连接层之间加入SPP层。具体做法是,在conv层得到的特征图是256层,每层都做一次spatial pyramid pooling。先把每个特征图分割成多个不同尺寸的网格,比如网格分别为44、22、11,然后每个网格做max pooling,这样256层特征图就形成了16x256,4x256,1x256维特征,他们连起来就形成了一个固定长度的特征向量,将这个向量输入到后面的全连接层。

9.CSPNet(Cross Stage Partial Network):CSPNet中的跨阶段部分连接将网络的特征图分成两部分,其中一部分通过多个卷积层进行处理,而另一部分则通过较少的层进行处理。两条路径的输出然后使用连接操作进行组合,生成的特征图再由另一组卷积层进行处理。这种方法允许不同阶段之间更好的信息流动,从而提高准确性并降低计算成本。

10.PAN(Path Aggregation Network):PAN通过一种保留空间和语义信息的方式,将不同层次的特征结合起来。这是通过一种自上而下和自下而上的特征聚合过程实现的。就是融合FPN(a),加了自下而上的路径,p2已经有了全局信息。

 11.激活函数Mish

ReLU函数:f(x)=max(αx,x)

Relu有点太绝对了,Mish更符合实际,但是计算量确实增加了,效果会提升。 

二、yolov5 优化策略

1.Conv模块:由一个Conv2d、一个BatchNorm2d和激活函数构成。如下图所示。Conv模块完成了对特征图的下采样、升维降维、归一化、非线性等。

2.C3模块:C3由三个Conv模块和一个Bottleneck模块组成,得名C3。在backbone中,C3是更为重要的提取特征的模块。其结构图如下使用残差结构,将输入与输出相加,避免梯度消失的问题。

 3.SPPF:SPP是空间金字塔池化,yolov5作者在SPP的基础上改进为SPPF。SPPF在输出相同的情况下速度更快。

 4.FPN+PAN:和Yolov4中一样,都采用FPN+PAN的结构 。

5.Mosaic data augmentation:同v4,四张图像拼接成一张进行训练,现在一个batch相当于以前4个batch。

6.自适应锚框计算
Yolov5每次训练时会自适应的计算不同训练集中的最佳锚框值,从而帮助网络更快的收敛。

7.CIoU loss :同v4.

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Yolov3、Yolov4Yolov5都是一类物体检测算法,它们在算法设计和性能方面有一些区别。 首先,Yolov3是由Joseph Redmon等人在2018年提出的。它引入了Darknet-53架构,它是一个由53个卷积层组成的骨干网络。Yolov3可以检测更多类别的物体,并具有更高的检测能力。但是,它在一些细小物体的检测上效果不佳,且检测速度稍慢。 随后,Yolov4是由Alexey Bochkovskiy等人在2020年提出的。Yolov4引入了CSPDarknet53架构,在保持架构轻量级的同时,提升了模型性能。它通过引入注意力机制和特征金字塔网络提高了检测准确性。此外,Yolov4还引入了多尺度训练和测试,进一步提升了目标检测的效果。 最近,Yolov5是由Glenn Jocher等人在2020年提出的。Yolov5通过使用更轻量的网络架构(如CSPNet、PANet和FPN)和更高效的训练策略,实现了更快的检测速度和更高的准确性。它在小目标和密集目标的检测上表现出色,并且具有更快的推理速度。 总的来说,Yolov3、Yolov4Yolov5在算法上都有一些改进和优化,以提高目标检测的准确性和速度。Yolov4Yolov5相比Yolov3在性能表现上略有提升,尤其在小目标和密集目标的检测上有较大改进。此外,Yolov5相对于Yolov4来说,引入了更轻量级的架构和更高效的训练策略,从而进一步提升了速度和准确性。但是,不同的应用场景可能需要不同的算法选择,因此选择适合具体应用需求的目标检测算法是至关重要的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学术菜鸟小晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值