Gated-SCNN: Gated Shape CNNs for Semantic Segmentation论文笔记

article/2025/10/2 3:55:28

论文介绍

作者认为之前的semantic segmentation的工作将所有信息都放入到了CNN的网络之中(这其中包含了颜色、边界、纹理等信息),这不太理想,所以作者在regular stream的基础之上增加了一个shape stream的分支,通过利用门控卷积来控制使得shape stream这条分支中只包含边界的信息。

摘要

目前最先进的图像分割方法形成了一种密集的图像表示,其中的颜色、形状和纹理信息都是在深度 CNN 中一起处理的。然而,这可能不理想,因为它们包含与识别相关的非常不同类型的信息。

文章中提到,在图像分割领域,直接通过常规的卷积神经网络处理,会将颜色、纹理等信息一块处理,从这里面提取我们所需要的信息非常少。

我们提出了一种用于语义分割的新的双流CNN架构,其将形状信息显式地称为单独的处理分支,即形状流,其处理信息与经典流平行。

GSCNN模型结构图

这种架构的关键是一种连接两个流中间层的新型门。具体来说,我们使用经典流中的高级激活对形状流中的低级激活进行门化,有效地去除噪声,帮助形状流只专注于处理与边界相关的信息。

作者提到,我们使用非常浅的结构(shape stream),在对象边界周围产生了更精确的预测,并显著提高了对较薄和较小目标的性能。在Cityscapes数据集上,相比于其他的模型,作者的模型取得了一流的性能。

1. 介绍

语义图像分割是计算机视觉中最广泛研究的问题之一,卷积神经网络已经使所有的主要分割基准的精度显著提高。一种标准的做法是通过将完全连接的层转换为卷积层,使图像分类 CNN 架构适应于语义分割的任务。一个突出的缺点是由于池化层的使用导致输出的空间分辨率下降。一部分人已经提出专门的CNN模块,帮助恢复网络输出的空间分辨率。

作者认为,在结构设计中也存在内在的低效,因为颜色、形状和纹理信息都是在一个深层次的CNN中一起处理的。这些信息可能包含与识别相关的非常不同的信息量。例如,可能需要查看完整和详细的目标边界才能得到形状的区分编码,而颜色和纹理包含相当低级别的信息。

我们提出了一种新的用于语义分割的两流 CNN 结构,它将形状信息显式地连接为一个单独的处理分支。我们将经典的 CNN 保持在一个流中,并添加处理信息的所谓的并行形状流中。我们明确地不允许两个流之间的信息融合,直到最顶层。

2. 相关工作

2.1 语义分割(Semantic Segmentation)

目前最先进的语义分割方法主要是基于CNN的。

我们对边界映射进行了预测,以提高分割性能。与[6]使用边缘信息改进网络输出相反,我们将学习到的边界信息注入中间CNN层。此外,我们还提出了一个专门的网络体系结构和一个双任务正则化来获得高质量的边界。

介绍了一些前人做过的一些工作,在网络输出上使用结构化预测模块等。从而引出下面自己的创新点以及与其他人的区别。

PSPNet和DeepLab提出了一个特征金字塔池模块,该模块通过在倍数尺度上聚合特征来整合多尺度上下文。与我们相似的是,提出了两个流网络,但是,在它们的情况下,第二个流的主要目的是恢复与池层一起丢失的高分辨率特性。在这里,我们明确指定第二个流来处理与形状相关的信息。

其他人也提出了与作者相似的双流模型结构,但是作用不同。

2.2 多任务学习(Multitask Learning)

一些工作还探讨了将网络结合到互补任务中的想法,以提高计算机视觉任务的学习效率、预测精度和泛化能力。例如,[45,39,27,26,28]的工作提出了使用多任务损失学习共享表示的统一架构。我们的主要目标不是训练多任务网络,而是实施一种利用分割和边界预测任务之间的二元性的结构化表示同时学习分割和边界检测网络,而[31,40]学习边界作为辅助分割的中间表示。与这些工作相反,语义和边界信息只在损失函数时相互作用,我们将边界信息显式地注入到分割cnn中,并提出了一个双任务损失对语义掩码和边界预测进行细化的损失函数

