3

我找不到任何关于 YOLOv3 SPPmAP比 YOLOv3 更好的解释。作者本人在他的 repo 中声明了 YOLOv3 SPP:

YOLOv3 有空间金字塔池化之类的

但我还是不太明白。在yolov3-spp.cfg我注意到有一些补充

575 ### SPP ###
576 [maxpool]
577 stride=1
578 size=5
579 
580 [route]
581 layers=-2
582 
583 [maxpool]
584 stride=1
585 size=9
586 
587 [route]
588 layers=-4
589 
590 [maxpool]
591 stride=1
592 size=13
593 
594 [route]
595 layers=-1,-3,-5,-6
596 
597 ### End SPP ###
598 
599 [convolutional]
600 batch_normalize=1
601 filters=512
602 size=1
603 stride=1
604 pad=1
605 activation=leaky

任何人都可以进一步解释 YOLOv3 SPP 的工作原理吗?为什么选择层-2、-4和-1、-3、-5、-6 [route] layers?谢谢。

4

2 回答 2

11

最后一些研究人员在 Yolo https://arxiv.org/abs/1903.08589上发表了一篇关于 SPP 应用的论文。

对于 yolov3-tiny、yolov3 和 yolov3-spp 的区别:

  • yolov3-tiny.cfg 在 Max-Pooling 层中使用下采样 (stride=2)
  • yolov3.cfg 在卷积层中使用下采样(stride=2)
  • yolov3-spp.cfg 在卷积层中使用下采样 (stride=2) + 在 Max-Pooling 层中获得最佳特征

但他们在 Pascal VOC 2007 测试中仅获得了mAP = 79.6%,并在原始框架上使用 Yolov3SPP 模型。

但是即使使用 yolov3.cfg 模型,我们也可以通过使用 AlexeyAB 的存储库https://github.com/AlexeyAB/darknet/issues/2557#issuecomment-474187706来获得更高的准确度mAP = 82.1%

当然,我们可以使用 Alexey 的 repo 通过 yolov3-spp.cfg 实现更高的 mAP。 在此处输入图像描述

原始 github 问题:https ://github.com/AlexeyAB/darknet/issues/2859

于 2019-04-08T00:27:51.757 回答
5

参见图 3。SPP 说明。

yolov3-spp.cfg中,他们通过使用 3 个不同大小的最大池对同一图像使用[route]

之后,他们收集创建的特征图,称为图 3 中的“固定长度表示”。

在此处输入图像描述

于 2019-03-06T02:30:28.313 回答