首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >详细解读GraphFPN | 如何用图模型提升目标检测模型性能?

详细解读GraphFPN | 如何用图模型提升目标检测模型性能?

作者头像
集智书童公众号
发布2021-08-26 15:56:18
1.9K0
发布2021-08-26 15:56:18
举报
文章被收录于专栏:集智书童集智书童

本文提出了图特征金字塔网络:GraphFPN,其能够使其拓扑结构适应不同的内在图像结构,并支持跨所有尺度的同步特征交互,与Faster R-CNN+FPN搭配!性能优于Sparse R-CNN等网络,单位:复旦大学, 香港大学等

1简介

特征金字塔在需要多尺度特征的图像理解任务中已被证明是强大的。多尺度特征学习的最新方法侧重于使用具有固定拓扑结构的神经网络跨空间和尺度执行特征交互。

在本文中提出了图特征金字塔网络,该网络能够使其拓扑结构适应不同的内在图像结构,并支持跨所有尺度的同步特征交互。首先为每个输入图像定义一个特定于图像的超像素层次结构来表示其固有的图像结构。图特征金字塔网络从这个超像素层次结构继承了它的结构。上下文层和层次层旨在实现相同尺度内和不同尺度之间的特征交互。为了使这些层更鲁棒,作者通过概括卷积神经网络的全局通道注意力,为图神经网络引入了2种类型的局部通道注意力。提出的图特征金字塔网络可以增强卷积特征金字塔网络的多尺度特征。

作者通过将其集成到Faster R-CNN算法中来评估在目标检测任务中的图特征金字塔网络。修改后的算法不仅在MS-COCO 2017验证和测试数据集上以明显的优势优于先前最先进的基于特征金字塔的方法,而且还优于其他流行的检测方法。

本文主要贡献
  • 提出了一种新的图特征金字塔网络,利用固有的图像结构,支持所有尺度的同时特征交互。该图特征金字塔网络继承了输入图像的超像素层次结构。上下文层和层次层的设计分别是为了促进相同规模内和跨不同规模的特性交互;
  • 在现有的卷积神经网络全局通道注意机制的基础上,进一步引入了图神经网络的2种局部通道注意机制;
  • 在MS-COCO 2017验证和测试数据集上的大量实验表明,无论是否基于特征金字塔,图特征金字塔网络都可以帮助实现比现有的最先进的目标检测方法明显更好的性能。消融研究进一步验证了所提网络组件的有效性。

2图特征金字塔网络

图特征金字塔网络旨在通过在超像素层次上构建多尺度图神经网络来增强卷积特征金字塔网络。

2.1、Superpixel Hierarchy

在分层分割中,像素(或更小的超像素)通过相似性度量递归地分组为更大的像素。给定一幅图像I,依靠面向卷积的边界(COB)来获得分层分割,这是一组图像分区

\{S^0,S^1,...,S^L\}

。注意,每个超像素

S^0

的原始输入图像中的一个像素,

S^L

只有一个超像素代表整个图像的超像素

S^L

S^{L−1}

只相差一个。

在本文中,从

S^0

中选择了一个分区子集

\{S^0,S^1,...,S^L\}

定义超像素层次

\{S^{l_1},S^{l_2},S^{l_3},S^{l_4},S^{l_5}\}

,其中S的上标表示分割层次中的划分级别,

S^{l_1}

是该层次中最精细的超像素集合,

S^{l_{i+1}}

中的超像素是

S^{l_1}

中超像素的并集。匹配卷积神经网络的下采样率,选取

\{l_1,l_2,l_3,l_4,l_5\},使

S^{l_{i+1}}

的超像素数为

S^{l_{i}}$超像素数的1/4。然后用超像素层次S表示输入图像的部分-整个层次,并跟踪超像素之间的ancestor-descendant关系。

2.2、Multi-scale Graph Pyramid

本文构建了一个图金字塔

g^1,g^2,g^3,g^4,g^5

,其级别对应于超像素层次的级别。超像素层次中的每个超像素在图金字塔的相应层次上都有一个对应的图节点。因此,当从图金字塔的一层移动到下一层时,节点的数量也会减少4倍。

作者为图金字塔定义了2种类型的边。它们被称为上下文边缘层次边缘

上下文边缘连接同一层次上的2个相邻节点,而层次边缘连接不同层次上的2个节点,如果它们对应的超像素之间存在ancestor-descendant关系。上下文边缘用于传播层次边缘用于弥合不同层次之间的语义差距,而同一层次内的上下文信息

请注意,层次边缘是密集的,因为在每个节点和它的每个ancestor和descendant之间都有这样的边缘。这些密集的连接会产生很大的计算和内存成本。因此,每个层次边缘都与其节点特征之间的余弦相似度关联,作者根据它们的余弦特征相似度对层次边缘进行修剪。在所有关联到节点的分层边缘中,排在最后50%的边缘将被删除。

2.3、Graph Neural Network Layers

在图金字塔的基础上构造了一个图神经网络GraphFPN。在GraphFPN中有2种类型的层,上下文层和层次层。这2种类型的层在图金字塔中使用相同的节点集,但不同的图边集。上下文层只使用上下文边缘,而层次层只使用修剪过的层次边缘。GraphFPN在最开始有L1上下文层,在中间有L2层次层,在最后有L3上下文层。更重要的是,每一层都有自己的可学习参数,这些参数不会与任何其他层共享。

