Feature Pyramid Networks for Object Detection(FPN)-论文阅读笔记

Posted wyypersist

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Feature Pyramid Networks for Object Detection(FPN)-论文阅读笔记相关的知识,希望对你有一定的参考价值。

Feature Pyramid Networks for Object Detection

FPN论文阅读笔记

//2022.5.9日下午16:18开始阅读

论文地址

Feature Pyramid Networks for Object Detection | IEEE Conference Publication | IEEE Xplore

论文目的

作者利用深卷积网络固有的多尺度金字塔层次结构,以边际额外成本构建特征金字塔。开发了一种具有横向连接的自上而下体系结构,用于在所有尺度上构建高级语义特征图。这种结构被称为特征金字塔网络(FPN),作为一种通用的特征提取器,在多个应用中得到了显著的改进。且作者将FPN运用到了FasterRCNN架构中,在COCO数据集上实现了最先进的检测结果。

个人总结

本文是FPN特征金字塔网络的开山之作,作者首先介绍了针对于多尺度检测的几种方法(特征图像金字塔,单一尺度预测,金字塔特征层次(相较于FPN来说,没有考虑具有高级语义信息的低级特征和具有低级语义信息的高级特征之间的关系)),然后提出了FPN网络。

然后,作者将FPN网络应用于RPN,FastRCNN,FasterRCNN网络当中,并和目前的baseline(基线)进行对比。此外,作者还将得到的包含有FPN的网络架构和COCO数据集中表现SOTA的模型结果进行了对比。在扩展实验部分,作者关注于使用FPN网络提高实例分割精度,并在附录部分对实验当中的细节进行了详细阐述。

论文内容

1.介绍

作者首先介绍了图像特征金字塔的概念:在计算机视觉中,识别不同尺度的物体是一个基本的挑战。基于图像金字塔的特征金字塔(简而言之,我们称这些特征化图像金字塔)构成标准解决方案的基础[1](图1(a))。这些棱锥体具有比例不变性,即通过移动其在棱锥体中的级别来抵消对象的比例变化。直观地说,该属性使模型能够通过在位置和金字塔级别上扫描模型,在大范围内检测对象。

 

作者又说明了DPM可以获得较好的结果就是因为使用了特征图像金字塔。但接着,作者说明了在识别任务中,深度学习技术-卷积神经网络代替了图像特征金字塔。卷及网络对尺度变化具有鲁棒性并具有表示高级语义信息的能力,因此可以实现在单个特征尺度上进行识别。

对图像金字塔的每一层进行特征化的主要优势在于,它产生了一种多尺度的特征表示,其中所有层都具有很强的语义,包括高分辨率层。但是,也具有多种问题:推理时间增加、训练这种端到端的网络需要占用大量的内存,所以图像金字塔网络只适合使用在测试时间。所以,由于这些原因的存在,Fast/FasterRCNN没有使用特征图像金字塔。

深度卷积网络特征层次结构生成了不同空间分辨率的特征图,但引入了由不同深度引起的巨大语义鸿沟。高分辨率地图的低级别特征会损害其对象识别的表征能力。

作者接着介绍了首次尝试使用金字塔特征层次的SSD(单镜头检测器),并指出SSD放弃了重用已经计算好的层,而是从网络的高层开始构建金字塔(例如VGG网络[34]),然后添加几个新层。因此,它错过了重用特征层次的更高分辨率贴图的机会。我们证明了这些对于检测小物体很重要。

在最近的研究中,采用自顶向下和跳过连接的类似架构很流行[27,16,8,25]。他们的目标是生成一个高分辨率的单一高级特征图,并在此基础上进行预测(上图2)。相反,我们的方法将该体系结构作为一个特征金字塔来利用,其中预测(例如,对象检测)在每个级别上独立进行(图2底部)。我们的模型呼应了一个特征化的图像金字塔,这在这些作品中没有被探索过。

 

图2下介绍了本文中FPN网络结构。FPN相对于原始的自顶向下和跳过连接的架构作出改进:FPN结构是对于每个级别的特征进行预测。

