【FPN】《Feature Pyramid Networks for Object Detection》

这里写图片描述

CVPR 2017



Feature pyramids are a basic component in recognition systems for detecting objects at different scales.

But recent deep learning object detectors have avoided pyramid representations, in part because they are compute and memory intensive.

作者提出来FPN,with marginal extra cost,without bells and whistles(花里胡哨), surpassing all existing single-model entries including those from the COCO 2016 challenge winners.

1 Motivation

  • Recognizing objects at vastly different scales is a fundamental challenge in computer vision.

这里写图片描述

rcnn系列在单个scale的feature map做检测 (b),尽管conv已经对scale有些鲁棒了,但是还是不够。物体各种各样的scale还是是个难题,尤其是小物体,所以有很多论文在这上面做工作,最简单的做法就是类似于数据增强了,train时把图片放缩成不同尺度送入网络进行训练,但是图片变大很吃内存,一般只在测试时放缩图片,这样一来测试时需要测试好几遍时间就慢了(a)。另一种就是SSD的做法©,在不同尺度的feature map上做检测,按理说它该在计算好的不同 scale 的 feature map 上做检测,但是它放弃了前面的low-levelfeature map,而是从 conv4_3 开始用而且在后面加了一些 conv,生成更多高层语义的 feature map 在上面检测.

所以本文就想即利用 conv net 本身的这种已经计算过的不同 scale 的 feature,又想让 low-level 的高分辩的 feature具有很强的语义,所以自然的想法就是把 high-level 的低分辨的 feature map 融合过来。类似的工作还有RON: Reverse Connection with Objectness Prior Networks for Object Detection

通常卷积神经网络中都会使用这两种类型的features: 卷积神经网络的前几层学习low level feature,后几层学习的是high level feature。作者 combines low-resolution, semantically strong features with high-resolution, semantically weak features.

2 Notion

  • Low-level feature: 通常是指图像中的一些小的细节信息,例如edge、corner、color、pixeles、gradients等,这些信息可以通过滤波器、SIFT或HOG获取;

  • High level feature:是建立在low level feature之上的,可以用于图像中目标或物体形状的识别和检测,具有更丰富的语义信息。

  • Image pyramid
    在这里插入图片描述

3 Advantages

  • In ablation experiments, we find that for bounding box proposals, FPN significantly increases the Average Recall (AR) by 8.0 points; for object detection, it improves the COCO-style Average Precision (AP) by 2.3 points and PASCAL-style AP by 3.8 points.

  • In addition, our pyramid structure can be trained end-to-end with all scales and is used consistently at train/test time, which would be memory-infeasible using image pyramids.

4 Feature Pyramid Networks

这里写图片描述

4.1 Bottom-up pathway

作者用的是ResNet

We denote the output of these last residual blocks as {C2;C3;C4;C5} for conv2, conv3, conv4, and conv5 outputs, and note that they have strides of **{4, 8, 16, 32}**pixels with respect to the input image.

在这里插入图片描述

4.2 Top-down pathway and lateral connections

we upsample the spatial resolution by a factor of 2 (using nearest neighbor upsampling for simplicity). The upsampled map is then merged with the corresponding bottom-up map (which undergoes a 1×1 convolutional layer to reduce channel dimensions) by element-wise addition.

Designing better connection modules is not the focus of this paper, so we opt for the simple design described above.

4.3 利用FPN构建Faster R-CNN检测器步骤

在这里插入图片描述

  • 首先,选择一张需要处理的图片,然后对该图片进行预处理操作;
  • 然后,将处理过的图片送入预训练的特征网络中(如ResNet等),即构建所谓的bottom-up网络;
  • 接着,如图5所示,构建对应的top-down网络(即对层4进行上采样操作,先用1x1的卷积对层2进行降维处理,然后将两者相加(对应元素相加),最后进行3x3的卷积操作,最后);
  • 接着,在图中的4、5、6层上面分别进行RPN操作,即一个3x3的卷积后面分两路,分别连接一个1x1的卷积用来进行分类和回归操作
  • 接着,将上一步获得的候选ROI分别输入到4、5、6层上面分别进行ROI Pool操作(固定为7x7的特征);
  • 最后,在上一步的基础上面连接两个1024层的全连接网络层,然后分两个支路,连接对应的分类层和回归层;