2.3 门控卷积(Multitask Learning)

最近关于语言建模的工作也提出了在卷积中使用门机制的思想。例如,[14]建议用门控时间卷积替换递归网络中通常使用的递归连接。另一方面,提出了自由图像修复采用软选通机制的卷积,[46]提出了条件图像生成的门控像素cnn(门控像素cnn)。另一方面,提出了 Free-Form Image Inpainting采用 soft-gating 机制的卷积,[46]提出了条件图像生成的 Gated PixelCNN。在这种情况下,我们使用门控卷积算子进行语义分割,并定义形状和常规流之间的信息流

3. Gated Shape CNN

如下图所示,我们的网络由两个网络流和一个融合模块组成。网络的第一个流 (“regular stream”) 是标准分割CNN,第二流 (“shape stream”) 以语义边界的形式处理形状信息。我们通过仔细设计的门卷积层(GCL)和局部监控,对形状流进行处理,只处理边界相关信息。然后,我们将常规流中的语义区域特征和形状流中的边界特征进行融合,以获得精确的分割结果,尤其是围绕边界的分割结果。


网络一共分三个模块:Regular Stream,Shape Stream,Fusion Module。

Regular Stream:作者选择用ResNet或WideResNet的预训练模型,输入为原图像 I,输出的结果相对输入图像尺寸下采样m倍。

Shape Stream: 输入为图像梯度和regular stream第一个卷积块的输出。通过门控卷积层来控制其只传输boundary相关的信息,定义shape stream的输出为 s∈R^H*W,对该模块的监督使用 binary cross entropy loss(ground truth 可以通过semantic segmentation masks来获得)。

在这里插入图片描述

ASPP(补充)

ASPP(Atrous Spatial Pyramid Pooling),空洞空间卷积池化金字塔。简单理解就是个至尊版池化层,其目的与普通的池化层一致,尽可能地去提取特征。ASPP 的结构如下:
在这里插入图片描述

如图所示,ASPP 本质上由一个1×1的卷积(最左侧绿色) + 池化金字塔(中间三个蓝色) + ASPP Pooling(最右侧三层)组成。而池化金字塔各层的膨胀因子可自定义,从而实现自由的多尺度特征提取。

空洞卷积的rate到底是什么?
1
链接: 图片引用于

卷积过程示意见下,如图是依次经过普通卷积,空洞率为2和空洞率为4对应的感受野范围。

2
链接: 图片引用于

3.1 Gated Convolutional Layer

由于估计语义分割和语义边界的任务密切相关,我们设计了一种新的 GCL 层,以方便信息流从常规流流向形状流。GCL是我们体系结构的核心组件,帮助形状流只通过过滤其他信息来处理相关信息。请注意,形状流不包含常规流的特性。相反,它使用GCL 来禁用它自己的激活,这些激活被常规流中包含的更高级别的信息认为是无关的。人们可以认为这是两个流之间的协作,其中功能更强大的流已经形成了对场景的更高层次的语义理解,帮助另一个流只关注于 相关部分自开始。这使得形状流能够采用有效的浅层结构,以非常高的分辨率处理图像。
我们在两个流之间的多个位置使用 GCL 。 令 m 表示位置的数量, t ∈ 0 , 1 , m是一个运行索引, r t 和st表示我们使用 GCL 处理的相应常规流和形状流的中间表示。应用 GCL,我们首先通过连接 rt 和 st,然后是归一化的1×1卷积层 ,然后是Sigmoid函数σ,得到一个注意图 :

