FPN算法(论文笔记)

FPN通过bottom-up通路和top-down通路结合横向连接,构建具备丰富语义信息的特征金字塔,实现多尺度目标检测。在RPN中,FPN替代单一尺度特征图,每个层级设置不同尺度的anchor;在Fast R-CNN中,根据RoI尺度将其映射到不同层级,共享参数的head在所有层级进行分类和回归。
摘要由CSDN通过智能技术生成

前言


目前为止都有哪些进行多尺度检测的方法呢?

在这里插入图片描述

  1. 图像金字塔(上图a)。这些“金字塔”是尺度不变的,因为通过改变在金字塔中所属的层级,可以抵消目标尺度的变化。也就是说,将图像转换为不同的尺度,每个尺度对应一个特征图,这些特征图共同组成了图像金字塔。利用图像金字塔进行多尺度检测的好处是,可以生成多尺度特征图,并且所有的特征图都包含充足的语义信息,可以获得较好的检测精度。缺点是计算量大,在训练时会占用太多内存。有一种方法是只在测试时使用图像金字塔,但这会造成训练与测试的计算不连续。因此像Fast R-CNN和Faster R-CNN都不会用图像金字塔进行检测。
  2. 利用深度神经网络对原始图像进行卷积和池化操作后,可以生成不同尺度的特征图(上图b),与图像金字塔不同,这是在图像的特征空间中生成的金字塔。实验表明,深层网络输出的特征图包含更多深层特征,但分辨率较低,包含的细节信息不足;而浅层网络输出的特征图虽然都是一些浅层特征,但分辨率较高,包含的细节信息较多。最终是在深层网络输出的特征图上进行检测,虽然可以准确检测出目标,但忽略了其他层的一些浅层特征,而细节信息可以更好的提高检测的精度。
  3. SSD是利用不同层输出的特征图进行多尺度检测(上图c)。在一个图像中可能会有大小不同的目标,因此会需要不同的特征来对它们进行检测。对于一些较小的目标可以使用较大的特征图,这样会更准确,也就是说在靠前的层就可以完成检测,而不需要向前传播经过所有层。对于一些较大的目标可以用更深层的特征图来检测。但是SSD没有使用浅层特征,它是从网络中一个较高的层(VGG中的conv4_3)开始,利用不同层的特征图来检测的。但是本文作者认为浅层特征图能更好的检测小目标。
  4. 为了让所有尺度的特征图都能有强语义信息,本文设计了FPN(上图d)。通过一个自顶向下的通路(passway)和横向连接(lateral connection)将浅层的高分辨率、弱语义特征与深层的低分辨率、强语义特征结合起来,从而使所有的层都有更丰富的语义信息,并且从一个单输入尺度的图像就可以快速建立FPN。FPN可以在所有的尺度上进行端到端的训练,并且在训练和测试时是被连续使用的,这一点与图像金字塔明显不同。

FPN和其他相似类型结构的区别

在这里插入图片描述

  1. 一些与FPN相似的结构采用的是自顶向下和跳层连接(skip connection)的方法(上图的上半部分)。它最终会生成一个深层特征图,并且该特征图具有精细的分辨率。也就是说经过多次上采样融合特征到最后一步,用最后一步生成的特征图做预测
  2. FPN则有些不同(上图的下半部分)。FPN通过自顶向下和横向连接生成不同尺度的特征图,预测是在每一层中独立进行的

FPN的结构

FPN采用任意大小的图像作为输入,然后输出成比例的不同大小的特征图,这是在一个全卷积网络中实现的。这个过程是独立于主网络的卷积结构的。也就是说,FPN可以应用在不同的网络结构中。本文使用的主网络是ResNet,下图是FPN的结构,通过一条bottom-up通路,一条top-down通路和横向连接来构成特征金字塔(FP,feature pyramid)。接下来对这些组成进行介绍。

在这里插入图片描述

1.bottom-up通路

上图左边的就是bottom-up通路,其实就是主网络中的前向计算过程。通过bottom-up会产生分层的特征,包括不同尺度的特征图,它们之间的步长是2。这其中有一些层生成的特征图大小是相同的,本文称这些层是在一个stage中的。在特征金字塔中,将每个stage定义为金字塔中的一个层级。选择每个stage的最后一层的输出作为构成特征金字塔的特征图,因为每个stage的最深层应该有最强的特征。具体来说,在ResNet中,用的是每个stage的最后一个残差块(residual block)的特征激活输出。对于conv2,conv3,conv4和conv5,将这些层中最后的残差块的输出记为{ C 2 , C 3 , C 4 , C 5 { C_{2},C_{3},C_{4},C_{5} } C2,C3,C4,C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值