目标检测的任务可以分为两步:选出所有可能存在物体的候选框、判断候选框中的物体是否为前景或者背景。
但是这可能会产生很多的候选区域,如果把它们都喂入CNN,计算量将特别大,这也是rcnn效率低的原因所在。rcnn对每个候选区域都进行CNN计算,而一张图片的候选区域多达2000个。由此产生了ROI pooling。
ROI,region of interets。
ROI pooling,它的具体做法是,将输入图像喂入CNN,得到feature map,(以fast rcnn为例)同时用selective search得到候选框,将候选框在特征图中框出来,根据输出层大小计算将候选feature map分成几份,再进行池化,即可得到与输出一样的feature map大小。(与rcnn对比)这样做的好处是,不需要把所有候选区域都喂入CNN计算,只需要计算一次原图就可以,这大大减少了计算量,提高了效率。
带有ROI pooling的Fast rcnn网络结构如下:
ROI pooling的具体计算过程:
参考文章地址:https://www.cnblogs.com/kk17/p/9693565.html
(1)输入的固定大小8*8的feature map
(2)候选框在feature map上的投影
(3)feature map输出大小为2*2,将其划分为2*2个sections(5/2=2,向上取整)
(4)对每个section做max pooling