0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

计算机视觉的网络结构又要迎来革新了?

OpenCV学堂 来源:新智元 作者:新智元 2022-06-21 10:31 次阅读

【导读】最近,中科院软件所等四个机构的研究团队将CV与图神经网络结合起来,提出全新模型ViG,在等量参数情况下,性能超越ViT,可解释性也有所提升。

计算机视觉网络结构又要迎来革新了?

从卷积神经网络到带注意力机制的视觉Transformer,神经网络模型都是把输入图像视为一个网格或是patch序列,但这种方式无法捕捉到变化的或是复杂的物体。

比如人在观察图片的时候,就会很自然地就将整个图片分为多个物体,并在物体间建立空间等位置关系,也就是说整张图片对于人脑来说实际上是一张graph,物体则是graph上的节点。

6388ffec-f0ac-11ec-ba43-dac502259ad0.png

最近中科院软件研究所、华为诺亚方舟实验室、北京大学、澳门大学的研究人员联合提出了一个全新的模型架构Vision GNN (ViG),能够从图像中抽取graph-level的特征用于视觉任务。

639eedc0-f0ac-11ec-ba43-dac502259ad0.png

论文链接:https://arxiv.org/pdf/2206.00272.pdf

首先需要将图像分割成若干个patch作为图中的节点,并通过连接最近的邻居patch构建一个graph,然后使用ViG模型对整个图中所有节点的信息进行变换(transform)和交换(exchange)。

ViG 由两个基本模块组成,Grapher模块用graph卷积来聚合和更新图形信息,FFN模块用两个线性层来变换节点特征。

在图像识别和物体检测任务上进行的实验也证明了ViG架构的优越性,GNN在一般视觉任务上的开创性研究将为未来的研究提供有益的启发和经验。

论文作者为吴恩华教授,中国科学院软件研究所博士生导师、澳门大学名誉教授,1970年本科毕业于清华大学工程力学数学系,1980年博士毕业于英国曼彻斯特大学计算机科学系。主要研究领域为计算机图形学与虚拟现实, 包括:虚拟现实 、真实感图形生成、基于物理的仿真与实时计算、基于物理的建模与绘制、图像与视频的处理与建模、视觉计算与机器学习

视觉GNN

网络结构往往是提升性能最关键的要素,只要能保证数据量的数量和质量,把模型从CNN换到ViT,就能得到一个性能更佳的模型。

但不同的网络对待输入图像的处理方式也不同,CNN在图像上滑动窗口,引入平移不变性和局部特征。

而ViT和多层感知机(MLP)则是将图像转换为一个patch序列,比如把224×224的图像分成若干个16×16的patch,最后形成一个长度为196的输入序列。

63aa6902-f0ac-11ec-ba43-dac502259ad0.png

图神经网络则更加灵活,比如在计算机视觉中,一个基本任务是识别图像中的物体。由于物体通常不是四边形的,可能是不规则的形状,所以之前的网络如ResNet和ViT中常用的网格或序列结构是多余的,处理起来不灵活。

一个物体可以被看作是由多个部分组成的,例如,一个人可以大致分为头部、上半身、胳膊和腿。

这些由关节连接的部分很自然地形成了一个图形结构,通过分析图,我们最后才能够识别出这个物体可能是个人类。

此外,图是一种通用的数据结构,网格和序列可以被看作是图的一个特例。将图像看作是一个图,对于视觉感知来说更加灵活和有效。

使用图结构需要将输入的图像划分为若干个patch,并将每个patch视为一个节点,如果将每个像素视为一个节点的话就会导致图中节点数量过多(>10K)。

63bcaed2-f0ac-11ec-ba43-dac502259ad0.png

建立graph后,首先通过一个图卷积神经网络(GCN)聚合相邻节点间的特征,并抽取图像的表征。

63cc76d2-f0ac-11ec-ba43-dac502259ad0.png

为了让GCN获取更多样性的特征,作者将图卷积应用multi-head操作,聚合的特征由不同权重的head进行更新,最后级联为图像表征。

63d928b4-f0ac-11ec-ba43-dac502259ad0.png

