yolov5,yolov4,yolov3乱七八糟的

结构对比

在这里插入图片描述
别问这么好看的图哪来的,问就是善假于人(toulai)的
下面简单讲讲图中我认为比较明显的变化

yolov4

backbone:
①全部用的都是Mish激活函数取代了yolov3的Leakyrelu
②在backbone就开始使用concat
neck:
①复杂程度狂飙
②引入了spp模块

yolov5

backbone:
①引入了Focus模块
②如果按照江小白文章中的内容激活函数又换回了Leakyrelu(隔这反复横跳是吧
但是有些博主说是silu
这边等有空再研究研究

③CBL和CSP1_X结构反复
④CSP1_X在concat后加上了BN+激活函数
neck:
①spp也在前后加上了CBL结构

整体上趋势就是将图片信息不断细分再整合的过程

浅浅分析一下激活函数为啥要反复横跳

这部分主要参考学习这位博主的内容

(一)LeakyReLU函数

Relu被引入之后出现了Dead ReLU问题(当输入为负时,ReLU完全失效)
先附上一张Relu图像!
在这里插入图片描述

因此在负数部分给上一个很小的分量以解决Dead ReLU问题
在这里插入图片描述

Swish函数

在这里插入图片描述

忽然翻到知乎某个博主写的挺全的看这!!!
不想写了hhhh开摆!!!!

算了写写总结吧。。。

focus模块

按照横纵坐标方向各做二倍间隔采样,保留了图像的基本特征,Focus可以起到下面的作用:减少层数,减少参数量,减少计算量,减少cuda内存占用,在mAP影响很小的情况下,提升推理速度和梯度反传速度。其中减少层数,减少参数量,减少计算量是指和YOLOV3对比,作者认为这样一个Focus层可以抵YOLOV3的3个卷积层

猜你喜欢

转载自blog.csdn.net/weixin_50862344/article/details/126006207