代码地址:SPNet

1. 概述

导读:池化操作是在逐像素预测任务中获取较大感受野范围较为高效的做法,传统一般采取N∗NN*NN∗N的正规矩形区域进行池化,在这篇文章中引入了一种新的池化策略,就是使用长条形的池化kernel来实现池化,即是池化的核心被重新设计为N∗1,1∗NN*1,1*NN∗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基础之上设计了两个模块:

  • 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大小为1∗H,W∗11*H,W*11∗H,W∗1,垂直与水平方向可以表示为:
yjv=1H∑0≤i<Hxi,jy_j^v=\frac{1}{H}\sum_{0\le i \lt H}x_{i,j}yjv​=H1​0≤i<H∑​xi,j​
yih=1W∑0≤j<Wxi,jy_i^h=\frac{1}{W}\sum_{0\le j \lt W}x_{i,j}yih​=W1​0≤j<W∑​xi,j​
在得到上面的池化结果之后会将得到的特征使用一个1D的卷积进行调和,之后就是在各自的方向上进行扩展,使其与先前的特征图大小一致,再将两个特征图进行融合:
yc,i,j=yc,ih+yc,jvy_{c,i,j}=y_{c,i}^h+y_{c,j}^vyc,i,j​=yc,ih​+yc,jv​
之后,经过sigmoid激活与原特征图进行点乘得到最后的结果。因而整个的运算过程(SPM模块结构)见下图所示:

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操作,下图所示;
  • 2)对于短依赖,这里使用轻量化的PPM模块进行设计,解决局部依赖问题,见下图所示;
  • 3)对于上面的两个模块,使用了shortcut连接的方式改动;

长短依赖对于性能的影响:

3. 实验结果

PPM与MPM对性能带来的影响:

PPM在backbone中添加位置对性能的影响:

《Strip Pooling:Rethinking Spatial Pooling for Scene Parsing》论文笔记相关推荐

  1. 论文笔记之Understanding and Diagnosing Visual Tracking Systems

    Understanding and Diagnosing Visual Tracking Systems 论文链接:http://dwz.cn/6qPeIb 本文的主要思想是为了剖析出一个跟踪算法中到 ...

  2. 《Understanding and Diagnosing Visual Tracking Systems》论文笔记

    本人为目标追踪初入小白,在博客下第一次记录一下自己的论文笔记,如有差错,恳请批评指正!! 论文相关信息:<Understanding and Diagnosing Visual Tracking ...

  3. 论文笔记Understanding and Diagnosing Visual Tracking Systems

    最近在看目标跟踪方面的论文,看到王乃岩博士发的一篇分析跟踪系统的文章,将目标跟踪系统拆分为多个独立的部分进行分析,比较各个部分的效果.本文主要对该论文的重点的一个大致翻译,刚入门,水平有限,如有理解错 ...

  4. 目标跟踪笔记Understanding and Diagnosing Visual Tracking Systems

    Understanding and Diagnosing Visual Tracking Systems 原文链接:https://blog.csdn.net/u010515206/article/d ...

  5. 追踪系统分模块解析(Understanding and Diagnosing Visual Tracking Systems)

    追踪系统分模块解析(Understanding and Diagnosing Visual Tracking Systems) PROJECT http://winsty.net/tracker_di ...

  6. ICCV 2015 《Understanding and Diagnosing Visual Tracking Systems》论文笔记

    目录 写在前面 文章大意 一些benchmark 实验 实验设置 基本模型 数据集 实验1 Featrue Extractor 实验2 Observation Model 实验3 Motion Mod ...

  7. Understanding and Diagnosing Visual Tracking Systems

    文章把一个跟踪器分为几个模块,分别为motion model, feature extractor, observation model, model updater, and ensemble po ...

  8. CVPR 2017 SANet:《SANet: Structure-Aware Network for Visual Tracking》论文笔记

    理解出错之处望不吝指正. 本文模型叫做SANet.作者在论文中提到,CNN模型主要适用于类间判别,对于相似物体的判别能力不强.作者提出使用RNN对目标物体的self-structure进行建模,用于提 ...

  9. ICCV 2017 UCT:《UCT: Learning Unified Convolutional Networks forReal-time Visual Tracking》论文笔记

    理解出错之处望不吝指正. 本文模型叫做UCT.就像论文题目一样,作者提出了一个基于卷积神经网络的end2end的tracking模型.模型的整体结构如下图所示(图中实线代表online trackin ...

  10. CVPR 2018 STRCF:《Learning Spatial-Temporal Regularized Correlation Filters for Visual Tracking》论文笔记

    理解出错之处望不吝指正. 本文提出的模型叫做STRCF. 在DCF中存在边界效应,SRDCF在DCF的基础上中通过加入spatial惩罚项解决了边界效应,但是SRDCF在tracking的过程中要使用 ...

最新文章

  1. 实验五 Java网络编程及安全 实验报告 20135232王玥
  2. Coursera课程Python for everyone:Quiz: Single-Table SQL
  3. Android中WebView的跨域漏洞分析和应用被克隆问题情景还原(免Root获取应用沙盒数据)...
  4. web管理 pdo-mysql_PHP重新安装启用PDO扩展和PDO_MySQL扩展
  5. CEGUI、LayoutEdit和TextureAtlas
  6. ping命令 仿源码实现 以及几个 命令的 使用
  7. C#中combobox不可编辑与不可选择
  8. 3DGIS 与 BIM 融合技术方案
  9. chrome 浏览器 FungLeo 常用插件汇总
  10. linux的键盘命令用户登录,linux 基础命令
  11. VMware Workstation 虚拟机下载及安装的详细步骤
  12. 微信小程序开发什么工具好?
  13. c语言键盘符号大全,求c语言各种符号 并且意义。。在键盘上没有的 如何打?...
  14. 斯坦福极简经济学 读书笔记
  15. HTTP/2协议详细介绍
  16. mac u盘格式化 linux系统文件,U盘重新安装Mac OS系统教程
  17. 【毕业设计_课程设计】位置信息管理网站设计(源码+论文)
  18. 处理 echarts 数据过多时的展示问题
  19. 【C语言】ASCII码的数字转字母,字母转数字的方法
  20. 树莓派直接连接笔记本电脑方法

热门文章

  1. 学linux,不用必须使用linux的图形界面
  2. 毕业人数历史新高,IT行业又成就业首选:不仅就业机会多还能拿高薪?!
  3. Ubuntu 18.04 NVIDIA驱动安装总结
  4. Effective STL之容器
  5. Java项目:ssm东风锻造有限公司点检管理系统65p2d(java+VUE+Mybatis+Maven+Mysql)
  6. mysql timespan_在MySQL中计算Timespan
  7. 基于Windows server 2003的DHCP服务配置
  8. 模仿微信图片点击全屏效果
  9. 【机器学习系列】之SVM硬间隔和软间隔
  10. 如何用Python轻松搞定藏头诗