选自arXiv

作者:Yi Lu等

机器之心编译

参与:魔王、杜伟

使用 CNN 处理图像问题已经是常规操作,但此类方法会造成局部位置信息的损失。如何解决这个问题呢?来自中科院自动化所和北京中医药大学的研究者另辟蹊径,提出用图卷积网络解决语义分割问题。

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

使用深度学习执行语义分割在图像像素分类方面取得了巨大进步。但是,深度学习提取高级特征时往往忽略了局部位置信息(local location information),而这对于图像语义分割而言非常重要。

为了避免上述问题,来自中科院自动化所、北京中医药大学的研究者们提出一个执行图像语义分割任务的图模型 Graph-FCN,该模型由全卷积网络(FCN)进行初始化

首先,通过卷积网络将图像网格数据扩展至图结构数据,这样就把语义分割问题转换成了图节点分类问题;然后,使用图卷积网络解决图节点分类问题。

研究者称,这是首次将图卷积网络用于图像语义分割的尝试。该方法在 VOC 数据集上获得了有竞争力的 mIOU 性能,相比原始 FCN 模型有 1.34% 的性能提升。

Graph-FCN 架构图。

语义分割问题的难点

语义分割是计算机视觉领域中的重要课题,其复杂程度超过分类和检测任务。这项密集预测任务需要预测每个像素的类别,也就是说它需要从高级语义信息和局部位置信息中学习目标轮廓、目标位置和目标类别

基于深度学习的语义分割方法,具体而言即卷积神经网络(CNN),为该领域带来了一系列巨大进展。提取高级特征的强大泛化能力使得图像分类和检测任务取得了非常好的性能,但伴随泛化而来的局部位置信息损失则为密集预测任务增加了难度。具备较大感受野的高级语义信息对应卷积神经网络中的小型特征图,这类图会造成像素级局部位置信息的损失。

多种基于深度学习的方法对该问题带来了改进,如全卷积网络 [16]、Segent [1]、Deeplab 方法 [2,3,4]。这些工作使用全连接层、空洞卷积和金字塔结构,来减少提取高级特征过程中的位置信息损失。

中科院等提出语义分割难题新解法

首先,研究者为图像语义分割问题构建图节点模型。图模型方法广泛应用于分割问题,这类方法将像素视作节点,将节点之间的差异度(dissimilarity)视作边(edge)。最优的分割即对图执行最大割(maximum cut)。

结合了概率论和图论的概率图模型方法(如马尔可夫随机场和条件随机场)被用于细化语义分割结果。这些方法将检测到的目标建模为图节点,通过提取目标之间的关系来改进检测准确率。相比于深度卷积模型把输入数据表示为网格结构,图模型具备更灵活的跳跃连接(skip connection),因此它可以探索图中节点之间的关系

受限于计算量,研究者使用 FCN 初始化该图模型。该图模型基于小尺寸图像构建,其节点标注由 FCN 进行初始化,边的权重则由高斯核函数进行初始化。

图 1:FCN 结构示意图。本研究使用 FCN-16s 作为基础模型对节点标注进行初始化。

然后使用图卷积网络(GCN)解决这个图模型。GCN 是处理图结构数据的当前最优模型之一。基于节点的 GCN 利用消息传播(message propagation)来交换相邻节点之间的信息。这一过程可以在图的较大相邻范围内提取特征,其作用类似于卷积网络中的卷积层和池化层。由于该过程中不会有节点消失,因此基于节点的 GCN 扩展了感受野,并避免了局部位置信息出现损失

这篇论文提出了新型模型 Graph-FCN 来解决语义分割问题。研究者使用深度卷积网络建模图,并首次用 GCN 方法解决图像语义分割任务。Graph-FCN 可以扩大感受野,同时避免局部位置信息出现损失。实验表明,Graph-FCN 的性能优于 FCN。

Graph-FCN 方法详解

