Non-Salient Region Object Mining for Weakly Supervised Semantic Segmentation
摘要
语义分割指的是对输入图片的所有像素进行分类。获得稠密的标注是困难的,人们最近开始采用弱标注去缓解分割标注的负担。然而,现有的工作主要关注在图像的显著区域expand伪标签的seed。本文提出一个解决弱监督语义分割(WSSS)的non-salient region object mining approach。我们介绍了一个基于图形的全局推理单元(graph-based global reasoning unit)去加强分类网络捕捉不相交的和遥远的区域的全局关系。这帮助网络激活显著区域之外的目标特征。为了进一步挖掘非显著区域目标,我们提出发挥分割网络的自我修正( self-correction)能力。具体来讲,我们提出了一个潜在目标挖掘模块(potential object mining module)去减少伪标签的FN率。另外,我们提出了一个针对复杂图像的非显著区域掩码模块(non-salient region masking module)去生成伪掩码。这一模块有助于进一步探索非显著区域的目标。
问题:什么是expend seed? 回答:
1. Introduction
语义分割指的是对输入图片的所有像素进行分类。它在许多CV任务中,如图像编辑和医学影像分析中扮演重要角色。得益于深度学习的优势,语义分割获得了巨大进展。然而,深度卷积神经网络(CNNs)的训练通常需要广泛的数据集。获得语义分割级别精度的标注耗时耗力。一个解决语义分割标注问题的有望的方法是学习弱标签,如image-level标注,bounding box,points或scribble。在这些弱监督标注中,image-level标注是最简单的标注方式,且已经被许多弱监督算法研究。然而image-level标注的语义分割仍是一个具有挑战性的任务。因此,本文关注于用image-level标注去实现WSSS任务。
为了用image-level标注去解决WSSS问题,许多基于可视化的方法缩小了分类和分割标注差距。经典的算法是用image-level标注训练一个分类网络。然后使用class activation maps(CAMs)生成伪标签以训练分割网络。然而,这些从分类网络中得到的activation maps是稀疏且不完整的。我们只能定位到目标最有辨识度的部分。许多方法提出扩大activated region以覆盖大的目标区域。例如,Jiang et al.观察到由分类网络生成的attention maps在训练时关注目标不同的部分。因此,他们提出一个online attention accumulation (OAA)策略去结合各个被激活的区域。然而,如Fig. 1所示,现有的工作主要关注扩大显著区域的response maps。然后他们利用saliency maps去提取背景。没有人关注提取非显著区域的目标。
本文提出了一个解决WSSS任务的非显著区域目标挖掘算法去弥补以上算法的缺点。和在显著性检测问题上广泛使用的center prior相反的是,非显著性区域分散在角落或者图像的边缘。我们所要研究的主角这样的一个特性要求网络利用好不相交的和遥远的周围信息。然而基于CNNs的传统分类网络擅长建立本地关系,在捕捉不相交的和遥远的区域的全局关系方面是低效的。因此,我们介绍了一个基于图形的全局推理单元(graph-based global reasoning unit)去加强分类网络激活显著性区域之外的目标特征的能力。
问题:什么是center prior? 回答:
另一方面,虽然现有的方法可以成功地扩大目标的被激活区域,他们难免将这一区域扩大到背景区域。这些方法要求saliency maps提供背景线索。然而saliency maps只能修正显著区域附近的像素标签,他们也会将显著区域之外的目标标签remove掉。我们注意到即使是简单的方法CAM,其只能提供稀疏,不完整且不精确的边界,但仍能为非显著性区域的目标提供有用的线索。因此,我们提出了一个潜在目标挖掘模块(potential object mining module)去探索更多非显著区域但在CAM中被激活的的目标。这一模块旨在减少伪标签的FN率。这改善了伪标签的质量且激励分割网络发挥自修正能力。网络这样的能力鼓舞我们进一步充分利用分割网络的预测。基于《Stc: A simple to complex framework for weakly-supervised semantic segmentation》,我们把训练图像根据每张图像中类别个数分成简单和复杂两个数据集。简单图像只有一类目标(目标可能有多个),这类图像通常有清晰的背景。他们的目标经常出现在显著区域,且可以被正确地分割出来。相反,复杂图像(有两个及以上类别目标)更倾向于拥有显著性区域之外的目标。因此,我们提出一个非显著性区域掩码模块(non-salient region masking module)来为复杂图像生成伪掩码。我们的这个模块进一步发现非显著性区域的目标。我们的贡献如下:
- 对于WSSS任务,我们利用一个全局推理单元(global reasoning unit)去捕捉不相交的和遥远的区域的全局关系,这有助于网络激活显著性区域之外的目标特征。
- 我们提出了一个潜在目标挖掘模块(potential object mining module)去发现更多非显著性区域的目标,减少了FN率,改善了伪标签的质量。
- 我们提出一个带有扩张(dilation)策略的非显著性区域掩码模块(non-salient region masking module)来生成伪掩码,这引导了更强大的模型去进一步发现显著性区域之外的目标。
2. Related Work
2.1. Semantic Segmentation
语义分割任务的发展情况。
2.2. Weakly Supervised Semantic Segmentation
WSSS任务的发展情况。
3. The Proposed Approach
本文,我们关注image-level标注的WSSS问题。我们的框架如Fig. 2所示。给定一个image-level标注的训练集,我们训练一个分类网络。我们利用class activation maps生成伪标签使得分割网络得以学习。现有方法主要关注在显著性区域提炼伪标签,和他们不同的是,我们的提出在非显著性区域发现更多的目标。为实现这一目的,我们在分类网络中插入一个基于图形的全局挖掘单元(graph-based global reasoning unit)。这有助于激活显著性区域之外的目标特征。我们也使用了潜在目标挖掘模块(POM)和非显著性区域掩码模块(NSRM)以改善非显著性区域目标挖掘的伪标签质量。
3.1. CAM Generation
一个分类网络首先被训练以生成class attention maps。如Fig. 2所示,为了加强分类网络捕捉不相交和遥远区域的全局关系,我们在最后的分类器之前添加了一个基于图形的全局推理单元( graph-based global reasoning unit)。全局推理模块将会帮助网络激活显著性区域之外的目标。特征
X
∈
R
L
×
K
X\in R^{L×K}
X∈RL×K由encoder生成,
K
K
K是特征的维度,
L
=
H
×
W
L=H×W
L=H×W。这些特征首先从坐标空间投影到潜在交互空间 。投影函数
V
=
f
(
X
)
∈
R
N
×
K
V=f(X)\in R^{N×K}
V=f(X)∈RN×K可由线性组合表示:
v
i
=
b
i
X
=
∑
j
b
i
j
x
j
v_i=b_iX=\sum_jb_{ij}x_j
vi?=bi?X=j∑?bij?xj? 其中,
B
=
[
b
1
,
?
?
,
b
N
]
∈
R
N
×
L
B=[b_1, \cdots,b_N]\in \mathbb{R}^{N×L}
B=[b1?,?,bN?]∈RN×L是可学习的映射权重,
N
N
N是交互空间中特征(节点)的数量。
然后用图形卷积捕捉新的空间内的特征关系:
Z
=
(
(
I
?
A
g
)
V
)
W
g
Z=((I-A_g)V)W_g
Z=((I?Ag?)V)Wg?
A
g
A_g
Ag?表示训练时梯度下降学习的
N
×
N
N×N
N×N节点的邻接矩阵(adjacency matrix)。
W
g
W_g
Wg?是状态更新函数。
问题:什么是adjacency matrix? 回答:逻辑结构分为两部分:V和E集合,其中,V是顶点,E是边。因此,用一个一维数组存放图中所有顶点数据;用一个二维数组存放顶点间关系(边或弧)的数据,这个二维数组称为邻接矩阵。邻接矩阵又分为有向图邻接矩阵和无向图邻接矩阵。对于有n个顶点的无向图最多需要n(n-1)/2个存储空间,有向图最多需要n^2个存储空间。
在得到了节点特征(node-feature)
Z
∈
R
N
×
K
Z\in \mathbb{R}^{N×K}
Z∈RN×K之后,反向投影
Y
=
g
(
Z
)
∈
R
L
×
K
Y=g(Z)\in \mathbb{R}^{L×K}
Y=g(Z)∈RL×K把特征投射回原先的空间内:
y
i
=
d
i
Z
=
∑
j
d
i
j
z
j
y_i=d_iZ=\sum_jd_{ij}z_j
yi?=di?Z=j∑?dij?zj? 其中
D
=
[
d
1
,
?
?
,
d
N
]
=
B
T
D=[d_1,\cdots,d_N]=B^T
D=[d1?,?,dN?]=BT
为了训练分类网络,我们采用了multi-label soft margin loss如下:
L
c
l
s
=
?
1
C
∑
c
=
1
C
y
c
l
o
g
σ
(
p
c
)
+
(
1
?
y
c
)
l
o
g
[
1
?
σ
(
p
c
)
]
L_{cls}=-\frac{1}{C}\sum_{c=1}^Cy_clog\sigma(p_c)+(1-y_c)log[1-\sigma(p_c)]
Lcls?=?C1?c=1∑C?yc?logσ(pc?)+(1?yc?)log[1?σ(pc?)] 其中,
p
c
p_c
pc?是网络对于第c类的预测。
σ
(
?
)
\sigma (\cdot)
σ(?)是sigmoid函数,
C
C
C是前景类别总数。
y
c
y_c
yc?是第c类的image-level标注,如果该类别在当前图像中它的值为1,否则为0。
我们通过选择最后的分类器生成的class-specific feature maps得到CAM。根据OAA方法,我们也生成了online accumulated class attention maps (OA-CAMs)去获取更完整的区域和使用整体注意力模型加强目标区域较低的注意力值。
3.2. Potential Object Mining
在得到了OA-CAMs之后,OAA的工作用它们提取目标的cues,用saliency maps去提取背景cues。通过比较每个OA-CAM的值标定每个像素的类别标签。正如Fig. 2所示,带有saliency map提供的形状信息,初始标签在背景提取(background extraction(BE))过程后通过清晰的目标边界导出。然而,初始标签失去了许多显著性区域之外的目标部分。因此,我们提出在非显著性区域发现更多目标。虽然OA-CAM已经在目标像素上实现了很高的召回率,但其精度比较低。相反,在CAM中,其广泛地为伪分割标签生成initial seeds,有很低的召回率但精度很高。因此,我们提出一个potential object mining (POM)模块发现在CAM中被激活的目标区域。我们用class adaptive threshold
T
c
T_c
Tc?对图像中存在的
c
c
c类别目标进行潜在目标挖掘。
T
c
=
{
M
E
D
(
v
)
i
f
?
(
i
,
j
)
,
s
.
t
.
l
i
,
j
=
c
T
Q
(
v
)
o
t
h
e
r
w
i
s
e
T_c= \left\{\begin{array}{rcl} MED(v) & if\exists(i,j),s.t.l_{i,j}=c \\ TQ(v) & otherwise \end{array}\right.
Tc?={MED(v)TQ(v)?if?(i,j),s.t.li,j?=cotherwise?
v
v
v是CAM中像素点attention values的集合,它们的locations
p
p
p根据以下进行选择:
p
=
{
{
(
i
,
j
)
∣
l
i
j
=
c
}
i
f
?
(
i
,
j
)
,
s
.
t
.
l
i
j
=
c
{
(
i
,
j
)
∣
a
i
j
>
T
b
g
}
o
t
h
e
r
w
i
s
e
p= \left\{\begin{array}{rcl} \{(i,j)|l_{ij}=c\} & if\exists(i,j),s.t.l_{ij}=c \\ \{(i,j)|a_{ij}>T_{bg}\} & otherwise \end{array}\right.
p={{(i,j)∣lij?=c}{(i,j)∣aij?>Tbg?}?if?(i,j),s.t.lij?=cotherwise? 其中
a
i
j
a_{ij}
aij?是CAM在位置(i,j)的attention value。
l
i
j
l_{ij}
lij?是初始标签在位置(i,j)的值,表示这个像素的伪标签。根据上面这两个公式,如果初始标签包含类别c,我们选择那些在它的CAM中的像素然后选择他们的attention values的中值(MED)记作
T
c
T_c
Tc?。否则,我们在其CAM中选择attention value大于背景阈值
T
b
g
T_{bg}
Tbg?的像素,并选择其attention values的四分位点(TQ)记作
T
c
T_c
Tc?。
然后我们根据如下去调整初始标签:
l
i
j
=
{
255
i
f
?
c
,
(
i
,
j
)
,
s
.
t
.
l
i
j
=
0
,
a
i
,
j
c
>
T
c
l
i
j
o
t
h
e
r
w
i
s
e
l_{ij}= \left\{\begin{array}{rcl} 255 & if\exists c,(i,j),s.t.l_{ij}=0,a_{i,j}^c>T_c \\ l_{ij} & otherwise \end{array}\right.
lij?={255lij??if?c,(i,j),s.t.lij?=0,ai,jc?>Tc?otherwise? 其中
a
c
a^c
ac表示第c类的CAM。正如上面的式子所示,初始标签中带有CAM attention value大于
T
T
T的背景像素(被标记为0)标记成255且在训练过程中忽略掉。对于相应的潜在类别我们不对它们做标记以避免引入错误的目标标签。这种策略绕过了将对象边界定位在显着区域之外的必要性。我们关注于减少伪标签的FN率,这有助于丢弃错误信息生成的梯度。
3.3. Non-Salient Region Masking
我们的潜在目标挖掘策略用更多的被忽略的像素丰富了伪标签。这使得分割网络在训练时为那些潜在目标区域修正了标签。伪标签的改善质量也可以激励分割网络去修正其他不正确的标记区域。因此,我们提出进一步利用分割模型的预测去生成高质量的伪标签以进行再训练。
我们注意到只有一个类别的简单图像的目标通常有清晰的背景。这些图像的目标通常存在于显著区域且可以被分割网络正确分割。然而,复杂图像(含有两个或更多的目标类别)更倾向于包含显著性区域之外的目标。分割网络使用仅包含显着区域中的对象标签的伪标签来检测显着区域外的对象仍然具有挑战性 。因此,我们提出了non-salient region masking (NSRM)模块。它结合了分割网络预测的目标信息和为复杂图像生成伪掩码的伪标签。
这一模块如Fig. 3所示。基于在显著性区域内的目标标签基本是正确的这一假设,我们首先用伪标签作为指导扩张了目标区域的初始预测。然后我们从被扩张的prediction map中提取了目标掩码。然后,我们用dilation操作扩张了目标掩码。最后,通过在被扩张的prediction map上进行masking操作得到伪掩码。注意dilation操作引入了目标周围一小部分背景。它保留了目标的边界信息,这对于一个有效的分割网络来说是重要的。
|