yolov5,yolov8梳理

您所在的位置:网站首页 yolov8结构 yolov5,yolov8梳理

yolov5,yolov8梳理

2024-07-07 08:04| 来源: 网络整理| 查看: 265

一、yolov5网络结构图:

架构特点:

Backbone :

CBS模块+C3模块+SPPF模块。

CBS = Conv + BN + SiLU

C3:3个Conv,输入特征图一条分支先经过Conv1,再经过Bottleneck,得到子特征图1;另一分支经过Conv2后得到子特征图2。最后将子特征图1和子特征图2拼接后输入Conv3得到C3层的输出,如下图所示。

https://pic3.zhimg.com/v2-9dc92a2d764c14650da94a75c08b83d6_r.jpg

SPPF:经过CBS,以及连续三次最大池化的结果先进行拼接,然后再到CBS提取特征。相比于原来的SPP,运行速度提高一倍多。

Neck

PAN-FPN,双向的FPN,其中多为CBS和C3模块。这样结合操作,FPN层自顶向下传达强语义特征(High-Level特征),而特征金字塔则自底向上传达强定位特征(Low-Level特征),从不同的主干层对不同的检测层进行特征聚合。

Head

非解耦head,把目标分类和检测框坐标回归放在一个向量中,作为网络的输出。

正负样本分配策略

静态分配策略。

Loss

置信度损失和分类损失用BCE Loss,回归用CIOU Loss。

BCE Loss:二分类交叉熵损失,适用于二分类的任务,(手,左手,右手不互斥)

CIOU Loss:如果A、B的重叠区域较小,则宽高比在损失函数中影响较小,此时着重优化A、B的距离;

如果A、B的重叠区域较大,则宽高比在损失函数中影响也较大,此时着重优化A、B的宽高比。

二、yolov8网络结构图:

架构特点:

1.Backbone

相同:使用CBS,并且使用SPPF模块。

不同:将C3模块替换为C2f模块。

CBS模块+C2f模块+SPPF模块。

C2f参考了densenet,增加了更多的跳层连接,取消了分支中的卷积操作,并且增加了额外的split操作,让特征信息更丰富的同时,减少计算量,保证了两者兼顾。

2.Neck

PAN-FPN双流的FPN,(其中多为CBS和C3模块)。

相同:PAN的思想,(自上而下+自下而上)。

不同:删除了YOLOv5中PAN-FPN上采样的CBS 1*1,将C3模块替换为C2f模块。

3.Head

解耦Head结构,将各个分类任务进行解耦,单独的去预测,不再是单纯的共享前一层参数将分类和检测头分离

4.正负样本分配策略

采用了TAL(Task Alignment Learning)动态匹配。

5. Loss

相同:分类损失依然采用 BCE Loss

不同:

(1)舍去物体的置信度损失;

(2)回归分支loss: CIOU loss + DFL Loss

DFL Loss: 以交叉熵的形式,去优化与标签y最接近的一左一右(yi,yi+1)2个位置的概率,从而让网络更快的聚焦到目标位置及邻近区域的分布。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3