1.yolov4的网络结构
yolov4的网络结构包括
- backbone
- CSPDarknet53
- Neck
- SPP
- PANet
- Dence Prediction
- yolo head
整个网络结构如下图1所示:
图1 yolov4结构
1.1 BackBone
1.1.1 CSP模块
CSP在论文《CSP:A New Backbone that can Enhance Learning Capability of CNN 》提出,把CSP(Cross Stage Partial)应用到ResNe(X)t,模型结构如下图2所示。
图2 CSP结构应用到ResNe(X)t
从结构上来看,CSP是将输入通道分成两部分,一部分经过常规Res(X)Block后跟另一部分进行通道拼接,拼接后进入transition layer。CSP将梯度的变化从头到尾地集成到特征图中,在减少了计算量的同时可以保证准确率(或有所提升)。其中transition layer是一个卷积加池化,用于整合学到的特征,降低特征图的尺寸。
1.1.2 CSPDarknet53
参考了yolov4源码的cfg文件,画了个cspdarknet53比较详细的结构图,如下所示:
图4 CSPDarknet53结构图
总体来看,每个CSP模块都有以下特点:
- 相比于输入,输出featuremap大小减半
- 相比于输入,输出通道数增倍
- 经过第一个CBM后,featuremap大小减半,通道数增倍
CSP1和其他CSP有所不同:
- 经过模块第二个CBM后,CSP1 featuremap大小和通道数都不变,但是其他模块featuremap大小不变,通道减半
- 经过最后一个CBM后,CSP1 featuremap大小不变,通道数减半,但是其他模块featuremap大小通道数都不变
1.2 Neck
yolov4的Neck部分主要使用SPP和PANet模块。
1.2.1 SPP
SPP(空间金字塔)可以使得多个尺寸特征融合在一起,输入经过3个maxpool然后concat在一起,maxpool大小分别是13,9和5,yolov4中得SPP模块如下图5所示。
图5 SPP
1.2.2 PANet
PANet的网络结构如图6所示,由5个核心模块组成。其中(a)是一个FPN,(b)是PAN增加的自底向上的特征融合层,©是自适应特征池化层,(d)是PANet的bounding box预测头,(e)是用于预测掩码的全连接融合层。
图7 PaNet结构
PANet是加强版的FPN,通过融合自底向上和自顶向下两个路径增加模型的表征能力。
yolov4的PANnet结构如下图6所示,结构中包括了两次上采样和两次下采样,而与yolov3的Neck部分只包括上采样。
图6 PANet
欢迎指正!
ref:
-
YOLOv4: Optimal Speed and Accuracy of Object Detection
-
CSPNet: A New Backbone that can Enhance Learning Capability of CNN文章来源:https://www.toymoban.com/news/detail-444417.html
-
Path Aggregation Network for Instance Segmentation文章来源地址https://www.toymoban.com/news/detail-444417.html
到了这里,关于YOLOv4之网络结构剖析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!