ROI pooling

目标检测通常分为两个阶段:

(1)region proposal:给定一张图片,找出目标可能存在的位置。该阶段输出为一系列目标可能存在的位置的bounding box。这些bounding box通常被称为region proposals或者regions of interest (ROI)。

(2) final classification:确定上一阶段的每个region proposal是否属于目标一类或者背景。

该框架的问题:

(1)产生大量的region proposals会导致性能下降,实时性不高。

(2)无法做到end-to-end的训练。

ROI pooling层能提升训练和测试的速度,并提高准曲率。

ROI pooling层的输入:

(1)具有多个卷积核池化的深度网络中获得的固定大小的feature maps;

(2)一个表示所有ROI的N*5的矩阵,其中N表示ROI的个数,5=1+4,1表示图像的index,4表示左上角和右下角坐标。

ROI pooling具体操作如下:

(1)根据输入的图像,将ROI映射到feature map的对应位置;

(2)将映射好的区域分为相同大小的sections(sections的数量与输出维度相同);

(3)最每个sections进行max pooling操作。

这样可以从不同大小的方框中得到固定大小的对应的feature maps。注意的是输出的feature maps的大小不取决于ROI和卷积feature maps的大小。ROI pooling 最大的好处就在于极大地提高了处理速度。

ROI pooling example

考虑一个8*8大小的feature map,一个ROI,以及输出大小为2*2.
(1)输入的固定大小的feature map 

(2)region proposal 投影之后位置(左上角,右下角坐标):(0,3),(7,8)。


(3)将其划分为(2*2)个sections(因为输出大小为2*2),我们可以得到:


(4)对每个section做max pooling,可以得到:


考虑一个8*8大小的feature map,一个ROI,以及输出大小为2*2.
(1)输入的固定大小的feature map 

(2)region proposal 投影之后位置(左上角,右下角坐标):(0,3),(7,8)。


(3)将其划分为(2*2)个sections(因为输出大小为2*2),我们可以得到:


(4)对每个section做max pooling,可以得到:


ROI pooling总结:
(1)用于目标检测任务;(2)允许我们对CNN中的feature map进行reuse;(3)可以显著加速training和testing速度;(4)允许end-to-end的形式训练目标检测系统。


参考:

[1] http://blog.csdn.net/auto1993/article/details/78514071

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值