论文翻译:GraphFPN: Graph Feature Pyramid Network for Object Detection_2021_ICCV

论文链接:https://ieeexplore.ieee.org/document/9710561/

Abstract

        金字塔特性已被证明在要求多尺度特性的图像理解任务中是有效的。最先进的多尺度特征学习方法侧重于使用具有固定拓扑结构的神经网络跨空间和尺度执行特征交互。在本文中,我们提出了图特征金字塔网络,该网络能够使其拓扑结构适应不同的内在图像结构,并支持跨所有尺度的同时特征交互。我们首先为每个输入图像定义一个图像特定的超像素层次结构来表示其内在的图像结构,图特征金字塔网络从这个超像素层次继承了它的结构。上下文和层级旨在实现同一尺度内和不同尺度的特征交互。为了使这些层更强大,我们通过推广卷积神经网络的全局通道注意力,为图神经网络引入了两种类型的局部通道注意力。所提出的图特征金字塔网络可以增强卷积特征金字塔网络的多尺度特征。

        我们通过将其集成到 Faster RCNN 算法中来评估对象检测任务中的图形特征金字塔网络。修改后的算法不仅优于以前最先进的基于特征金字塔的方法,而且在 MS-COCO 2017 验证和测试数据集上都优于其他流行的检测方法。代码可在 https://github.com/GangmingZhao/GraphFPN-Graph-Feature-Pyramid-Network-for-Object-Detection 获取。

1. Introduction

        深度卷积神经网络利用局部连通性和权重共享,并在计算机视觉任务中取得了一系列突破,包括图像识别、对象检测和语义分割。由于图像中的对象可能具有不同的尺度,因此非常希望获得融合了高级和低级特征的多尺度特征图,在每个不同的尺度上都具有足够的空间分辨率,这激发了特征金字塔网络(FPN)及其改进版本,例如路径聚合网络(PANet)和特征金字塔变换器(FPT),以及其他方法。

        每幅图像都具有多尺度内在结构,包括将像素分组为对象部分,将部分进一步分组为对象以及对象在图像空间中的空间布局。这种多尺度内在结构因图像而异,可以为图像理解和物体识别提供重要线索。但是 FPN 及其相关方法总是使用独立于内在图像结构的固定多尺度网络拓扑(即神经元的二维网格)。这种固定的网络拓扑可能不是多尺度特征学习的最佳选择。根据心理学证据,人类将视觉场景解析为部分-整体层次结构,并动态地对不同图像中的部分-整体关系进行建模。受此启发,研究人员开发了一系列“胶囊”模型,这些模型描述了图像特定区域中特定类型的出现。层次分割可以根据超像素的位置和相似性递归地对超像素进行分组,以生成超像素层次结构。这种部分-整体层次结构可以通过弥合像素和对象之间的语义鸿沟来辅助对象检测和语义分割。

        众所周知,除了同一尺度内的交互之外,还可以通过跨尺度交互来增强特征金字塔中的多尺度特征。与特征金字塔网络相关的现有方法的另一个局限性是,只有来自相邻尺度的特征直接交互,而不相邻尺度的特征通过其他中间尺度间接交互。这一部分是因为匹配两个相邻尺度的分辨率最方便,另一部分是因为现有交互机制一次处理两个尺度最方便。相邻尺度之间的相互作用通常遵循自上而下或自下而上的顺序。在现有方案中,位于金字塔顶部的最高层特征需要通过多个中间尺度传播并与这些尺度上的特征相互作用,然后才能到达金字塔底部的特征。在这种传播和交互过程中,基本特征信息可能会丢失或减弱。

        在本文中,我们提出图特征金字塔网络来克服上述限制,因为图网络能够调整其拓扑结构以适应输入图像的不同内在结构,并且它们还支持跨所有尺度的同时特征交互。我们首先为输入图像定义超像素层次结构,这个超像素层次结构有许多级别,每个级别都由一组定义输入图像分割的非重叠超像素组成。层次结构所有级别的分割都是从输入图像的相同层次分割中提取的,因此,层次结构的两个相邻级别的超像素密切相关。较粗级别上的每个超像素都是较精细级别上的超像素的并集,这种两层超像素之间的一对多对应定义了上述部分-整体关系,也可以称为祖先-后代关系。分层分割和从中导出的超像素层次揭示了图像的内在结构。尽管超像素会过度分割图像,但同一超像素中的像素通常属于同一语义对象/部分,并且不会跨越语义对象/部分的边界。因此,与来自统一图像分区的单元格相比,超像素具有更均匀的像素,并且更有效地防止背景杂波和前景对象之间的特征混合。

        为了有效地利用图像的内在结构,我们的图特征金字塔网络的实际结构是由输入图像的上述超像素层次动态决定的。事实上,图特征金字塔网络通过将超像素映射到图节点,从超像素层次继承了它的结构。图像边缘在同一层次的相邻超像素之间以及祖先-后代关系中的相应超像素之间建立。我们的图形特征金字塔网络中的层级与特征提取主干中的层子集之间也建立了对应关系。所有图节点的初始特征首先从它们在主干中相应位置的特征映射,上下文和层次图神经网络层旨在分别促进相同尺度内和不同尺度的特征交互。层次层(hierarchical layers)使来自所有不同尺度的相应特征直接交互。图特征金字塔各级的最终特征与传统特征金字塔网络中的特征融合,以产生增强的多尺度特征。