在各个数据集上的实验结果:在烧蚀实验中,我们发现,对于包围盒方案,FPN显著提高了平均召回率(AR)8.0分;对于目标检测,它将COCO风格的平均精度(AP)提高了2.3个点,PASCAL风格的平均精度(AP)提高了3.8个点,超过了Resnet上更快的R-CNN的强大单尺度基线[15]。我们的方法还可以很容易地扩展到掩模方案,并与严重依赖图像金字塔的最新方法相比,提高了实例分割的AR和速度。此外,这种改进是在不增加单标度基线测试时间的情况下实现的。

2.相关工作

作者首先对手工设计的功能和早期的神经网络。

深度卷积目标检测器。随着现代深度ConvNets[18]的发展,像OverFeat[32]和R-CNN[12]这样的物体探测器在精确度上有了显著的提高。OverFeat采用了一种类似于早期神经网络人脸检测器的策略,将ConvNet作为图像金字塔上的滑动窗口检测器。R-CNN采用了一种基于区域提案的策略[35],其中每个提案在使用ConvNet进行分类之前都进行了尺度标准化。SPPnet[14]证明,这种基于区域的检测器可以更有效地应用于在单个图像尺度上提取的特征地图。最近更精确的检测方法,如Fast RCNN[11]和Faster R-CNN[28]提倡使用从单一尺度计算的特征,因为它在准确性和速度之间提供了一个很好的折衷。然而,多尺度检测仍然表现得更好,尤其是对于小对象。

多层次结合的方法。最近的一些方法通过将来自网络中不同层的预测结合起来,改进了检测和分割。FCN[23]通过平均分割概率,将多个层的粗到细预测结合起来。SSD[21]和MS-CNN[3]预测特征层次结构不同层的对象。另一类方法是在进行预测之前将多个层的特征结合起来。这些方法包括超列[13]、超网[17]、解析网[22]和离子[2]。

最近有一些方法利用横向连接,在分辨率和语义级别之间关联低级特征图,包括分别用于分割、人脸检测和关键点估计的SharpMask[27]、重组器网络[16]和堆叠沙漏网络[25]。Ghiasi等人[8]提出了一种拉普拉斯金字塔表示法,用于FCN逐步细化分割。尽管这些方法隐式或显式地采用了金字塔形状的架构,但它们不同于特征化图像金字塔[5,7,32],在这些金字塔中,预测是在所有级别独立进行的,见图2。事实上,对于图2(上图)中的金字塔结构,仍然需要图像金字塔来识别多个尺度上的对象[27]。

3.特征金字塔网络

我们的目标是利用ConvNet的金字塔特征层次结构(从低级到高级都有语义),并构建一个贯穿高级语义的特征金字塔。由此产生的特征金字塔网络是通用的,在本文中,我们主要关注滑动窗口提议器(区域提议网络,简称RPN)[28]和基于区域的检测器(Fast R-CNN)[11]。我们还将FPN推广到第六部分中的实例分割建议。

我们的方法以任意大小的单尺度图像作为输入,并以完全卷积的方式在多个级别上输出按比例大小的特征图。这个过程是独立于主干的骨干网络结构。本文作者使用的是ResNet网络。我们金字塔的构造包括自下而上的路径、自上而下的路径和横向连接,如下所述。

自下而上的路径。自下而上的路径是主干网络的前馈计算,它计算由多个比例的特征映射组成的特征层次,缩放步长为2。通常有许多层生成相同大小的输出地图,我们说这些层处于同一网络阶段。对于我们的特征金字塔,我们为每个阶段定义一个金字塔级别。我们选择每个阶段最后一层的输出作为特征图的参考集,我们将丰富这些特征图以创建金字塔。这种选择是自然的,因为每个阶段的最深层都应该有最强烈的特征。

具体来说,对于resnet[15],我们使用每个阶段的最后一个剩余块输出的功能激活。对于conv2、conv3、conv4和conv5输出,我们将这些最后剩余块的输出表示为C2、C3、C4、C5,并且注意到它们相对于输入图像具有4、8、16、32像素的步长。由于conv1的内存占用量很大,我们没有将其包括在金字塔中。

自上而下的通路和横向连接。自上而下的路径通过从更高的金字塔级别对空间上更粗糙但语义上更强的特征映射进行上采样,从而产生更高分辨率的特征。然后,通过横向连接,通过自底向上的路径增强这些功能。每个横向连接合并了自底向上路径和自上而下路径中相同空间大小的特征图。自底向上的特征映射具有较低的语义级别,但它的激活更准确地本地化,因为它被二次采样的次数更少。

 

