本系列专栏第一篇《CVPR 2017论文解读:用于单目图像车辆3D检测的多任务网络》近日,CVPR2017获奖论文揭晓,引起业界高度关注。但是除了这些获奖论文之外,还有很多优秀的论文值得一读。因此,在大会期间,国内自动驾驶初创公司Momenta和机器之心推出了CVPR2017精彩论文解读专栏。本文是本系列专栏的第二篇。作者为Momenta高级研发工程师李军。论文:FeaturePyramidNetworksforObjectDetection论文地址:https://arxiv.org/abs/1612.03144这里介绍的文章是FeaturePyramidNetworks(FPN),一个来自Facebook的特征金字塔网络。FPN主要解决目标检测中的多尺度问题。通过简单的网络连接变化,在不增加原有模型计算量的情况下,大大提高了小物体检测的性能。我们将从背景、思路、结果和结论等方面对本文进行讨论。在目标检测中,在计算量有限的情况下,网络的深度(对应感受野)和步幅通常是一对矛盾的东西,常用的网络结构对应的步幅一般都比较大(比如32),而图像中的stride小物体甚至会小于stride的大小,导致对小物体的检测性能急剧下降。解决该问题的传统思路包括:(1)多尺度训练和测试,也称为图像金字塔,如图1(a)所示。目前几乎所有在ImageNet和COCO检测任务上取得良好效果的方法都使用图像金字塔方法。然而,这种方法由于时间和计算消耗大,难以在实践中应用。(2)特征分层,即每一层预测对应尺度分辨率的检测结果。如图1(c)所示。SSD检测框架采用了类似的思路。这种方法的问题在于它直接强制不同的层学习相同的语义信息。对于卷积神经网络,不同的深度对应不同层次的语义特征。浅层网络分辨率高,学习到更多细节特征,而深层网络分辨率低,学习到更多语义特征。图1因此,多尺度目标检测面临的主要挑战是:如何学习具有强语义信息的多尺度特征表示?如何设计一个通用的特征表示来解决目标检测中的多个子问题?比如objectproposal,boxlocalization,instancesegmentation。如何高效计算多尺度特征表示?针对这些问题,本文提出了一种特征金字塔网络FPN,如图1(d)所示。该网络直接在原来的单一网络上进行修改,每个分辨率的featuremap引入一个featuremap被后一个分辨率缩放2倍,进行element-wise相加。通过这样的连接,将用于每一层预测的特征图与不同分辨率和不同语义强度的特征进行融合,不同分辨率的融合特征图用于检测相应分辨率的物体。这确保了每一层都具有适当的分辨率和强大的语义特征。同时,由于该方法只是在原有网络的基础上增加了额外的跨层连接,在实际应用中几乎没有增加额外的时间和计算量。作者接下来实验了将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,选择的featuremap为Pk,其中(224为ImageNet输入图像大小):类似于RPN的实验对比了原始网络和不同FPN的FastRCNN实验结构。实验结果为:实验发现FPN屏蔽了ROI区域,也大大提高了FastRCNN的小物体检测精度。同时,FPN的每一步都是必不可少的。***,FPN与整个FasterRCNN相比的实验结果如下:与其他单模型方法相比,结果为:***基于FPN,RPN和FastRCNN的特点是共享的,即和原来的FasterCNN一样,准确率略有提升。推动。FPN+FasterRCNN的方法最终在COCO数据集上取得了最好的单模型精度。综上所述,本文提出了一种巧妙的特征金字塔连接方法。实验验证对于物体检测非常有效,大大提高了小物体检测的性能。很大的推动力。CVPR现场QA:1.为什么上采样后可以直接添加不同深度的featuremaps?A:作者解释说,原因是我们做了端到端的训练,因为不同层的参数不固定,不同层同时做端到端的训练是为了监督,所以增加的训练可以更有效地整合浅层和深层信息。2.为什么FPN对于小物体检测相比去除深度特征upsample(自下而上的金字塔)有显着提升?(RPNstepAR从30.5到44.9,FastRCNNstepAP从24.9到33.9)A:作者在贴子里给出了这个问题的答案是针对小物体的。一方面,我们需要高分辨率的特征图来更加关注小区域信息。另一方面,就像图中的书包,我们需要更多的全局信息来更准确地判断书包的存在和位置。3.如果不考虑时间,图像金字塔有没有可能比特征金字塔有更高的性能?A:作者认为可以fine-tunethetraining,但是imagepyramid的主要问题是太费时间和空间,而featurePyramid几乎不需要额外的计算就能解决多尺度检测问题.【本文为栏目组织《机器之心》原创文章,微信公众号《机器之心(id:almosthuman2014)》】点此查看作者更多好文
