深度学习_目标检测_YOLOv3论文详解

YOLOv3的简介

YOLOv3总结了自己在YOLOv2的基础上做的一些尝试性改进,有的尝试取得了成功,而有的尝试并没有提升模型性能。其中有两个值得一提的亮点,一个是使用残差模型,进一步加深了网络结构;另一个是使用FPN架构实现多尺度检测。

YOLOv3的创新点

  1. 新的网络结构:DarkNet-53
  2. 融合FPN网络结构
  3. 用逻辑回归替代softmax作为分类器

YOLOv3对网络做的改进

YOLOv3在之前DarkNet-19的基础上引入了残差快,并进一步加深了网络,改进后的网络有53个卷积层,取名为DarkNet-53,网络结构如下图所示:

深度学习_目标检测_YOLOv3论文详解_第1张图片

Backbone(DarkNet-53)中的卷积数量

由上图可知,一共包含了52个卷积层,再加上一个全连接层就是53个。但是YOLOv3中去掉了全连接层,但是仍然称呼为DarkNet-53网络。

为了比较DarkNet-53与其它网络结构的性能,作者在TitanX上,采用相同的实验设置,将 256 × 256 256\times 256 256×256的图片分别输入以DarkNet-19,ResNet-101,ResNet-152和DarkNet-53为基础网络的分类模型中,实验得到的结果如下图所示。

深度学习_目标检测_YOLOv3论文详解_第2张图片

可以看到DarkNet-53比ResNet-101的性能更好,而且速度是其1.5倍,DarkNet-53与ResNet-152性能相似但速度几乎是其2倍。注意到,DarkNet-53相比于其它网络结构实现了每秒最高的浮点计算量,说明其网络结构能更好的利用GPU。

YOLOv3实现多尺度检测

YOLOv3借鉴了FPN的思想,从不同尺度提取特征。相比YOLOv2,YOLOv3提取最后3层特征图,不仅在每个特征图上分别独立做预测,同时通过将小特征图上采样到与大的特征图相同大小,然后与大的特征图拼接做进一步预测。用维度聚类的思想聚类出9种尺度的anchor box,将9种尺度的anchor box均匀的分配给3种尺度的特征图。如下图是在网络结构图的基础上加上多尺度特征提取部分的示意图:

深度学习_目标检测_YOLOv3论文详解_第3张图片

YOLOv3网络结构图

深度学习_目标检测_YOLOv3论文详解_第4张图片

上面三个蓝色方框内表示YOLOv3的三个基本组件:

  1. CBL:YOLOv3网络结构中的最小组件,由卷积+BN+LeakyReLU激活函数三者组成。
  2. Res unit:借鉴了ResNet网络中的残差结构,可以构建更深的网络。
  3. ResX:由一个CBL和X个残差组件构成,是YOLOv3中的大组件。

其它基础操作:

  1. Concat:张量拼接,会扩充两个张量的维度,例如 66 × 66 × 256 66 \times 66 \times 256 66×66×256 66 × 66 × 512 66\times 66 \times 512 66×66×512两个张量拼接,结果是 66 × 66 × 768 66 \times 66 \times 768 66×66×768
  2. add:张量相加,张量直接相加,不会扩充维度,例如 88 × 88 × 128 88 \times 88\times 128 88×88×128 88 × 88 × 128 88 \times 88\times 128 88×88×128相加,结果还是 88 × 88 × 128 88 \times 88\times 128 88×88×128

你可能感兴趣的:(#,目标检测)