【问题标题】:Why does ssd and yolo has no roi pooling layer?为什么ssd和yolo没有roi pooling层?
【发布时间】:2019-08-30 09:52:46
【问题描述】:

我们知道像faster-rcnnmask-rcnn这样的对象检测框架有一个roi pooling layerroi align layer。但是为什么ssd和yolo框架没有这样的层呢?

【问题讨论】:

    标签: computer-vision object-detection yolo faster-rcnn


    【解决方案1】:

    首先我们应该了解roi pooling 的目的是什么:从特征图上的提议区域获得固定大小的特征表示。因为提议的区域可能有各种大小,如果我们直接使用这些区域的特征,它们的形状会不同,因此不能被馈送到全连接层进行预测。 (我们已经知道全连接层需要固定的形状输入)。如需进一步阅读,here 是一个不错的答案。

    所以我们了解到roi 池化本质上需要两个输入,proposed regionfeature maps。正如下面的figure中清楚描述的那样。

    那么YOLOSSD为什么不使用roi pooling呢?仅仅是因为他们不使用区域建议!它们的设计本质上不同于 R-CNN、Fast R-CNN、Faster R-CNN 等模型,实际上 YOLOSSD 属于分类作为one-stage检测器,而r-cnn系列(R-CNN,Fast R-CNN,Faster R-CNN)被称为two-stage检测器,仅仅是因为它们首先提出区域然后执行分类和回归.

    对于one-stage 检测器,它们直接从特征图执行预测(分类和回归)。他们的方法是将图像划分为网格,每个网格将预测具有置信度分数和类别分数的固定数量的边界框。原来的YOLO使用的是单尺度特征图,而SSD使用的是多尺度特征图,如下图fig

    我们可以看到 YOLO 和 SSD ,最终输出是一个固定形状的张量。因此它们的行为与linear regression 之类的问题非常相似,因此它们被称为one-stage 检测器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-03
      • 1970-01-01
      • 2010-09-12
      相关资源
      最近更新 更多