图3显示了构建自上而下特征图的构建块。对于较粗分辨率的特征图,我们将空间分辨率提高了2倍(为了简单起见,使用最近邻上采样)。然后,将上采样贴图与相应的自底向上贴图(它经过1×1卷积层以减少通道尺寸)通过元素加成的方式进行合并。这个过程会反复进行,直到生成最精细的分辨率贴图。为了开始迭代,我们只需在C5上附加一个1×1卷积层,以生成最粗糙的分辨率贴图。最后,我们在每个合并的地图上附加一个3×3卷积来生成最终的特征地图,这是为了减少上采样的混叠效应。最后一组特征图被称为P2,P3,P4,P5,分别对应于空间大小相同的C2,C3,C4,C5。

因为金字塔的所有级别都像传统的特征化图像金字塔一样使用共享分类器\\回归器,所以我们在所有特征映射中固定特征维度(通道数,表示为d)。我们在本文中设置了d=256,因此所有额外的卷积层都有256个通道输出。在这些额外的层中没有非线性,我们已经根据经验发现它们的影响很小。

简单性是我们设计的核心,我们发现我们的模型对许多设计选择都很稳健。我们对更复杂的块进行了实验(例如,使用多层剩余块[15]作为连接),并观察到略微更好的结果。设计更好的连接模块不是本文的重点,所以我们选择上面描述的简单设计。

4.应用

我们的方法是一个通用的解决方案,用于在深层网络中构建特征金字塔。在下文中,我们采用RPN[28]中的方法生成边界框建议,并采用Fast R-CNN[11]中的方法进行目标检测。为了证明我们的方法的简单性和有效性,我们对[28,11]中的原始系统进行了最小的修改,使其适应我们的特征金字塔。

4.1 针对于RPN网络的特征金字塔网络

RPN[28]是一种滑动窗口类不可知对象检测器。在最初的RPN设计中,在单尺度卷积特征映射的基础上,在密集的3×3滑动窗口上评估一个子网络,执行对象/非对象二元分类和边界盒回归。这是通过一个3×3卷积层和两个兄弟1×1卷积来实现的,用于分类和回归,我们称之为网络头。对象\\非对象标准和边界框回归目标是根据一组称为锚的参考框定义的[28]。锚具有多个预定义的比例和纵横比,以覆盖不同形状的对象。

我们通过用FPN替换单比例尺特征图来适应RPN。我们在特征金字塔的每一层上附加一个相同设计的头部(3×3 conv和两个兄弟1×1 conv)。由于头部在所有金字塔级别的所有位置上密集滑动,因此不必在特定级别上使用多尺度锚定。相反,我们为每个级别指定一个单一比例的锚。形式上,我们将锚定定义为在P2、P3、P4、P5、P6上分别有32^2、64^2、128^2、256^2、512^2个像素的区域。1正如在[28]中一样,我们也在每个级别使用多个纵横比1:2,1:1,2:1的锚。因此,金字塔上总共有15个锚。

我们根据锚与ground-truth边界框的联合交集(IoU)比率为锚分配训练标签,如[28]所示。从形式上讲,如果某个锚在给定的地面真相框中拥有最高的IoU,或在任何地面真相框中IoU超过0.7,则该锚被指定为正标签;如果所有地面真相框的IoU低于0.3,则该锚被指定为负标签。请注意,地面真相盒的比例并没有明确用于将其分配到金字塔的各个层级;相反,地面真相框与锚关联,锚被分配到金字塔级别。因此,除了[28]中的规则外,我们不引入其他规则。

我们注意到,头部的参数在所有特征金字塔级别上共享;我们还评估了没有共享参数的替代方案,并观察到类似的准确性。共享参数的良好性能表明,我们金字塔的所有级别共享相似的语义级别。这一优势类似于使用特征化图像金字塔,其中公共头部分类器可以应用于在任何图像比例下计算的特征。

4.2 针对于FastRCNN网络的FPN网络结果

Fast R-CNN[11]是一种基于区域的对象检测器,其中感兴趣区域(RoI)池用于提取特征。快速R-CNN通常在单比例尺特征图上执行。为了将其与FPN结合使用,我们需要将不同比例的ROI分配给金字塔级别。

