文章目录
YOLO V3
一、模型思想
作者 Redmon 又在 YOLOv2 的基础上做了一些改进:
- YOLO V3最大的改进就是网络架构,特征提取部分采用Darknet-53网络结构代替原来的Darknet-19。
- 特征做的更细致,融入多持续特征图信息来预测不同规格物体。
- 先验框更丰富,共9个,分为小、中、大三种scale,每种有三个规格。
- 分类方法使用Logistic分类器代替了Softmax,在兼顾实时性的同时保证了目标检测的准确性。
二、模型性能
相较于其他的网络模型,YOLO V3有着显著的优越性以及高效性:
三、改进的地方
1. 三种scale
2. scale变换经典方法
不太理想的两种方法:
- 金字塔:每层特征图卷积预测结果。
- 单一:将多层特征图融合在一起,这样就和普通的卷积神经网络一样了,没什么意义。
- 上述两种方法有一个缺点:不利于yolo的检测速度。
理想方法:
- 从大的融合向小的,接着小的返回影响大的特征图输出:
3. 残差连接
残差网络最大特点:可以搭建更大、更深层次的网络。
引入ResNet的思想,堆叠更多的层来进行提取:
4. 核心网络架构
YOLO V3采用了Darknet-53作为骨干网络。Darknet-53是一个基于ResNet残差网络思想的深度学习模型,包含53个卷积层,每个卷积层后跟随批量归一化层和Leaky ReLU激活函数。这种结构使得网络在提取特征时更加高效,同时避免了过拟合的问题。
特点:没有池化层和全连接层,只有卷积层。
(1) 结构
(2) 输出与先验框关系
从上方可以发现,网络结构共有三个输出:
YOLO3延续了K-means聚类得到先验框的尺寸方法,为每种下采样尺度设定3种先验框,总共聚类出9种尺寸的先验框。
先验框的分配情况:
网络下采样输入图像一直到第一个检测层,步幅是32;然后,将此层上采样2倍与上面的同样大小的特征图进行按通道堆叠;第二个检测层按步幅16形成;同样地,相同的上采样过程,最后的检测层步幅为8。在每个尺度上,每个cell使用三个先验框预测三个边界框,共9个先验框。
5. Logistic分类器替代Softmax
YOLOv3舍弃了传统的Softmax分类器,改用独立Logistic回归对每个类别进行分类预测,核心改进如下:
- 多标签支持:每个类别使用Sigmoid激活函数,输出独立的概率值(0-1),允许目标同时属于多个类别。例如,一张图像中的“消防栓”可同时被标记为“公共设施”和“金属物体”。
- 阈值灵活设定:通过调整类别概率阈值(如0.5),可适应不同场景的检测需求。
- 计算优化:Logistic分类器无需计算Softmax的全局归一化,计算量减少约30%,推理速度略有提升。
四、总结
本篇介绍了:
- YOLO V3 的网络架构只有卷积层,且有三个输出。
- YOLO V3 先验框共有9个,分为小、中、大三种scale,每种有三个规格。
- 引入残差网络思想,搭建更深层次的网络。
- 使用Logistic分类器替代Softmax,适用于多分类的任务。