我正在使用Single Shot Detector(SSD),更具体地说是在keras中使用this implementation

当我检查SSD300时(尽管我也注意到,这也适用于SSD512),我注意到在每个卷积组之后都有一个减小特征图维数的最大池。到目前为止还算不错,但是在conv组5之后(确切地说是在conv5_3层之后),应用的最大池使用了跨度1。我无法在SSD的original work上对此进行验证,因为它是用caffe编写的,我不是熟悉那个。这意味着(带有添加的填充)不会减少要素地图的大小。另外,最大池化层中的过滤器数量与以前相同,并且内核大小增加到了(3,3)(从(2,2)

据我了解,这意味着该最大池化层既不用于降低尺寸,也不用于减少(或无论如何更改)过滤器的数量。因此,它仅用于在特征图中应用最大池化过滤器。有谁知道这为什么必要吗?还是使其更正确,这样一个层的目的是什么?我的猜测是可以完全删除它,并且我不希望性能有太大差异,但是我还没有坦白地说。

关于我在这里可能会缺少的任何想法?

最佳答案

这样的过滤器会突出显示最强的功能,而丢弃最弱的功能,但不会降低其尺寸。有意义程度取决于接下来的几层。
从理论上讲,出现了冗余...

根据输入的大小,不希望缩小尺寸,因为您可能会失去任何功能。

关于python - 在对象检测中使用步长为1的最大池化层的目的是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56733596/

10-12 22:00