【Network Architecture】Feature Pyramid Networks for Object Detection(FPN)论文解析(转)

本文介绍了FPN(Feature Pyramid Networks)论文,它解决了多尺度目标检测的问题,通过特征融合利用低层的高分辨率和高层的高语义信息。FPN在RPN和Fast R-CNN中表现出色,特别是在小目标检测上。实验结果显示,FPN在COCO数据集上刷新了单模型检测方法的记录,且在GPU上运行效率高。
摘要由CSDN通过智能技术生成

【Network Architecture】Feature Pyramid Networks for Object Detection(FPN)论文解析(转)

0. 前言

  这篇论文提出了一种新的特征融合方式来解决多尺度问题, 感觉挺有创新性的, 如果需要与其他网络进行拼接,还是需要再回到原文看一下细节。这里转了两篇比较好的博客作为备忘。

1. 博客一

这篇论文是CVPR2017年的文章,采用特征金字塔做目标检测,有许多亮点,特来分享。

论文:feature pyramid networks for object detection
论文链接:https://arxiv.org/abs/1612.03144

论文概述:

作者提出的多尺度的object detection算法:FPN(feature pyramid networks)。原来多数的object detection算法都是只采用顶层特征做预测,但我们知道低层的特征语义信息比较少,但是目标位置准确;高层的特征语义信息比较丰富,但是目标位置比较粗略。另外虽然也有些算法采用多尺度特征融合的方式,但是一般是采用融合后的特征做预测,而本文不一样的地方在于预测是在不同特征层独立进行的。
代码的话应该过段时间就会开源。

论文详解:

下图FIg1展示了4种利用特征的形式:
(a)图像金字塔,即将图像做成不同的scale,然后不同scale的图像生成对应的不同scale的特征。这种方法的缺点在于增加了时间成本。有些算法会在测试时候采用图像金字塔。
(b)像SPP net,Fast RCNN,Faster RCNN是采用这种方式,即仅采用网络最后一层的特征。
(c)像SSD(Single Shot Detector)采用这种多尺度特征融合的方式,没有上采样过程,即从网络不同层抽取不同尺度的特征做预测,这种方式不会增加额外的计算量。作者认为SSD算法中没有用到足够低层的特征(在SSD中,最低层的特征是VGG网络的conv4_3),而在作者看来足够低层的特征对于检测小物体是很有帮助的。
(d)本文作者是采用这种方式,顶层特征通过上采样和低层特征做融合,而且每层都是独立预测的。

这里写图片描述

如下图Fig2。上面一个带有skip connection的网络结构在预测的时候是在finest level(自顶向下的最后一层)进行的,简单讲就是经过多次上采样并融合特征到最后一步,拿最后一步生成的特征做预测。而下面一个网络结构和上面的类似,区别在于预测是在每一层中独立进行的。后面有这两种结构的实验结果对比,非常有意思,因为之前只见过使用第一种特征融合的方式。

这里写图片描述

作者的主网络采用ResNet。
作者的算法大致结构如下Fig3:一个自底向上的线路,一个自顶向下的线路,横向连接(lateral connection)。图中放大的区域就是横向连接,这里1*1的卷积核的主要作用是减少卷积核的个数,也就是减少了feature map的个数,并不改变feature map的尺寸大小。

这里写图片描述

自底向上其实就是网络的前向过程。在前向过程中,feature map的大小在经过某些层后会改变,而在经过其他一些层的时候不会改变,作者将不改变feature map大小的层归为一个stage,因此每次抽取的特征都是每个stage的最后一个层输出,这样就能构成特征金字塔。
自顶向下的过程采用上采样(upsampling)进行,而横向连接则是将上采样的结果和自底向上生成的相同大小的feature map进行融合(merge)。在融合之后还会再采用3*3的卷积核对每个融合结果进行卷积,目的是消除上采样的混叠效应(aliasing effect)。并假设生成的feature map结果是P2,P3,P4,P5,和原来自底向上的卷积结果C2,C3,C4,C5一一对应。

贴一个ResNet的结构图:这里作者采用Conv2,CONV3,CONV4和CONV5的输出。因此类似Conv2就可以看做一个stage。

这里写图片描述

作者一方面将FPN放在RPN网络中用于生成proposal,原来的RPN网络是以主网络的某个卷积层输出的feature map作为输入,简单讲就是只用这一个尺度的feature map。但是现在要将FPN嵌在RPN网络中,生成不同尺度特征并融合作为RPN网络的输入。在每一个scale层,都定义了不同大小的anchor,对于P2,P3,P4,P5,P6这些层,定义anchor的大小为32^2,64^2,128^2,256^2,512^2,另外每个scale层都有3个长宽对比度:1:2,1:1,2:1。所以整个特征金字塔有15种anchor。

正负样本的界定和Faster

### 回答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数据集上得到的目标检测结果明显优于现有的一些目标检测算法。 总之,特征金字塔网络是一种非常有效的深度学习模型,可以处理目标检测任务中的尺度问题,提高模型在不同大小物体的检测精度。它在实际应用中具有很高的价值和应用前景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值