我们将我们的特征金字塔视为一个图像金字塔。因此,当基于区域的检测器在图像金字塔上运行时,我们可以调整它们的分配策略[14,11]。形式上,我们通过以下方式将宽度为w、高度为h(在网络的输入图像上)的RoI分配给特征金字塔的Pk级:

 

这里224是标准的ImageNet预训练大小,k0是目标级别,w×h=2242的RoI应该映射到该级别。类似于基于ResNet的更快的R-CNN系统[15],该系统使用C4作为单比例尺特征地图,我们将k0设置为4。直观地说,Eqn。(1) 这意味着,如果RoI的规模变小(例如,224中的1\\/2),则应将其映射到更精细的分辨率级别(例如,k=3)。

我们将预测头(在Fast R-CNN中,预测头是特定于类的分类器和边界盒回归器)附加到所有级别的所有ROI。同样,所有头部都有相同的参数,无论其级别如何。在[15]中,ResNet的conv5层(9层深的子网络)被用作conv4特征顶部的头部,但我们的方法已经利用conv5来构建特征金字塔。因此,与[15]不同,我们只需采用RoI池来提取7×7个特征,并在最终分类和边界框回归层之前附加两个隐藏的1024-d完全连接(fc)层(每个层后面都有ReLU)。这些层是随机初始化的,因为resnet中没有经过预训练的fc层。请注意,与标准的conv5头部相比,我们的2-fc MLP头部重量更轻、速度更快。

5. 目标检测实验

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

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

5.1 RPN网络得到区域建议

我们按照[20]中的定义,评估COCO风格的平均召回率(AR)和小、中、大对象(AR、ARm和ARl)上的AR。我们报告了每幅图像(AR100和AR1k)100和1000个提案的结果。

实现细节。表1中的所有架构都经过了端到端的培训。调整输入图像的大小,使其较短的一侧有800个像素。我们在8个GPU上采用同步SGD培训。一个小批量包含每个GPU 2个图像和每个图像256个锚。我们使用0.0001的重量衰减和0.9的动量。前30k小批量的学习率为0.02,下10k小批量的学习率为0.002。对于所有RPN实验(包括基线),我们包括了图像之外的锚盒用于训练,这与[28]中忽略这些锚盒的情况不同。其他实施细节如[28]所示。在8GPU上使用FPN训练RPN需要在COCO上花费大约8小时。

 

5.1.1 消融实验

与基线的比较。为了与原始RPN[28]进行公平比较,我们使用C4(与[15]相同)或C5的单比例尺地图运行了两条基线(表1(a,b)),两者都使用了与我们相同的超参数,包括使用32^2,64^2,128^2,256^2,512^2的5个比例尺锚。表1(b)没有显示出(a)的优势,这表明单一的高级特征映射是不够的,因为在更粗的分辨率和更强的语义之间存在权衡。

将FPN纳入RPN将AR1k提高到56.3(表1(c)),比单标度RPN基线(表1(a))增加8.0个点。此外,在小型对象(AR1K)上的性能大幅提升了12.9个百分点。我们的金字塔表示大大提高了RPN对对象规模变化的鲁棒性。

自上向下的浓缩(集成)的重要性。表1(d)显示了我们的特征金字塔在没有自上而下路径的情况下的结果。通过这种修改,1×1的横向连接和3×3的卷积被连接到自下而上的金字塔上。该体系结构模拟了重用金字塔特征层次结构的效果(图1(b))。

表1(d)中的结果与RPN基线相当,远远落后于我们的结果。我们推测这是因为自下而上金字塔(图1(b))的不同层次之间存在很大的语义差异,特别是对于非常深的resnet。我们还评估了表1(d)的一个变体,没有共享磁头的参数,但观察到类似的性能下降。这个问题不能简单地由特定级别的主管来解决。

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

金字塔表示的重要性。人们可以将头部附加到P2的最高分辨率、强语义特征图(即金字塔中最精细的层次),而不是诉诸金字塔表示。与单比例尺基线类似,我们将所有锚点指定给P2要素地图。该变量(表1(f))优于基线,但低于我们的方法。RPN是一种具有固定窗口大小的滑动窗口检测器,因此在金字塔级别上扫描可以提高其对尺度变化的鲁棒性。

