《Graph-FCN for image semantic segmentation》笔记

news/2024/5/20 9:33:18 标签: 语义分割, 图网络

Introduction

深度学习的语义分割方法使用卷积神经网络提取特征,这些特征因为下采样的原因损失了局部位置信息,而这些局部位置信息对于语义分割任务来说很重要。为了使特征保留局部位置信息,作者引入了Graph-FCN。作者首先使用语义分割网络的中间层特征层构造一个图网络模型,特征层的每个像素位置作为一个图节点,一个节点与它临近的节点连接。图网络模型传入GCN中,对图网络模型的每个节点进行分类,即把语义分割每个像素的分类问题转成图节点的分类问题。

看完论文后,我觉得奇怪的是,作者引入Graph-FCN的目的是构成额外了训练损失,提升网络的训练效果,Graph-FCN的输出结果在测试的时候并不会作为语义分割的结果。

作者会引入Graph-FCN的原因,首先是因为传统的语义分割方法是把图片当成一个图网络,然后切割图网络来实现语义分割。Graph-FCN有更加灵活的跳跃连接,不像卷积网络中上一层卷积层的一个像素只连接下一层卷积层的n×n个像素,Graph-FCN可以探索到图网络中不同节点间的关系。Graph-FCN的消息传播机制在节点间交换信息,每个节点的感受野变得更大。Graph-FCN的所有节点都不会消失,保证局部位置信息不会丢失。这些就是作者在论文中论述的Graph-FCN优点。

Method

FCN

Graph-FCN是基于FCN的,FCN的结果图如下。FCN输出3个特征层,分别是FCN-8s,FCN-16s,FCN-32s。使用FCN-16s得到的分割结果比使用FCN-8s得到的分割结果只低了0.3平均IoU,而且FCN-8s太大了,因此作者以FCN-16s为基准构造图网络模型。
FCN

Node

图网络模型的节点是由FCN输出的特征层组成的。作者选择FCN-16s和FCN-32s,首先把FCN-32s上采样,使得FCN-16s和FCN-32s宽高一样,接着两个特征层拼接成了一个通道数是S(S=FCN-16s通道数+FCN-32s的通道数)的大feature map。feature map的每个像素位置就是图网络模型的节点,每个节点的特征的长度是S。然后feature map reshape成 ∣ N ∣ × S |N| \times S N×S矩阵N, ∣ N ∣ |N| N表示节点的个数。

节点的构成方式如下图所示
node

Edge

在图模型中,边表示为相邻矩阵。作者假设每个节点只和最近的 l l l个节点相连。节点的特征信息可以通过连接的边在图网络中转移。

下图是一个描述图网络的感受野的例子。这里 l = 4 l=4 l=4,中心点只和上下左右4个点连接。考虑到在相关性上距离的影响,作者使用通过高斯核函数生成的权重相邻矩阵。具体是怎么生成的,可能需要参考其论文,我暂时不了解。
<a class=图网络感受野" />

Training

我看不懂图网络的训练过程,以后可能会回来补充完整。

训练的损失函数包括两个部分,分别是FCN的损失Loss1和通过图网络生成的输出的损失Loss2,如下图所示。作者说了,Graph-FCN的作用就是得到Loss2损失。

Graph-FCN

Experiments

实验用的是VOC2012的数据集。

Graph-FCN vs FCN-16s
Graph-FCN有略微的提升效果。


http://www.niftyadmin.cn/n/819504.html

相关文章

php mysql 查询判断周几

$where . " and (DAYOFWEEK( from_unixtime(px_time, %Y-%m-%d)) 1)"; //周日从1开始转载于:https://www.cnblogs.com/weiyiyong/p/7813133.html

《ResNeSt: Split-Attention Networks》笔记

Introduction NAS系列方法大大提升了图片分类的精度&#xff0c;但是这些NAS系列方法是基于特定任务搜索出来的网络结构&#xff0c;提取出来的特征泛化性不高。而且NAS系列模型的训练效率和内存使用效率不高。NAS系列模型消耗很多内存&#xff0c;有些大模型不能使用合适的ba…

2021美赛C题(大黄蜂传播规律和目击准确性研究)——赛题解读解题思路

2021美赛C题&#xff08;大黄蜂传播规律和目击准确性研究&#xff09;——赛题解读&解题思路赛题目的一.胡蜂预测模型二.目击准确性的深度学习模型2.1数据分析/预处理2.2问题解答三.模型评估四.模型优化五.建议模型赛题目的 赛题目的&#xff1a;预测胡蜂的传播规律&#…

如何杀掉一个用户下的所有进程并drop掉这个用户

如何杀掉一个用户下的所有进程并drop掉这个用户Copy the sample code below into a file named kill_drop_user.sql.Open SQL*Plus and connect as user SYS to your databaseSQL> CONNECT sys/change_on_installorcl AS SYSDBACreate a user called TEST with password TES…

Kaggle养成计

Kaggle养成计一.基础知识1.1解题流程1.2常见问题——搞懂原理三.案例实战——熟悉机器学习/深度学习项目流程项目1&#xff1a;三.过去比赛的项目实战——锻炼代码能力比赛1&#xff1a;Tweet Sentiment Extraction(情感提取)比赛相关知识点比赛2&#xff1a;Abstraction and R…

GCN深入浅出

如何理解 Graph Convolutional Network&#xff08;GCN&#xff09;&#xff1f;我主要参考知乎上这个回答。这个回答从热传播模型开始说起&#xff0c;介绍了图卷积网络和热传播模型的关系&#xff0c;说明了图卷积网络方法的一般思路。本博客重述了该回答的主要内容。 图卷积…

Kaggle木薯叶疾病银牌方案

Kaggle木薯叶疾病银牌方案 参考baseline: 1.[No TTA] Cassava Resnext50_32x4d Inference lb0.903 2.Clean_Inference_Kernel_8xTTA_LB902 3.Cassava-ensemble-(efnetb3-resnet50) #for efficientnet BATCH_SIZE 1 image_size 512 enet_type [tf_efficientnet_b4_ns] * 5 mo…

《Inductive representation learning on large graphs》笔记

Introduction 这篇论文介绍了一种图卷积网络(Graph convolution network)&#xff0c;该论文的图卷积方法很容易理解&#xff0c;没有涉及傅里叶变换。论文的出发点是为图中每个结点计算得到一个低维嵌入向量。已有的基于因式分解的嵌入方法直接为每个单独的结点训练结点的嵌入…