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

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

1简介


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

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

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

本文主要贡献

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

2图特征金字塔网络


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

image.png

2.1、Superpixel Hierarchy

在分层分割中,像素(或更小的超像素)通过相似性度量递归地分组为更大的像素。给定一幅图像I,依靠面向卷积的边界(COB)来获得分层分割,这是一组图像分区。注意,每个超像素的原始输入图像中的一个像素,只有一个超像素代表整个图像的超像素和只相差一个。

在本文中,从中选择了一个分区子集定义超像素层次,其中S的上标表示分割层次中的划分级别,是该层次中最精细的超像素集合,中的超像素是中超像素的并集。匹配卷积神经网络的下采样率,选取,使S^{l_{i+1}}的超像素数为S^{l_{i}}$超像素数的1/4。然后用超像素层次S表示输入图像的部分-整个层次,并跟踪超像素之间的ancestor-descendant关系。

2.2、Multi-scale Graph Pyramid

本文构建了一个图金字塔,其级别对应于超像素层次的级别。超像素层次中的每个超像素在图金字塔的相应层次上都有一个对应的图节点。因此,当从图金字塔的一层移动到下一层时,节点的数量也会减少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及其邻居集合,节点i的空间注意力更新特征如下:

image.png

其中M为single-head self-attention,为节点i的邻居收集的特征向量集,和分别为节点i更新前后的特征向量。

通道注意机制由基于平均池化的局部通道注意力模块和局部信道自注意力模块组成。在基于平均池化的局部通道注意力算法中,首先对节点i及其邻居的特征向量进行平均,得到特征向量。然后将平均的特征向量通过一个sigmoid激活的完全连接层,并在结果和之间执行元素乘法,

image.png

其中,为sigmoid函数,为全连通层可学习权重矩阵,为元素乘法。在局部通道自注意力模块中,首先获取节点i及其邻居的特征向量集合A,并进行reshape 为。其中为节点i的邻域大小。接下来得到通道相似矩阵,并对X的每一行应用softmax函数,局部通道自注意力模块的输出为:

image.png

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

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

image.png

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

2.4、Feature Mapping between GNN and CNN

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

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

Mapping from CNN to GNN

作者将主干的第i个特征映射到s中的第i个。中的特征位于一个矩形网格上,每个网格单元对应原始输入图像中的一个矩形区域,而中的超像素通常具有不规则的形状。如果中多个超像素与同一网格单元部分重叠,如图1(c)所示,将网格单元分配给重叠最大的超像素。这样的分配会导致一个小集合的网格单元分配给中相同的超像素。在集合上执行最大池化和最小池化,并通过ReLU激活将连接池化结果提供给一个完全连接的层。的映射特性可以写成:

image.png

其中,表示ReLU激活,为全连接层的可学习权值矩阵,k为级联算子,和分别为max-pooling和min-pooling算子。

Mapping from GNN to CNN

向前通过GraphFPN,就将其最后一层的特征映射到卷积特征金字塔P;设为中分配给中超像素的网格单元的集合。简单地将的最终特性复制到中的每个网格单元。这样就得到了卷积第i层的一个新的特征映射。然后将与连接,并将连接的特征映射提供给1×1卷积层,以确保融合的特征映射与具有相同数量的通道。最后,提出融合后的特征金字塔:

image.png

2.5、目标检测

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


3实验


3.1 SOTA对比

image.png

3.2 可视化对比


4参考


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

相关文章
|
4月前
|
机器学习/深度学习 编解码 人工智能
|
1月前
|
机器学习/深度学习 数据可视化 计算机视觉
目标检测笔记(五):详细介绍并实现可视化深度学习中每层特征层的网络训练情况
这篇文章详细介绍了如何通过可视化深度学习中每层特征层来理解网络的内部运作,并使用ResNet系列网络作为例子,展示了如何在训练过程中加入代码来绘制和保存特征图。
56 1
目标检测笔记(五):详细介绍并实现可视化深度学习中每层特征层的网络训练情况
|
1月前
|
机器学习/深度学习 编解码 监控
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章详细介绍了如何使用YOLOv8进行目标检测任务,包括环境搭建、数据准备、模型训练、验证测试以及模型转换等完整流程。
1176 1
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
5月前
|
机器学习/深度学习 算法 Python
使用Python实现深度学习模型:元学习与模型无关优化(MAML)
使用Python实现深度学习模型:元学习与模型无关优化(MAML)
284 0
使用Python实现深度学习模型:元学习与模型无关优化(MAML)
|
1月前
|
机器学习/深度学习 监控 计算机视觉
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
本文介绍了如何使用YOLOv7进行目标检测,包括环境搭建、数据集准备、模型训练、验证、测试以及常见错误的解决方法。YOLOv7以其高效性能和准确率在目标检测领域受到关注,适用于自动驾驶、安防监控等场景。文中提供了源码和论文链接,以及详细的步骤说明,适合深度学习实践者参考。
305 0
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
1月前
|
机器学习/深度学习 XML 并行计算
目标检测实战(七): 使用YOLOX完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用YOLOX完成图像目标检测任务的完整流程,包括数据准备、模型训练、验证和测试。
153 0
目标检测实战(七): 使用YOLOX完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
16天前
|
存储 弹性计算 自然语言处理
基础大模型 vs 应用大模型
基础大模型(如GPT-3、BERT等)通过大量通用数据训练,具备强大的泛化能力。应用大模型则在此基础上进行微调,针对特定任务优化。两者均将知识编码在参数中,而非直接存储原始数据,实现“自然留存”。阿里云提供多种大模型和服务,欢迎体验。
|
5月前
高效、可泛化的高斯重建框架,只需3张视图即可快速推理,45秒便可完成优化
【6月更文挑战第12天】MVSGaussian是一种新型3D高斯表示方法,利用多视图立体技术进行高效、可泛化的高斯重建,仅需3张视图就能快速推理。它采用几何感知的高斯表示和混合高斯渲染,实现实时新视图生成与高质量重建。通过多视图几何一致聚合策略,MVSGaussian能快速优化场景。在多种数据集上表现出优越性能,但受限于输入图像质量和数量,且训练与优化过程可能耗时。论文链接:[Fast Generalizable Gaussian Splatting Reconstruction from Multi-View Stereo](https://arxiv.org/abs/2405.12218)
107 3
|
5月前
|
测试技术 计算机视觉
【YOLOv8性能对比试验】YOLOv8n/s/m/l/x不同模型尺寸大小的实验结果对比及结论参考
【YOLOv8性能对比试验】YOLOv8n/s/m/l/x不同模型尺寸大小的实验结果对比及结论参考
|
机器学习/深度学习 人工智能 算法
目标检测模型设计准则 | YOLOv7参考的ELAN模型解读,YOLO系列模型思想的设计源头
目标检测模型设计准则 | YOLOv7参考的ELAN模型解读,YOLO系列模型思想的设计源头
904 0
目标检测模型设计准则 | YOLOv7参考的ELAN模型解读,YOLO系列模型思想的设计源头