在这里插入图片描述
然后将 在这里插入图片描述传递到形状流中的下一层以供进一步处理。注意,注意力映射计算和门控卷积都是可微的,因此反向传播可以执行端到端。直观地说,α也可以被看作是一种用重要的边界信息加权更重区域的注意图。在我们的实验中,我们使用三个 GCL 并将它们连接到常规流的第三层、第四层和最后一层。如果需要的话,使用双线性插值来对常规流中的特征映射进行上采样。

根据GCL公式得到的数据流图:

在这里插入图片描述

代码中的数据流:

在这里插入图片描述

3.2. Joint Multi-Task Learning

我们以端到端的方式与融合模块一起学习规则流和形状流。我们在训练期间共同监督分割和边界图预测。这里,边界图是场景中对象和填充类的所有轮廓的二进制表示(图6)。
在这里插入图片描述

我们在预测的边界图 s上使用标准二进制交叉熵(BCE)损失,并且使用预测的语义分段 f 上的标准交叉熵(CE)损失:

在这里插入图片描述

3.3 Dual Task Regularizer

如上所述,p ( y | r, s )∈表示融合模块的分类分布输出。在这里插入图片描述表示特定像素是否属于输入图像 i 中的语义边界的潜力。它是通过在分割输出上取一个空间导数来计算的,如下所示:

在这里插入图片描述

在这里插入图片描述包含ζ和ˆζ中所有非零像素坐标的集合.直观地,我们希望确保边界像素在与GT边界不匹配时受到惩罚,并避免非边界像素影响损失函数。指出上述正则化损失函数利用了边界空间中边界预测和语义分割之间的对偶性。同样,我们可以使用来自形状流 在这里插入图片描述的边界预测,以确保二进制边界预测 s 和预测语义 p(y|r,s)之间的一致性:

在这里插入图片描述

p 和 k 分别在所有图像像素和语义类中运行,在这里插入图片描述对应于指示符函数, thrs 是置信阈值,我们在实验中使用0.8。总的双任务调整器丢失函数可以被写入为:

在这里插入图片描述

3.3.1 Gradient Propagation during Training

为了等式 7 反向传播,我们需要计算等式 4 的梯度。 g = || . ||,关于给定参数 η 的偏导数可以计算如下:

在这里插入图片描述

4.Experimental Results

定性分割结果
Qualitative Segmentation Results
图 7:我们的方法在 Cityscapes 测试集上的定性结果。图显示了预测的分割掩码。
定性语义边界结果
Qualitative Semantic Boundary Results
图 9:Cityscapes 测试集上的定性结果显示了我们预测分割掩码的高质量边界。通过找到预测分割掩码的边缘来获得边界。
在这里插入图片描述
表 1:Cityscapes val 集上 IoU 与最先进的基线的比较。
表 2:在 Cityscapes val 集上的边界 F 分数方面,不同阈值的比较与基线。
Quantitative Results

在这里插入图片描述
Evaluation at different distances, measured by crop factor.
图 5:基于距离的评估:不同作物因素的 mIoU 比较。

5. Conclusion

本文提出了一种新的两流CNN语义分割结构–门控-SCNN(GSCNN)。我们采用了一种新的选通机制来连接中间层,并利用语义分割和语义边界预测任务之间的二重性,提出了一种新的损失函数。我们的实验表明,这导致了一种高效的体系结构,在对象边界周围产生了更精确的预测,并大大提高了对较薄和较小对象的性能。 我们的体系结构在具有挑战性的 Cityscapes 数据集上取得了最先进的结果,大大改善了强大的基线.

总结

在这里插入图片描述

