用GNN做CV三大任务的新骨干开源,性能不输CNN、ViT与MLP
点击上方“视学算法”,选择加"星标"或“置顶”
重磅干货,第一时间送达
导读
中科院与华为诺亚方舟实验室等提出一种全新的骨干网络,把图片表示成图结构数据,让GNN也能完成经典CV三大任务。
用图神经网络(GNN)做CV的研究有不少,但通常是围绕点云数据做文章,少有直接处理图像数据的。
其实与CNN把一张图片看成一个网格、Transformer把图片拉直成一个序列相比,图方法更适合学习不规则和复杂物体的特征。
现在,中科院与华为诺亚方舟实验室等提出一种全新的骨干网络,把图片表示成图结构数据,让GNN也能完成经典CV三大任务。
论文一出,立即引起GNN学者广泛关注。有人认为GNN领域积累多年的技巧都将涌入这一新方向,带来一波研究热潮。
该来的总要来的。
新架构ViG命名上致敬了ViT,论文标题也采用同一句式,点出了核心思想:
An Image is Worth Graph of Nodes
论文地址:
http://arxiv.org/abs/2206.00272
开源地址:
https://github.com/huawei-noah/CV-Backbones
https://gitee.com/mindspore/models
在研究团队看来,图结构是一种更通用的数据结构。甚至网格和序列可以当作图结构的特例,用图结构来做视觉感知会更加灵活。
图数据由节点和边组成,如果把每个像素都看作节点计算难度过于大了,因此研究团队采用了切块(patch)方法。
对于224x224分辨率的图像,每16x16像素为一个Patch,也就是图数据中的一个节点,总共有196个节点。
对每个节点搜索他们距离最近的节点构成边,边的数量随网络深度而增加。
接下来,网络架构分为两部分:
一个图卷积网络(GCN),负责处理图数据、聚合相邻节点中的特征。
一个前馈神经网络(FFN),结构比较简单是两个全连接层的MLP,负责特征的转换。
传统GCN会出现过度平滑现象,为解决这个问题,团队在图卷积层前后各增加一个线性层,图卷积层后再增加一个激活函数。
实验表明,用上新方法,当层数较多时ViG学习到的特征会比传统ResGCN更为多样。
同算力成本下不输CNN和ViT
为了更准确评估ViG的性能,研究团队设计了ViT常用的同质结构(isotropic)和CNN常用的金字塔结构(Pyramid)两种ViG网络,来分别做对比实验。
同质架构ViG分为下面三种规格。
与常见的同质结构CNN、ViT与MLP网络相比,ViG在同等算力成本下ImageNet图像分类的表现更好。
金字塔结构的ViG网络具体设置如下。
同等算力成本下,ViG也与最先进的CNN、ViT和MLP相比,性能也能超越或表现相当。
在目标检测和实例分割测试上,ViG表现也与同等规模的Swin Transformer相当。
最后,研究团队希望这项工作能作为GNN在通用视觉任务上的基础架构,Pytorch版本和Mindspore版本代码都会分别开源。
点个在看 paper不断!