【论文笔记】【目标检测】fpn详解

fpn是在卷积神经网络中图像金字塔的应用。图像金字塔在多尺度识别中有重要的作用,尤其是小目标检测。

这里写图片描述

论文中给了这么一张图来展示4种利用特征的形式。

(a)图像金字塔。这个是直接把图片resize成不同的尺度,使用不同的尺度对应生成不同的特征。缺点是时间成本很大,如果在测试的时候使用四级的图像金字塔,那么测试时间*4.

(b)只用最后一层特征。在fpn之前的算法,faster rcnn和spp net都是只用了最后一层特征。这个最大的问题应该是小目标难以识别,比如image中小目标尺寸16*16,下采样16倍就变成了1*1,四舍五入相当于没了。

(c)使用每层特征图进行预测。SSD是这么做的,从网络不同层抽取不同尺度的特征做预测。fpn认为SSD算法用到的底层不够底层。

(d)fpn采用了这种方法,顶层特征上采样后和底层特征融合,每层独立预测。

fpn的思路:

【论文笔记】【目标检测】fpn详解_第1张图片

fpn每层做特征融合的特征图有两个,首先是前向传播,然后取了每个特征图做上采样(最近邻插值),对应前向传播的特征图做融合。融合的方式是:通过1x1卷积调整通道数,然后直接add。之后进行3x3卷积操作,目的是消除上采样的混叠效应。

FPN在rpn中的应用

rpn在faster rcnn中用于生成proposals,原版rpn生成在每个image的最后一张特征图上生成3x3个proposal。但实际上,小目标下采样到最后一个特征图,已经很小了。fpn可以在之前的多个特征图上获得proposal,具体做法是:在每个feature map上获得1:1、1:2、2:1长宽比的框,尺寸是{32^2、64^2、128^2、256^2、512^2}分别对应{P2、P3、P4、P5、P6}这五个特征层上。P6是专门为了RPN网络而设计的,用来处理512大小的候选框。它由P5经过下采样得到。

你可能感兴趣的:(计算机视觉,目标检测)