FPN:Feature Pyramid Networks for Object Detection

文章地址:https://arxiv.org/abs/1612.03144
代码:http://www.yueye.org/2018/faster-rcnn-coupled-with-fpn-in-tensorflow.html
https://github.com/DetectionTeamUCAS/FPN_Tensorflow

0 摘要

特征金字塔是目标识别系统能够进行多尺度目标识别的关键组件。但由于特征金字塔的内存占用和计算量很大,因此很多算法都不想使用它。本文利用深度卷积网络本身固有的多尺度、层次化构建特征金字塔,只带来了很少的额外成本。本文开发了具有横向结构的从上到下的连接,用于在所有尺度上构建高层语义特征。本文提出的网络叫做FPN,在很多应用中可以作为一个通用的特征提取器。将FPN和Faster R-CNN结合,我们的模型在不使用任何技巧的情况下,基于单模型在coco目标检测任务中取得了非常优秀的成果。另外,在单GPU上可以以6FPS进行多尺度目标检测。

1 简介

在这里插入图片描述
在不同的尺度上进行目标识别是计算机视觉的基本任务。在图像金字塔上构建特征金字塔是一个传统的标准解决方案,如图1(a)所示。通过在金字塔的不同层进行处理可以实现尺度无关的目标识别。直观来说,就是通过在金字塔的不同位置及层级之间进行扫描可以实现很大尺度范围内的目标识别。

在原来手工特征工程时期,这种基于图像金字塔构建特征金字塔的方式被大量使用。像DPM这种目标检测算法需要很密集的目标尺度才能实现良好的处理效果。对于目标识别任务,手动设计的特征近年来已经被通过卷积网络提取的特征替代。除了可以提取高层语义特征之外,卷积网络对目标的尺度变化也很鲁棒,可以在单个输入尺度的特征上实现目标识别,如图1(b)所示。尽管卷积网络对尺度变化很鲁棒,但要想实现最佳效果仍然需要使用金字塔。在ImageNet和COCO的目标检测比赛中,排名靠前的团队都是在特征金字塔上使用了多尺度的测试。使用这种规则基于特征金字塔中的每一层特征都是很强的语义特征,即便对于最底层的特征而言也是这样。

然而,对图像金字塔中每层都进行特征提取耗时很长,在实际应用中不实用。另外,在训练端到端的深度神经网络时,由于内存/显存的限制,在图像金字塔上进行训练是不现实的,所以图像金字塔也仅用在测试阶段,这也就造成了训练和测试的耗时不一致。基于这个原因,标准的Fast和Faster R-CNN都没有使用图像金字塔。

图像金字塔不是构建特征金字塔的唯一方式,深度卷积网络学习到了逐层抽象的特征结构,这本身就是一个特征金字塔。这个特征金字塔中的每一层大小不同,在不同的层之间的语义差异也很大。分辨率大的特征图包含低层特征,不适用于目标识别任务。

SSD是第一个尝试使用卷积网络中的特征金字塔的目标检测算法,如图1©所示。理想状态下,SSD式的金字塔利用了图像前向运算过程中各层的特征图,没有带来任何额外的计算代价。但为了避免使用低层特征,SSD使用网络的高层(VGG Net的conv4_3之后)及使用额外添加的层构建特征金字塔。因此,SSD没有使用分辨率较高的低层特征,恰恰这些特征对于小目标的检测至关重要。

本文的目的是利用卷积网络的层次化特征,构建在所有尺度上都具有强大语义的特征金字塔。为了达到这个目的,我们设计了一个结构,把高分辨率语义较弱的特征和低分辨率语义较强的特征通过自上到下的通道和横向连接结合起来,如图1(d)所示。结果就是从单幅输入图像中构建了一个在各层都具有丰富语义的特征金字塔。换言之,我们显示了如何在不损失速度和内存占用的情况下,在网络中构建一个特征金字塔,而不是通过图像金字塔构建特征金字塔

在这里插入图片描述
近期的很多论文中也利用了上下和直连设计。他们的目的是产生一个高精度的特征映射图,然后在此上进行预测,如图2上图。相反,我们的做法利用特征金字塔的各层进行单独预测,如图2下图

