PSPNet

1. 出处

2017 CVPR

2. 核心思想

整体结构:
通过金字塔池化模块将全局上下文信息和PSPNet结合在一起

  1. 全局先验表示,对于场景解析任务是有效的
  2. PSPNet为像素级预测提供了更优秀的框架

3. 问题

已有的语义分割方法(按这篇文章来说的话,叫做场景解析,scene parsing),无法解决以下问题:FCN把船错分成了汽车,这是由于一些物体有相似的外观。但如果基于先验context来看这张图片的话,就能进行正确预测。

当前基于FCN的模型最大的问题在于缺乏合适的策略来利用全局场景类别信息。

总结起来,FCN具有以下弊端:

  • Mismatched Relationship 不匹配的关系

    比如飞机和路不匹配,但飞机和跑道和天空匹配;车和河不匹配

  • Confusion Categories 易混淆的类别

    对于ADE20K数据集,易混淆的类别有:

    field, earth
    mountain, hill
    wall, house, building, skyscraper

    老练的标注者进行预测尚且会出错,更何况计算机。所以需要利用类别间的关系去进行预测,因为这些易混淆类别是互斥的,所以只能是其中一种类别。

  • Inconspicuous Classes 不显眼的类别

    场景包括的物体类别大小是任意的,小物体,比如招牌、路灯很难发现。大物体会超出FCN的感受野,导致不连续的预测。为了提高显著的小物体和大物体的表现,我们需要更注意不同的次区域包含不显著的物体。

之前用于获取全局image-level特征的复杂场景理解方法,是spp。

与上述方法不同,为了合并合适的全局特征,我们提出了PSPNet
在这里插入图片描述

4. 解决方案

不同于已有方法(spp),为了结合合适的全局特征,我们提出了PSPNet。除了传统的dilated FCN用于像素级预测,我们扩展像素级特征到特殊设计的全局金字塔池化。这种局部和全局信息结合使得最终的预测结果可信度更高。

还提出了一种优化策略:使用有监督损失

5. 模型结构

在这里插入图片描述
ParseNet是成功将全局平均池化用于语义分割,但这个策略不足够用来覆盖必要的信息。因为场景图片中包含很多物体,直接混合信息的话产生一个一维向量的话,会损失全局关系并造成混淆。

金字塔池化生成的不同维度的特征图最终会被flatten然后concat,喂入全连接层,用于分类。为进一步减少不同子区域之间的上下文信息损失,作者提出了一个分层全局prior,包含不同尺寸的信息,而且不同子区域之间不同。叫作金字塔池化模块

金字塔池化模块混合4种不同金字塔尺度的特征。

  • 红色的最粗糙的level是全局池化,生成单维输出。
  • 下边的维度都是将特征图分成不同的子区域,在不同位置形成池化表示。

为了维持全局特征的权重,在每一个金字塔维度之后使用1x1卷积,将上下文表示降维。对低维特征图使用双线性插值进行上采样,得到和原始特征图相同大小的特征图。

4个维度大小分别为1x1,2x2,3x3,6x6,池化操作的类型在最大和平均中进行选取。

4个维度的金字塔,相当于池化核覆盖整张图片(1x1),覆盖一半(2x2),以及更小的划分(3x3, 6x6),将4个全局prior和原始特征图拼接,再经过卷积,得到票最终预测图。

6. 基于Resnet的FCN深度监督

深度Resnet的后几层主要基于前面的层学习residues。

作者提出利用额外损失的监督生成初始结果,因此深度网络的优化解耦成两部分。
在这里插入图片描述
除了主分支使用softmax损失函数来训练最终的分类器,另一个分类器在第4个阶段后。让两部分损失向所有浅层反向传播。

7. 启发

全局平均池化可用于获取全局上下文信息,常用在图像分类任务中

  • 对于某些复杂的数据集,如ADE20K,全局平均池化无法覆盖必要的信息,这些像素是根据物体来进行标注的,直接混合,得到一个单独的向量的话会损失空间关系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值