文章目录
前言
YOLO v3(You Only Look Once version 3)是一种快速且准确的目标检测算法,与YOLO v1 和 YOLO v2 相比,在保持高速度的同时,显著提升了检测的精度,特别是在小物体检测方面表现出色。以下是对YOLO v3的详细解析:
一、算法特点
-
单阶段检测方法:
- YOLO v3采用单阶段检测方法,将目标检测问题转化为回归问题,使用单个神经网络直接从完整图像预测边界框和类别概率。
- 这种端到端的方法使得YOLO v3能够以极快的速度进行实时目标检测。
- 下图左边为YOLO系列的检测过程,右边为传统目标检测过程
-
Darknet-53主干网络:
- YOLO v3使用Darknet-53作为特征提取网络,它包含53个卷积层 ,并引入了残差连接。
- Darknet-53的性能优于ResNet-101,且速度快于ResNet-152,为YOLO v3提供了强大的特征提取能力。
- 结构如下图:
- 但是 YOLO v3 中只是运用了红框中的结构,因为在整个 YOLO v3 的模型框架中,并没有池化和全连接层
-
多尺度预测:
- YOLO v3 在3个不同尺度上进行预测,延续了YOLO v2 中K-means聚类得到先验框的尺寸方法,为每种下采样尺度设定3种先验框,总共聚类出9种尺寸的先验框。
- 相比YOLO v2 中的5个先验框,这9个先验框是在3种不同尺度的特征图上进行预测,这种多尺度预测的方法显著提高了YOLO v3对小目标的检测能力。
- FPN特征金字塔:使用了类似FPN(Feature Pyramid Network)的结构,从不同尺度提取特征,以更好地检测不同大小的目标。
- 如下图:
-
逻辑回归分类器:
- YOLO v3使用逻辑回归代替softmax进行分类,更适合处理多标签分类问题。逻辑回归可以将类别概率限制在[0,1]之间,每个类别的概率值相对独立,适用于多标签分类场景。
- 在YOLO v3中,每个边界框都采用多标签分类器来预测包含的类别。
- 具体来说,对于每个边界框,YOLO v3会计算其属于每个类别的概率,这些概率是通过逻辑回归分类器得到的。
- 由于逻辑回归分类器允许相互独立的类别预测,因此YOLO v3可以训练包含许多具有多个标签的样本数据集
- YOLO v3使用逻辑回归代替softmax进行分类,更适合处理多标签分类问题。逻辑回归可以将类别概率限制在[0,1]之间,每个类别的概率值相对独立,适用于多标签分类场景。
- 通过以下示例图片来了解YOLO v3 检测的过程
- 下面是以输入图片大小为 416*416的YOLO v3 的网络结构图:
- 下图中是对三个尺度上输出结果中不同数字的解释
- 下面是以输入图片大小为 416*416的YOLO v3 的网络结构图:
二、算法性能
- 速度快:YOLO v3在保持高精度的同时,能够达到实时检测的速度。
- 精度高:相比YOLO v2,YOLO v3在COCO数据集上的mAP指标提高了2.7%。同时,YOLO v3在多尺度预测和更好的特征提取器的加持下,对小目标的检测能力显著提升。
三、局限性
尽管YOLO v3在多个方面都有显著改进,但它仍然存在一些局限性:
- 对密集目标的检测效果不佳:当图像中存在大量小而密集的目标时,YOLO v3的性能可能会下降。
- 对严重遮挡目标的检测不够理想:当目标被严重遮挡时,YOLO v3可能难以准确定位和分类。
- 对非常规形状目标的适应性不足:YOLO v3主要针对矩形边界框进行优化,对于非矩形目标的检测效果可能不够理想。