目标检测 - FPN结构

在这里插入图片描述

论文:Feature Pyramid Networks for Object Detection

网址:https://arxiv.org/abs/1612.03144

在这里插入图片描述

图a为特征图像金字塔,针对我们要检测不同尺度的目标时,我们会将图片缩放到不同的尺度,针对每个尺度的图片都经过我们的模型进行预测。面临问题:生成n个不同的尺度,就要重新预测n次,这样效率是很低的。

图b为Faster-CNN采用的一种方式,图片通过backbone得到最终的特征图,在最终的特征图上进行预测。这种情况下,针对小目标的预测并不是很好。

图c,与SSD算法很类似,将一张图片通过backbone,在backbone正向传播过程中得到的不同尺度的特征图上分别进行预测。

图d为FPN结构,并不是简单的在backbone得到的不同尺度的特征图上进行预测,而是将不同特征图上的特征进行融合,在融合所得到的特征图上,再进行预测。

在这里插入图片描述

那么该如何进行融合呢?

需要注意,所采用的不同特征图,是有一定的要求的,是按2的整数倍进行选取的。比如,最底层的特征图的高和宽是 28 × 28 28\times 28 28×28。那么上一层就需要采用 14 × 14 14\times14 14×14的特征图,再往上就需要采用 7 × 7 7\times7 7×7的特征图。

首先,针对backbone每个尺度的特征图,我们都会使用一个 1 × 1 1\times 1 1×1的conv进行处理,是为了调整backbone上不同特征图它的channel。(在原论文中, 1 × 1 1\times1 1×1的卷积核个数为256,即最终得到的特征图的channel都等于256。)

然后,对于上层的特征图,需要进行一个2倍的上采样(采用临近插值算法实现)。

最后,将本层经过 1 × 1 1\times1 1×1得到的特征图与上层特征图经过上采样得到的特征图进行融合。

在这里插入图片描述

在不同尺度的特征融合后,接了一个 3 × 3 3\times3 3×3的卷积,是为了更好的融合特征。在P5的基础上进行一次下采样得到P6。(使用MaxPool,池化核大小为 1 × 1 1\times1 1×1,步长等于2)。然后会在生成的这5个特征图上进行预测。

注意:

如上图,P6只用于RPN部分,不在Faster-RCNN部分使用。

针对不同的预测特征层,RPN和Faster RCNN的权重共享。

  • 25
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

mango1698

你的鼓励是我最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值