FPN 笔记

前言
1.本文重点是FPN要解决的问题以及具体怎么做的,尽量用较少篇幅表达清楚论文算法,其他一些不影响理解算法的东西不做赘述
2.博客主要是学习记录,为了更好理解和方便以后查看,当然如果能为别人提供帮助就更好了,如果有不对的地方请指正(论文中的链接是我经过大量搜索,个人认为讲解最清楚的参考)

论文链接
代码链接
论文翻译

创新点
1.利用特征金字塔进行多尺度特征图的融合及分别预测

问题引出
在目标检测中有一个一直存在的问题“多尺度,小目标”很难解决,一些传统算法用图像金字塔来解决这个问题,但是图像金字塔用在当今流行的深度卷积网络中计算量太大,导致现在很多检测算法回避这个问题,也有一些算法尝试用特征金字塔来代替图像金字塔,但在小目标检测上还是不太理想,FPN提出一种自上向下、带有侧向连接的层次结构来构建各个尺度的高层语义特征(FPN是一种通用的特征提取器,本身不是检测算法,需要和其他检测算法结合才能使用)
在这里插入图片描述
上图中:
a)图像金字塔,将图像缩放成不同尺度,然后在不同尺度图像上提取不同尺度的特征,计算量太大
b)高层特征图具有较高的语义信息,有些算法直接用最后一层特征图进行预测,例如R-CNN系列、YOLO
c)除了图像金字塔可以用来处理多尺度的物体,深度网络本身具有的多层次结构也可以用来提取多尺度的特征,SSD就利用了多个特征图分别做预测,但是SSD没有用到足够低层的特征(在SSD中,最低层的特征是VGG网络的conv4_3),作者认为足够低层的特征对于检测小物体是很有帮助的
d)FPN将上层特征上采样和下层特征融合,并且每层分别预测
在这里插入图片描述
低层的特征语义信息比较少,但是有高分辨率信息,利于定位;顶层分辨率低,但是有较高的语义信息,利于分类。也有一些算法尝试将上层特征上采样与下一层融合,进行多次融合,但是用的是最后一层特征图进行预测(上图中上半部分图所示,下半部分图为FPN)

FPN算法
FPN包含两个过程,一个是自底向上的过程,第二个是自顶向下和侧向连接的融合过程

1.自底向上
自底向上的过程就是网络的前向传播,前向传播的过程中特征图经过一些层会变小,还有一些层不会减小特征图尺寸(padding操作),将不减小特征图尺寸的层归为一个stage,每次抽取一个stage中最后一层组成特征金字塔,以ResNet为例,选取conv2、conv3、conv4、conv5层的最后一个残差block层特征作为FPN的特征,记为{C2、C3、C4、C5},这几个特征层相对于原图的步长分别为4、8、16、32

2.自顶向下过程以及侧向连接
将上层的特征图上采样(FPN用的是简单的最邻近插值)到和下层特征图相同的尺寸,再分别通过1×1卷积使上下特征图通道数一致,然后按像素相加(此时经过上采样和卷积上下特征图已经同尺寸同通道数),如下图所示

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值