- Feature Extraction:使用ConvNet只对图像进行一次计算提取特征图;
- Sample RoIs:在原图上选择性搜索生产 region proposals ;
- ROI Projection:将选择性搜索生成的 region proposals 投影到CNN提取的特征图上;
- ROI Pooling:ROI Pooling 层将 ROI Projection后的特征变成固定大小的特征图输出;
-
分类和回归:最后,通过后续的FC层分别生成bbox和class。
本文,我们将重点讨论Fast R-CNN论文中描述的RoI Pooling(上图浅蓝色矩形)。
1.1 Feature Extraction
或许您也已经注意到输入图像的宽度和高度正好是输出的特征矩阵的32倍(512/32=16)。这一点很重要,因为所有的ROI都必须根据这个倍数进行缩小。
如下图所示,假设有4个不同的RoI,实际上远远不止这么多,通常会根据选择性搜索算法搜索出几千个RoI。
如上图红框RoI,其原始大小为145×200,把这些数字除以32(比例因子)可以得到:
- width: 200/32 = 6.25
- height: 145/32 = ~4.53
- x: 296/32 = 9.25
- y: 192/32 = 6
因为最后输出的feature map是16*16*channel,也就是说我们正在处理一个16×16 网格,所以更关心整数。
你可能会问:我们为什么要应用RoI Pooling?这是个好问题。如果你看看Fast R-CNN的原始设计:
在RoI Pooling之后,有一个固定大小的全连接层。因为我们的 RoI 有不同的大小,所以我们必须将它们组合成相同的大小(在我们的示例中是3x3x512)。假设RoI大小为4x6x512,正如您所想象的,我们直接将4除以3将会得到小数,此时,又是量化发挥作用的地方。
1.5 分类和回归
-
https://arxiv.org/pdf/1504.08083.pdf -
https://towardsdatascience.com/understanding-region-of-interest-part-1-roi-pooling-e4f5dd65bb44
本站上原创文章未经作者许可,不得用于商业用途,仅做学习交流使用,本站免责声明。转载请注明出处,否则保留追究法律责任的权利。《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
数据科学与编程 » 图解 Fast RCNN & RoI Pooling
数据科学与编程 » 图解 Fast RCNN & RoI Pooling