我们在本文中的贡献总结如下。

        • 我们提出了一种新颖的图形特征金字塔网络,以利用内在图像结构并支持跨所有尺度的同步特征交互。该图特征金字塔网络从输入图像的超像素层次继承其结构。上下文层和层次层旨在分别促进同一尺度内和不同尺度下的特征交互。

        • 我们通过介绍现有的卷积神经网络全局通道注意机制,进一步介绍了图神经网络的两种局部通道注意机制。

        • 对MS-COCO2017验证和测试数据集的大量实验表明,我们的图形特征金字塔网络可以帮助实现比现有的最先进的对象检测方法明显更好的性能,无论它们是否基于特征金字塔。报告的消融研究进一步验证了所提出的网络组件的有效性。

2. Related Work

        特征金字塔。特征金字塔在一系列尺度上呈现高级特征图,并与骨干网络一起工作,在物体检测和语义分割中实现改进和更均衡的多尺度性能。最近关于特征金字塔的工作可以分为三组:自上而下的网络,自上而下/自下而上的网络,以及基于注意力的方法。特征金字塔网络(FPN)利用深度卷积神经网络固有的多尺度、金字塔式的层次结构,建立一个具有横向连接的自上而下的架构,获得所有尺度的高水平语义特征图。路径聚合网络(PANet)通过自下而上的路径增强,缩短了低层和最顶层特征之间的信息路径,以增强特征层次结构。ZigZagNet不仅通过密集的自上而下和自下而上的聚合来丰富多层次的上下文信息,而且还利用自上而下和自下而上的不同层次之间的Zig-zag交叉。特征金字塔变换器通过三个变换器进行跨空间和跨尺度的主动特征交互。自我变换器实现了单个特征图内的非局部交互,接地/渲染变换器(grounding/rendering transformers)实现了特征金字塔相邻层次间的连续的自上而下/自下而上的交互。

        在本文中,我们旨在填补不同金字塔级别的特征图之间的语义空白。与上述工作相比,我们的图形特征金字塔网络最独特的特点是,图形特征金字塔的拓扑结构能动态地适应输入图像的内在结构。此外,我们建立了一个跨越所有尺度的图神经网络,使所有尺度的特征同时互动成为可能。

        图神经网络。图神经网络可以灵活地模拟节点之间的依赖关系,并可以应用于不规则数据结构的场景。图卷积网络(GCN)对图进行频谱卷积,在节点间传播信息。图注意网络(GAT)利用局部自我注意层来指定相邻节点的权重,这在许多任务中得到了普及。Gao等人提出了具有图池化和非池化操作的图U-Net。图池化层依靠可训练的相似性度量来自适应地选择一个节点子集以形成一个更粗的图,而图上池化层则使用保存的信息将一个图逆转到其配对池化操作之前的结构。

        我们在GraphFPN中采用了GAT的自我注意机制。为了进一步提高节点特征的判别能力,我们通过概括现有的CNN的全局通道注意力机制,为GNN引入了局部通道注意力机制。与Graph U-Net相比,我们的图金字塔是建立在一个超级像素层次上的。它的节点合并和拆分操作不仅仅是基于局部相似性排序,还取决于内在的图像结构,这使得我们的图金字塔在图像理解任务中更加有效。

        分层分割和GLOM。通过建立部分-整体的层次结构来理解图像是计算机视觉中长期存在的一个开放问题。MCG和COB中的分层分割算法可以利用检测到的边界将图像的像素分组成超级像素。这些超级像素是分层形成的,以自下而上的方式描述物体。Hinton提出了GLOM想象系统,旨在使用具有固定结构的神经网络将图像解析为图像特定的部分-整体层次。

        给定一个输入图像,我们使用COB中的分层分割来建立一个图像特定的超级像素层次,在此基础上,我们进一步建立我们的图形特征金字塔网络。本文的贡献之一在于使用图像特定的部分-整体层次结构来增强多尺度特征学习,这可能有利于包括物体检测在内的图像理解任务。