我们的算法叫做FPN,适用于目标检测和分割任务。基于单模型的FPN+Faster R-CNN,在coco数据集上取得了领先的目标检测效果。在消融实验中,我们发现使用FPN进行目标建议,可以将平均召回率AR提升8个点。对于目标检测,相比于基于ResNet的Faster R-CNN,可以将coco数据集的mAP提升2.3个点,将voc数据集的mAP提升3.8个点。FPN还可以应用于实例分割和其他需要图像金字塔的任务。

此外,我们的金字塔结构可以在所有尺度上进行端到端训练,并且在训练/测试时一致,这在使用图像金字塔时是不可行的。因此,FPN能够比所有现有的最先进方法获得更高的精度。此外,在不增加单一尺度基线的测试时间的情况下实现了这种改进。我们相信这些进步将有助于未来的研究和应用。

2 相关工作

手工设计的特征和早期神经网络:SIFT特征是在各尺度空间提取的极值点,可用于特征点匹配。HOG特征和SIFT特征都是在图像金字塔上进行密集计算得到的,它们广泛应用于图像分类、目标检测、行人姿态估计等任务。前面也有很多人在研究如果快速的构建特征金字塔。有的研究人员提出过构建一个稀疏的样本金字塔,然后通过插值得到其他尺度的特征。前面也有过在图像金字塔上提供浅层卷积网络实现跨尺度的人脸检测。

深度卷积目标检测器:随着深度卷积网络的发展,像OverFeat和R-CNN都在目标检测的准确率上有了极大的进步。Overfeat是利用滑动窗的思想,在图像金字塔上使用卷积网络实现目标检测。R-CNN则是使用建议区域进行目标检测。SppNet则进一步显示了在单个尺度的输入图像上进行特征提取,然后高效进行多尺度目标检测。Fast和Faster R-CNN利用单尺度图像的特征进行多尺度的目标检测,实现了良好的检测效果。但是,多尺度检测的效果往往更好,尤其是对小目标而言更是如此。

使用多层的方法:最近也有一些算法通过使用卷积网络中的多层特征改善检测和分割效果。FCN跨图像尺度为每类样本计算语义分割得分。很多算法是把多层的特征拼接到一起进行预测。SSD没有拼接特征,而是在多个层次化特征上进行预测。

3 FPN

我们的目标是利用ConvNet的金字塔特征的层次化结构,该层次结构具有从低级到高级的语义,并构建了一个具有高级语义的特征金字塔。本文中,我们将FPN用于了RPN和Fast R-CNN,也在第6部分将其用到了目标分割中。

我们的方法使用单尺度的输入图像,通过全卷积网络的方式输出多层特征。处理方式和卷积网络的骨干网络无关,本文中我们使用ResNet作为骨干网络。构建金字塔的方式涉及到了自下到上、自上到下及横向的连接。

自下向上的连接:自下向上的路径是骨干ConvNet的前向计算,它计算一个由多个尺度的特征图组成的特征层次结构,其缩放步长为2。通常有许多层生成相同大小的输出特征,我们说这些层处于同一网络阶段。对于特征金字塔而言,每个阶段定义成一个金字塔层。我们选择每个阶段的最后一层的输出构建我们的特征映射集合,我们将丰富这些特征用于构建金字塔。这是一个很自然的选择,因为每个阶段的最深的层具有最强大的特征。

特别是,对于ResNet,我们使用每一个阶段的最后一个残差块的输出特征。我们将这些残差块的特征输出标记成 { C 2 , C 3 , C 4 , C 5 } \{C_2,C_3,C_4,C_5\} {C2,C3,C4,C5},分别对用于conv2,conv3,conv4,conv5的输出,它们相对于输入图像的尺寸缩减分别是4,8,16,32倍。因为conv1尺度太大,内存占用太大,我们没有使用它。

自上向下的连接和横向连接:自上向下的连接通过对高层的特征(空间分辨率下,但语义更加强)进行上采样估计高分辨率的低层特征。这些特征通过自下而上的特征的横向连接进行加强。每一个横向连接都是把具有相同分辨率的自上而下和自下而上的特征进行组合。自下而上的特征具有较低的语义信息,但因为采样次数较少具有较强的定位信息。