以前的GCN通常重复使用几个图卷积层来提取图数据的聚合特征,而深度GCN中的过度平滑现象则会降低节点特征的独特性,导致视觉识别的性能下降。

63e7ade4-f0ac-11ec-ba43-dac502259ad0.png

为了缓解这个问题,研究人员在ViG块中引入了更多的特征转换和非线性激活函数。

首先在图卷积的前后应用一个线性层,将节点特征投射到同一域中,增加特征多样性。在图形卷积之后插入一个非线性激活函数以避免层崩溃。

63f158e4-f0ac-11ec-ba43-dac502259ad0.png

为了进一步提高特征转换能力,缓解过度平滑现象,还需要在每个节点上利用前馈网络(FFN)。FFN模块是一个简单的多层感知机,有两个全连接的层。

63fed348-f0ac-11ec-ba43-dac502259ad0.png

在Grapher和FFN模块中,每一个全连接层或图卷积层之后都要进行batch normalization,Grapher模块和FFN模块的堆叠构成了一个ViG块,也是构建大网络的基本单元。

与原始的ResGCN相比,新提出的ViG可以保持特征的多样性,随着加入更多的层,网络也可以学习到更强的表征。

在计算机视觉的网络架构中,常用的Transformer模型通常有一个等向性(Isotropic)的结构(如ViT),而CNN更倾向于使用金字塔结构(如ResNet)。

为了与其他类型的神经网络进行比较,研究人员为ViG同时建立了等向性和金字塔的两种网络架构。

64082ce0-f0ac-11ec-ba43-dac502259ad0.png

在实验对比阶段,研究人员选择了图像分类任务中的ImageNet ILSVRC 2012数据集,包含1000个类别,120M的训练图像和50K的验证图像。

目标检测任务中,选择了有80个目标类别的COCO 2017数据集,包含118k个训练图片和5000个验证集图片。

641c673c-f0ac-11ec-ba43-dac502259ad0.png

在等向性的ViG架构中,其主要计算过程中可以保持特征大小不变,易于扩展,对硬件加速友好。在将其与现有的等向性的CNN、Transformer和MLP进行比较后可以看到,ViG比其他类型的网络表现得更好。其中ViG-Ti实现了73.9%的top-1准确率,比DeiT-Ti模型高1.7%,而计算成本相似。

642b72b8-f0ac-11ec-ba43-dac502259ad0.png

金字塔结构的ViG中,随着网络的加深逐渐缩小了特征图的空间大小,利用图像的尺度不变量特性,同时产生多尺度的特征。

高性能的网络大多采用金字塔结构,如ResNet、Swin Transformer和CycleMLP。在将Pyramid ViG与这些有代表性的金字塔网络进行比较后,可以看到Pyramid ViG系列可以超越或媲美最先进的金字塔网络包括CNN、MLP和Transfomer。

结果表明,图神经网络可以很好地完成视觉任务,并有可能成为计算机视觉系统中的一个基本组成部分。

6438f96a-f0ac-11ec-ba43-dac502259ad0.png

为了更好地理解ViG模型的工作流程,研究人员将ViG-S中构建的图结构可视化。在两个不同深度的样本(第1和第12块)的图。五角星是中心节点,具有相同颜色的节点是其邻居。只有两个中心节点是可视化的,因为如果绘制所有的边会显得很乱。

6448b742-f0ac-11ec-ba43-dac502259ad0.png

可以观察到,ViG模型可以选择与内容相关的节点作为第一阶邻居。在浅层,邻居节点往往是根据低层次和局部特征来选择的,如颜色和纹理。在深层,中心节点的邻居更具语义性,属于同一类别。 ViG网络可以通过其内容和语义表征逐渐将节点联系起来,帮助更好地识别物体。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4572

    浏览量

    98737
  • 模型
    +关注

    关注

    1

    文章

    2704

    浏览量

    47681
  • 计算机视觉
    +关注

    关注

    8

    文章

    1599

    浏览量

    45613

原文标题:CV的未来是图神经网络?中科院软件所发布全新CV模型ViG,性能超越ViT