此外,我们注意到,单独使用P2会导致更多的锚(750k,表1(f)),这是由其较大的空间分辨率造成的。这一结果表明,较大数量的锚本身不足以提高精度。

5.2 使用FastRCNN网络进行目标检测

接下来,我们研究基于区域(非滑动窗口)检测器的FPN。我们通过COCO风格的平均精度(AP)和PASCAL风格的AP(单个IoU阈值为0.5)评估目标检测。我们还根据[20]中的定义,报告了COCO AP关于小型、中型和大型物体(即APs、APm和APl)的情况。

实现细节。调整输入图像的大小,使其较短的一侧有800个像素。同步SGD用于在8GPU上训练模型。每个小批量包含每个GPU 2个图像和每个图像512个ROI。我们使用0.0001的重量衰减和0.9的动量。前60k个小批量的学习率为0.02,后20k个小批量的学习率为0.002。我们每幅图像使用2000个ROI进行训练,1000个用于测试。用FPN训练Fast R-CNN需要在COCO数据集上花费大约10个小时。

5.2.1 FastRCNN(固定区域建议)

为了更好地单独研究FPN对基于区域的探测器的影响,我们在一组固定的方案上对快速R-CNN进行烧蚀。我们选择冻结由FPN上的RPN计算的建议(表1(c)),因为它在检测器识别的小对象上具有良好的性能。为简单起见,我们不在Fast R-CNN和RPN之间共享功能,除非另有规定。

 

作为基于ResNet的快速R-CNN基线,在[15]之后,我们采用了输出大小为14×14的RoI池,并将所有conv5层作为头部的隐藏层。表2(a)中的AP为31.9。表2(b)是利用具有2个隐藏fc层的MLP头部的基线,类似于我们架构中的头部。它的AP为28.8,这表明2-fc头部与表2(a)中的基线相比,没有任何正交优势。

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

表2(d)和(e)表明,移除自上而下的连接或移除侧向连接会导致较差的结果,类似于我们在上述RPN小节中观察到的结果。值得注意的是,移除自上而下的连接(表2(d))会显著降低精度,这表明Fast R-CNN在高分辨率地图上使用低级别特征会受到影响。

在表2(f)中,我们在P2的单一最细比例尺特征图上采用了快速R-CNN。其结果(33.4 AP)略差于使用所有金字塔级别的结果(33.9 AP,表2(c))。我们认为这是因为RoI池是一种扭曲的操作,对该地区的规模不那么敏感。尽管这种变体具有很好的准确性,但它基于Pk的RPN建议,因此已经受益于金字塔表示法。

5.2.2 FasterRCNN(一致的区域建议)

在上文中,我们使用了一套固定的方案来调查探测器。但在更快的R-CNN系统[28]中,RPN和Fast R-CNN必须使用相同的网络主干,以实现功能共享。表3显示了我们的方法和两个基线之间的比较,它们都使用RPN和Fast R-CNN的一致主干架构。表3(a)显示了我们对基线更快的R-CNN系统的复制,如[15]所述。在受控设置下,我们的FPN(表3(c))比这一强基线好2.3分AP和3.8分AP@0.5

 

请注意,表3(a)和(b)是比表3(*)中He等人[15]提供的基线强得多的基线。我们发现,以下实现是造成这种差距的原因:(i)我们在[11,15]中使用了800像素的图像比例,而不是600像素;(ii)与[11,15]中的64个ROI相比,我们每幅图像训练512个ROI,这加快了收敛速度;(iii)我们使用5个刻度锚,而不是[15]中的4个(添加322);(iv)在测试时,我们每个图像使用1000个建议,而不是[15]中的300个。因此,与表3(*)中He等人的ResNet50更快的R-CNN基线相比,我们的方法将AP提高了7.6个点,并且AP@0.59.6个百分点。

共享特征层。在上面,为了简单起见,我们不共享RPN和Fast R-CNN之间的功能。在表5中,我们评估了[28]中描述的四步培训后的共享功能。与[28]类似,我们发现共享功能可以小幅度提高准确性。功能共享还可以缩短测试时间。

