
视觉GNN,一个使用图结构的计算机视觉模型。
三个要点
✔️ 提出一个计算机视觉模型,即视觉GNN(ViG),它将图像表示为一个图结构
✔️ 将图像斑块视为节点,并将接近的斑块连接起来形成一个图,以表示不规则和复杂的物体
✔️ 在图像识别和物体检测方面的实验表明了所提出的ViG的优势。关于图像识别和物体检测的实验证明了所提出的ViG架构的优越性。
Vision GNN: An Image is Worth Graph of Nodes
written by Kai Han,Yunhe Wang,Jianyuan Guo,Yehui Tang,Enhua Wu
(Submitted on 1 Jun 2022 (v1), last revised 4 Nov 2022 (this version, v3))
Comments: NeurIPS 2022
Subjects: Computer Vision and Pattern Recognition (cs.CV)
code:![]()
![]()
本文所使用的图片要么来自论文、介绍性幻灯片,要么是参考这些图片制作的。
介绍
卷积神经网络(CNN)是计算机视觉的主流,被用于各种任务,如图像分类、物体检测和语义分割等。自2020年以来,Transfomer被引入计算机视觉,并提出了许多变化,包括金字塔架构、局部注意、位置编码等许多变化都被提出。此外,Transfomer被引入计算机视觉后,启发了MLP的引入。
计算机视觉的基本任务之一是识别图像中的物体。现代计算机视觉将图像视为一个方形斑块的序列。然而,物体的形状通常是不规则的,这使得传统网络中使用的网格和序列结构是多余的、不灵活的、难以处理的。
这里提出的VisionGNN分析了图像中物体的图结构,并将图像看成是一个图结构,这样就可以进行灵活有效的处理。
愿景GNN
VisionGNN是一个将图像表示为图数据并将图神经网络用于视觉任务的模型。它将图像划分为几个斑块,这些斑块被视为节点。通过在这些节点的基础上建立一个图,不规则和复杂的物体可以被更好地表现出来。
现在我们将解释如何将图像转换成图,以及用于学习视觉表征的Vision GNN(以下简称ViG)架构。
维基座
图像的图形结构
对于一个尺寸为H x W x 3的图像,该图像被分为N个斑块。将每个斑块转换为一个特征向量x,得到X=[x1, x2, ...., xN]。这些特征可以被看作是一个无序的节点集,表示为ν={v1,v2, ...,vN}。对于每个节点vi (i=1,2,...,N),找到一个K-邻居,并为所有v∈N(vi)添加从vj到vi的边。
通过将图像捕捉为图形数据,GNN被用来提取它们的表示。将图像表示为图形的优点如下
- 图是一般化的数据结构,而网格和序列可以被看作是图的特例。
- 比起网格和序列,图形允许以灵活的方式对复杂的对象进行建模。
- 物体可以被看作是由各个部分组成的(例如,人类可以被看作是头、上身、胳膊和腿),图结构可以在这些部分之间建立联系。
- 先进的GNN研究可以应用于视觉任务。
图层面的处理
图卷积层允许通过聚合相邻节点的特征在节点之间进行信息交换。作为聚合操作,相邻节点的特征被聚合以计算出节点的表示,而更新操作则进一步整合聚合的特征。
在这里,由于最大相对图卷积的便利性和效率,我们采用了它、
而这些图级过程可以表示为X'=GraphConv(X)。
VIG块
传统的GCN通常使用多个图形卷积层来提取图形数据的聚合特征。然而,出现了过度平滑的现象,使节点特征退化,降低了图像处理性能(见右图)。
因此,为了解决这个问题,在ViG块中引入了更多的特征转换和非线性激活。在这项研究中,在图的卷积前后应用了一个线性层,将节点特征通过同一域,增加了特征的多样性。它还在图的卷积之后插入了一个非线性激活函数,以避免层崩溃。这个升级的模块被称为Grapher模块。
在Grapher模块中给定一个输入特征X,可以表示为:。
为了进一步提高特征转换能力,缓解过度平滑现象,在每个节点上利用了前馈网络(FFN);FFN模块是一个简单的多层感知器,有两个全连接层。
Grapher和FFN模块的堆叠构成了ViG块,它是构建网络的基本构件。这样就可以根据图像的图形表示和提议的ViG块来构建ViG网络。
网络架构
在计算机视觉领域使用;Transfomer是一种各向同性的架构。CNN也使用金字塔架构。为了与其他神经网络进行比较,ViG建立了这两种类型的网络架构。
各向异性的ViG。
各向同性的架构是指在整个网络中,主体具有相同大小和形状的特征。构建了三个各向同性的ViG架构(ViG-Ti、ViG-S和ViG-B),模型大小不同,节点数为N=196。注意,Ti、S和B分别代表Ti:Tiny、S:Small和B:Base。为了逐步扩大感知场,在这三个模型中,随着层深度的增加,相邻节点的数量k从9增加到18。头数默认设置为h=4,FLOPs是针对分辨率为224×224的图像计算的(表1)。
表1:各向同性的ViG架构的变体
金字塔ViG
金字塔结构考虑到了图像的多尺度特性,随着图层深度的增加,提取空间尺寸逐渐变小的特征。由于金字塔结构在图像处理中是有效的,因此构建了四个版本的金字塔ViG模型(表2)。
表2:Pyramid ViG系列的详细设置
D:特征维度,E:FNN中隐藏维度的比例,K:GCN中的邻居数,H W:输入图像大小。
位置编码
为了表示一个节点的位置信息,在每个节点特征中加入一个位置编码向量。
上式中表达的绝对位置编码适用于各向同性和金字塔结构。
实验
在这项研究中,我们进行了实验来证明ViG模型在图像识别和物体检测中的有效性。这里我们展示了基于ImageNet的图像分类、物体检测以及用ViG构建的图像的图结构的结果。
图像网
各向异性的ViG。
基于各向同性架构的神经网络不改变特征的大小,使其易于扩大规模并灵活地进行硬件加速。这种方法被广泛用于自然语言处理的Transfomer模型中。该方法也被用于最近的图像处理的神经网络中。
各向同性的ViG与现有各向同性的CNN、Transfomer和MLP进行了比较,如表3所示。结果显示,ViG比其他类型的网络表现更好。例如,ViG-Ti达到了73.9%,比DeiT-Ti模型高1.7%,而Top-的计算成本相似。
表3:ImageNet中ViG和Isotropic网络的结果。
标记分别为:黑桃:CNN;方块:MLP;方块:Transfomer;星星:GNN。
金字塔ViG
金字塔结构随着网络的深入,逐渐缩小了特征图的空间大小,允许利用图像的标度不变特性生成多尺度特征。网络使用金字塔结构。
表4将Pyramid ViG与这些典型的金字塔网络进行了比较:Pyramid ViG系列的表现与最先进的金字塔网络(包括CNN、MLP和变压器)一样或更好。这表明图形神经网络在视觉任务中表现良好,有可能成为计算机视觉系统的一个基本组成部分。
表4:Pyramid ViG和其他金字塔网络在ImageNet上的结果。
标记分别为:黑桃:CNN;方块:MLP;方块:Transfomer;星星:GNN。
物体检测
ViG模型被应用于一个物体检测任务,以评估其通用性。为了进行公平的比较,我们使用了ImageNet的预训练的Pyramid ViG-S。表5中的结果显示,Pyramid ViG-S在RetinaNet和Mask R-CNN上的表现都比ResNet、CycleMLP和Swin Transformer等不同代表类型要好。这一出色的结果表明了ViG架构的泛化能力。
表5:COCO val2017中物体检测和实例分割的结果。
视觉化
为了更好地理解ViG模型的运行,ViG-S中构建的图形结构被可视化了。 在下图中,两个不同深度的样本的图被表示出来。五角星是中心节点,相同颜色的节点是其相邻的节点。
在浅层中,邻接节点往往是根据颜色或纹理等低层次的局部特征来选择。在较深的层中,中心节点的邻域更具有语义性,属于同一类别--ViG网络逐步通过节点的内容和语义表征将节点联系起来,帮助更好地识别物体。
摘要
是怎样的呢?在这篇文章中,我们介绍了使用图结构的模型,我们觉得这在计算机视觉中不是很熟悉。我们发现,通过遵循CNN、Transfomer和MLP的思想,图结构可以从一个新的角度为计算机视觉的发展作出贡献。
图结构为各种计算机视觉任务提供了一种通用的方法。在未来,进一步的此类研究将产生更精确的图像和三维物体,有一天可能会出现无法区分虚拟空间和现实的情况。
与本文相关的类别