论文笔记之:Instance-aware Semantic Segmentation via Multi-task Network Cascades
Instance-aware Semantic Segmentation via Multi-task Network Cascades
Jifeng Dai Kaiming He Jian Sun
本文的出发点是做Instance-aware Semantic Segmentation,但是为了做好这个,作者将其分为三个子任务来做:
1) Differentiating instances. 实例区分
2) Estimating masks. 掩膜估计
3) Categorizing objects. 分类目标
通过这种分解,作者提出了如下的多任务学习框架,即:Multi-task Network Cascades (MNCs),示意流程如下:
下面详细的介绍下这个流程,即:
1. Multi-task Network Cascades
1). Regressing Box-level Instances
第一个阶段是回归出物体的bbox,这是一个全卷积的子网络。本文follow了Faster R-CNN的提取proposal的方法Region Proposal Networks (RPNs)。在共享feature之前,作者先用了一个 3*3的Conv 用于降维,紧跟着用2个1*1的Conv层回归出其位置,并且对目标进行分类。该阶段的loss function是:
其中,B是该阶段的输出,是一系列的box,B = { Bi }, Bi = { xi; yi; wi; hi; pi },box的中心点和长宽分别是:xi yi wi hi, yi是物体的概率。
2). Regressing Mask-level Instances
该阶段的输出是对每一个box的proposal进行像素级的mask分割。
Given a box predicted by stage 1, we extract a feature of this box by Region-of-Interest (RoI) pooling . The purpose of RoI pooling is for producing a fixed-size feature from an arbitrary box, which is set as 14*14 at this stage. (给定阶段1产生的box,我们用RoI pooling的方法提取该box的特征。用RoI pooling的原因是从一个任意的box中产生一个固定长度的feature。)
在每一个box的feature之后,添加两个fc层,第一个fc将维度降到256, 第二个fc 回归出像素级的mask。
第二阶段的loss function符合下面的形式:
其中,M是该阶段的输出,代表一系列的mask,M = { Mi }, Mi = m^2 维的逻辑回归输出(用sigmoid回归到 [0,1])。该阶段的loss不仅依赖于M,而且依赖于B。
3). Categorizing Instances
给定第一阶段的box,也对其进行特征的提取。然后用第二阶段的mask估计进行二值化。这么做的好处是:this lead to a feature focused on the foreground of the prediction mask. 掩膜化的feature计算方式如下:
其中,元素级乘积的左边是RoI pooling之后的特征,右边是第二阶段的mask prediction. 可以看出乘积的结果Fi^Mask(*)依赖于Mi(*).将该feature输入给两路fc层。这是:mask-based pathway. 所给流程图中并未画出的一路是:box-based pathway,是将RoI pooling features直接输入到4096维的fc层。然后将mask-based pathway 和 box-based pathway 连接起来(concatenated)。紧接着是 N+1类的Softmax分类器,其中N类是物体,1类是背景。
第三个阶段的loss term是:
其中,C(*)是物体种类的预测结果。
2. End-to-End Training
总的级联的损失函数定义为:
此处,该loss function并不像传统的multi-task learning,因为后一阶段的输入依赖于前一阶段的输出。例如:根据后向传播(BP)的链式法则,L2的梯度和B有关。对上述loss function采用链式法则的主要技术挑战在于:预测box Bi(*)决定RoI pooling的空间转换(spatial transformation)。对于RoI pooling层来说,其输入是预测的box B(*) 和 卷及特征映射 F(*),这两者都是*的函数。
在Fast R-CNN中,the box proposal 都是预先计算的且是固定的。RoI pooling的回传仅仅和F(*)有关,但是这个仅仅在B(*)不出现的情况下才可以。在End-to-End的训练过程中,这两项的梯度都要考虑。
本节提出了可微分的RoI warping layer来解决梯度问题,即:预测的box的位置和对B(*)的依赖。
Differentiable RoI Warping Layers.
too many things, waiting for my understanding ... will add this part in the future ...
sorry ...
Masking Layers.
我们也需要计算设计 L3 的梯度,其依赖于B(*) 和 M(*),有了differentiable RoI Warping module (Fi^RoI),就可以通过元素级乘积模块来执行该操作。
有了这些东西,其余的都是一样的了,直接利用SGD就可以在caffe的框架下进行求解了。
3. Cascades with More Stages
本文参考Fast R-CNN的用class-wise bbox 回归出 (N+1)-way的分类器,在第三阶段,添加了 4(N+1)-d fc layer和分类器层是兄弟层。由于本文的目标不是box 而是 mask,所以作者将第三个阶段产生的 regressed boxes, 然后将这些boxes再看做是 proposals,然后在此基础上,再运行一次阶段2和3. 这实际上是一种5级的级联网络:
作者提到此处可以迭代的进行此处inference的过程,但是貌似精度并未有明显的提升。
4. 实验部分:
论文笔记之:Instance-aware Semantic Segmentation via Multi-task Network Cascades的更多相关文章
- 论文笔记:Concept Mask: Large-Scale Segmentation from Semantic Concepts
Concept Mask: Large-Scale Segmentation from Semantic Concepts 2018-08-21 11:16:07 Paper:https://arxi ...
- 论文笔记:Capsules for Object Segmentation
Capsules for Object Segmentation 2018-04-16 21:49:14 Introduction: ----
- 论文笔记:Person Re-identification with Deep Similarity-Guided Graph Neural Network
Person Re-identification with Deep Similarity-Guided Graph Neural Network 2018-07-27 17:41:45 Paper: ...
- Large Kernel Matters —— Improve Semantic Segmentation by Global Convolutional Network(GCN全局卷积网络)
作者认为语义分割的两个挑战是分类和定位,而这两个挑战又是比较对立的.对于分类问题,模型需要有变形和旋转不变形,而对于定位问题,模型有需要对变形敏感. 提出的GCN遵循两个主要原则: 1.对定位问题,模 ...
- 论文笔记《Feedforward semantic segmentation with zoom-out features》
[论文信息] <Feedforward semantic segmentation with zoom-out features> CVPR 2015 superpixel-level,f ...
- Fully Convolutional Networks for Semantic Segmentation 译文
Fully Convolutional Networks for Semantic Segmentation 译文 Abstract Convolutional networks are powe ...
- FCIS:Fully Convolutional Instance-aware Semantic Segmentation
论文:Fully Convolutional Instance-aware Semantic Segmentation 目录 0.简介 1.Position-sensitive Score Map ...
- Review of Semantic Segmentation with Deep Learning
In this post, I review the literature on semantic segmentation. Most research on semantic segmentati ...
- Semantic Segmentation on Remotely Sensed Images Using an Enhanced Global Convolutional Network with Channel Attention and Domain Specific Transfer Learning
创新点: 1.在GCN(global convolutional network)基础上,把他的backbone替换成更多层的,使其适应中分辨率影像,resnet50,101,152 2.利用 cha ...
随机推荐
- iframe中的jquery ui modal dialog 覆盖父窗口
在iframe中 使用jquery ui dialog,弹出后可以覆盖父窗体 ///iframe中的jquery ui modal dialog 覆盖父窗口 function openDialog() ...
- 在VS2010中打开VS2012的项目
修改工程文件来把VS2012的工程文件移植到VS2010中 首先是修改解决方案文件(.sln文件). 使用记事本打开,把里面的 Microsoft Visual Studio Solution Fil ...
- KVO的内部实现原理
kvo概述 kvo,全称Key-Value Observing,它提供了一种方法,当对象某个属性发生改变时,允许监听该属性值变化的对象可以接受到通知,然后通过kvo的方法响应一些操作. kvo实现原理 ...
- JVM-JDK命令行工具
JDK命令行工具 当我们进入JDK的安装目录里面的/bin目录,会发现有很多小工具,有我们熟悉的也经常用的java,javac,也有很多我们不怎么用到很陌生的工具.下面看看哪些平时不怎么用到的工具吧. ...
- C++ primer的第一章的主要内容
第一章主要是把C++的主要的部分简单的介绍了一下,让读者对C++开始有一个简单的了解.看完第一章的收获就是知道如何去读入不确定数目的输入,主要是形式是:whlie(cin>>s){},利用 ...
- 《用格式化(fprintf和fscanf函数)的方式读写文件》
//用格式化(fprintf和fscanf函数)的方式读写文件 [用格式化的方式向文件中写入数据]#include<stdio.h>#include<stdlib.h> int ...
- C++ shared_ptr deleter的实现
#include <iostream>#include <memory>using namespace std; #include<iostream>class s ...
- linux命令:ls
1.介绍: ls是linux日常操作中用的最多命令,是list的缩写,默认按名称排序列出当前目录和文件,ls --help可以查看帮助. 2.命令格式: ls [OPTION] [FILE] 3.命令 ...
- 关于我和Github不得不说的一些小事
你好,我叫黄雅婷,学号是1413042031,网络工程142班.因为小时候家里有很多课外书,有关神话和科学方面的杂志和书籍等,所以从小就喜欢看书,现在比较不挑,什么书都喜欢看,就是给我本字典,我也能看 ...
- jQuery基础学习笔记(1)
--------2.0以上版本体积更小. --------CDN 内容分发网络(Content delivery network或Content distribution network,常简写成C ...