5 Applications

5.1 Feature Pyramid Networks for RPN

RPN is a sliding-window class-agnostic object detector.

Because the head slides densely over all locations in all pyramid levels, it is not necessary to have multi-scale anchors on a specific level. Instead, we assign anchors of a single scale to each level.

之前一层,anchor 多个 scale
现在多层,anchor 一个 scale

在这里插入图片描述

RPN生成roi后对应feature时在哪个level上取呢?
k 0 k_0 k0 是faster rcnn时在哪取的feature map如resnet那篇文章是在C4取的, k 0 k_0 k0=4 (C5相当于fc,也有在C5取的,在后面再多添加fc),比如roi是 w / 2 w/2 w/2, h / 2 h/2 h/2 w ∗ h = 224 w*h = 224 wh=224),那么 k = k 0 − 1 = 4 − 1 = 3 k=k_0-1= 4-1=3 k=k01=41=3

5.2 Feature Pyramid Networks for Fast RCNN

Fast R-CNN is a region-based object detector in which Region-of-Interest (RoI) pooling is used to extract features. Fast R-CNN is most commonly performed on a single-scale feature map. To use it with our FPN, we need to assign RoIs of different scales to the pyramid levels.

6 Experiments on Object Detection

6.1 Region Proposal with RPN

看看加入FPN的RPN网络的有效性,如下表Table1。网络这些结果都是基于ResNet-50。评价标准采用AR,AR表示Average Recall,AR右上角的100表示每张图像有100个anchor,AR的右下角s,m,l表示COCO数据集中object的大小分别是小,中,大。feature列的大括号{}表示每层独立预测。

这里写图片描述

从(a)(b)(c)的对比可以看出FRN的作用确实很明显。另外(a)和(b)的对比可以看出高层特征并非比低一层的特征有效。

6.1.1 How important is top-down enrichment?

Table 1(d)

表示只有横向连接,而没有自顶向下的过程,也就是仅仅对自底向上(bottom-up)的每一层结果做一个11的横向连接和33的卷积得到最终的结果,有点像Fig1的(b)。从feature列可以看出预测还是分层独立的。作者推测(d)的结果并不好的原因在于在自底向上的不同层之间的semantic gaps比较大。

6.1.2 How important are lateral connections?

Table 1(e)
这样效果也不好的原因在于目标的location特征在经过多次降采样和上采样过程后变得更加不准确。

6.1.3 How important are pyramid representations?

Table 1(f)
这里写图片描述

6.2 Object Detection with Fast/Faster RCNN

fast rcnn
这里写图片描述

faster rcnn
这里写图片描述

6.3 Comparing with COCO CompetitionWinners

这里写图片描述

7 Extensions: Segmentation Proposals

其它的应用
Our method is a generic pyramid representation and can be used in applications other than object detection(to generate segmentation proposals).

8 CVPR 现场 QA:

  • 不同深度的 feature map 为什么可以经过 upsample 后直接相加?

A:作者解释说这个原因在于我们做了 end-to-end 的 training,因为不同层的参数不是固定的,不同层同时给监督做 end-to-end training,所以相加训练出来的东西能够更有效地融合浅层和深层的信息。

  • 为什么 FPN 相比去掉深层特征 upsample(bottom-up pyramid) 对于小物体检测提升明显?(RPN 步骤 AR 从 30.5 到 44.9,Fast RCNN 步骤 AP 从 24.9 到 33.9)

A:作者在 poster 里给出了这个问题的答案
在这里插入图片描述

对于小物体,一方面我们需要高分辨率的 feature map 更多关注小区域信息,另一方面,如图中的挎包一样,需要更全局的信息更准确判断挎包的存在及位置。

  • 如果不考虑时间情况下,image pyramid 是否可能会比 feature pyramid 的性能更高?

