语义分割源代码_语义分割之Gated-SCNN

Gated-SCNN论文介绍了two-stream CNN架构,用于处理图像分割中的颜色、形状和文本信息。shape stream专注于边界信息,而regular stream类似传统CNN。网络包含Resnet等作为主干的regular stream和由GCL组成的shape stream,通过ASPP进行多尺度融合。GCL的设计使得shape stream仅处理边界相关数据,利用本地监督实现这一目标。误差函数结合BCE和CE,通过正则化项防止过拟合。文章还探讨了GCL的工作原理,其核心是帮助shape stream过滤不相关信息。
摘要由CSDN通过智能技术生成

2a9266d7f5169b754d71989d6532cecf.png

;嘿嘿嘿,昨天抽空又读了一篇,读完这篇我得去看源码了,fighting!!!

论文:Gated-SCNN: Gated Shape CNNs for Semantic Segmentation(2019年滴)

一.Abstract

图像分割的数据集包括颜色,形状和文本信息,但是现存的最优的网络架构都是将所有信息直接输入给网络,但由于数据集的形式是多样的,所以这样的处理当然不是最佳的。所以这篇文章就提出two-stream CNN架构,让它们去处理不同的信息。two-stream包括shape stream 和regular stream,二者处理的侧重点 不同,shape stream处理的是和边界相关的信息,regular stream和之前CNN的架构是相似的,二者是并行的,是相互协作的关系。接下来介绍一下其网络架构。

二.网络架构

e8023b27aa1469b6ab71a74df855d084.png
图1.Gated-SCNN

从图1就可以看到该网络有two-stream,分别是regular stream和shape stream。regular stream可以是任意的主干架构,如Resnet-50,Resnet-101,WideResnet等。而regular stream是一系列残差和GCL(Gated Conv Layer)的组合,且其输入有两个,分别是regular stream第一层的输出和原图的梯度。其后,ASPP会以多尺度融合的方式结合二者输出特征图信息,最后输出两个损失函数,其中用二交叉熵预测边界图的损失函数(dualtask loss),用标准交叉熵预测语义分割(segmentation loss)。注意:该网络包含两个输入,即原图和原图的梯度。

三.细节分析

如何让shape stream只处理和边界相关的信息?

本文的方法就是精心设计GCL结构且利用本地监督来让shape stream只处理和边界相关的信息。GCL的目的就是确保该部分只处理和边界相关的信息,具体GCL为什么可以达到这个目的可以接下来再说。

多任务学习的误差函数长啥样?

938af797a420f52dfc8874af52248522.png

该误差函数包括BCE(binary cross entropy)和CE(cross entropy)。λ1,λ2是二者的权重。加帽s是预测的真值边框,加帽y是预测的真值语义标签。注意:如图1所示,BCE监督的是shape stream还没有送到ASPP前的边界图!所以BCE更新的是two-stream的参数,而CE更新的是所有的参数,包括ASPP滴。

dual task regularizer? (双任务的正则化)

最后的输出结构是得到two-stream的误差函数,为了不过拟合,在误差函数中依旧加入正则化项。输出代表某个pixel是否属于某张图片的某个类别,它可以由输出图片的空间倒数计算得到:

34e23844dae3005b64d695132b57bc98.png

当然,数据集中会存在一个真值,真值和预测值之间的差的绝对值可以用来当正则化项,其中P+代表的是真值和预测值二者非零pixel的坐标:

f73de464acc819fd202a42e688d4ed1c.png

就经验来说,我们肯定是希望在和边界真值之间存在差异的pixel被惩罚,而避免不是边界的pixel被惩罚。所以在上面的正则项中利用的是边界预测和在边界区域的语义分割的二元性。

和上面分析相似,我们利用来自shape stream的边界预测去确保边界预测和预测的语义之间的额连续性(也存在一些小问题,过后知晓更新):

028d4ef84152d1b99d5f326e6ce7d477.png

最后的正则化项可以前二者合二为一,其中的λ3,λ4都是超参数:

6a4abbeb98d21a69cdc71225d347194b.png

GCL(gated convolutional layer)?

GCL是本架构的一个核心成分,帮助shape stream只处理和边界相关的信息而滤除其他的信息。且要注意的一点就是shape stream并不会整合来自regular 的信息。

在论文中,是将不同层的regular stream和shape stream的特征图进行concatenate,然后通过1x1的标准卷积,最后通过sigmoid函数得到attenion map。如下图所式,其中||就是concatenate操作!:

abb36fbb277402d7b8f246e25d24c379.png

得到attention map之后,GCL用于将shape stream的输出特征图st和attention map (at)的元素点积,卷积之后通过一次残差网络且通道加权值为wt,最后GCL计算如下所示:

dcd3bb8047abec86aaedd795aa56d43d.png

注意:α可以被当做是attention map,它用很重要的边界信息去给区域进行加权!(这个后期看代码会了再来补充哈!)

至此,该网络的小心思好像差不多了,再细节的地方估计还是得啃代码!看完我肯定还得做笔记!待续.......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值