YOLO(You Only Look Once)算法原理
前言 :详细介绍了yolo系列目标检测算法的原理和发展过程。
系列:
【YOLO系列】YOLO.v1算法原理详解
【YOLO系列】YOLO.v2算法原理详解
【YOLO系列】YOLO.v3算法原理详解
【YOLO系列】YOLO.v4 & YOLO.v5算法原理详解
文章目录
3. YOLO.v3
3.1 基本概述
论文参考:YOLOv3:An Incrementatal Improvement
3.2 算法改进
3.2.0 网络架构
整体网络架构如下图所示:
简易版:
详细版:
相较于 v2,改进点主要集中在一下方面
- 特征提取网络
- 多尺度检测
- 分类器
- 分类损失
注意 :
- 此时 yolov3 论文中还没有提出 backbone、neck、head 等概念。
- 以输入图像 416 × 416 × 3 416\times 416\times 3 416×416×3 为例,数据变化如上图所示。
3.2.1 特征提取网络
特征提取网络使用了更深的 DarkNet-53, 网络中引入了残差结构。
3.2.2 多尺度检测
在特征提取过程中,即 Backbone ,从上图中可以看到,
过程中进行了 5 次下采样。
下采样是通过 Res_n 结构中 CBL 卷积操作来实现,即设定 stride = 2。
其中,最终使用了 32倍、16倍、8倍 下采样后的提取到的特征,对应于后面的 output1, output2, output3 ,从而实现小、中、大目标的检测。
3.2.3 分类器
分类器不再使用 Softmax,主要考虑到 Softmax 无法进行多标签分类,同时Softmax 可以被独立的多个 Logistic 分类器替代。
3.2.4 分类损失
分类损失不再使用均方误差,而使用 binary cross-entropy loss,即二分类交叉熵损失。
3.3 具体实现
2.3.1 卷积网络结构(DarkNet-53)
论文所用卷积神经网络结构,即Backbone 是基于 DarkNet,确切地说是 DarkNet-53。
完整网络如下所示
同样的,yolo v3 使用了图中蓝色框选位置的结构。
黑色框选位置即为 Res_n 单元。
3.4 总结
- yolo v3 更改了特征提取网络,进行多尺度检测,建构出了 yolo 系列的经典框架。后续 v4, v5 基本都是在此框架上进行改动的。
- yolo v3 是 yolo 系列的经典版本。达到了一个里程碑。也使得 yolo 在目标检测任务得到广泛实践。