3. Graph Feature Pyramid Networks

 

3.1. Superpixel Hierarchy(超像素层次结构)

        在分层分割中,像素(或较小的超级像素)被递归为具有相似性测量的较大的像素。给定一个图像I,我们依靠卷积导向边界(COB)来获得层次分割,它是一个图像分割的系列S0, S1, ..., Sl 。请注意,S0中的每个超级像素是原始输入图像中的一个像素,Sl中只有一个超级像素代表整个图像,Sl和Sl-1中的超级像素数量只相差一个(也就是说,Sl中的一个超级像素是Sl-1中两个超级像素的并集)。

        在本文中,我们从S0, S1, ..., Sl中选择一个分区子集来定义超级像素层次S = Sl1 , Sl2 , Sl3 , Sl4 , Sl5,其中S的上标代表分割层次中的分区级别,Sl1是层次中最好的超级像素集,Sli+1中的超级像素是Sli中超级像素的联合体。为了配合卷积神经网络的下采样率,选择{l1, l2, l3, l4, l5},使Sli+1中的超级像素数量为Sli的1/4。然后,超级像素层次结构S可以用来表示输入图像的部分-整体层次结构,并跟踪超级像素之间的祖先-后裔关系。

3.2. Multi-scale Graph Pyramid(多尺度图金字塔)

        我们构建了一个图金字塔,G1, G2, G3, G4, G5 ,其级别与超级像素层次结构的级别相对应。超级像素层次中的每个超级像素在图金字塔的相应层次上都有一个相应的图节点。因此,当我们从图形金字塔的一个层次移动到下一个更高的层次时,节点的数量也减少了4倍。我们为图金字塔定义了两种类型的边,它们被称为上下文边缘和层次边缘。如果相应超像素之间存在祖先-后代关系,则上下文边缘连接同一级别的两个相邻节点,而层次边缘连接不同级别的两个节点。上下文边缘用于在同一级别内传播上下文信息,而层次边缘用于弥合不同级别之间的语义差距。请注意,层次边缘是密集的,因为在每个节点及其每个祖先和后代之间都存在这样的边缘。这些密集的连接会产生大量的计算和内存成本。因此,每个层次边缘都与其节点特征之间的余弦相似度相关联,我们根据它们的余弦特征相似度修剪层次边缘。在节点的所有层次边缘中,排名在最后 50% 的边缘被删除。

3.3. Graph Neural Network Layers(图神经网络层)

        在图金字塔的基础上构建了一个称为GraphFPN的图神经网络。 GraphFPN 中有两种类型的层,上下文层和层次层。这两种类型的层在图金字塔中使用相同的一组节点,但使用不同的图边缘集。上下文层仅使用上下文边缘,而层次层仅使用修剪后的层次边缘。我们的GraphFPN在开头有L1上下文层,中间有L2层次层,最后有L3上下文层。更重要的是,这些层中的每一层都有自己的可学习参数,这些参数不与其他任何层共享。为了简单起见,L1、L2和L3在我们的实验中总是相等的,它们的具体数值的选择将在消融研究中讨论。GraphFPN的详细配置将在补充材料中给出。

        尽管上下文层和层次层使用不同的边,但这两种层中的 GNN 操作是完全相同的。两种类型的层共享相同的空间和通道注意机制。我们简单地采用图注意力网络 [51] 中的自注意力机制作为我们的空间注意力。给定节点 i 及其邻居集 Ni,空间注意力更新特征如下,

