Weakly Supervised Instance Segmentation using the Bounding Box Tightness Prior 论文笔记
写在前面
这是第一篇实例分割的文章,而且是弱监督实例分割,预感未来的工作,弱监督或者无监督会是主流吧?
论文地址:Weakly Supervised Instance Segmentation using the Bounding Box Tightness Prior
代码地址:Github
收录于NeurlPS 2019
一、摘要
弱监督实例分割的主要难点在于:每一个BBOX内,没有任何信号监督框内不确定图形的分布。本文将这个难点视作多实例学习(
MIL
\text{MIL}
MIL)任务,并在每一个BBOX的扫线(纵横方向上的像素)下产生正负bags,从而解决该问题。本文提出的模型能够将
MIL
\text{MIL}
MIL整合到全监督实例分割网络中,其核心思想为“Unary term”和“Pairwise term”(一元 & 成组),前者评估每一个前景和背景区域,后者使得评估出的目标mask成一个整体。
数据集采用
PASCAL VOC
\text{PASCAL VOC}
PASCAL VOC,这个数据集类别少,效果好,搁在COCO数据集上就够呛。
二、引言
第一段讲述下实例分割的概念,第二段讲述一般实例分割的处理方法流程,点处了标注实例部分代价很大。因此第三段本文提出只采用BBOX标注的情况下进行实例分割。
[17] A. Khoreva, R. Benenson, J. Hosang, M. Hein, and B. Schiele. Simple does it: Weakly supervised instance and semantic segmentation. In CVPR, 2017.
[18] C. Rother, V. Kolmogorov, and A. Blake. GrabCut - Interactive foreground extraction using iterated graphcuts. TOG, 2004.
[19] J. Pont-Tuset, P. Arbelaez, J. Barron, F. Marques, and J. Malik. Multiscale combinatorial grouping for image segmentation and object proposal generation. TPAMI, 2017.
之前的文章(参考文献[17])采用了参考文章[18、19]中的方法提前构建伪标签训练一个全监督网络,因此非端到端训练。
相比之下,作者将
MIL
\text{MIL}
MIL整合到全监督中,实现了端到端训练。由于在推理阶段不需要使用proposal,因此能够加速分割。
想法来源:参考文献[20],09年的文章,真是好文章什么时候都不会过时。
[20] V. Lempitsky, P. Kohli, C. Rother, and T. Sharp. Image segmentation with a bounding box prior. In ICCV, 2009.
因为目标Instance会触及到BBOX的四条边,利用这点设计了
MIL
\text{MIL}
MIL,训练
MIL
\text{MIL}
MIL需要正负bags,正的bags为至少包含一个正Instance的bag,负的bags为至少包含一个负Instance的bag。如下图所示:
其中,黄色框中的横纵绿色线表示为正的bag,而在框外的红色线为负的bag,这些线在原图中对应的为一行或者一列像素。具体来说,正的bag:在一个BBOX内至少覆盖了Instance一个像素的线;负的bag:并未穿过BBOX的线都为负的bag。
本文的主要贡献:
1、通过
MIL
\text{MIL}
MIL来从BBOX推理目标,是第一个提出使用BBOX的端到端的弱监督实例分割算法;
2、能够同时得到像素级别的ground truth、目标实例特征表示、以及分割的模型;
3、采用
DenseCRF
\text{DenseCRF}
DenseCRF 微调Instance mask,在
PASCAL VOC 2012
\text{PASCAL VOC 2012}
PASCAL VOC 2012数据集上的分数超过了现有的方法。
三、相关工作
3.1 Weakly supervised semantic segmentation
基于 CNNs \text{CNNs} CNNs,不同的弱监督标注,例如合成标注,BBOX标注,下标标注,点标注和图像级别的标注用于语义分割,本文采用BBOX标注用于实例分割(逼格高一级)。
3.2 Fully supervised instance segmentation.
主要是 Faster-RCNN、Mask-RCNN \text{Faster-RCNN、Mask-RCNN} Faster-RCNN、Mask-RCNN等。
3.3 Weakly supervised instance segmentation
利用BBOX、Image、Image Groups的标注进行实例分割。
四、方法
先给出整体预览,其次描述提出的 MIL \text{MIL} MIL方法,然后是网络优化器,最后是分割微调的细节部分。
4.1 Overview
训练数据:
D
=
{
I
n
,
B
n
}
n
=
1
N
\mathcal D={{\{}{I_{n},B_{n}}{\}}_{n=1}^{N}}
D={In,Bn}n=1N,其中
N
N
N为图像的数量,
I
n
I_{n}
In为第
n
n
n张图像,
B
n
B_{n}
Bn为
I
n
I_{n}
In的BBOX标注。假设
I
n
I_{n}
In包含
K
n
K_{n}
Kn个BBOX,
B
n
=
{
b
n
k
,
y
n
k
}
k
=
1
K
n
B_{n}={\{}{\text b}_n^{k},{\text y}_{n}^{k}{\}}_{k=1}^{K_{n}}
Bn={bnk,ynk}k=1Kn,
b
n
k
{\text b}_n^{k}
bnk为第
k
k
k个向量的4维度位置向量表示,
y
n
k
{\text y}_{n}^{k}
ynk为对应于BBOX的
C
C
C维度的种类表示,
C
C
C为类别的数量。
在分割分支,首先评估每个检测到的BBOX的目标实例图,然后产生正负bags,通过
MIL
\text{MIL}
MIL的损失
L
mil
\mathcal L_{\text {mil}}
Lmil函数进行优化,最终的损失函数为:
L
(
w
)
=
L
cls
(
w
)
+
L
reg
(
w
)
+
L
mil
(
w
)
{\mathcal L}(\text w)=\mathcal L_{\text {cls}}(\text w)+\mathcal L_{\text {reg}}(\text w)+\mathcal L_{\text {mil}}(\text w)
L(w)=Lcls(w)+Lreg(w)+Lmil(w)
其中,
L
cls
\mathcal L_{\text {cls}}
Lcls为BOX分类损失,
L
reg
\mathcal L_{\text {reg}}
Lreg为BOX回归损失,
L
mil
\mathcal L_{\text {mil}}
Lmil为提出的
M
I
L
MIL
MIL损失。
3.2 Proposed MIL formulation
BBOX为目标Instance的最小外界矩形,因此可以利用到的两个属性:1、Instance一定会触及到BBOX的四条边;2、除了Instance,没有其他区域和BBOX有重叠部分,这两条属性将要用来构建正负bags。
对于每一个BBOX,由于穿过BBOX的线至少有一个像素落在Instance上,这样的线就组成了对应BBOX类别的bags。同理,若没有像素落在 Instance上,那么这样的线就组成了负的bags。
本文中,对于每一个BBOX,收集所有的在BBOX内的纵横线为正的bags,用符号表示一个正的bag:
b
^
+
=
{
p
i
}
\hat b^{+}={\{}{\text p_{i}}{\}}
b^+={pi},
{
p
i
}
{\{}{\text p_{i}}{\}}
{pi}为线上的第
i
i
i个像素。负的bags数量与正样本数量,为随机选取的靠近BBOX外侧的线,用符号表示一个负的bag:
b
^
−
=
{
p
i
}
\hat b^{-}={\{}{\text p_{i}}{\}}
b^−={pi}。
至此,就可以用产生的bags数据来增强
D
=
{
I
n
,
B
n
}
n
=
1
N
\mathcal D={{\{}{I_{n},B_{n}}{\}}_{n=1}^{N}}
D={In,Bn}n=1N,新的训练集为
D
^
=
{
I
n
,
B
n
,
B
^
n
}
n
=
1
N
\hat \mathcal D={{\{}{I_{n},B_{n},\hat B_{n}}{\}}_{n=1}^{N}}
D^={In,Bn,B^n}n=1N,
B
^
n
=
{
b
^
n
,
k
+
,
b
^
n
,
k
−
}
k
=
1
K
n
\hat B_{n}={\{}{{\hat \text b}_{n,k}^{+},{\hat \text b}_{n,k}^{-}{\}}_{k=1}^{K_{n}}}
B^n={b^n,k+,b^n,k−}k=1Kn,包含了所有在图像
I
n
I_n
In上的第
k
k
k个BBOX
b
n
k
\text b_n^k
bnk所有正负bags。具体来说,正样本集合
B
^
n
,
k
+
=
{
b
^
n
,
k
,
l
+
}
l
=
1
H
n
,
k
+
W
n
,
k
\hat B_{n,k}^{+}={\{}{\hat b_{n,k,l}^{+}}{\}_{l=1}^{H_{n,k}+W_{n,k}}}
B^n,k+={b^n,k,l+}l=1Hn,k+Wn,k,
H
n
,
k
+
W
n
,
k
{H_{n,k}+W_{n,k}}
Hn,k+Wn,k为所有正的bags数量,
H
n
,
k
,
W
n
,
k
{H_{n,k},W_{n,k}}
Hn,k,Wn,k为第
k
k
k个BBOX
b
n
k
\text b_n^{k}
bnk的高宽。同理,负的bags为
B
^
n
,
k
−
=
{
b
^
n
,
k
,
l
−
}
l
=
1
H
n
,
k
+
W
n
,
k
\hat B_{n,k}^{-}={\{}{\hat b_{n,k,l}^{-}}{\}_{l=1}^{H_{n,k}+W_{n,k}}}
B^n,k−={b^n,k,l−}l=1Hn,k+Wn,k。
3.3 MIL loss
对于每一个BBOX
b
n
k
\text b_n^{k}
bnk,分割分支预测出的Instance得分图为
S
n
,
k
∈
[
0
,
1
]
W
n
,
k
×
H
n
,
k
S_{n, k} \in[0,1]^{W_{n, k} \times H_{n, k}}
Sn,k∈[0,1]Wn,k×Hn,k。为了训练该分支,设计了损失函数基于
MIL
\text{MIL}
MIL的损失函数
L
mil
\mathcal L_{\text {mil}}
Lmil以及增强的bag数据
B
^
+
&
B
^
−
\hat B^{+}~\&~\hat B^{-}
B^+ & B^−。
L
mil
\mathcal L_{\text {mil}}
Lmil定义为:
L
mil
(
S
;
B
^
+
,
B
^
−
)
=
ψ
(
S
;
B
^
+
,
B
^
−
)
+
ϕ
(
S
)
\mathcal{L}_{\text {mil }}\left(S ; \hat{B}^{+}, \hat{B}^{-}\right)=\psi\left(S ; \hat{B}^{+}, \hat{B}^{-}\right)+\phi(S)
Lmil (S;B^+,B^−)=ψ(S;B^+,B^−)+ϕ(S)
其中,“Unary”
ψ
\psi
ψ通过限制训练bags中的得分图
S
S
S 中的
B
^
+
&
B
^
−
\hat B^{+}~\&~\hat B^{-}
B^+ & B^− 来启动
MIL
\text{MIL}
MIL,“Pairwise”
ϕ
\phi
ϕ 对
S
S
S 施加结构化的限制来维持目标的整体性。具体来说:
Unary term:给予一组正负bags
B
^
+
&
B
^
−
\hat B^{+}~\&~\hat B^{-}
B^+ & B^−,“Unary” 强迫BBOX在预测图
S
S
S 上收紧,同时也能够帮助预测出更好的masks。用公式表示为:
ψ
(
S
;
B
^
+
,
B
^
−
)
=
∑
b
^
∈
B
^
+
−
log
P
(
b
^
)
+
∑
b
^
∈
B
^
−
−
log
(
1
−
P
(
b
^
)
)
\psi\left(S ; \hat{B}^{+}, \hat{B}^{-}\right)=\sum_{\hat{b} \in \hat{B}^{+}}-\log P(\hat{b})+\sum_{\hat{b} \in \hat{B}^{-}}-\log (1-P(\hat{b}))
ψ(S;B^+,B^−)=b^∈B^+∑−logP(b^)+b^∈B^−∑−log(1−P(b^))
其中,
P
(
b
^
)
=
max
p
∈
b
^
S
(
p
)
P(\hat{b})=\text {max}_{\text p \in \hat b}S(\text p)
P(b^)=maxp∈b^S(p),在不改变网络结果的情况下可以通过逐行/列的最大池化操作进行。
Pairwise term:
使用“Unary term”仅仅只能够分割出显著的部分而不是整个Instance,因此“Pairwise term”利用结构化的限制来强制预测出的Instance masks更加平滑。以这种方式,显著性区域的高分区域能够被投影到周围区域。用公式表示如下:
ϕ
(
S
)
=
∑
(
p
,
p
′
)
∈
ε
∥
S
(
p
)
−
S
(
p
′
)
∥
2
\phi(S)=\sum_{\left(\mathbf{p}, \mathbf{p}^{\prime}\right) \in \varepsilon}\left\|S(\mathbf{p})-S\left(\mathbf{p}^{\prime}\right)\right\|^{2}
ϕ(S)=(p,p′)∈ε∑∥S(p)−S(p′)∥2
其中
ε
\varepsilon
ε为包含所有邻域像素对的集合。
MIL
\text{MIL}
MIL的损失函数
L
mil
\mathcal L_{\text {mil}}
Lmil可微分且为凸函数,因此能够采用SGD优化。
4.4 DenseCRF for object instance refinement
为了加强目标定位的准确性,采用
DenseCRF
\text{DenseCRF}
DenseCRF 用于微调。在使用平均field近似后,
DenseCRF
\text{DenseCRF}
DenseCRF 输出最后的Instance mask。
实验表明,
DenseCRF
\text{DenseCRF}
DenseCRF 补偿了目标检测器的不精确情况。
4.5 Implementation details
ResNet-101 \text{ResNet-101} ResNet-101, 1080Ti \text{1080Ti} 1080Ti, ADAM \text{ADAM} ADAM, Mask R-CNN \text{Mask R-CNN} Mask R-CNN
五、实验结果
数据集和评估指标 → \rightarrow →方法性能 → \rightarrow →消融实验,实验推荐不用看了,毕竟方法确实有点老了,理解核心思想就可~
5.1 Dataset and evaluation metrics
Pascal VOC 2012
\text{Pascal VOC 2012}
Pascal VOC 2012、
MS COCO
\text{MS COCO}
MS COCO
mean average precision (mAP)
\text{mean average precision (mAP)}
mean average precision (mAP),0.25,0.5,0.7 & 0.75
5.2 Comparison with the state-of-the-art methods
5.3 Ablation studies
4种消融实验:1、baseline;2、每一个组成部分;3、不精确的annotations的鲁棒性研究;4、不同annotations cost性能;
六、Conclusion
提出了一种仅采用BBOX标注的弱监督实例分割方法,将 MIL \text{MIL} MIL整合进全监督实例分割网络中,进一步采用 DenseCRF \text{DenseCRF} DenseCRF 取得更好的性能。
写在后面
这是19年的一篇采用BBOX作为标注的弱监督实例分割文章,虽说目前的性能有些看不上,但是其设计理念还是值得一看的。
推荐一篇21年的弱监督实例分割文章,效果非常好。
论文链接:BoxInst: High-Performance Instance Segmentation with Box Annotations
代码链接:GitHub
收录于 CVPR 2021
Video Demo链接:Youtube
B站视频讲解链接:【极市】田值:BoxInst,使用外接框标注的高性能实例分割
Ps:由于这篇21年的文章已经有不少大神写过博客了,而且写得很好,我就不做重复工作了。
参考博文:
【1】BoxInst: High-Performance Instance Segmentation with Box Annotations 论文学习
【2】论文笔记:BoxInst
【3】沈春华组最新论文BoxInst:只需要box标注的实例分割模型