图解ROI Pooling层

图解ROI Pooling层

在这里插入图片描述

图1:Fast R-CNN 网络结构

从图1可以看出,ROI Pooling层在整个Fast R-CNN中的位置

Fast R-CNN的流程是,以整张图片为输入,利用CNN得到图片的特征层(Feature Map);然后利用Selective search算法得到原始图像空间中的候选框(Proposal),并将这些候选框映射到特征层(Feature Map),这些映射区域就叫ROI(Region of Interesting)。这些ROI即作为ROI Pooling层的输入,经过ROI 池化操作,输出得到固定维度的特征表示,参考图2。
在这里插入图片描述
图2: Object detection pipeline with region of interest pooling

ROI Pooling将不同输入尺寸的feature map(ROI)通过分块池化的方法得到固定尺寸的输出,其思想来自于SPPNet。将SPPNet中多尺度的池化简化为单尺度,只输出固定尺寸为(pool_w*pool_h)的feature map。
在这里插入图片描述
和R-CNN对比可知,Fast R-CNN加入ROI Pooling层有以下两个好处:

  1. 解决了尺度缩放问题,接受任意尺寸的输入,warp操作不再需要,这有效避免了物体的形变扭曲,保证了特征信息的真实性。
  2. 不需要对每个候选区域(Proposal)都提取特征,采用映射方式从整张图片的feature map,获取固定大小(pool_w*pool_h)的特征。

Here’s a example presented in form of a nice animation:
Here’s a example presented in form of a nice animation
后记:
Fast R-CNN仍然沿用了R-CNN中selective search生成proposal的方法。这一方法产生的proposal即使经过NMS也会达到2k~3k个。这种低效率的滑动窗口选择方法,生成了大量无效区域,多了造成算力的浪费,少了则导致漏检。
在后续的Faster R-CNN中提出了RPN(Region Proposal Networks)区域候选网络,实现了利用神经网络自己学习生成候选区域的策略,充分利用了feature map的价值,在目标检测中彻底去除了Selective search方法,使检测任务可以由神经网络端到端地完成。
RPN网络将候选区域的选择从图像中移到了Feature Map中,由于特征图的尺寸远小于原始图像,因此这里生成候选区域的计算量成数量级降低。

附图:
An image from the Pascal VOC dataset annotated with region proposals (the pink rectangles)
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

RoIPooling 的缺点

RoI pooling generates features for each region proposals, which hinders the gradients being smoothly back-propagated from region-level to convolutional feature maps.
不使用预训练模型不收敛,可能就是这个原因。
The proposal-based methods work well with pretrained network models because the parameter initialization is good for those layers before RoI pooling, while this is not
true for training from scratch.

ROI Pooling是一种在深度学习中常用的空间金字塔池化技术,主要用于目标检测和物体识别任务。ROI是“Region of Interest”的缩写,指的是图像中包含有我们想要检测或识别的物体的区域。 在传统的卷积神经网络中,池化的目的是通过降维来减少计算量并且提取图像特征。然而,对于目标检测任务来说,不同物体的大小和形状是多样的,直接对整个图像进行池化可能会导致信息的丢失。而ROI Pooling的出现解决了这个问题。 ROI Pooling分为两个步骤:首先,根据预测的物体位置和大小,将图像分割为一系列特定大小的固定区域。然后,在每个区域中进行池化操作。具体来说,ROI Pooling划分固定大小的网格,然后将每个网格内的特征图划分为均等的子区域(通常是2x2的网格)。在每个子区域内执行最大池化操作,得到每个子区域的最大值。最后,这些最大值被串接起来形成ROI Pooling的输出。 通过ROI Pooling的操作,不同大小和形状的物体可以被映射到固定的尺寸,从而保留了物体的空间信息。这对于物体的位置和尺度不变性是非常重要的。ROI Pooling的输出可以作为后续分类器的输入,用于检测和识别图像中的物体。 总之,ROI Pooling是一种用于目标检测和物体识别任务的网络,它可以将图像中感兴趣的区域映射到固定尺寸,并保留了物体的空间信息。这个的出现极大地提高了物体检测和识别的准确性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gallant Hu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值