人工智能学习07--pytorch15(前接pytorch10)--目标检测:FPN结构详解

FPN:用于目标检测的特征金字塔网络

在这里插入图片描述
在这里插入图片描述
backbone:骨干网络,例如cnn的一系列。(特征提取)

(a)特征图像金字塔
检测不同尺寸目标。
首先将图片缩放到不同尺度,针对每个尺度图片都一次通过算法进行预测。
但是这样一来,生成多少个尺度就要预测多少次,训练效率很低。

(b)单一特征图
faster rcnn所采用的一种方式。
将图片通过backbone得到最终的特征图,在最终的特征图上进行预测。
针对小目标的预测效果不是很好。

©金字塔特征层次
与ssd算法类似。
将一张图片输入给backbone,在backbone镜像传播中得到不同的特征图上分别进行预测。

(d)特征金字塔网络
fpn结构。
与图(c)对比,不是简单的在backbone的不同特征图上进行预测,而是将不同特征图上的特征进行融合,在融合之后得到的特征图上再进行预测。

细节部分,如何融合特征

在这里插入图片描述
不同的特征图都是有一定要求的。比如这里按照2的整数倍选取:
在这里插入图片描述
在分类网络中的backbone在缩放特征图时都是整数倍缩放。

针对每一个backbone的特征图都会先用1x1的卷积层处理 ----> 调整backbone上不同特征图的channel统一。
在backbone不同层次上的channel不一样,一般情况下越来越多。
为了后续的融合,所以要保证一样的shape。

对上面的特征图进行2倍的上采样(临近差值算法)(保证上下高宽一样)。刚好跟中间特征图通过1*1卷积后的shape一样。

以resnet50作为backbone为例:
在这里插入图片描述
resnet网络整体框架一样:conv1(+BN、RELU) --> conv2_x所对应的一系列层结构 --> conv3_x所对应的一系列残差结构 --> conv4_x…… --> conv5_x……
在这里插入图片描述
在这里插入图片描述
(proposal 建议框,候选框)
faster rcnn:在预测特征图上通过rpn网络生成得到一系列proposal,把proposal映射到特征图上,再将映射的这部分特征输入fast rcnn,得到最终的预测结果。
fpn:首先通过rpn结构在p2 ~ p6上预测proposal,然后将预测得到的proposal映射到p2 ~p5上,再通过faster rcnn得到最终结果。

一个proposal如何正确投射到特征层上。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值