GCN 旨在解决图结构数据集上的学习问题。图结构数据可看作是三元组 G(N, E, U),其中 N 表示图的节点集合,即 |N| ∗ S 矩阵(|N| 表示图节点数量,S 表示节点标注向量的维度)。E 是图的边集合。U 对应图特征,由于本研究涉及任务与 U 无关,因此本研究不讨论 U。

与欧几里德空间中的数据表示不同,矩阵 N 和边 E 并非独特表示。矩阵 N 与 E 对应,它们都按照节点的顺序排列。研究者使用监督学习方式训练模型。节点 n_j 表示图 j 中的节点集,t_j 表示节点集 n_j 的标注集。因此用于语义分割任务的图模型可公式化为:

研究者将交叉熵函数作为该模型的损失函数。T_r 表示训练集。

节点

在本研究提出的新模型中,节点标注由 FCN-16s 进行初始化。通过端到端训练后,FCN-16s 得到步幅为 16 和 32 的特征图,如下图 2 所示。对步幅为 16 的特征图执行因子为 2 的上采样可以获得与步幅为 32 的特征图一样的大小。(节点 j 的)标注 x_j 由这两个特征向量以及特征图中每个节点位置的级联进行初始化。该标注包含在局部感受野上提取到的特征。在训练过程中,研究者通过对原始标注图像执行池化操作来得到节点标签。

图 2:节点标注初始化过程。节点标注由 FCN-16s 中两个层的级联进行初始化。

在图模型中,边和邻接矩阵相关。假设每个节点和其最邻近的 l 个节点相连,这意味着节点标注可以通过图神经网络中的边进行迁移。下图 3 中的示例描述了图神经网络中的感受野。假设 l 为 4,那么从相关距离的影响来看,我们需要用高斯核函数获得权重邻接矩阵 A。

图 3:当 l 为 4 时,双层 GCN 的感受野。这与卷积层不同。

使用 Graph-FCN 进行训练

在 Graph-FCN 中,FCN-16s 实现节点分类和图模型在小型特征图中的初始化。同时,双层 GCN 获取图中节点的分类结果。研究者分别计算这两部分输出的交叉熵损失。和 FCN-16s 模型一样,Graph-FCN 也以端到端模式进行训练。Graph-FCN 网络结构如下图 4 所示:

图 4:Graph-FCN 的结构示意图。该模型有两个输出和两个损失 L1 和 L2。它们共享卷积层提取特征的权重。L1 通过 output1 计算得到,L2 通过 output2 计算得到。通过最小化 L1 和 L2,FCN-16s 的性能得到了提升。

实验

研究者在 VOC2012 数据集上对模型进行测试,实验结果表明 Graph-FCN 的性能优于原始 FCN 模型。

表 1:Graph-FCN 和 FCN-16s 的性能对比情况。

图 5:图像语义分割结果。第二列是 Graph-FCN 的结果,第三列是 FCN-16s 的结果,第四列是 ground truth。