在这里插入图片描述
图3显示了构建我们自上而下特征映射的构建块。使用分辨率较小的特征图,我们将空间分辨率上采样2倍(为简单起见,使用最近邻上采样)。上采样后的特征图和对应的自下而上的特征图进行逐通道相加(为了保证两个特征图的通道数一致,这里使用了1 * 1的卷积)。依次对各层特征进行如下操作。迭代开始时,我们对 C 5 C_5 C5应用1 * 1卷积得到分辨率最小的特征映射。最后我们对每一个合并后的特征图应用3 * 3卷积得到最终的特征映射,应用3*3的卷积有助于减少上采样的带来的混叠。最终得到的特征图叫做 { P 2 , P 3 , P 4 , P 5 } \{P_2,P_3,P_4,P_5\} {P2,P3,P4,P5},分别对应于具有相同空间尺寸的 { C 2 , C 3 , C 4 , C 5 } \{C_2,C_3,C_4,C_5\} {C2,C3,C4,C5}

就像传统的从图像金字塔构建出的特征金字塔一样,FPN生成的特征金字塔的各层也使用共享的分类器/回归器。我们固定整个特征映射中的特征维度(通道数,表示为d)。本文设置d=256,所以所有额外的卷积层的输出都是256个通道。在这些额外层中没有添加非线性映射,因为我们发现其作用很小。

尽管简单,但我们发现我们设计非常鲁棒。我们尝试了更复杂的块(例如,使用多层残差块[16]作为连接)并观察到了略微更好的结果。设计更好的连接模块不是本文的重点,因此我们选择上述简单设计。

4 FPN的应用

本文的方法是在深度卷积网络中构建特征金字塔的通用解决方案。下面我们将FPN应用到region proposal生成的RPN网络和用于目标检测的Fast R-CNN。为了显示我们算法的有效性和简洁性,在应用FPN时,我们对原始的RPN和Fast R-CNN进行了很小的修改。

4.1 对RPN应用FPN

RPN是一个滑动窗口式的、不区分类别的目标检测器。在原始的RPN中,在单尺寸的卷积特征图的密集的3 * 3滑动窗口上应用一个子网络实现目标/非目标的二分类和边界框回归。子网络包含一个3 * 3的卷积层和两个并列的1 * 1卷积层,分别用于分类和回归。按照和一系列预定义的anchor框的关系判断每个框是否包含目标及定位是否准确。anchor框预定义的多个尺度和长宽比的框用于覆盖不同的目标形状。

我们通过用FPN替换单尺度特征图来调整RPN。我们将相同的设计(3×3卷积层和两个兄弟1×1卷积层)连接到我们的特征金字塔的每一层。因为头部在所有金字塔等级的所有位置上密集地滑动,所以不必在单个层级设置多尺度的anchor。我们对每个层级选取一个固定尺寸的anchor,即对 { P 1 , P 2 , P 3 , P 4 , P 5 } \{P_1,P_2,P_3,P_4,P_5\} {P1,P2,P3,P4,P5}分别选取大小为 { 3 2 2 , 6 4 2 , 12 8 2 , 25 6 2 , 51 2 2 } \{32^2,64^2,128^2,256^2,512^2\} {322,642,1282,2562,5122}的anchor。但每层仍然使用多个长宽比的anchor,分别是 { 1 : 2 , 1 : 1 , 2 : 1 } \{1:2,1:1,2:1\} {1:2,1:1,2:1},这样整个金字塔一共有15个anchor。

根据各anchor和真实目标框之间的IOU来设定各框的training label。如果一个anchor与任一真实框之间的IOU大于0.7,则将该anchor标记为正例样本。如果一个anchor与任一真实框之间的IOU都小于0.3,则将其标记为负例样本。真实框的尺寸没有决定将其关联到金字塔的哪一层,而是根据真实框的尺寸将其关联到了不同的anchor,anchor又和金字塔的层相关联。除此之外,我们没有在Faster R-CNN的基础上引入任何的其他修改。