文章出处:【微信号:CVSCHOOL,微信公众号:OpenCV学堂】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    什么是计算机网络的拓扑结构?主要的拓扑结构有哪些?

    计算机网络的拓扑结构是指计算机网络中各个节点(包括计算机、服务器、路由器等)之间连接的方式和形式。拓扑结构可以影响到
    的头像 发表于 01-31 10:40 660次阅读

    机器视觉、工业视觉计算机视觉这三者的关系

    机器视觉、工业视觉计算机视觉这三者的关系
    的头像 发表于 01-24 10:51 566次阅读
    机器<b class='flag-5'>视觉</b>、工业<b class='flag-5'>视觉</b>和<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>这三者的关系

    最适合 AI 应用的计算机视觉类型是什么?

    计算机视觉是指为计算机赋予人类视觉这一技术目标,从而赋能装配线检查到驾驶辅助和机器人等应用。计算机缺乏像人类一样凭直觉产生
    的头像 发表于 12-18 13:09 6853次阅读
    最适合 AI 应用的<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>类型是什么?

    什么是计算机视觉计算机视觉的三种方法

    计算机视觉是指通过为计算机赋予人类视觉这一技术目标,从而赋能装配线检查到驾驶辅助和机器人等应用。计算机缺乏像人类一样凭直觉产生
    的头像 发表于 11-16 16:38 3123次阅读
    什么是<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>?<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>的三种方法

    最适合AI应用的计算机视觉类型是什么?

    计算机视觉是指为计算机赋予人类视觉这一技术目标,从而赋能装配线检查到驾驶辅助和机器人等应用。计算机缺乏像人类一样凭直觉产生
    的头像 发表于 11-15 16:38 235次阅读
    最适合AI应用的<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>类型是什么?

    计算机视觉前景光明

    电子发烧友网站提供《计算机视觉前景光明.pdf》资料免费下载
    发表于 09-18 10:16 0次下载
    <b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>前景光明

    人工智能计算机视觉方向是什么

    人工智能计算机视觉方向是什么 人工智能计算机视觉方向是指利用人工智能技术对图像和视频进行各种分析、解释和操作的过程。计算机
    的头像 发表于 08-15 16:06 1189次阅读

    机器视觉计算机视觉的区别

    机器视觉计算机视觉的区别 机器视觉计算机视觉是两个相关但不同的概念。虽然许多人使用这两个术语
    的头像 发表于 08-09 16:51 1127次阅读

    计算机视觉是什么 计算机视觉历史及发展趋势

    正像其它学科一样,一个大量人员研究了多年的学科,却很难给出一个严格的定义,模式识别如此,目前火热的人工智能如此,计算机视觉亦如此。与计算机视觉密切相关的概念有
    发表于 07-20 15:41 0次下载

    计算机视觉的概念和主要任务

    作为人工智能的关键领域之一的计算机视觉近期再次成为了热点,那么你真的了解什么是计算机视觉吗?
    的头像 发表于 07-17 11:20 884次阅读

    计算机视觉体温测量系统

    电子发烧友网站提供《计算机视觉体温测量系统.zip》资料免费下载
    发表于 07-03 11:31 0次下载
    <b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>体温测量系统

    什么是机器视觉?机器视觉计算机有什么关系?

    机器视觉计算机视觉有什么区别
    的头像 发表于 06-05 09:28 861次阅读
    什么是机器<b class='flag-5'>视觉</b>?机器<b class='flag-5'>视觉</b>与<b class='flag-5'>计算机</b>有什么关系?

    计算机视觉相关概念总结

    为了帮助同事和客户了解更多有关计算机视觉和AI的更多信息,我们言简意赅介绍一些计算机视觉和AI术语,希望能帮助到大家。
    的头像 发表于 05-31 10:11 516次阅读

    计算机网络的层次结构

      正文 一、计算机网络概述 1.1 计算机网络的分类 按照网络的作用范围:广域网(WAN)、城域网(MAN)、局域网(LAN); 按照网络使用者:公用
    的头像 发表于 05-29 09:54 5545次阅读
    <b class='flag-5'>计算机网络</b>的层次<b class='flag-5'>结构</b>

    计算机网络功能

    计算机网络的功能主要目的是实现计算机之间的资源共享、网络通信和对计算机的集中管理。计算机网络是指将多台
    发表于 05-10 16:21 940次阅读