分割 标注数据_另辟蹊径,中科院自动化所等首次用图卷积网络解决语义分割难题...相关推荐

  1. fcn网络训练代码_另辟蹊径,中科院自动化所等首次用图卷积网络解决语义分割难题...

    使用 CNN 处理图像问题已经是常规操作,但此类方法会造成局部位置信息的损失.如何解决这个问题呢?来自中科院自动化所和北京中医药大学的研究者另辟蹊径,提出用图卷积网络解决语义分割问题. 选自arXiv ...

  2. gcn语义分割_另辟蹊径,中科院自动化所等首次用图卷积网络解决语义分割难题...

    选自arXiv 作者:Yi Lu等机器之心编译参与:魔王.杜伟 使用 CNN 处理图像问题已经是常规操作,但此类方法会造成局部位置信息的损失.如何解决这个问题呢?来自中科院自动化所和北京中医药大学的研 ...

  3. 另辟蹊径,中科院自动化所等首次用图卷积网络解决语义分割难题

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 本文转载自:机器之心  |   参与:魔王.杜伟 作者:Yi Lu等   使用 C ...

  4. python工具方法 18 labelme语义分割标注数据批量转换为png

    本实例代码主要使用labelme.utils.shapes_to_label方法实现批量将将labelme的语义分割标注数据转换为图片,支持将标注保存为实例分割训练图.语义分割训练图.语义分割+原图效 ...

  5. Nature Communications: MOGONET使用图卷积网络集成多组学数据,允许患者分类和生物标志物识别

    Nature Communications: MOGONET使用图卷积网络集成多组学数据,允许患者分类和生物标志物识别 1. 论文简介 Wang T, Shao W, Huang Z, et al. ...

  6. RGCN - Modeling Relational Data with Graph Convolutional Networks 使用图卷积网络对关系数据进行建模 ESWC 2018

    文章目录 1 相关介绍 两个任务 main contributions 2 Neural relational modeling 2.1 符号定义 2.2 关系图卷积网络R-GCN 2.3 Regul ...

  7. gcn在图像上的应用_使用图卷积网络(GCN)做图像分割

    Title: Graph-FCN for image semantic segmentation 论文网址:https://arxiv.org/pdf/2001.00335.pdf 作者:Yi Lu1 ...

  8. 分割 标注数据_7种常用的数据标注工具

    工欲善其事,必先利其器. 标注工具是数据标注行业的基础,一款好用的标注工具是提升标注效率与产出高质量标注数据的关键. 常用的数据标注工具主要有以下几种:2D框.语义分割.多边形分割.点标注.线标注.视 ...

  9. c#split方法拆分为数据_【转载】C#使用Split函数根据特定分隔符分割字符串

    在C#程序开发过程中,很多时候可能需要将字符串根据特定的分割字符分割成字符或者List集合,例如根据逗号将字符串分割为数组,或者根据竖线将字符串分割成数组,C#中提供了Split()函数来快速将字符串 ...

最新文章

  1. 夜深深~帮别人做课程设计。。。
  2. 对11位手机号进行3-4-4格式化
  3. qt vs插件 qt-vsaddin下载
  4. 【完整目录】每天5分钟用C#学习数据结构
  5. JAVA进阶教学之(产生随机数)
  6. 我的YUV播放器MFC小笔记:右键菜单事件和非标题实现鼠标拖动
  7. 策略人员平常的工作都有哪一些?
  8. The 6 richest people in the world
  9. 如何使用wordnet
  10. React Mixin
  11. ubuntu定时清理内存脚本
  12. eclipse中文版官方下载
  13. 计算机最大化快捷键,最大化窗口快捷键,mac窗口最大化快捷键
  14. 青出于蓝而胜于蓝,这是一款脱胎于Jupyter Notebook的新型编程环境
  15. 华为机试真题 C++ 实现【叠积木】
  16. flt 转word 图片不全(已解决)
  17. R3.6.3下载 Rstudio下载及安装,网盘链接永久有效
  18. Verilog设计4位CLA加法器电路,并仿真测试
  19. transform(转换)
  20. 李沐《动手学深度学习》第二版 pytorch笔记1 环境搭建

热门文章

  1. 计算机自动启动无法开机,开机自启动被关闭,无法保护计算机安全,这是为啥。怎么办?...
  2. php catch e是什么,php try catch 中的catch(Exception $e) 中的Exception 有什么作用?
  3. SpringBoot 项目使用 SLF4J+logback 进行日志记录,来增强可维护性
  4. StringBuider 的效率一定高吗?要看你怎么使用
  5. 蓝桥杯练习系统习题-算法训练5
  6. Struts2中配置默认Action
  7. javascript的window.open()详解
  8. 算法--腾讯面试:单词游戏,谁会赢?
  9. 畅玩mt3单机游戏服务器维护,【梦幻西游】MT3仿端手工游戏服务端源码[教程+授权物品后台]...
  10. JavaScript快速上手入门