Pyramid Scene Parsing Network

论文地址:https://arxiv.org/pdf/1612.01105.pdf
代码地址:https://github.com/hszhao/PSPNet

1. Pyramid Pooling Module

1. 提出原因
   全局平均池化很好的被应用到分割任务上,但是对于复杂的ADE20K数据集,它不能覆盖足够的图片信息。直接混合他们形成一个向量会丢失空间相关性和引起二义性。
2.金字塔池化模块
  在不同级的金字塔池化产生的特征图最后被展开并连接然后输到全连接层分类,这个全局先验知识就是为了去除固定尺寸的CNN限制对于图片分类。为了去除不同子区域之间的上下文信息损失,本文采用层级的全局先验知识,包含不同尺度不同区域的信息,这个结构就叫金字塔池化模块。

Pyramid Scene Parsing Network_第1张图片
image.png

  该模块融合了4种不同金字塔尺度的特征,第一行红色是最粗糙的特征–全局池化生成单个bin输出,后面三行是不同尺度的池化特征。为了保证全局特征的权重,如果金字塔共有N个级别,则在每个级别后使用1 x 1的卷积将对于级别通道降为原本的1/N。再通过双线性插值获得未池化前的大小,最终concat到一起。
   这个结构抽象出了不同子区域通过采用不同尺寸的池化核,我们的金字塔池化模块采用了四级尺寸分别是:1x1,2x2,3x3,6x6,池化类型有平均和最大池化。为了减小维度和位置全局特征的权值,在每一行使用一个1×1 卷积层。接着使用双线性插值,使其和原始特征图尺寸一样大小。最后和原始特征图组合起来。

2. Network Architecture

1. 基于Resnet
  使用预训练的ResNet模型,其中使用了空洞卷积策略提取特征,这个最终的特征图尺寸是原输入的1/8。PSPNet没有增加任何代价相比于原始的空洞FCN网络,这个全局金字塔池化模块和这个局部FCN特征可以被同时优化。

3. Deep Supervision for ResNet-Based FCN

Pyramid Scene Parsing Network_第2张图片
image.png

  除了主分支使用softmax loss去训练最终的分类器,另一个分类器应用在第四个阶段the res4b22 residue block。辅助的loss帮助优化这个学习过程,主分支loss起主要作用,增加权重去平衡这个辅助loss.后面证明这样可以快速的收敛。但是在测试阶段仅仅使用主分支去预测。因为更深的网络容易出现梯度消失,所有增加一个辅助loss,可以避免梯度传播消失。

4.训练

  学习率采用迭代下降,initial_lr=0.01和power=0.9,Momentum=0.9, weight decay=0.0001通过增加迭代次数可以提高性能,数据增强,随机翻转、尺寸在0.5到2之间缩放、角度在-10到10之间旋转、随机的高斯滤波。辅助loss采用0.4的权重。只在解码网络中的最后一个卷积层之前有一层dropout,drop rate为0.1

你可能感兴趣的:(Pyramid Scene Parsing Network)