网络结构如上图所示,regular stream可以是任何前向全卷积网络,如Resnet-101,WideResNet等。Shape stream是一系列1 × 1卷积,残差块和GCL(Gated Conv Layer)的组合,该分支的输入包含两项,原始图像梯度和regular stream分支的第一个卷积层输出(应该指的是Resnet中的第一个stage输出)。门控卷积层实际上可以看成是一种注意力机制,可以根据regular stream的高层次信息去指导shape stream集中在边界部分(edge bce loss才是驱动力),然后ASPP在多尺度上融合两个分支输出的特征图,最后输出语义分割图。上图的edge bce loss是局部监督损失,监督的是shape stream还没送到ASPP前的边界概率图,segmentation loss是交叉熵损失(CE loss),监督最终输出语义分割图,更新包括ASPP的所有参数,dualtask loss是双任务的正则化损失,基于边界预测和边界区域语义分割的二元性和边界预测和语义预测的一致性思想设计。


http://chatgpt.dhexx.cn/article/wjX4qvXk.shtml

相关文章

【t-SNE可视化CNNs特征向量-代码】

t-SNE可视化CNNs特征向量-代码 本博客主要是自己学习记录,参考网络,欢迎指正 整体代码 ModelPath是存放训练好的模型参数的路径 DatasetPath是存放数据集的文件夹的路径,其中不同类别放在不同的子文件夹里也可以参考【t-SNE可视化-代码】 …

CNNs: AlexNet补充

CNNs: AlexNet的补充 导言对AlexNet模型进行调整模型不同层的表征其他探索总结 导言 上上篇和上一篇我们详细地讲述了AlexNet的网络结构和不同超参数对同一数据集的不同实验现象。 本节,我们就AlexNet的一些其他相关问题进行解剖,如修改AlexNet参数量调…

深度学习-浅谈CNNs

偶尔看到了这篇文章,感觉作者写的很容易理解,对于初步认识CNNs有很大的帮助,若想查看原文,请点击此处。 关于神经网络的学习方法,总结起来的要点有以下几点: BP算法 激励函数正则化与交叉验证等其他防止过…

【GSCNN】GSCNN:Gated Shape CNNs for Semantic Segmentation论文记录

目录 简单不看版: 摘要 一、介绍 二、相关工作 三、Gated Shape CNN 代码 四、实验 五.总结 论文:https://arxiv.org/abs/1907.05740 代码:GitHub - nv-tlabs/GSCNN: Gated-Shape CNN for Semantic Segmentation (ICCV 2…

CNNs和视觉Transformer:分析与比较

探索视觉Transformer和卷积神经网络(CNNs)在图像分类任务中的有效性。 图像分类是计算机视觉中的关键任务,在工业、医学影像和农业等各个领域得到广泛应用。卷积神经网络(CNNs)是该领域的一项重大突破,被广…

你应该知道的9篇深度学习论文(CNNs 理解)

当时看到英文的博客,本想翻译给感兴趣的同学们看看,没想到已经有人翻译,于是进行了转载,留给自己和更多的人学习,本文仅供参考。 英文博客:https://adeshpande3.github.io/adeshpande3.github.io/The-9-Dee…

【神经网络】CNN

CNN工作原理笔记 卷积神经网络定义卷积运算池化激活函数全连接反向传播算法其他应用延伸知识 首先放个学习视频链接: 大白话讲解卷积神经网络工作原理. 卷积神经网络定义 CNN其实就相当于黑箱,有输入有输出 输入:二维像素阵列 输出:判决结果…

CNN+RNN

CNN,RNN(recurrent, 下同)结合到一起可以建立一个更好的model 1. CRNN(先CNN,后RNN) References: An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition 一般用于基…

CNNs: ZFNet之CNN的可视化网络介绍

CNNs: ZFNet之CNN的可视化网络介绍 导言Deconvnet1. Unpooling2. ReLU3. Transpose conv AlexNet网络修改AlexNet Deconv网络介绍特征可视化 导言 上一个内容,我们主要学习了AlexNet网络的实现、超参数对网络结果的影响以及网络中涉及到一些其他的知识点&#xff0…

吊炸天的CNNs,这是我见过最详尽的图解!(上)

