前言 :详细介绍了yolo系列目标检测算法的原理和发展过程。
系列:
【YOLO系列】YOLO.v1算法原理详解
【YOLO系列】YOLO.v2算法原理详解
【YOLO系列】YOLO.v3算法原理详解
【YOLO系列】YOLO.v4算法原理详解
【YOLO系列】YOLO.v5算法原理详解
论文参考:YOLOv3:An Incrementatal Improvement
整体网络架构如下图所示:
简易版:

详细版:

相较于 v2,改进点主要集中在一下方面
注意 :
- 此时 yolov3 论文中还没有提出 backbone、neck、head 等概念。
- 以输入图像 416 × 416 × 3 416\times 416\times 3 416×416×3 为例,数据变化如上图所示。
特征提取网络使用了更深的 DarkNet-53, 网络中引入了残差结构。
在特征提取过程中,即 Backbone ,从上图中可以看到,
过程中进行了 5 次下采样。
下采样是通过 Res_n 结构中 CBL 卷积操作来实现,即设定 stride = 2。
其中,最终使用了 32倍、16倍、8倍 下采样后的提取到的特征,对应于后面的 output1, output2, output3 ,从而实现小、中、大目标的检测。
分类器不再使用 Softmax,主要考虑到 Softmax 无法进行多标签分类,同时Softmax 可以被独立的多个 Logistic 分类器替代。
分类损失不再使用均方误差,而使用 binary cross-entropy loss,即二分类交叉熵损失。
论文所用卷积神经网络结构,即Backbone 是基于 DarkNet,确切地说是 DarkNet-53。
完整网络如下所示

同样的,yolo v3 使用了图中蓝色框选位置的结构。
黑色框选位置即为 Res_n 单元。