【目标检测】45、YOLOv3 | 针对小目标效果提升的 YOLO 网络

【目标检测】45、YOLOv3 | 针对小目标效果提升的 YOLO 网络_第1张图片

文章目录

    • 一、 背景
    • 二、方法
    • 三、效果

论文: YOLOv3: An Incremental Improvement

代码:https://github.com/pjreddie/darknet

作者:Joseph Redmon

时间:2018.08

贡献:

  • 提出了 DarkNet-53,并且使用其输出的 3 种不同尺度的特征进行后续的预测
  • 不同于 YOLOv2 中使用 5 个候选框,YOLOv3 中使用 9 个候选框(3 种尺度,每个尺度 3 个规格)

一、 背景

由于 YOLO 系列对小目标的检测效果一直不太好,所以 YOLOv3 主要是网络结构的改进,使其更适合小目标检测;

  • 特征做的更细致,融入多持续特征图信息
  • 候选框B=9(3种scale,每种有3个规格)

【目标检测】45、YOLOv3 | 针对小目标效果提升的 YOLO 网络_第2张图片

【目标检测】45、YOLOv3 | 针对小目标效果提升的 YOLO 网络_第3张图片

二、方法

YOLOv3 的整体过程:

  • 首先,Backbone,输入大小为 416x416 的图像,经过 DarkNet-53,输出 8、16、32 倍下采样的特征图,大小分别为 56x56、26x26、13x13
  • 然后,Neck,对这三种不同分辨率的特征图,使用 PAN 进行特征融合,让不同分辨率的特征更好的交互
  • 最后,YOLO Head,在每个分辨率上的特征图上,分别预测类别和位置,使用 conv+bn+激活的形式来实现,每个分辨率上得到的是 k × k × c h a n n e l s k \times k \times channels k×k×channels 的形式的输出,其中 k k k 为特征图的大小,channels =3 x (4(位置) + 1(objectness) + 类别个数)

1、Bounding box prediction

在 YOLO9000 中,使用如下方式来表达框的位置:

【目标检测】45、YOLOv3 | 针对小目标效果提升的 YOLO 网络_第4张图片

【目标检测】45、YOLOv3 | 针对小目标效果提升的 YOLO 网络_第5张图片
其中预测值 tx, ty 并不是 anchor 的坐标,而是 anchor 的偏移量,同样的 tw, th 是先验框的缩放因子,先验框的大小由 k-means 聚类 xml 标签文件中保存的坐标位置得到。

YOLOv3 提出了 objectness score,使用 logistic 回归的方法来对每个框预测 objectness score:

  • 1:当一个先验框和 gt 的重合率大于其他先验框时,objectness score = 1
  • -1:当一个先验框的 IoU 不是最大,但大于阈值时(0.5),则 objectness score = -1,不参与训练

2、分类预测

作者使用 logistic classifier,使用二值交叉熵损失来进行分类训练

3、根据尺度进行预测

YOLOv3 在 3 个尺度上进行框的预测,最后输出三个信息:bbox、objectness、class

在 COCO 数据集中,就会在每个尺度上输出:

  • N × B × [ 3 ∗ ( 4 + 1 + 80 ) ] N\times B \times [3*(4+1+80)] N×B×[3(4+1+80)] 偏移信息
  • 1 个 objectness
  • 80 个类别预测

预测要点:

  • 使用 k-means 距离的方法来确定先验 bbox,9 个形心,然后使用尺度来将这些簇分开(因为最后的预测包括 3 个分辨率尺度,也就是给每个尺度上预测 3 个 anchor,9 个形心按照面积大小排列,然后按顺序分给 3 个尺度)
  • COCO 上的 9 个簇分别为:(10x13), (16x30),(33x23), (30x61), (62x45), (59x119), (116x90), (156x198), (373x326)。

【目标检测】45、YOLOv3 | 针对小目标效果提升的 YOLO 网络_第6张图片

4、特征抽取

在 YOLOv2 中使用的是 Darknet-19,YOLOv3 使用 Darknet-53。

【目标检测】45、YOLOv3 | 针对小目标效果提升的 YOLO 网络_第7张图片
【目标检测】45、YOLOv3 | 针对小目标效果提升的 YOLO 网络_第8张图片

三、效果

【目标检测】45、YOLOv3 | 针对小目标效果提升的 YOLO 网络_第9张图片

  • YOLOv3 在 COCO 上获得了和 SSD 媲美的效果,且速度比 SSD 快 3x
  • 当 IoU = 0.5 时,YOLOv3 效果很好,和 RetinaNet 效果相当,且高于 SSD,这说明 YOLOv3 性能很好
  • 当 IoU 升高时,YOLOv3 没降低很多,说明其边框还是比较准确的
  • 之前的 YOLO 方法对小目标都不太友好,YOLOv3 的 APs 指标表现很好,但在大中型目标上效果较差,需要继续研究
  • 如图 5 所示,YOLOv3 可以称为 faster and better

【目标检测】45、YOLOv3 | 针对小目标效果提升的 YOLO 网络_第10张图片

你可能感兴趣的:(目标检测,目标检测,深度学习,计算机视觉)