论文《Context Contrasted Feature and Gated Multi-scale Aggregation for Scene Segmentation》笔记
论文来自 CVPR2018
代码:https://github.com/henghuiding/CCL
出发点
深度卷积神经网络在语义分割中,明显目标的特征会占主导地位,导致不明显地物的信息被弱化或忽略。背景信息是场景分割的关键,并且有很多工作关注了这一点。但是,上下文信息通常有更平滑的表征并会被明显目标所主导,这对不明显目标的识别是有害的。
因此,本文提出了 Context contrasted local features 以更好地利用上下文信息同时从背景信息中关注局部信息;进一步地,使用了一个 context contrasted based local(CCL) 模型获得多尺度和多等级的 context contrasted local features。除此之外,因为传统的多尺度信息融合的方法有(1)多尺度输入(2)跳跃连接。但是已有的使用跳跃连接的网络只是简单的对特征进行相加融合,因此不同尺度的重要性差异被忽略。所以本文提出了一个选择(门控)相加机制(choice mechanism)【听起来可能有点难理解,但作者后面有解释为什么使用 ”gates“ 以和简单的固定值和可学习参数区分开来】 以更好地控制多尺度信息的融合。
多尺度融合
本文首次提出在单个网络中使用门控相加来选择性地融合特征。
网络结构如下图所示
模型包含一个 CCL 模块用来产生顾及背景环境的多尺度和多级别的特征,以及一个门控融合模块用于选择性地融合多个尺度的特征。
场景分割中的目标非常复杂,不加区分地采集背景信息将带来噪声,如下图所示,与图中的两个人相比,身后的汽车属于不明显目标,从像素 A 附近收集的 local(局部) 特征对于其它像素来说是可分的,但是没有考虑到全局信息如建筑物和道路,这可能无法为像素 A 获得鲁棒的高级语义特征。然而,如图中第一行第三个小图所示,融合背景将会带来处于主导位置的对象(图中的人)的特征,因此汽车上像素的特征(如 Pixel A) 会被人的特征所淹没(dominated),汽车的一些信息将会在最终的预测层被忽略,导致错误的预测结果。不同位置的上下文信息容易被明显地物特征所主导。
因此,要对 Pixel A采集合适和具有可分性的高级特征是非常困难的,为了解决这一问题,本文提出将局部信息和上下文信息的生成分开,然后通过局部特征和上下文特征的对比(相减)来融合两个信息:
CL=Fl(F,Θl)−Fc(F,Θc)CL = F_l(F, \Theta_l) - F_c(F, \Theta_c)CL=Fl(F,Θl)−Fc(F,Θc)
F 为输入的特征,FlF_lFl 是 local convolution 的函数,FcF_cFc 代表的是上下文特征的 convolution, Θl\Theta_lΘl 和 Θc\Theta_cΘc 分别为两者的参数, CL 为得到的 context contrasted local features.
局部信息和分离的背景信息之间的对比,不仅可以利用有用的背景信息,而且能够通过与背景信息的对比强调局部信息(上图第二行图三)。
Context Contrasted Local (CCL) Model
CCL模型如下图所示
CCL 由多个连续的 context-local 模块(上图第二行)组成。使用门控相加来选择性地融合不同级别的 context contrasted local features。 CCL 中每一个 Context-local 模块首先使用两个不同的空洞率的卷积获取不同尺度的特征,同时获得上下文和局部信息,通过相减获得 context-contrasted local features, 然后通过一个门控相加对多尺度特征进行融合得到 score map(概率图)。
Gated Multi-scale Aggregation (门控多尺度融合)
使用 skip layers (跳跃连接层)对不同尺度的特征进行简单的相加,只是不加选择地汇集不同跳跃连接层的信息,有些甚至是不适合或者对分类效果有害的。简单说就是,没有对特征进行选择。
本文提出了使用门控相加(gated sum) 来选择不同尺度的特征,如下图所示
本文使用门控相加的主要动机是,让网络基于特征图的尺度自适应地决定适每个像素的感受野。gated sum 可以使得网络自己根据特征图的信息,选择融合那些尺度的特征图。
如上图所示,假设 来自不同尺度的特征 Fpn\Bbb F_p^nFpn, 通过 N 个跳跃连接层 产生了 N 个 得分图(score maps, 经过sigmoid/Softmax 可得到概率图) Spc,n\Bbb S_p^{c,n}Spc,n,也就是说:
Spc,n=Fsn(Fpn,Θsn)\Bbb S_p^{c,n} = \cal F_s^n(\Bbb F_p^n, \Theta_s^n) Spc,n=Fsn(Fpn,Θsn)
p 表示来自网络不同位置的特征;n∈1,2,...,Nn \in {1,2,...,N}n∈1,2,...,N; c∈1,2,...,Cc \in {1,2,...,C}c∈1,2,...,C ,并且 CCC 是类别数;
Fsn是\cal F_s^n 是Fsn是 第 n 层跳跃层的分类器函数,Θsn\Theta_s^nΘsn 对应分类器的参数。
Fnp\Bbb F_n^pFnp 是维度为 H×W×#ChannelsH \times W \times \#ChannelsH×W×#Channels 的输入特征 。
对于每一个 skip layer, 首先产生一个形状为 H×W×1H \times W \times 1H×W×1 的概率图 Ipn\Bbb I_p^nIpn
Inp=Fin(Fpn,Θin)\Bbb I_n^p = \cal F_i^n(\Bbb F_p^n,\Theta_i^n) Inp=Fin(Fpn,Θin)
Fin\cal F_i^nFin 是第 n 个 Conv+Sigmoid 层(本文称之为 info-skip 层),Θin\Theta_i^nΘin为对应的参数
因为这些不同位置的跳跃层获得的 得分图和信息图 是在同一个 DCNN 内的,也就是说,这些特征图之间的从低级到高级的序列关系应该要考虑进来
所以本文采用 RNN 来学习序列关系,基于 RNN,获得不同尺度特征图之间的序列关系。
接着,得到的信息图 Ipn\Bbb I_p^nIpn 被以序列的形式输入 RNN 来学习它们之间的关系
hpn=tanh(Wn(Ipnhpn−1)h_p^n = tanh(W^n(_{\Bbb I_p^n}^{h_p^{n-1}}) hpn=tanh(Wn(Ipnhpn−1)
hpnh_p^nhpn 是 RNN 的第 n 个输出。为了使网络更加高效,所有位置的输出计算都是并行的,WnW^nWn 是所有位置的共享参数。
(上图中的 Global Refine 模块)为了使每一个信息图都可以关注到全局信息,对 RNN 的输出进行拼接,Hp=(hp1...hpN)TH_p = (h_p^1...h_p^N)^THp=(hp1...hpN)T, 然后通过全局信息进行优化:
H‾p=Fg(Hp,Θg)+Hp\overline H_p = \cal F_g (\it H_p, \Theta_g) + H_p Hp=Fg(Hp,Θg)+Hp
Fg\cal F_gFg 是一个 1 x 1 x N x N 的 Conv,Θg\Theta_gΘg 是对应的参数。
然后将 H‾p\overline H_pHp 分开,H‾p=(h‾p1...h‾pN)T\overline H_p = (\overline h_{p}^{1}...\overline h_p^{N})^THp=(hp1...hpN)T,并用于生成 gates GpnG_p^nGpn
Gpn=N⋅eh‾pn∑i=1Neh‾piG_p^n = N \cdot \frac{e^{\overline h_p^n}}{\sum _{i=1}^Ne^{\overline h_p^i}} Gpn=N⋅∑i=1Nehpiehpn
每个位置 p 的 GpnG_p^nGpn,被归一化至 N
最终,N 个特征图通过 gated sum 进行选择性地融合:
S‾pc=∑n=1NGpnSpc,n\overline {\Bbb S}_p^c = \sum_{n=1}^N G_p^n \Bbb S_p^{c,n} Spc=n=1∑NGpnSpc,n
Spc,n\Bbb S_p^{c,n}Spc,n 是不同尺度的特征经过分类器后得到的,S‾pc\overline {\Bbb S}_p^cSpc 为 gated sum 的输出
Spc,n\Bbb S_p^{c,n}Spc,n 有多少信息可以通过取决于 gates 值 GpnG_p^nGpn, GpnG_p^nGpn 越大,意味着对分类更有利。 GpnG_p^nGpn 越小,意味着对于位置 p, 第 n 个 skip layer 的特征对分类帮助越低。
GpnG_p^nGpn 好比一个权重,决定不同层的特征信息通过的程度
更重要的是,gates 的值 GpnG_p^nGpn(上图中 Sum 模块的输入)不是一个固定的值,也不是直接从训练数据中学习来的。而是通过训练数据训练好的模型在测试数据上产生的, 所以, GpnG_p^nGpn 不仅取决于训练数据,而且取决于输入的测试数据,并随着输入的特征图而变化。
因此,作者使用 “gates" 来表示和 固定值与学习参数的区别
sum: sum 是gated sum 的一个特例, gated sum 在 所有 gates 为 1 时,等同于 sum,
gated sum: 选择性地融合特征图,gates 值可以根据测试数据自适应地进行调整,控制 skip layer 的信息流通
为什么说 gates 值 GpnG_p^nGpn 由训练数据和测试数据同时决定呢?
个人理解是,主要还是 Global Refine 模块中的 Normalization (归一化),归一化只需要用到输入特征图的统计信息,没有需要学习的参数。因此 GpnG_p^nGpn 既取决于模型中训练得到的参数,也同时决定于测试数据的特征图。
Experiments
实验部分主要看图表就好,或者关注作者时如何做消融实验来验证自己提出的模块的,还有就是学习作者是如何分析的。
下表是与多尺度上下文信息提取模块 ASPP, CRF 以及 DAG-RNN 和 basline 的对比实验
下表是 CCL 在 Pascal Context 数据集上的消融实验
门控相加的消融实验
Pascal Context 数据集上的部分可视化结果
Pascal Context 测试精度
SUN-RGBD 上的结果
COCO Stuff 数据集上的结果
论文《Context Contrasted Feature and Gated Multi-scale Aggregation for Scene Segmentation》笔记相关推荐
- 论文笔记之Understanding and Diagnosing Visual Tracking Systems
Understanding and Diagnosing Visual Tracking Systems 论文链接:http://dwz.cn/6qPeIb 本文的主要思想是为了剖析出一个跟踪算法中到 ...
- 《Understanding and Diagnosing Visual Tracking Systems》论文笔记
本人为目标追踪初入小白,在博客下第一次记录一下自己的论文笔记,如有差错,恳请批评指正!! 论文相关信息:<Understanding and Diagnosing Visual Tracking ...
- 论文笔记Understanding and Diagnosing Visual Tracking Systems
最近在看目标跟踪方面的论文,看到王乃岩博士发的一篇分析跟踪系统的文章,将目标跟踪系统拆分为多个独立的部分进行分析,比较各个部分的效果.本文主要对该论文的重点的一个大致翻译,刚入门,水平有限,如有理解错 ...
- 目标跟踪笔记Understanding and Diagnosing Visual Tracking Systems
Understanding and Diagnosing Visual Tracking Systems 原文链接:https://blog.csdn.net/u010515206/article/d ...
- 追踪系统分模块解析(Understanding and Diagnosing Visual Tracking Systems)
追踪系统分模块解析(Understanding and Diagnosing Visual Tracking Systems) PROJECT http://winsty.net/tracker_di ...
- ICCV 2015 《Understanding and Diagnosing Visual Tracking Systems》论文笔记
目录 写在前面 文章大意 一些benchmark 实验 实验设置 基本模型 数据集 实验1 Featrue Extractor 实验2 Observation Model 实验3 Motion Mod ...
- Understanding and Diagnosing Visual Tracking Systems
文章把一个跟踪器分为几个模块,分别为motion model, feature extractor, observation model, model updater, and ensemble po ...
- CVPR 2017 SANet:《SANet: Structure-Aware Network for Visual Tracking》论文笔记
理解出错之处望不吝指正. 本文模型叫做SANet.作者在论文中提到,CNN模型主要适用于类间判别,对于相似物体的判别能力不强.作者提出使用RNN对目标物体的self-structure进行建模,用于提 ...
- ICCV 2017 UCT:《UCT: Learning Unified Convolutional Networks forReal-time Visual Tracking》论文笔记
理解出错之处望不吝指正. 本文模型叫做UCT.就像论文题目一样,作者提出了一个基于卷积神经网络的end2end的tracking模型.模型的整体结构如下图所示(图中实线代表online trackin ...
- CVPR 2018 STRCF:《Learning Spatial-Temporal Regularized Correlation Filters for Visual Tracking》论文笔记
理解出错之处望不吝指正. 本文提出的模型叫做STRCF. 在DCF中存在边界效应,SRDCF在DCF的基础上中通过加入spatial惩罚项解决了边界效应,但是SRDCF在tracking的过程中要使用 ...
最新文章
- 查看oralce的版本及安装了哪些选项
- java合并整形_java中2个int合并成一个long
- mysql索引碎片产生原因_解析mysql 表中的碎片产生原因以及清理
- [BZOJ4537][Hnoi2016]最小公倍数 奇怪的分块+可撤销并查集
- hashmap value占用空间大小_java-测量和监视大型HashMap的大小
- 苹果cmsV10高仿草民电影网在线影视网站模板 带手机版
- Java中高级面试题 -- 数十道题含答案
- 有关凸集的证明例题_第1章引言题解1. 用定义验证下列各集合是凸集: (1) S={(X1 ......
- PSPad 免费文本编辑器推荐
- 游标声明 oracle,Oracle游标声明
- android服务绑定异步,Android中异步类AsyncTask用法总结
- 服务机器人占领智能安防哪些领域?
- Q106:Mac系统下安装编译PBRT-V3
- [转载]ASP.NET-----Repeater数据控件的用法总结
- N的阶乘的长度 V2(斯特林近似)
- 工具方法:java读取Excel合并单元格(简单实例)
- arm体系结构:arm920t
- Prometheus监控报警系统入门
- MyBatis第N+1种分页方式,全新的MyBatis分页
- 解决微软的反盗版补丁