我们注意到两个1*1的卷积层在不同金字塔层之间共享参数,我们验证了如果不进行参数共享也可以得到相近的准确率。在我们的金字塔上进行参数共享可以取得良好的性能证明了我们的金字塔的不同层有相似的语义信息。该优点类似于使用特征化图像金字塔的优点,其中公共头部分类器可以应用于以任何图像比例计算的特征。

通过上述调整,RPN可以通过我们的FPN自然地进行训练和测试,其方式与[29]中的相同。我们详细说明了实验中的实现细节。

4.2 将FPN应用于Fast R-CNN

Fast R-CNN [11]是一种基于区域的目标检测器,其中感兴趣区域(RoI)池化用于提取特征。Fast R-CNN最常在单尺度特征图上应用。要将它与我们的FPN一起使用,我们需要给不同的金字塔等级分配不同尺寸的RoI。

我们将特征金字塔视为从图像金字塔中生成。因此,在图像金字塔上运行时,我们可以调整基于区域的检测器[15,11]的分配策略。我们将宽度为w和高度为h的RoI(在网络的输入图像上)分配到我们的特征金字塔的第Pk层上: k = ⌊ k 0 + log ⁡ 2 ( w h / 224 ) ⌋ ( 1 ) k = \lfloor k_0 + \log_2(\sqrt{wh}/224) \rfloor (1) k=k0+log2(wh /224)(1)。这里的224是ImageNet的预训练尺寸, k 0 k_0 k0是目标层,在其上一个大小为224 * 224的ROI对应该层。类似于基于ResNet的Faster R-CNN目标检测器,它使用 C 4 C_4 C4这一单层特征,这里设置 k 0 = 4 k_0 = 4 k0=4。直观上来看,如果一个ROI的尺寸较小,假如说 w h = 112 \sqrt{wh} = 112 wh =112,那么应该将其映射到分辨率更小的层(即k=3)。

我们对所有层的所有ROI添加预测头(在Fast R-CNN中预测头是类别分类器和边界框回归器)。同样,不同层之间的预测头也是参数共享的。在ResNet中,采用ResNet的conv5层(9层深子网)作为conv4特征顶部的头部,但是我们的方法已经利用了conv5来构造特征金字塔。因此与ResNet不同,我们简单地采用RoI池化来提取7×7特征,并在最终分类和边界框回归层之前附加两个隐藏的1,024-d的全连接(fc)层(每个层后跟ReLU)。这些层是随机初始化的,因为ResNets中没有预先训练的fc层。请注意,与标准的conv5头相比,我们的2-fc MLP头参数更少,速度更快。

基于这些调整,我们可以在特征金字塔之上训练和测试Fast RCNN。实验细节在实验部分给出。

5 在目标检测上的实验

我们对80类COCO检测数据集进行了实验[21]。我们使用80k训练图像和35k val图像子集(trainval35k [2])进行训练,并在5k大小的子图像集(迷你)上进行消融实验。我们还报告了标准测试集(test-std)[21]的最终结果,该测试集没有公开的标签。

按照惯例[12],所有网络骨干都在ImageNet1k分类集[33]上进行预训练,然后在检测数据集上进行微调。我们使用公开可用的预先训练的ResNet-50和ResNet-101模型。我们的代码是使用Caffe2重新实现的py-faster-rcnn。

5.1 RPN的实验结果

我们按照[21]中的定义评估小型,中型和大型物体的AR(ARs,ARm和ARl)和COCO数据集的平均召回AR。我们报告每张图片100个和1000个提议区域的结果(AR100和AR1k)。

实现细节:表1中的所有结构都是端到端训练的。调整输入图像的大小,使其较短边具有800个像素。我们在8个GPU上采用同步SGD训练。每个mini-batch包括每个GPU 2幅图像和每个图像256个锚框。我们使用0.0001的权重衰减和0.9的动量。前30k小批量的学习率为0.02,接下来的10k小批量为0.002。对于所有RPN实验(包括基线),我们包括处于训练图像外部的锚框,这与[29]不同,他们忽略这些锚框。其他实现细节如[29]中所述。使用FPN在8个GPU上训练COCO的RPN大约需要8个小时。