导读:卷积神经网络(CNNs)在“自动驾驶”、“人脸识别”、“医疗影像诊断”等领域,都发挥着巨大的作用。这一无比强大的算法,唤起了很多人的好奇心。当阿尔法狗战胜了李世石和柯杰后,人们都在谈论“它”。但…

深度学习—CNN

CNN简介 卷积神经网络 – CNN 最擅长的就是图片的处理。它受到人类视觉神经系统的启发。 CNN 有2大特点: 能够有效的将大数据量的图片降维成小数据量能够有效的保留图片特征,符合图片处理的原则 目前 CNN 已经得到了广泛的应用,比如&…

吊炸天的CNNs,这是我见过最详尽的图解!(下)

【摘要】本文详细介绍了卷积神经网络的运行原理,特别是池化、全连接等过程。为了使大家更快、更轻松的入门,文章没有晦涩难懂的术语和公式,全部采用“图形”的方式来描述。文末的延展阅读部分,更加入了彩色图片卷积原理的手工演算…

CNNs:ZFNet之基于AlexNet特征可视化实验分析

CNNs:ZFNet之基于AlexNet特征可视化实验分析 导言基于AlexNet网络的实验分析实验一:不同卷积层特征提取分析实验二:不同卷积层提取特征收敛分析 ZFNet网络介绍基于ZFNet网络的实验分析实验三:针对AlexNet特征提取改善可视化实验四:特征不变性…

CNN详细学习

前馈神经网络 MLP:multi-layer percetron Feed Forward and Back error propagation解决异或划分问题 缺点: 容易过拟合容易陷入局部最优化梯度消失计算资源不充分,训练集小 DNN 深一点效果好,宽一点容易理解,发现…

CNNs 入门论文汇总

Introduction 本文主要总结了卷积神经网络在机器视觉领域的重要发展及其应用。我们将介绍几篇重要的公开发表的论文,讨论它们为何重要。前一半的论文(AlexNet到ResNet)将主要涉及整体系统架构的发展和演变,后一半论文将主要集中在…

论文阅读和分析:《DeepGCNs: Can GCNs Go as Deep as CNNs?》

下面所有博客是个人对EEG脑电的探索,项目代码是早期版本不完整,需要完整项目代码和资料请私聊。 数据集 1、脑电项目探索和实现(EEG) (上):研究数据集选取和介绍SEED 相关论文阅读分析: 1、EEG-SEED数据集作者的—基线论文阅读和…

Gated-SCNN: Gated Shape CNNs for Semantic Segmentation

目录 作者 一、Model of Gated-SCNN 二、 Gated Shape CNN 1.Regular Stream 2.Shape Stream 3. Gate Conv Layer 4.ASPP 5 总代码 三 损失函数 1.BoundaryBCELoss 2.DualTaskLoss 作者 一、Model of Gated-SCNN 文章使用了双流CNN来处理语义分割中的边界问题,分为R…

(整理)吊炸天的CNNs,这是我见过最详尽的图解!(下)

之前在CSDN上看到这篇文章,觉得通俗易懂,写的非常好。不过近来再次查看,发现文章的照片莫名其妙的没有了,没有图就根本看不懂了。找到了之前关注的微信公众号:AI传送门 。 在里面找到了这篇文章,决定再把这…

CNNs详尽图解

已经成为每一个初入人工智能——特别是图像识别领域的朋友,都渴望探究的秘密。 本文通过“算法可视化”的方法,将卷积神经网络的原理,呈献给大家。教程分为上、下两个部分,通篇长度不超过7000字,没有复杂的数学公式&a…

学习笔记:利用CNNs进行图像分类

1.神经网络图像(CNNs)分类简介 本文将重点关注卷积神经网络,也被称为CNNs或Convnets。CNNs是一种特殊类型的神经网络,特别适合于图像数据。自2012年以来,ImageNet竞赛(ImageNet)一直由CNN架构赢得。 在本文中&#x…