PSP-Net学习笔记

PSP-Net学习笔记

FCN的主要问题在于其缺失了合适的策略来使用全局场景类别的线索。

本文通过扩展像素级的特征到全局金字塔池化特征,使得全局和局部的信息融合。

PSP-Net的主要贡献

  1.  提出了金字塔场景解析网络
  2.  基于深度监督loss设计了一个有效的优化策略
  3.  性能达到最优

相关工作

受深度神经网络驱动,场景解析和语义分割这样的像素级预测任务取得了很大的进展。为了扩大网络的感受野,有些文章使用了空洞卷积、带有反卷积的coarse-to-fine等方法。本文的baseline是FCN和DeepLab v1。

多尺度特征融合

网络越深越靠近语义信息,而位置信息包含较少。结合多尺度的特征图,可以提高性能。

基于结构进行预测

例如使用条件随机场(CRF)进行后处理,对分割结果进行细化。

FCN中出现的问题

1.错误的关系匹配(Mismatched Relationship)

第一行的图像中,FCN将船识别成了汽车。。。缺乏收集上下文信息的能力增加了错误分类的可能性。

2.类别混淆(Confusion Categories)

第二行图像中,FCN对大厦的边界识别错误。ADE20K数据集中有许多类标签对十分难以区分。比如field和earth;mountain和hill;wall, house, building和skyscraper。这几对物体的外表十分相似。在图2的第二排,FCN将框中的对象一部分预测为了摩天大楼,一部分预测为了建筑。我们并不期望出现这种情况,整个对象应该是摩天大楼或建筑,但不应该是两者各有一点。此问题可以通过类别之间的关系来解决。

3.难以识别不显著的分类(Inconspicuous Classes)

场景中往往包含任意大小的对象/东西。一些小尺寸的东西,如街灯和广告牌往往很难找到,但有时它们可能很重要。相反,大型的对象可能会超过FCN的感受野,从而导致不连续的预测。第三行图像中,由于枕头和床单纹理颜色相近,所以枕头的分类FCN完全没有识别出来

金字塔池化模块

金字塔池化模块是一种有效的全局上下文先验模型。

在深度神经网络中, 感受野的大小可以粗略表示使用上下文信息的程度

全局平均池化

全局平均池化是一个很好地可以作为全局上下文先验知识的baseline,他在图像分类网络中很常用。

但是对于复杂场景,这种方式不能很好地涵盖必要信息。这些场景中的像素可能标注到多个物体。直接将其融合成一个向量,会造成空间信息的丢失,造成模糊。

一个强大的表达应该是能融合不同区域的信息和感受野的。

 金字塔池化

金字塔池化模块可以融合四种不同金字塔尺度的特征

  • 红色突出显示的是最粗糙级别的单个全局池化bin输出
  • 下面的金字塔分支将特征映射划分为不同的子区域,并形成针对不同位置的集合表示
  • 金字塔池化模块中不同级别的输出包含不同大小的特征映射
  • 为了维护全局特性的权重,如果金字塔共有N个级别,则在每个级别后使用1×1卷积,将对应级别的通道数量降为原本的1/N
  • 然后通过双线性插值直接对低维特征图进行上采样,得到与原始特征映射相同尺寸的特征图
  • 最后,将不同级别的特征concate起来,作为最终的金字塔池化全局特性

金字塔层级的数量和每一层的大小都可以进行调整

  • 尺寸大小与输入金字塔池化层的特征映射的大小有关
  • 该结构通过在几个stride中进行不同尺寸的池化来对不同的子区域实现抽样
  • 因此,从表示性上来看,多个层级的核尺寸应该保持合理的差距

我们的金字塔池化模块是一个四层结构,bin大小为1×1,2×2,3×3和6×6。

参考:https://zhuanlan.zhihu.com/p/42719930

深度监督loss

经过深度预先训练的网络能带来良好的性能,然而,网络深度的增加可能会带来额外的优化难度。

 

图4为深入监督ResNet101模型的例子

  • 除了使用Softmax loss来训练最终分类器的的主分支外,在第四阶段后再使用另一个分类器,即res4b22残差块
  • 两个loss同时传播,通过各自前面所有层
  • 辅助loss有助于优化学习过程,主loss仍是主要的优化方向。增加权重,以平衡辅助loss

在测试阶段,放弃辅助分支,只使用优化好的主分支来进行最终的预测。这种对基于ResNet的FCN进行深度监督的训练策略在不同的实验环境下是非常有用的,与预训练的ResNet模型也可以很好结合。体现了这种学习策略的普遍性。​​​​​​​

发布了85 篇原创文章 · 获赞 17 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/lun55423/article/details/105116058
psp