5.1 消融实验

在这里插入图片描述
和基准进行比较:为了与原始RPN进行公平比较[29],我们使用C4的单尺度特征(与[16]相同)或C5运行两个基线(表1(a,b)),两者都使用和我们相同的超参数,包括使用5个尺度的锚框 { 3 2 2 , 6 4 2 , 12 8 2 , 25 6 2 , 51 2 2 } \{32^2,64^2,128^2,256^2,512^2\} {322,642,1282,2562,5122}。表1(b)相对于表1(a)没有显示出优势,表明仅使用单个更高级别的特征图是不够的,因为在较小的分辨率和较强的语义之间存在折衷。

将FPN放置在RPN中将AR1k提高到56.3(表1(c)),这比单一尺寸的RPN基线增加了8.0个点(表1(a))。此外,小物体(ARs1k)的表现大幅提升了12.9点。表示我们的金字塔表示极大地提高了RPN对目标尺度变化的鲁棒性。

**自上向下的连接有多重要?**表1(d)显示了没有自上而下路径的特征金字塔的结果。通过这种修改,1×1横向连接随后3×3卷积都应用到自下而上的金字塔。该体系结构模拟重用金字塔特征层次结构的效果(图1(b))。

表1(d)中的结果与RPN基线相当,并且远远落后于我们的结果。我们猜想这是因为在自下而上的金字塔上不同层次之间存在很大的语义差距(图1(b)),特别是对于非常深的ResNets。我们还评估了表1(d)的变体而没有共享网络头的参数,但观察到类似的性能下降。这个问题不能简单地通过特定层的网络头来补救。

**横向连接有多重要?**表1(e)显示了没有1×1横向连接的自顶向下特征金字塔的消融结果。这个自上而下的金字塔具有强大的语义特征和精细的分辨率。但我们认为这些特征的位置并不精确,因为这些特征已经过多次下采样和上采样。更精确的特征位置可以直接从自下而上的特征可以通过横向连接从自低向上的特征传递到自上而下的特征。结果,FPN的AR1k得分比表1(e)高10个点。

**金字塔表示有多重要?**可以将网络头附加到P2层,其具有最高分辨率、强语义特征映射(即我们的金字塔中最精细的级别),而不是使用完整的金字塔表示。与单尺度基线类似,我们将所有锚框分配给P2特征图。这种变体(表1(f))优于基线但不如我们的方法。RPN是具有固定窗口大小的滑动窗口检测器,因此在金字塔不同层级上扫描可以增加其对比例变化的鲁棒性。

此外,我们注意到由于其空间分辨率较大,单独使用P2会导致更多的锚框(750k,表1(f))。该结果表明,更多数量的锚框本身不足以提高准确性。

5.2 Faste/Faster R-CNN的目标检测结果

接下来,我们研究基于区域(非滑动窗口)检测器的FPN。我们通过COCO式平均精度(AP)和PASCAL式AP(单个IoU阈值为0.5)评估目标检测。我们还按照[21]中的定义报告COCO AP对小,中,大尺寸物体(即APs,APm和APl)。

实现细节:调整输入图像的大小,使其较短边具有800个像素。同步SGD用于在8个GPU上训练模型。每个小批量涉及每个GPU 2个图像和每个图像512个RoI。我们使用0.0001的权重衰减和0.9的动量。前60k小批量的学习率为0.02,接下来的20k小批量为0.002。我们使用每个图像2000个RoI进行训练,使用1000个进行测试。在COCO数据集上训练结合FPN的Fast R-CNN大约需要10个小时。

5.2.1 在固定的proposals上的Fast R-CNN

为了更好地研究FPN对基于区域的检测器的影响,我们在一组固定的建议框上进行了Fast R-CNN的消融实验。我们固定结合FPN的RPN提取的建议框,因为它们可以更好的进行小目标的检测。为了简化实验,我们没有在RPN和Fast R-CNN之间共享特征。

