YOLO模型可分为3个主要组成部分:Backbone网络、Neck网络和Head网络。
Backbone网络,也称为特征提取器,负责从输入图像中提取有意义的特征。在Backbone网络中,有许多创新结构,如YOLOv3中的Darknet-53、YOLOv4中的Modified CSP、YOLOv5和YOLOX中的Modified CSP v5,以及YOLOv7中的Elan、VoVNet、CSPVoVNet。这些结构在提高精度、速度和整体性能方面发挥了至关重要的作用。
在研究了这些Backbone网络的结构后发现改进这些Backbone网络结构的趋势正在朝着使用完全3×3卷积核的方向发展。尽管3×3卷积可以通过堆叠来增加感受野,并且也可以在GPU硬件级别上加速,但无论是在加宽宽度还是加深深度方面,这些结构的改进空间仍然相当有限。
Neck网络充当Backbone网络和Head网络之间的桥梁,聚合和细化Backbone网络提取的特征。它通常采用特征金字塔网络(FPN)或空间金字塔池化(SPP)等结构来处理各种大小和尺度的目标。
Head网络是YOLO模型的最后一部分,负责根据Neck网络提供的特征预测边界框、类概率和对象性得分。就Head网络的创新结构而言,YOLOX中的解耦Head就是一个突出的例子。尽管解耦Head可以有效地解决回归和分类任务之间的冲突,但作者通过研究发现,解耦Head的结构应该与损失函数的计算逻辑一致,才能获得最佳性能。