虽然上下文层和层次层使用不同的边缘,但这2种类型的层中的GNN操作是完全相同的。这2种类型的层次共享相同的空间和通道注意机制。简单地采用图注意网络中的self-attention作为空间注意。给定节点i及其邻居集合

N_i

,节点i的空间注意力更新特征如下:

其中M为single-head self-attention,

\vec h_{j\in N_i}

为节点i的邻居收集的特征向量集,

\vec h_i

\vec {h'_i}

分别为节点i更新前后的特征向量。

通道注意机制由基于平均池化的局部通道注意力模块和局部信道自注意力模块组成。在基于平均池化的局部通道注意力算法中,首先对节点i及其邻居的特征向量进行平均,得到特征向量

\vec a'_i \in R^C

。然后将平均的特征向量通过一个sigmoid激活的完全连接层,并在结果和

\vec {h'_i}

之间执行元素乘法,

其中,

\sigma

为sigmoid函数,

W_1 \in R^{C×C}

为全连通层可学习权重矩阵,为元素乘法。在局部通道自注意力模块中,首先获取节点i及其邻居的特征向量集合A,并进行reshape 为

R^{(|N_i|+1)×C}

。其中

|N_i|

为节点i的邻域大小。接下来得到通道相似矩阵

X=A^TA\in R^{C×C}

,并对X的每一行应用softmax函数,局部通道自注意力模块的输出为:

其中

\beta

是初始化为0的可学习权值.

local channel-wise attention和local channel self attention的灵感来自于SENet和Dual attention Network。主要的区别在于本文的通道注意力是在local neighborhoods内定义的,因此从节点到节点在空间上是不同的,而SENet和Dual attention Network则在所有空间位置上使用相同的通道注意力。局部通道注意力在图神经网络中的优势包括更低的计算成本和更高的空间自适应,因此非常适合于GraphFPN这样的大型网络。

表5中的消融研究表明,双局部通道注意力在GraphFPN中相当有效。

2.4、Feature Mapping between GNN and CNN

卷积神经网络可以保留局部和目标的位置信息,对目标检测有明显的好处,而图神经网络可以跨多个语义尺度灵活地建模局部和目标之间的依赖关系。

需要注意的是,卷积神经网络的主干和FPN分别负责多尺度编码和解码,而GraphFPN主要负责多尺度解码。因此,来自主干的特征作为GraphFPN的输入。为了利用这2种类型的特征金字塔网络,作者还融合了GraphFPN和卷积FPN的最终特征。因此,需要从主干映射特征来初始化GraphFPN,也需要在特征融合之前将最终的特征从GraphFPN映射到卷积FPN。主干和卷积FPN中的多尺度特征映射分别表示为

C=\{C^1,C^2,C^3,C^4,C^5\}

P=\{P^1,P^2,P^3,P^4,P^5\}

。注意,C中的特征映射是主干中5个卷积阶段的最终特征映射。

Mapping from CNN to GNN

作者将主干

C_i

的第i个特征映射到s中的第i个

S_i

C_i

中的特征位于一个矩形网格上,每个网格单元对应原始输入图像中的一个矩形区域,而

S_i

中的超像素通常具有不规则的形状。如果

C_i

中多个超像素与同一网格单元部分重叠,如图1(c)所示,将网格单元分配给重叠最大的超像素。这样的分配会导致一个小集合

C_i

的网格单元分配给

S_i

中相同的超像素

R^k_i

。在集合上执行最大池化和最小池化,并通过ReLU激活将连接池化结果提供给一个完全连接的层。

R^k_i

的映射特性可以写成:

其中,

\delta

表示ReLU激活,

W_2

为全连接层的可学习权值矩阵,k为级联算子,

∆max(C^k_i)

∆min(C^k_i)

分别为max-pooling和min-pooling算子。

Mapping from GNN to CNN

向前通过GraphFPN,就将其最后一层的特征映射到卷积特征金字塔P;设

P_k^i

P_i

中分配给

S_i

中超像素

R_k^i

的网格单元的集合。简单地将

R_k^i

的最终特性复制到

P_k^i

中的每个网格单元。这样就得到了卷积第i层的一个新的特征映射

\overline P^i

。然后将

\overline P^i

P^i

连接,并将连接的特征映射提供给1×1卷积层,以确保融合的特征映射

\tilde P^i

P^i

具有相同数量的通道。最后,提出融合后的特征金字塔:

2.5、目标检测

本文提出的图特征金字塔网络可以用融合后的特征金字塔代替传统的FPN,集成到的目标检测中。采用Faster RCNN作为检测算法,并进行相同的端到端训练。

3实验

3.1 SOTA对比

3.2 可视化对比

4参考

[1].GraphFPN: Graph Feature Pyramid Network for Object Detection

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-08-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 集智书童 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1简介
    • 本文主要贡献
    • 2图特征金字塔网络
      • 2.1、Superpixel Hierarchy
        • 2.2、Multi-scale Graph Pyramid
          • 2.3、Graph Neural Network Layers
            • 2.4、Feature Mapping between GNN and CNN
              • Mapping from CNN to GNN
              • Mapping from GNN to CNN
            • 2.5、目标检测
            • 3实验
              • 3.1 SOTA对比
                • 3.2 可视化对比
                • 4参考
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档