到了 YOLOv3,backbone 从 YOLOv2 的 Darknet-19 升级到了 Darknet-53。
下面一张完整的结构示意图来一起理解一下 YOLOv3 的网络结构。
我们怎么理解最后输出的 3 个特征图(feature map)的这个 255?
同 YOLOv2 一样,255 这个数值的计算可以写成: K × ( 1 + 4 + class number ) K \times (1 + 4 + \text{class number}) K×(1+4+class number)具体到 YOLOv3 中,因为每个网格 grid 预测 3 个 Anchor, 所以 K = 3 K=3 K=3,也就是说: 85 = ( 5 + class number ) 85 = (5 + \text{class number}) 85=(5+class number),就可以得到,这个实际上是 80 类别的目标检测网络,大概率用的是 COCO 数据集。
三个特征图分别是 13 × 13 × 255 13 \times 13 \times 255 13×13×255, 26 × 26 × 255 26 \times 26 \times 255 26×26×255 和 52 × 52 × 255 52 \times 52 \times 255 52×52×255。也就是说,根据上面的定义,每个网格 grid 有 3 个 Anchor,那么一种就会产生: 3 × ( 13 × 13 + 26 × 26 + 52 × 52 ) = 10647 3 \times (13 \times 13 + 26 \times 26 + 52 \times 52) = 10647 3×(13×13+26×26+52×52)=10647 个候选框,经过最后的 NMS 处理,就可以获得我们的最后的结果。