其中M是单头自注意力,\vec{h} _{j\in N_{i} }^{'}是从节点i的邻居收集的特征向量集,h_{i}h_{i}^{'}分别是更新前后节点i的特征向量。

        通道注意机制由基于平均池化的局部通道注意模块和局部通道自注意模块组成。在基于平均池的局部通道注意中,节点 i 及其邻居的特征向量首先被平均以获得特征向量\vec{a} _{i}^{'} \in R^{C} 。我们将平均特征向量通过一个带有 sigmoid 激活函数的全连接层,并在结果和h_{i}^{'}之间执行逐元素乘法,

 

 其中σ指的是sigmoid函数,W_{1} \in R^{C*C}是全连接层的可学习权重矩阵,⊙代表元素相乘。在局部通道自注意力模块中,我们首先获取节点i及其邻居的特征向量集合A,并将A重塑为R^{(|N_{i} |+1)*C}。这里|N_{i} |是节点 i 的邻域大小。接下来我们得到通道相似度矩阵X=A^{T} A\in R^{C*C},并对 X 的每一行应用softmax函数。局部通道自注意力模块的输出是

 其中 β 是初始化为 0 的可学习权重。

        我们的局部通道注意和局部通道自注意受到 SENet和双重注意网络的启发。主要区别在于我们的通道注意力是在局部邻域内定义的,因此在空间上因节点而异,而 SENet 和双注意力网络对所有空间位置的特征应用相同的通道注意力。图神经网络中局部通道注意力的优势包括更低的计算成本和更高的空间适应性,因此非常适合大型网络,例如我们的 GraphFPN。表 5 中的消融研究表明,我们的双局部通道注意力在我们的GraphFPN中相当有效。

3.4. Feature Mapping between GNN and CNN

        卷积神经网络可以保留部件和物体的位置信息,这显然有利于物体检测,而图神经网络可以跨多个语义尺度灵活地建模部件和物体之间的依赖关系。请注意,卷积神经网络中的主干和 FPN 分别负责多尺度编码和解码,而我们的 GraphFPN 主要负责多尺度解码。因此,来自主干的特征作为 GraphFPN 的输入。为了利用这两种类型的特征金字塔网络,我们还融合了 GraphFPN 和卷积 FPN 的最终特征。因此,我们需要从主干映射特征来初始化GraphFPN,并且在特征融合之前将最终特征从GraphFPN映射到卷积FPN。骨干和卷积 FPN 中的多尺度特征图分别表示为C= C1、C2、C3、C4、C5 和 P = P1、P2、P3、P4、P5。请注意,C中的特征图是主干中五个卷积阶段的最终特征图。

        Mapping from CNN to GNN (C→ S):我们将骨干Ci的第i个特征图映射到S中的第i层 Si。Ci中的特征位于一个矩形网格上,其中每个网格单元对应一个原始输入图像中的矩形区域,而Si中的超像素通常具有不规则形状。如果多个超像素与 Ci 中的同一个网格单元部分重叠,如图 1(c) 所示,我们将网格单元分配给具有最大重叠的超像素。这种分配的结果是一个小的网格单元集合C_{k}^{i}被分配到Si中的同一个超级像素R_{k}^{i}。我们对集合执行最大池化和最小池化,并将连接的池化结果馈送到具有ReLU激活的完全连接层。Rk的映射特征可以写成

