论文题目: 《Instance-aware Semantic Segmentation via Multi-task Network Cascades》
论文信息: CVPR2016,Jifeng Dai, Kaiming He, Jian Sun, Microsoft Research
论文: https://arxiv.org/abs/1512.04412
作者主页: http://research.microsoft.com/en-us/um/people/jifdai/
代码链接: https://github.com/daijifeng001/MNC
1. 论文的工作
1) 显著性分割
2) 实例感知
这篇论文主要的工作在于对一张图片进行显著性分割,一般的显著性只进行到分割,并不能识别分割出来的物体是什么类别的,这篇文章,除了进行显著性分割,还能对分割出来的物体进行识别,判别出是何种类别。
(图片来源于论文,左边为原始图片,中间为论文结果,包括显著性分割及实例分类,右边为groundtruth)
2. 论文的想法
1) 整体框架
对于传统的多任务方法,在共享特征的基础上,每个任务同时进行,在后续的实验中,各个任务之间互不干扰,互相独立。
这篇论文提出的多任务方法,在共享特征的基础上,下一个任务依赖于上一个任务以及共享特征,如此形成层级的多任务结构。
(图片来源于论文)
2) 详细解析
这篇论文主要做三个任务:
(1). 实例区分 (Differentiating instances)
(2). 掩膜估计 ( Estimating masks)
(3). 分类目标 (Categorizing objects)
可以使用VGG-16前13层学到的特征作为共享特征。
每个任务阶段都包括一个损失项,下一任务阶段的损失依赖于上一任务的损失。
为了实现反向传播,论文使用了关于空间坐标可微的网络层,使得梯度可计算。
(图片来源于论文)
(1). 实例区分
在这一任务阶段,输入为共享的特征,输出为bounding box。
方法: 网络结构以及损失函数采用区域生成网络(Region Proposal Network, RPN)。RPN 为用全卷积形式来预测bounding box的位置和目标得分。
: 尽量优化后的所有网络参数。
: box的索引。
: box的中心。
: box的宽度以及高度。
: 目标概率。
表明网络参数的函数为box 的预测。
(2). 掩膜估计
在这一任务阶段, 输入为共享特征和第一任务阶段产生的bouding box, 输出为像素级的masks.
方法: 通过RoI (Region of Interest) pooling来提取box里感兴趣的特征,(RoI pooling 用来将box减小到固定大小的特征)。随后增加两层全连接层。第一个全连接层将特征维度降低到256,第二个全连接层回归像素级的mask.
损失函数:
: 输出的mask。
第二层的损失依赖于第一次的损失。
(3). 分类目标
在这一任务阶段,输入为共享特征,第一任务阶段产生的bouding box 和第二阶段产生的mask,输出为每个实例的分类得分。
方法: 在使用RPN得到 bounding box 之后,
一方面,由RoI pooling 后加两层卷积(第二任务阶段的方法)得到mask 特征,
另一方面,由RoI pooling 直接连接两层4096维卷积层,得到特征。
这两方面得到的特征相连接,使用softmax分类。N+1类。N个实例类别,1个背景类别。
: RoI pooling 得到的特征。
: mask 的预测。
3. 端到端的训练
为了实现端到端的训练,论文实现了可微的RoI pooling.使用随机梯度下降来训练模型。
4. 级联更多阶段
任务阶段1,2,3为前面提到的方法,任务阶段1得到bounding box, 任务阶段2得到mask ,任务阶段3得到实例分类,
在任务阶段3,选择类别数考前的bounding box 作为新的 bounding box,
任务阶段4采用与任务阶段2相同的方法,得到新的mask,
任务阶段5采用与任务阶段3相同的方法,最终得到实例分类。
(图片来源于论文)
5. 实现细节
第一阶段产生的box 数目很多,论文用NMS(非极大值抑制),获得300个box用于后续任务阶段。
6.最后为论文的实验结果
后记: 文章思路: