Abstract
instance segmentation主流方法
-
top-down: detect-then-segment:
Mask R-CNN
- bottom-up: predict embedding vectors first then use clustering techniques to group pixels into individual instances[1]
本文工作
提出
instance categories
- 给同一个instance里面的像素,分配一个类别
- according to the instance’s location and size[2]
Introduction
看不太懂,先放着
Our Method: SOLO
Problem Formulation
![](https://img.haomeiwen.com/i7311123/d7d157a5471cf617.png)
Semantic Category
- Category Branch:给每一个grid预测一个类别
Instance Mask
- Mask Branch: 预测Instance Mask
- 最多:
个mask, 每一个
grid,对应一个mask
- 为什么一定要加上position信息?[3]
- 最多:
Network Architecture
- Grid number may varies at different pyramids[4]
3.3 SOLO Learning
Label Assignment
- 对于category branch:如何判定grid是positive or negtive?
- 对于each ground truth mask,他的center region定义为区域:
。如果grid fall into the center region。则grid定义为positive,否则定义为negtive。
- 文中
- 平均每个ground truth mask对应3个positive grid。
- 对于each ground truth mask,他的center region定义为区域:
- 对于Mask Branch分支:每个positive grid对应一个target binary mask
-
。如果按照row-major order[5]: 第
grid为 positive的话,那么maks branch的
feature map应该对应一个target binary mask
- 由于平均每个ground truth mask对应3个positive grid,也就有3个mask。最后NMS会去掉重叠的
-
Loss Function
-
-
为focal loss
-
对所有positive grid对应的mask计算为Dice Loss: 解决前景比例太小的问题
Dice Loss定义
Dice Loss可视化
-
Inference
- 为什么会有500个mask?一个grid不是只对应一个mask吗?S取值是是多少?[6]
4. Experiments
How SOLO Works
4.3 消融性实验
Grid number
- 为何36会下降?[7]
- pyramid指什么?——按照目标的尺寸,对应到相应的
feature map上。而不是直接将
merge,使用单一的merge的feature map。Mask RCNN也使用了同样的方法[8]
grid number
Multi-level prediction
- 不同大小的instance,会被分配到不同的
。每个
的grid数目不同
Multi-level prediction
- FPN结构如下:
[站外图片上传中...(image-6c44f8-1578363442486)]
CoordConv
- Spatially variant convolution: CoordConv
- 标准的卷积也有
spatial variant property
[9]
- 标准的卷积也有
SOLO-512
shorter image size of 512 instead of 800
5. Decoupled SOLO
减少了参数量
- 之前(a)Mask predict分支输出是
, 如果
grid为positive,则select到
作为预测的mask,其中
- 现在decoupled的(b)Mask predict分支,输出是两个子分支。如果
grid为positive,则select到X分支的
和Y分支的
,再进行
element-wise multiplication
操作 -
less GPU memory & same performance
Decoupled SOLO
6. Error Analysis
-
先语义分割,再聚类。
emhedding vector
指的是softmax的输出的概率分布向量。代表性模型有SSAP
↩ -
如何做到的?每个instance一个类别,这样的话,类别数目不就不确定了吗? ↩
-
为什么要加上
编码的空间信息? ↩
-
什么操作? ↩
-
自己随便定义一个映射关系可行吗? ↩
-
为何会有500个mask? ↩
-
为何grid number不是越多越好 ↩
-
pyramid指什么——solved ↩
-
卷积的空间敏感性?《Rosanne Liu, Joel Lehman, Piero Molino, Felipe Petroski Such,
Eric Frank, Alex Sergeev, and Jason Yosinski. An intriguing fail-
ing of convolutional neural networks and the coordconv solution.
In Proc. Advances in Neural Inf. Process. Syst., 2018》? ↩
网友评论