其中δ代表ReLU激活,W2是全连接层的可学习权重矩阵,∥指串联算子,∆max(C_{k}^{i})和∆min(C_{k}^{i})代表最大集合和最小集合算子。

 

        从GNN到CNN的映射(S→P):一旦我们运行GraphFPN的前向传递,我们将其最后一层的特征映射到卷积特征金字塔P上。设P_{k}^{i}是Pi中分配给Si中的超像素R_{k}^{i}的网格单元的集合。我们只需将R_{k}^{i}处的最终特征复制到P_{k}^{i}中的每个网格单元。这样,我们就得到了第i层卷积FPN的新特征图。我们将Pi与连接起来,并将连接后的特征图提供给具有 1×1 内核的卷积层,以确保融合后的特征图 具有与 Pi 相同数量的通道。最后,融合后的特征金字塔为

3.5. Object Detection

        通过用上述融合特征金字塔代替传统的 FPN,可以将所提出的图特征金字塔网络集成到FPN 中的目标检测管道中。我们采用faster-RCNN作为我们的检测算法,并执行相同的端到端训练。在下一节中,我们在目标检测方面进行了大量实验,以验证所提出方法的有效性。

4. Experiments

        数据集。我们在MS COCO 2017检测数据集上评估了所提出的方法,该数据集包含118k训练图像、5k验证图像和20k测试图像。性能评估指标包括标准平均精度(AP)、AP50、AP75、APS、APM和APL。我们报告了验证集上的消融研究结果,并报告了标准测试集上的结果,以与最先进的算法进行比较。

        实施细节。我们使用PyTorch完全实现了我们的GraphFPN,本文中使用的所有模型都在8个NVidia TITAN 2080Ti GPU上训练。按照惯例,所有骨干网络都在ImageNet1k图像分类数据集上进行预训练,然后在检测数据集的训练集中进行微调。我们采用Faster-RCNN作为物体检测框架,并按照FPT的设置来设置检测头。在训练中,我们采用Adam作为我们的优化器,并将权重衰减和动量分别设置为0.0001和0.9。每个迷你批次包含16幅图像,并通过同步批次规范(SBN)分布在8个GPU上。为了公平比较,输入的图像沿着较短/较长的边缘被调整为800/1000像素。所有实验中使用的模型都在检测训练集上用36个历时进行训练。初始学习率被设定为0.001,在第27次和第33次历时中分别减少10倍。在COCO数据集上训练一个与我们的GraphFPN集成的更快的RCN模型需要38小时。

        我们使用COB项目1提供的代码来计算分层分割,并在数据准备期间为每张图像建立一个超级像素层次结构。建立图像的超级像素层次结构平均需要0.120秒,这对于物体检测任务来说是合理的。请注意,COB中使用的机器学习模型总是在与检测任务相同的训练集上训练。

