Tic商业评论

关注微信公众号【站长自定义模块】,定时推送前沿、专业、深度的商业资讯。

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

  • QQ空间
  • 回复
  • 收藏

基于特征金字塔的目标检测网络(FPN)

lijingle 目标检测 2021-12-13 15:33 1766人围观

在不同的尺度上检测物体具有一定难度,特别是对于小物体来说更是如此。我们可以在不同的尺度上使用同一图像的金字塔来检测物体(下面的左图)。然而,处理多尺度图像时,内存需求太高,无法同时进行端到端的训练。因此,当速度不是很重要时,我们只能在推理中使用它来尽可能地提高准确性,尤其是在比赛中。或者,我们创建一个特征金字塔,并将它们用于物体检测(右图)。然而,特征映射更接近于由低层次结构组成的图像层,而这些结构对于精确的目标检测并不有效。

特征金字塔网络(FPN)是针对这种金字塔概念而设计的一种特征提取器。它取代了faster R-CNN等检测器的特征提取器,生成多个特征映射层(多尺度特征映射),具有比常规特征金字塔更好的目标检测信息。


数据流

FPN由自下而上和自上而下的路径组成。自下而上路径是特征提取常用的卷积网络.随着网络上升,空间分辨率下降。从而检测到更多的高层结构,每个层的语义值都会增加.


SSD从多个特征映射中进行检测。但是,没有为目标检测选择底层。它们具有很高的分辨率,但语义值不足以证明它的使用是正确的,因为速度慢是很重要的。因此,SSD只使用上层进行检测,因此对小型对象的性能要差得多。

FPN提供了一种自顶向下的途径,从语义丰富的层构建高分辨率层.


Reconstruct spatial resolution in the top-down pathway.



虽然重构层具有较强的语义性,但经过所有的下采样和上采样后,目标的位置并不精确。我们在重建层和对应的特征图之间添加横向连接,以帮助检测器更好地预测位置。它还起到跳过连接的作用,使训练更容易(类似于ResNet所做的工作)。


自下而上路径
自下而上的路径是使用ResNet构建自下而上的路径.它由许多卷积模(i=1~5)组成,每个卷积模都有许多卷积层。当我们向上移动时,空间维数减少了1/2(即步幅的两倍)。每个卷积模块的输出被标记为Ci,并在自顶向下的路径中使用。


自上而下路径
我们采用1×1卷积将C5通道深度降至256-d以产生M5。这将成为用于对象预测的第一个特征映射层。

当沿着自顶向下的路径走时,使用上采样,用2对前一层进行上采样。我们再次将1×1卷积应用于自下而上路径中相应的特征映射.然后我们按元素添加它们。我们将3×3卷积应用于所有合并层。当与上采样层合并时,该滤波器降低了重叠效应。

我们对P3和P2重复同样的过程。然而,我们停留在P2,因为C1的空间维数太大。否则,它将大大减缓这一进程。由于我们共享每个输出特征映射的分类器和框回归器,所有金字塔特征映射(P5、P4、P3和P2)都有256-d的输出通道。


带RPN的FPN(Region Proposal Network)
FPN本身并不是一个目标检测器。它是一个与目标检测器一起工作的特征提取器

FPN提取特征映射,然后输入检测器,对于RPN来说,用于目标检测。RPN在特征映射上应用一个滑动窗口,对每个位置的对象(有无对象)和对象边界框进行预测。


在FPN框架下,对于每个尺度级(如P4),在特征映射上采用3×3卷积,然后分别进行1×1卷积,用于物体预测和边界框回归。这3×3和1×1卷积层称为RPN头。同样的头适用于所有不同比例的特征图。


具有fast R-CNN或faster R-CNN的FPN
让我们快速地看看下面的fast R-CNN和faster R-CNN的数据流。它使用一个特征图层来创建ROIs。我们使用ROIs和特征映射层来创建特征块,以输入ROI池。


在FPN中,我们生成一个特征映射金字塔。我们应用RPN(在上一节中描述)来生成ROI。根据ROI的大小,在最合适的尺度上选择特征映射层来提取特征块。

选择特征映射的公式基于ROI的宽度w和高度h。

因此,如果k=3,我们选择P3作为特征映射。我们应用ROI池并将结果提供给fast R-CNN头(FastR-CNN和faster R-CNN有相同的头)来完成预测。


分割
就像MASK R-CNN一样,FPN也擅长于提取用于图像分割的mask.使用MLP,在特征映射上滑动一个5×5窗口,生成一个维数为14×14的物体块。稍后,我们以不同的比例合并掩码,形成最终的掩码预测。



结果
在RPN中放置FPN将AR(average recall:获取目标的能力)提高到56.3,比RPN基线提高8.0点。小对象的性能提高了12.9个百分点。


基于fpn的faster R-cnn在单个NVIDIA M40 GPU上实现了每幅图像0.148秒的推理时间,而单尺度的ResNet-50基线运行在0.32秒。下面是使用faster R-CNN的FPN的基线比较.(FPN为FPN中的这些额外层引入了较小的额外成本,但在FPN实现中有一个较轻的权重头。)

FPN与最好的的检测器相比.它击败了2016和2015年coco数据集挑战赛的冠军。





以下是从实验数据中吸取的一些教训。
  • 在单个高分辨率特征映射层上增加更多的锚并不足以提高精度。
  • 自顶向下路径以丰富的语义信息恢复分辨率
  • 但是我们需要横向连接来添加更精确的对象空间信息。
  • 在COCO数据集上,自顶向下的路径加上横向连接提高了8点的准确性。对于小型对象,它提高了12.9点。





路过

雷人

握手

鲜花

鸡蛋
原作者: lijingle
我有话说......
电话咨询: 135xxxxxxx
关注微信