ROI 详解

本文深入讲解ROI Pooling的概念,它是如何将不同大小的输入映射为固定大小的输出,适用于特征图上的任意区域。详细解释了ROI Pooling的输入、输出及具体操作流程,包括坐标映射、section划分和max pooling过程。
摘要由CSDN通过智能技术生成

SPPNet、roi pooling 和 average pooling之间的区别,都是起到对任意大小的输入产生固定的输出的作用。其中SPPNet、roi pooling是一样的。

下面对ROI Pooling 进行详解:

  • ROI是Region of Interest的简写,指的是在“特征图上的框”;
  • POOling是一个池化操作。

可以再了解一下这个概念【region proposal】:
给定一张输入image找出objects可能存在的所有位置。这一阶段的输出应该是一系列object可能位置的bounding box。这些通常称之为region proposals或者 regions of interest(ROI)。

ROI Pooling的输入

输入有两部分组成:

  1. 特征图:通过神经网络的特征图feature map;
  2. rois:在Fast RCNN中,指的是Selective Search的输出;在Faster RCNN中指的是RPN的输出,一堆矩形候选框框,size为[1x5x1x1](4个坐标+索引index),其中值得注意的是:坐标的参考系不是针对feature map这张图的,而是针对原图的(神经网络最开始的输入)左上角和右下角坐标。

ROI Pooling的输出

输出是batch个vector,其中batch的值等于RoI的个数,vector的大小为channel * w * h;RoI Pooling的过程就是将一个个大小不同的box矩形框,都映射成大小固定(w * h)的矩形框。

ROI pooling具体操作

  1. 根据输入image,将ROI映射到feature map对应位置;
  2. 将映射后的区域划分为相同大小的sections(sections数量与输出的维度相同);
  3. 对每个sections进行max pooling操作。

下面拿官网的图来举个栗子吧~假设我们要对一个8*8大小的feature map进行ROI pooling操作,其1含有一个ROI,需要输出大小为2*2.
  1. 输入的feature map 如下

在这里插入图片描述

  1. region proposal 投影之后位置(左上角,右下角坐标):(0,3),(7,8)。
    我们先把roi中的坐标映射到feature map上,映射规则比较简单,就是把各个坐标除以“输入图片与feature map的大小的比值”,得到了feature map上的box坐标。

在这里插入图片描述

  1. 将其划分为(2*2)个sections(因为输出大小为22),通过第二步,我们可以发现,所得到的矩形框大小为5x7,输出为2x2,所以在57的特征图划分成2*2的时候不是等分的,行是5/2,第一行得到2,剩下的那一行是3,列是7/2,第一列得到3,剩下那一列是4。因此,我们可以把这个矩形这样划分:
    在这里插入图片描述
  2. 然后对这个2x2的区域进行max pooling操作。
    在这里插入图片描述

下面是一个动态图,可以更形象的说明整个roi pooling的过程:
在这里插入图片描述

参考:

  1. Region of interest pooling explained
  2. ROI Pooling层解析
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值