济南网站建设飞鸟,建设部网站企业资质,网站公司怎么做运营商,北京网站排名公司一. YOLOv8网络结构
1. Backbone
YOLOv8的Backbone同样参考了CSPDarkNet-53网络#xff0c;我们可以称之为CSPDarkNet结构吧#xff0c;与YOLOv5不同的是#xff0c;YOLOv8使用C2f(CSPLayer_2Conv)代替了C3模块(如果你比较熟悉YOLOv5的网络结构#xff0c;那YOLOv8的网络…一. YOLOv8网络结构
1. Backbone
YOLOv8的Backbone同样参考了CSPDarkNet-53网络我们可以称之为CSPDarkNet结构吧与YOLOv5不同的是YOLOv8使用C2f(CSPLayer_2Conv)代替了C3模块(如果你比较熟悉YOLOv5的网络结构那YOLOv8的网络结构理解起来就easy了)。
如图1所示为YOLOv8网络结构图(引用自MMYOLO)对比图2的YOLOv5结构图可以看到基本的架构是类似的。
这里值得注意的是很多博文中写到YOLOv8使用了CSPDarkNet53作为backbone当然是可以用的但是官方代码中明显不是套用的CSPDarkNet53网络结构。事实上YOLOv5的主干也并非是CSPDarkNet53网络。 图1 YOLOv8网络架构 图2 YOLOv5网络架构
2. Neck
YOLOv8的Neck使用的也是类似于YOLOv5的PAN-FPN称作双流FPN高效速度快。
3. Head
与之前的YOLOv6YOLOX类似使用了Decoupled HeadYOLOv3、YOLOv4、YOLOv5均使用Coupled Head。
YOLOv8也使用3个输出分支但是每一个输出分支又分为2部分分别来分类和回归边框(参照图1的Decoupled Head)。
二. 细说Backbone
前面讲到YOLOv8的Backbone类似于YOLOv5的Backbone不同点是将C3换成了C2F以及将第一个Convolution层设置为kernel size等于3stride为2YOLOv5的Kernel Size为6padding为2。
1. C2F与C3对比
那么C2F与C3单元相比有什么优势呢我们先上各自的网络结构图。如图3为C3结构图图4为C2F结构图。
图4中每一个Bottleneck的输入Tensor的Channel都只有上一级的0.5倍因此计算量明显降低。从另一方面讲梯度流的增加也能够明显提升收敛速度和收敛效果。 图3 C3单元 图4 C2F单元
2. Bottleneck
YOLOv8的C2F使用了Bottleneck单元但需要注意的是Darknet所引入的Bottleneck不同于ResNet的Bottleneck。如图5和图6分别为Darknet的Bottleneck和ResNet的Bottelneck。
由图5和图6可以看出Darknet的Bottleneck单元并未使用最后的1*1卷积进行通道的恢复而是直接在中间的3*3卷积中进行了恢复。
此处大家进记住一点即可Bottleneck可以大大减少参数降低计算量。 图5 Darknet Bottleneck 图6 ResNet Bottleneck
三. Neck
YOLOv8的Neck采用了PANet结构。如图7为网络局部图。
由图7可以看出Backbone最后经过了一个SPPF(SPP Fast图示Layer9)之后H和W已经经过了32被的下采样。对应的Layer4经过了8被下采样Layer6经过了16背的下采样。设定输入为640*640得到Layer4、Layer6、Layer9的分辨率分别为80*80、40*40和20*20。
Layer4、Layer6、Layer9作为PANnet结构的输入经过上采样通道融合最终将PANet的三个输出分支送入到Detect head中进行Loss的计算或结果解算。
与FPN(单向自上而下)不同PANet是一个双向通路网络。与FPN相比PANet引入了自下向上的路径使得底层信息更容易传递到高层顶部(红色曲线标注路线)。 图7 YOLOv8 Neck(PANet)
四. Detect Head
YOLOv8采用了类似于YOLOX的Decoupled Head将回归分支和预测分支进行分离。Decoupled Head的有点可以参考YOLOX的论文中提到的收敛更快效果更好。
需要特别提及的是YOLOv8的Detect Head中针对回归分支使用了DFL策略之前的目标检测网络将回归坐标作为一个确定性单值进行预测DFL将坐标转变成了一个分布。
DFL理论主要用来解决边界模糊的问题。详细了解可以参考论文“Generalized Focal Loss: Learning Qualified and Distributed Bounding Boxes for Dense Object Detection”。