运行时间。通过功能共享,我们基于FPN的更快的R-CNN系统在单个NVIDIA M40 GPU上对ResNet-50的每幅图像的推断时间为0.20秒,对ResNet-101的推断时间为0.24秒。作为比较,表3(a)中的单标度ResNet-50基线运行时间为0.32秒。我们的方法通过FPN中的额外层引入了较小的额外成本,但头部重量较轻。总的来说,我们的系统比基于ResNet的R-CNN更快。我们相信我们的方法的效率和简单性将有利于未来的研究和应用。

5.2.3 与COCO数据集中的SOTA网络进行对比

我们发现,表5中的ResNet-101模型没有按照默认学习率计划进行充分训练。因此,在训练快速R-CNN步骤时,我们在每个学习速率下将小批量的数量增加2倍。这将minival上的AP增加到35.6,而不共享功能。该模型是我们提交给COCO检测排行榜的模型,如表4所示。由于时间有限,我们尚未评估其功能共享版本,如表5所示,这应该会稍微好一点。

 

 

表4将我们的方法与COCO竞赛优胜者的单一模型结果进行了比较,包括2016年赢家G-RMI和2015赢家更快R-CNN++。我们的单一模型进入,在不增加任何细节的情况下,已经超越了这些强大、精心设计的竞争对手。在测试开发集上,我们的方法比现有的最佳结果提高了1.3个AP点(36.2比34.9)和3.4个AP点AP@0.5(59.1对55.7)。值得注意的是,我们的方法不依赖于图像金字塔,只使用单个输入图像比例,但在小尺度对象上仍然具有出色的AP。这只能通过使用以前的方法输入高分辨率图像来实现。

此外,我们的方法没有利用许多流行的改进,如迭代回归[9]、硬负挖掘[33]、上下文建模[15]、更强的数据增强[21]等。这些改进是对FPN的补充,应该会进一步提高准确性。

6. 扩展:细分区域建议

我们的方法是一种通用的金字塔表示法,可用于目标检测以外的应用。在本节中,我们使用FPN生成细分建议,遵循DeepMask\\/SharpMask框架[26,27]。

DeepMask\\/SharpMask在图像作物上进行训练,以预测实例片段和对象\\非对象分数。在推理时,这些模型被卷积运行,以在图像中生成密集的建议。为了以多个比例生成片段,图像金字塔是必要的[26,27]。

很容易调整FPN以生成掩码建议。我们使用完全卷积的设置来进行训练和推理。我们构建特征金字塔,如第。5.1并设置d=128。在特征金字塔的每一层之上,我们应用一个小的5×5 MLP,以完全卷积的方式预测14×14掩模和对象分数,见图4。此外,由于在[26,27]的图像金字塔中每八度使用2个音阶,我们使用输入大小为7×7的第二个MLP来处理半八度。这两个MLP在RPN中扮演类似的角色。架构是端到端培训的;附录中给出了完整的实施细节。

 

6.1 细分区域建议实验结果

结果如表6所示。我们报告了小型、中型和大型对象的AR段和AR段,始终为1000个提案。我们的基线FPN模型具有单个5×5 MLP,AR为43.4。切换到稍大的7×7 MLP,精度基本保持不变。同时使用两个MLP可将精度提高到45.7 AR。将掩模输出大小从14×14增加到28×28可将AR增加到另一个点(较大的尺寸开始降低精度)。最后,将训练迭代次数加倍将AR增加到48.1。

 

我们还报告了与DeepMask[26]、SharpMask[27]和InstanceFCN[4]的比较,这是之前生成掩码建议的最先进方法。我们比这些方法的精度高出8.3个AR点。特别是,我们在小对象上的精度几乎翻了一番。

现有的掩模提议方法[26,27,4]基于密集采样的图像金字塔(例如,按2缩放)−[26,27]中的2:0.5:1,这使得它们在计算上非常昂贵。我们的方法基于FPN,速度要快得多(我们的模型以4到6 fps的速度运行)。这些结果表明,我们的模型是一个通用的特征提取工具,可以替代图像金字塔用于其他多尺度检测问题。

7. 总结