4.1. Comparison with State-of-the-Art Methods

        我们将我们的方法 (GraphFPN+FPN) 的目标检测性能与现有最先进的基于特征金字塔的方法进行比较,包括特征金字塔网络 (FPN)、路径聚合网络 (PANet)、ZigZagNet和特征金字塔变换器 (FPT),使用 Faster-RCNN 作为检测框架来验证上下文层和层次层中特征交互的有效性。

        表1显示了与上述最先进的方法在MS COCO 2017 test-dev的不同设置下取得的实验结果。我们的方法取得了最高的AP(43.7%),比其他最先进的算法至少高出1.1%,并在AP50、AP75、APS和APM上保持领先。与Faster-RCNN基线相比,我们方法的AP高出10.6%。这表明多尺度高级特征学习对物体检测至关重要。当我们的方法与单独的FPN相比较时,AP的提高达到了7.5%,这进一步说明GraphFPN明显增强了用FPN进行的原始多尺度特征学习,多尺度特征交互和融合对物体检测非常有效。这样的改进也说明了建立在超级像素层次之上的图能够捕捉到图像的内在结构,对高层次的图像理解任务有帮助。与FPT相比,我们的方法在五个评价指标上取得了更好的表现,包括AP、AP50、AP75、APS和APM,但APL除外。我们将这种性能归结为三个因素:首先,图神经网络通过动态连接节点在不同的语义尺度上传播信息的效率更高,而FPT则需要通过自上而下和自下而上的组合以级联的方式传播信息。其次,超像素层次结构捕捉到了图像的内在结构,这有利于小尺度物体的检测。然后,与FPT相比,我们的方法在APS上实现了2.3%的改进。第三,超级像素层次结构不太适合检测大规模物体,这一点可以通过APL上的劣质结果得到验证。

 4.2. Comparison with Other Object Detectors

        除了与基于特征金字塔的检测方法进行比较外,我们还进一步将我们的方法与其他流行的检测器进行了比较。如表2所示,我们基于 Faster R-CNN + FPN + GraphFPN 的方法优于所有此类检测器,包括 RetinaNet、DETR、Deformable DETR和 Sparse R-CNN+FPN,当他们使用与我们的方法相同的主干时,与我们有明显的差距。我们的方法在所有六个性能指标下都取得了令人信服的性能。这表明我们的 GraphFPN 能够显著增强检测网络的特征表示,从而带来卓越的检测性能。

 4.3. Learnable Parameters and Computational Cost(科学系参数和计算成本)

        表3提供了一些检测模型的可学习参数数量、总计算成本和平均测试速度。Faster RCNN作为我们的基线,它有3460万个可学习参数和172.3 GFLOPs。它处理一幅图像平均需要0.139秒。我们的GraphFPN在Faster RCNN和FPN的基础上工作,整个管道的可学习参数是其1.89倍,GFLOPs是其1.21倍,测试时间延长了12.9%。如果我们考虑到超级像素层次的构建,COB模型有2100(+21%)万个参数,13.1(+3.4%)GFLOPs,以及0.12(+76.4%)秒的时间成本。这是因为COB需要在CPU上检测图像中的轮廓并建立分层分割。事实上,分层分割可以用CUDA实现,并在GPU上运行,这将大大减少测试时间。

 4.4. Ablation Studies(消融实验)

        为了研究我们的 GraphFPN 中各个组件的有效性,我们通过从我们的管道中替换或删除单个组件来进行消融研究。我们针对 GNN 层的配置(不同类型 GNN 层的组合和排序)、GNN 层的总数以及空间和通道注意力机制专门设计了消融研究。

        GNN 层配置。在我们最终的流水线中,层的具体配置如下:第一组上下文层、一组分层层和第二组上下文层。所有组中的层数相同。表 4 显示了对这些层的配置进行消融研究的结果。当我们移除第一组上下文层时,AP 下降了 0.9%。这意味着在跨尺度操作之前,有必要在同一尺度内传播上下文信息。然后我们删除了第二组上下文层,AP 下降了 0.4%,这表明即使在第一组上下文层和一组分层层之后,上下文信息传播仍然有帮助。如果我们只保留一组上下文层或层次层,AP 分别下降 2.9% 和 1.9%,这表明这两种层是真正互补的。

        GNN 层数。GNN 中的层数会影响其整体判别能力。表6显示了每种类型中不同层数的实验结果。当L=3时,这意味着三组中的每一组都有3层,总层数为9,我们的方法在所有五个性能指标上都取得了最好的结果。当图层太多时,性能会变差,我们将此归因于梯度消失。

        注意力机制。在表 5 所示的消融研究中,我们验证了空间自注意和两种局部通道注意机制的有效性。当我们移除空间自注意力时,AP下降了1.3%,这意味着空间注意力在建模邻域依赖性方面非常强大。如果我们移除基于局部平均池的通道注意或局部通道自注意,AP分别下降1.2%和1.5%,这表明这两种局部通道注意机制是相辅相成的,显著提高了深度特征的判别能力。如果我们完全去除两种通道注意力机制,AP会降低2%。

 5. Conclusions

        在本文中,我们提出了图形特征金字塔网络,它能够根据输入图像的不同内在结构调整其拓扑结构,并支持所有尺度的同步特征交互。我们的图形特征金字塔网络从根据分层分割构建的超级像素层次中继承了其结构。上下文和分层图神经网络层被定义为分别实现同一尺度内和不同尺度间的特征交互。为了使这些层更加强大,我们进一步为图形神经网络引入了两种类型的定位通道注意。广泛的实验表明,在MS-COCO2017验证和测试数据集上,与我们的图特征金字塔网络集成的Faster R-CNN+FPN优于现有最先进的物体检测方法。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值