Feature Pyramid Networks for Object Detection翻译

摘要

  特征金字塔是用于检测不同尺度的对象的识别系统中的基本组件。但是最近的深度学习对象检测器已经避免了金字塔表示,部分原因是它们是计算和内存密集型的。在本文中,我们利用深层卷积网络固有的多尺度金字塔层次结构来构造具有边际额外损失的特征金字塔。开发了一种具有横向连接的自上而下的架构,用于在所有尺度上构建高级语义特征图。这种称为特征金子塔网络(FPN)的体系结构在几个应用中作为普通特征提取器显示出显著的改进。在基本的Faster R-CNN系统中使用FPN,我们的方法在COCO检测基准上没有任何花里胡哨的技巧实现了最先进的单模型结果,超过所有现有的单模型条目,包括来自COCO2016挑战赛获胜者。此外,我们的方法可以在GPU上以5FPS运行,因此是多尺度物体检测的使用且准确的解决方法。代码将公开发布。

3. 特征金子塔网络

  我们的目标是利用ConvNet的金字塔特征层次结构,该结构具有从低级到高级的语义,并构建一个具有高级语义的特征金字塔。由此产生的$Feature Pyramid Network$是通用的,在本文中,我们关注滑动窗口提议器(Region Proposal Network,简称RPN)【29】和基于区域的探测器(Fast R-CNN)【11】。我们还将FPN泛化到第6节中的实例分割提议中。

  我们的方法采用任意大小的单尺度图像作为输入,并以全卷积的方式输出多个级别的按比例大小的特征图。这个过程独立于backbone卷积架构(例如,【19,36,16】),并且本文中我们用ResNets【16】来呈现结果。我们金字塔的结构涉及从下而上的路径,从上而下的路径,和横向连接,如下所述。

Bottom-up pathway. 从下而上的路径是backbone ConvNet的前向计算,它计算一个特征层次结构,其包含缩放步长为2的多尺度的特征图。通常有许多层产生同样尺寸的输出图,并且我们说这些层处于同样的网络阶段。对于我们的特征金字塔,我们为每一个阶段定义一个金字塔等级。我们选择每个阶段最后一层的输出作为我们的参考特征图集,我们将丰富它们创建我们的金字塔。这种选择很自然,因为每个阶段的最深的层应该有最健壮的特征。

  具体地说,对于ResNets【16】,我们使用每个阶段的最后残差块的特征激活输出。对于conv2,conv3,conv4和conv5的输出,我们这些最后残差块的输出表示为$C_{2}, C_{3}, C_{4}, C_{5}$,并且注意它们相对于输入图像具有${4, 8, 16, 32}$像素的步长。由于内存占用大,我们不会将conv1包含在金字塔中。

Top-down pathway and lateral connections. 自上而下的路径从更高的金字塔等级上采样空间粗略但是语义健壮的特征图,来幻化更高的分辨率特征。然后通过横向连接从下而上的路径来增强这些特征。每个横向连接融合来自从下而上的路径和从上而下的路径同样空间尺寸的特征图。自下而上的特征图具有较低级别的语义,但是它的激活更准确地本地化了,因为它被子采样数减少。

  图3展示了构建自上而下特征图的建造块。使用粗糙分辨率的特征图,我们将空间分辨率上采样2倍(为了简单使用最近邻上采样)。然后通过逐元素相加将上采样的特征图与相关从下而上的特征图(它经历1x1的卷积层来减少通道维度)融合。迭代此过程,直到生成最精细的分辨率特征图。为了开始迭代,我们简单地把$C_{5}$上附加1x1卷积层来产生最粗糙的分辨率特征图。最终,我们在每一个融合图上添加一个3x3的卷积来生成最终的特征图,这减少了上采样的混叠效应。这最终的特征图集被称为${P_{2},P_{3},P_{4},P_{5}}$,分别对应同样空间尺寸的${C_{2},C_{3},C_{4},C_{5}}$。

猜你喜欢

转载自www.cnblogs.com/majiale/p/9296449.html