A:作者觉得经过精细调整训练是可能的,但是 image pyramid 主要的问题在于时间和空间占用太大,而 feature pyramid 可以在几乎不增加额外计算量情况下解决多尺度检测问题。

附录——目标检测二十年

http://www.360doc.com/content/18/0320/11/52505666_738677892.shtml
在这里插入图片描述


参考
【1】FPN详解
【2】FPN(feature pyramid networks)算法讲解
【3】FPN解读
【4】CVPR 2017论文解读:特征金字塔网络FPN
【5】计算机视觉中low-level feature和high level feature的理解

### 回答1: 特征金字塔网络(Feature Pyramid Networks, FPN)是一种用于目标检测的神经网络架构。它通过在深层特征图上构建金字塔结构来提高空间分辨率,从而更好地检测小目标。FPN具有高效的多尺度特征表示和鲁棒性,在COCO数据集上取得了很好的表现。 ### 回答2: 特征金字塔网络(Feature Pyramid Networks,简称FPN)是一种用于目标检测深度学习模型。该模型是由FAIR(Facebook AI Research)在2017年提出的,旨在解决单一尺度特征不能有效检测不同大小目标的问题。 传统的目标检测算法通常采用的是滑动窗口法,即在图像上以不同大小和不同位置进行滑动窗口的检测。但是,这种方法对于不同大小的目标可能需要不同的特征区域来进行检测,而使用单一尺度特征可能会导致对小目标的错误检测或漏检。FPN通过利用图像金字塔和多层特征提取,将不同尺度的特征合并起来,从而达到对不同大小目标的有效检测。 FPN主要分为两个部分:上采样路径(Top-Down Pathway)和下采样路径(Bottom-Up Pathway)。下采样路径主要是通过不同层级的卷积神经网络(CNN)来提取特征,每层都采用了非极大值抑制(Non-Maximum Suppression,NMS)方法来选择最具有代表性的特征。上采样路径则主要是将低层特征进行上采样操作,使其与高层特征的尺寸对齐,并与高层特征相加,实现特征融合。 FPN目标检测中的优势体现在以下几个方面。首先,FPN可以提高模型对小目标的检测能力,同时仍保持对大目标的检测准确度。其次,FPN的特征金字塔结构可以在一次前向传递中完成目标检测,减少了计算时间。最后,FPN对于输入图像的尺寸和分辨率不敏感,可以在不同分辨率的图像上进行目标检测,从而适应多种应用场景。 总之,FPN是一种在目标检测领域中得到广泛应用的模型,其特征金字塔结构能够有效地解决单一尺度特征不足以检测不同大小目标的问题,并在检测准确率和计算效率方面取得了不错的表现。 ### 回答3: 特征金字塔网络是一种用于目标检测深度学习模型,主要解决的问题是在不同尺度下检测不同大小的物体。在传统的卷积神经网络中,网络的特征图大小会不断减小,因此只能检测较小的物体,对于较大的物体则无法很好地检测。而特征金字塔网络则通过在底部特征图的基础上构建一个金字塔状的上采样结构,使得网络能够在不同尺度下检测不同大小的物体。 具体来说,特征金字塔网络由两个主要部分构成:共享特征提取器和金字塔结构。共享特征提取器是一个常规的卷积神经网络,用于提取输入图像的特征。而金字塔结构包括多个尺度的特征图,通过上采样和融合来获得不同尺度的特征表示。这些特征图之后被输入到后续的目标检测网络中,可以通过这些特征图来检测不同尺度的物体。 特征金字塔网络可以有效地解决目标检测任务中的尺度问题,并且在许多实际应用中表现出了优异的性能。例如,通过使用特征金字塔网络,在COCO数据集上得到的目标检测结果明显优于现有的一些目标检测算法。 总之,特征金字塔网络是一种非常有效的深度学习模型,可以处理目标检测任务中的尺度问题,提高模型在不同大小物体的检测精度。它在实际应用中具有很高的价值和应用前景。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值