在这里插入图片描述
作为基于ResNet的Fast R-CNN基线,按照[16]的做法,我们采用输出大小为14×14的RoI池化并将所有的conv5层作为附加的头部隐藏层。这使得表2(a)中的AP为31.9。表2(b)是利用具有2个隐藏fc层的MLP头的基线,类似于我们的架构中的头部。它得到28.8的AP,表明2-fc头在表2(a)中没有给我们任何正交优势。

表2(c)显示了我们的FPN在Fast R-CNN中的结果。与表2(a)中的基线相比,我们的方法将AP提高2.0点,小目标的AP提高了2.1点。与同样采用2 fc头的基线(表2(b))相比,我们的方法将AP提高了5.1个点。这些比较表明,基于我们的特征金字塔进行基于区域的目标检测,效果会好于基于单尺度特征进行基于区域的目标检测。

表2(d)和2(e)表明移除自上向下连接和横向连接的效果较差,和RPN中的结论一致。值得注意的是,删除自上而下的连接(表2(d))会显着降低准确性,这表明Fast R-CNN在高分辨率特征中使用了低层特征。

在表2(f)中,我们在P2的单个最精细尺度特征图上采用Fast R-CNN。其结果(33.4 AP)略微低于使用所有金字塔等级(33.9 AP,表2(c))。我们认为这是因为RoI池化是一种类似变换的操作,对该区域的尺度不太敏感。尽管该变体具有良好的准确性,但它基于结合FPN的RPN提议,因此已经从金字塔表示中受益。

5.2.2 Faster R-CNN(使用一致的proposals)

在上文中,我们使用一组固定的建议框来研究检测结果。但是在Faster R-CNN系统[29]中,RPN和Fast R-CNN必须使用相同的网络骨干才能实现特征共享。表3显示了我们的方法和两个基线之间的比较,所有这些都使用RPN和Fast R-CNN的一致骨干架构。表3(a)显示了我们对[16]中描述的基线Fast R-CNN系统的复现结果。在受控设置下,我们的FPN(表3(c))比这个强基线好2.3点AP和3.8点AP@0.5。

在这里插入图片描述注意,表3(a)和(b)是比He等人(表3())提供的基线强得多的基线。我们发现以下实现有助于缩小差距:(i)我们在[11,16]中使用800像素的图像尺寸而不是600;(ii)我们训练每个图像512个RoI,加速收敛,与[11,16]中的64个RoI相反;(iii)我们在[16]中使用5个比例锚而不是4个(添加$32^$2);(iv)在测试时,我们每个图像使用1000个提案,而不是[16]中的300个。因此,与表3()中的He et al的ResNet50Faster R-CNN基线相比,我们的方法将AP提高了7.6个点,AP = 0.5提高了9.6个点。

共享特征:在上文中,为简单起见,我们不共享RPN和快速R-CNN之间的特征。表5中,我们按照Faster R-CNN描述的四步交替训练进行特征共享。实验结果也证明了特征共享有助于提升准确率。

在这里插入图片描述
运行时间:通过特征共享,我们的基于FPN的Faster R-CNN系统在ResNet-50的单个NVIDIA M40 GPU上的每个图像的推断时间为0.148秒,基于ResNet-101的推断时间为0.172秒。作为对比,单一尺度的ResNet-50表3(a)中的基线在0.32秒左右。我们的方法通过FPN中的额外层引入了额外的小额成本,但具有更少的参数。总体而言,我们的系统比基于ResNet的Faster R-CNN系统更快。我们相信,我们的方法的效率和简单性将有益于未来的研究和应用。

5.2.3 和其他检测算法进行coco数据集结果对比

在这里插入图片描述

6 结论

我们提出了一个简洁的框架,用于在ConvNets中构建特征金字塔。我们的方法对比了几个强大的基准和获胜者,都显示了有效改进。因此,它为特征金字塔的研究和应用提供了实用的解决方案,而无需计算图像金字塔。最后,我们的研究表明,尽管深度ConvNets具有强大的表征能力及其对尺寸变化的隐含鲁棒性,但使用金字塔表示对解决多尺度问题仍然至关重要。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答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、付费专栏及课程。

余额充值