《Strip Pooling:Rethinking Spatial Pooling for Scene Parsing》论文笔记

代码地址:SPNet

1. 概述

导读:池化操作是在逐像素预测任务中获取较大感受野范围较为高效的做法,传统一般采取NNN*N的正规矩形区域进行池化,在这篇文章中引入了一种新的池化策略,就是使用长条形的池化kernel来实现池化,即是池化的核心被重新设计为N1,1NN*1,1*N,从而构建了strip pooling操作。这个操作的引入使得网络可以更加高效获取网络大范围感受野下的信息,在这个理念的基础上搭建了使用多个长条池化层构建的新模块Strip Pooling Module(SPM),Mixed Pooling Module(MPM)。文章中对这种新类型的池化与传统的池化方式进行比较,其在ADE20K与Cityscapes数据集下读表现除了较好的性能。

这篇文章提出在分割网络的池化操作上进行探究,讨论了传统方形卷积带来的问题,因而提出了使用长条形状的kernel进行替换,这样做带来两点好处:

  • 1)使用这种长条形的kernel可以极大增大感受野,从而可以使得那些相距较远的部分也能被网络捕获到;
  • 2)由于使用了长条形的kernel可以使得池化操作更加关注一片区域,从而避免常规kernel带来的无关信息引入;

文章的新模块的引入给分割带来的影响比较下图1中的结果,从上往下分别是:与原pooling感受野的对比,标注,基准分割结果,新分割结果。
《Strip Pooling:Rethinking Spatial Pooling for Scene Parsing》论文笔记
在文章提出的strip pooling基础之上设计了两个模块:

  • 1)Strip Pooling Module(SPM):这个模块在横向与纵向backbone的feature map上进行global pooling操作,在增大网络感受野的同时,之后使用它优化特征图;
  • 2)Mixed Pooling Module(MPM):文章除了对backbone部分进行优化之外还对backbone之上添加的模块进行了优化(使用文章的strip pooling);

2. 方法设计

2.1 Strip Pooling Module

对于传统的池化操作使用一个方形的运算kernel,而这篇文章是在特征图的宽高尺度上进行长条形的池化操作,即是池化的kernel大小为1H,W11*H,W*1,垂直与水平方向可以表示为:
yjv=1H0i<Hxi,jy_j^v=\frac{1}{H}\sum_{0\le i \lt H}x_{i,j}
yih=1W0j<Wxi,jy_i^h=\frac{1}{W}\sum_{0\le j \lt W}x_{i,j}
在得到上面的池化结果之后会将得到的特征使用一个1D的卷积进行调和,之后就是在各自的方向上进行扩展,使其与先前的特征图大小一致,再将两个特征图进行融合:
yc,i,j=yc,jh+yc,jvy_{c,i,j}=y_{c,j}^h+y_{c,j}^v
之后,经过sigmoid**与原特征图进行点乘得到最后的结果。因而整个的运算过程(SPM模块结构)见下图所示:
《Strip Pooling:Rethinking Spatial Pooling for Scene Parsing》论文笔记

2.2 Mixed Pooling Module

在实际中Pyramid pooling module(PPM)被证明在分割场景是一种高效的性能增强方式,但是原始的PPM是依赖于方格形状的池化kernel的,这样的kernel在上面也论述了其存在的问题,因而文章在PPM的基础上对其进行改进,改进的机理就是使用strip pooling去替换方形的池化kernel。

文章中提出的MPM模块(包含两个子网络,长依赖与短依赖)与之前的PPM模块进行比较有3点不同的地方:

  • 1)对于长依赖,这里使用文章的strip pooling操作去替换原有的global average pooling操作,下图所示;
    《Strip Pooling:Rethinking Spatial Pooling for Scene Parsing》论文笔记
  • 2)对于短依赖,这里使用轻量化的PPM模块进行设计,解决局部依赖问题,见下图所示;《Strip Pooling:Rethinking Spatial Pooling for Scene Parsing》论文笔记
  • 3)对于上面的两个模块,使用了shortcut连接的方式改动;

长短依赖对于性能的影响:
《Strip Pooling:Rethinking Spatial Pooling for Scene Parsing》论文笔记

3. 实验结果

PPM与MPM对性能带来的影响:
《Strip Pooling:Rethinking Spatial Pooling for Scene Parsing》论文笔记
PPM在backbone中添加位置对性能的影响:
《Strip Pooling:Rethinking Spatial Pooling for Scene Parsing》论文笔记