Fast R-CNN 中 ROI 层的用途是什么?

What is the purpose of the ROI layer in a Fast R-CNN?

this关于对象检测的教程中,提到了快速R-CNN。还提到了ROI(感兴趣区域)层。

当区域建议根据最终卷积层激活函数(在每个单元格中)调整大小时,从数学上讲发生了什么?

ROI(感兴趣区域)层在Fast R-CNN中引入,是空间金字塔池化层的特例,在深度卷积中的空间金字塔池化中引入 视觉识别网络。由于全连接层的尺寸限制,ROI 层的主要功能是将任意尺寸的输入重塑为固定长度的输出。

ROI层的工作原理如下所示:

在此图像中,任意大小的输入图像被送入具有 3 个不同 window 的层:4x4(蓝色)、2x2(绿色)、1x1(灰色)以产生固定大小的输出分别为 16 x F、4 x F 和 1 x F,其中 F 是过滤器的数量。然后,将这些输出连接成一个向量以馈送到全连接层。

感兴趣区域 (RoI) 池化:

这是一种池化层,它对非均匀大小的输入(此处为 convnet 特征图)执行 最大池化 并生成固定大小的小特征图(比如说 7x7)。这个固定大小的选择是一个网络超参数并且是预定义的。

进行这种池化的主要目的是加快训练和测试时间,并从端到端(以联合方式)训练整个系统。

由于使用了这个池化层,训练和测试时间比原始(香草?)R-CNN 架构更快,因此得名 Fast R-CNN。

简单示例(来自Region of interest pooling explained by deepsense.io):