当前位置: 首页 > 科技观察

CVPR2017论文解读:FeaturePyramidNetworkFPN_0

时间:2023-03-13 01:14:00 科技观察

论文:FeaturePyramidNetworksforObjectDetection论文地址:https://arxiv.org/abs/1612.03144这里介绍的文章来自Facebook的FeaturePyramidNetworkFeaturePyramidNetworks(FPN).FPN主要解决目标检测中的多尺度问题。通过简单的网络连接变化,在不增加原有模型计算量的情况下,大大提高了小物体检测的性能。我们将从论文的背景、论文的思路、结果和结论来讨论这篇论文。在物体检测中,在计算量有限的情况下,网络的深度(对应感受野)和stride通常是一对矛盾的东西。常用的网络结构对应的stride一般都比较大(比如32),而图像中的小物体甚至会小于stride的大小,导致对小物体的检测性能急剧下降。解决该问题的传统思路包括:(1)多尺度训练和测试,也称为图像金字塔,如图1(a)所示。目前几乎所有在ImageNet和COCO检测任务上取得良好效果的方法都使用图像金字塔方法。然而,这种方法由于时间和计算消耗大,难以在实践中应用。(2)特征分层,即每一层预测对应尺度分辨率的检测结果。如图1(c)所示。SSD检测框架采用了类似的思路。这种方法的问题在于它直接强制不同的层学习相同的语义信息。对于卷积神经网络,不同的深度对应不同层次的语义特征。浅层网络分辨率高,学习到更多细节特征,而深层网络分辨率低,学习到更多语义特征。因此,目前多尺度目标检测面临的主要挑战是:如何学习具有强语义信息的多尺度特征表示?如何设计一个通用的特征表示来解决目标检测中的多个子问题?比如objectproposal,boxlocalization,instancesegmentation。如何高效计算多尺度特征表示?针对这些问题,本文提出了特征金字塔网络FPN。如图1(d)所示,直接在原来的单一网络上修改网络,将每个分辨率的featuremap引入后一个分辨率缩放2倍的featuremap。进行逐元素加法。通过这样的连接,将用于每一层预测的特征图与不同分辨率和不同语义强度的特征进行融合,不同分辨率的融合特征图用于检测相应分辨率的物体。这确保了每一层都具有适当的分辨率和强大的语义特征。同时,由于该方法只是在原有网络的基础上增加了额外的跨层连接,在实际应用中几乎没有增加额外的时间和计算量。作者接下来实验了将FPN应用于FasterRCNN的性能,并在COCO上实现了state-of-the-art单模型精度。具体来说,FPN分别在RPN和FastRCNN两个步骤中发挥作用。其中RPN和FastRCNN分别关注召回率和正检出率。这里比较的指标是AverageRecall(AR)和AveragePrecision(AP)。分别比较不同尺度物体的检测,小、中、大物体分别用s、m、l表示。在RPN中,不同于原论文直接在最新的featuremap上设置不同尺度和比例的anchor,本文的尺度信息对应对应的featuremap(分别设置面积为32^2、64^2、128^2,256^2,512^2),比例设置成三种方式,类似于原来的{1:2,1:1,,2:1}。和RPN一样,FPN在每层featuremap上增加了一个3*3的卷积和两个相邻的1*1的卷积,分别用于分类和回归预测。在RPN中,实验比较了FPN不同层的featuremap卷积参数是否共享,发现共享仍然可以取得很好的性能,说明特征金字塔使得不同的层能够学习到相同层次的语义特征。RPN网络的实验结果为:这里将FPN与最初取自conv4和conv5的RPN网络(a)(b)进行对比,召回率有了很大的提升,尤其是在中小物体上(c).另外,作者做了变量对比实验,比如只保留水平连接(d),即特征分层网络,性能只和原来的RPN差不多。原因是不同层之间的语义特征存在较大差距。另外,实验切断了水平连接,只保留featuremap从上到下做预测结果(e),只用了最终的featuremap层(f),都比AR低了10关于一个点的完整的FPN网络小目标检测。说明金字塔特征表示和水平连接起到了很大的作用。在用FastRCNN做实验时,需要固定FPN+RPN提取的proposal结果。在FastRCNN中,FPN主要用于选择提取哪一层featuremap进行ROIpooling。假设特征金字塔结果对应图像金字塔结果。定义不同的特征图集为{P2,P3,P4,P5},对于输入网络原始图像上w*h的ROI,选择的特征图为Pk,其中(224为ImageNet输入图像的大小):类似于RPN实验对比了原始网络和不同FPN结构的FastRCNN实验。实验结果为:实验发现FPN屏蔽了ROI区域,也大大提高了FastRCNN的小物体检测精度。同时,FPN的每一步都是必不可少的。***,FPN与整个FasterRCNN相比的实验结果如下:与其他单模型方法相比,结果为:***基于FPN,RPN和FastRCNN的特点是共享的,即和原来的FasterCNN一样,准确率略有提升。推动。FPN+FasterRCNN的方法最终在COCO数据集上取得了最好的单模型精度。综上所述,本文提出了一种巧妙的特征金字塔连接方法。实验验证对于物体检测非常有效,大大提高了小物体检测的性能。很大的推动力。CVPR现场QA:1、为什么upsample后可以直接加上不同深度的featuremap?A:作者解释说,之所以会这样,是因为我们做了端到端的训练,因为不同层的参数不固定,不同层同时做端到端的训练进行监督,所以增加的训练可以更准确。有效融合浅层和深层信息。2、为什么FPN相比去除深层特征upsample(自下而上的金字塔)能显着提高小物体的检测?(RPNstepAR从30.5到44.9,FastRCNNstepAP从24.9到33.9)A:作者在贴中给出了这个问题的答案。对于小物体,一方面我们需要高分辨率的特征图来更加关注小区域的信息,另一方面就像图中的书包一样,需要更多的全局信息来判断物体的存在和位置挎包更准确。3、如果不考虑时间,有没有可能图像金字塔会比特征金字塔表现的更好?A:作者认为fine-tuningtraining是可以的,但是imagepyramid的主要问题是太占时间和空间,而featurepyramid可以解决多尺度检测问题,几乎不需要额外的计算。本文转自机器之心,作者为Momenta高级研发工程师李军。