我们提供了一个简洁的框架,用于在ConvNet中构建功能金字塔。我们的方法显示,与几个强大的基线和竞争赢家相比,有了显著的改进。因此,它为特征金字塔的研究和应用提供了一个实用的解决方案,而不需要计算图像金字塔。最后,我们的研究表明,尽管deep ConvNets具有强大的表征能力和对尺度变化的隐含鲁棒性,但使用金字塔表征明确解决多尺度问题仍然至关重要。

附录

A.细分区域建议实验的实现细节

我们使用我们的特征金字塔网络高效地生成对象分割建议,采用了一种流行于对象检测的以图像为中心的训练策略[11,28]。我们的FPN掩码生成模型继承了DeepMask\\/SharpMask[26,27]的许多想法和动机。然而,与这些模型不同的是,我们在特征金字塔上执行完全卷积训练来预测掩模,这些模型在图像作物上进行训练,并使用密集采样的图像金字塔进行推理。虽然这需要改变许多细节,但我们的实现在精神上仍然与DeepMask类似。具体来说,要在每个滑动窗口定义掩码实例的标签,我们将此窗口视为输入图像上的裁剪,允许我们从DeepMask继承正片/负片的定义。接下来我们将给出更多细节,另请参见图4的可视化。

我们用P2构造特征金字塔−6.使用与第节所述相同的架构。5.1. 我们将d=128。我们的特征金字塔的每一层都用于以不同的尺度预测遮罩。在DeepMask中,我们将遮罩的比例定义为其宽度和高度的最大值。比例为32、64、128、256、512像素的遮罩分别映射到P2、P3、P4、P5、P6,并由5×5 MLP处理。由于DeepMask使用的是半个八度音阶的金字塔,我们使用的是第二个稍大的MLP,大小为7×7(7≈ 5.√2) 在我们的模型中处理半倍频程(例如,128√2比例掩模由P4上的7×7 MLP预测)。处于中间比例的对象将映射到日志空间中最近的比例。

由于MLP必须在每个金字塔级别的一定范围内(特别是半倍频程)预测对象,因此必须在规范对象大小周围提供一些填充。我们使用25%的填充物。这意味着P2,P3,P4,P5,P6上的掩模输出映射到5×5 MLP的40,80,160,320,640大小的图像区域(和√2个更大的相应尺寸(适用于7×7 MLP)。

特征图中的每个空间位置用于预测不同位置的遮罩。具体而言,在比例Pk下,特征图中的每个空间位置用于预测中心位于该位置2k像素范围内的掩模(对应于特征图中的±1个单元偏移)。如果没有对象中心在该范围内,则该位置被视为负值,并且与DeepMask中一样,仅用于训练分数分支,而不是掩码分支。

我们用来预测面具和得分的MLP非常简单。我们应用了一个5×5的内核,有512个输出,然后是兄弟完全连接的层,以预测14×14的掩码(142个输出)和对象分数(1个输出)。该模型以完全卷积的方式实现(使用1×1卷积代替完全连接的层)。处理半倍频程物体的7×7 MLP与5×5 MLP相同,只是其输入区域更大。

在训练过程中,我们以1:3的正/负采样率,每小批量随机抽取2048个样本(16幅图像中每幅图像抽取128个样本)。面具损失的权重比分数损失的权重高10倍。该模型使用同步SGD(每个GPU 2个图像)在8个GPU上进行端到端训练。我们从0.03的学习率开始,训练80k个小批量,在60k个小批量之后,将学习率除以10。在训练和测试期间,图像比例设置为800像素(我们不使用比例抖动)。在推理过程中,我们的完全卷积模型预测了所有位置的得分,以及1000个最高得分位置的等级和遮罩。我们不执行任何非最大抑制或后处理。

本文仅作为日后复习之用,并无他用。

以上是关于Feature Pyramid Networks for Object Detection(FPN)-论文阅读笔记的主要内容,如果未能解决你的问题,请参考以下文章

Feature Pyramid Networks for Object Detection(FPN)-论文阅读笔记

文本分类Deep Pyramid Convolutional Neural Networks for Text Categorization

自监督论文阅读笔记Integrally Pre-Trained Transformer Pyramid Networks (2022)

目标检测论文解读2——Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition

转R-CNN学习笔记3:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition(SPP-net)

卷积骚操作-PSConv:Squeezing Feature Pyramid into One Compact Poly-Scale Convolutional Layer