Mining Cross-Image Semantics for Weakly Supervised Semantic Segmentation
题目:挖掘用于弱监督语义分割模型的跨图像语义。
来源:CVPR2020
1 Motivation
-
基于深度学习的语义分割模型取得了很好的表现,但是依赖于大量精确标注数据的特性导致了高昂的训练成本。
-
弱监督语义分割模型对标签数据的依赖性较低,但是容易忽略图像的总体信息而过度关注局部。
-
目前针对WSSS模型的改进方法通常只使用单一的图像信息挖掘对象模式,而忽略了图像间的语义相似性。
2 Contribution
-
构建了一个共注意力分类器将跨图像语义相关有应用于完全目标模式学习与目标位置推断。
-
共注意力分类器分别通过共注意力与对比注意力从跨图像语义的相似性和差异性中挖掘出完整的监督信息。
-
该方法可以通用于多种不同监督信息的WSSS模型。
3 Approach
本文的实验方法与传统的弱监督语义分割模型相同,先用带有图像级标签的数据训练一个分类网络,获得相应的目标局部映射,用这个映射作为伪ground truth,用来监督语义分割网络的训练。
对于注意力的学习,主要分成了两个模块,其一是共注意力学习,用来驱动分类器从图像的共同关注要素中学习到公共语义,其二是一个相对独立的注意力学习,用来限制分类器关注其他非共同关注要素,以学习图像对各自内部的非共享语义信息。
3.1 共注意力分类网络
co-attention classifier由三个模块组成,分别是传统的分类器网络,以及一个共注意力网络和一个对比共注意力网络,整个网络框架如下图所示。三个模块为串联排列,首先是利用传统分类器进行分类训练,之后用提取到的特征训练了一个共注意力模块,用提取到的共注意力特征训练分类器对共享语义信息的分类敏感性,在共注意特征的基础上,继续训练了一个对比共注意模块,以提升分类器对图像对中的互斥语义信息的敏感性。
3.1.1 分类器模块训练
本模型的重点在于跨图像训练,因此网络结构是一种类似孪生网络的架构,其输入以成对的形式作为输入并进行训练。
首先,从图像训练集 I = { ( I n , l n ) } n \boldsymbol{I}=\{(\boldsymbol{I}_n,\boldsymbol{l}_n)\}_n I={(In,ln)}n中采样图片对 I m \boldsymbol{I}_m Im与 I n \boldsymbol{I}_n In,以及其各自的标签 l m \boldsymbol{l}_m lm与 l n \boldsymbol{l}_n ln, l n ∈ { 0 , 1 } K \boldsymbol{l}_n\in{\{0,1\}^K} ln∈{0,1}K是一个 K K K维数据,代表图像中所具有的类别属性。之后将图像数据输入卷积神经网络中提取出各自的特征图 F m \boldsymbol{F}_m Fm与 F n \boldsymbol{F}_n Fn, F n ∈ R C × H × W \boldsymbol{F}_{n} \in \mathbb{R}^{C \times H \times W} Fn∈RC×H×W。
在提取到feature map以后,将其送入一个全卷积层
φ
(
⋅
)
\varphi(·)
φ(⋅)得到类感知激活映射
S
m
\boldsymbol{S}_m
Sm与
S
n
\boldsymbol{S}_n
Sn,
S
n
∈
R
K
×
H
×
W
\boldsymbol{S}_{n} \in \mathbb{R}^{K \times H \times W}
Sn∈RK×H×W。之后再经全局池化平均(GAP)处理,得到分类器计算出的
I
m
\boldsymbol{I}_m
Im与
I
n
\boldsymbol{I}_n
In的类别得分
s
n
,
s
m
∈
R
K
s_n,s_{m} \in \mathbb{R}^{K}
sn,sm∈RK,计算图像对各自的类别得分与其真实标签
l
m
\boldsymbol{l}_m
lm与
l
n
\boldsymbol{l}_n
ln之间的交叉熵,作为分类器的损失函数:
L
basic
mn
(
(
I
m
,
I
n
)
,
(
l
m
,
l
n
)
)
=
L
C
E
(
s
m
,
l
m
)
+
L
C
E
(
s
n
,
l
n
)
=
L
C
E
(
GAP
(
φ
(
F
m
)
)
,
l
m
)
+
L
C
E
(
GAP
(
φ
(
F
n
)
)
,
l
n
)
\begin{aligned} \mathcal{L}_{\text {basic }}^{\operatorname{mn}}\left(\left(\boldsymbol{I}_{m}, \boldsymbol{I}_{n}\right),\left(\boldsymbol{l}_{m}, l_{n}\right)\right) &=\mathcal{L}_{\mathrm{CE} }\left(\boldsymbol{s}_{m}, l_{m}\right)+\mathcal{L}_{\mathrm{CE}}\left(\boldsymbol{s}_{n}, l_{n}\right) \\ &=\mathcal{L}_{\mathrm{CE}}\left(\operatorname{GAP}\left(\varphi\left(\boldsymbol{F}_{m}\right)\right), \boldsymbol{l}_{m}\right)+\mathcal{L}_{\mathrm{CE} }\left(\operatorname{GAP}\left(\varphi\left(\boldsymbol{F}_{n}\right)\right), \boldsymbol{l}_{n}\right) \end{aligned}
Lbasic mn((Im,In),(lm,ln))=LCE(sm,lm)+LCE(sn,ln)=LCE(GAP(φ(Fm)),lm)+LCE(GAP(φ(Fn)),ln)
3.1.2 跨图像语义挖掘的co-attention
这部分阐述了共注意力机制的理论知识,首先,在分类器的基础上,根据学到的图像feature map,
F
m
\boldsymbol{F}_m
Fm与
F
n
\boldsymbol{F}_n
Fn,计算二者之间的亲和力矩阵以衡量相关性:
P
=
F
m
⊤
W
P
F
n
∈
R
H
W
×
H
W
\boldsymbol{P}=\boldsymbol{F}_{m}^{\top} \boldsymbol{W}_{\boldsymbol{P} } \boldsymbol{F}_{n} \in \mathbb{R}^{H W \times H W}
P=Fm⊤WPFn∈RHW×HW
这里的
F
m
\boldsymbol{F}_m
Fm与
F
n
\boldsymbol{F}_n
Fn均被平铺成
C
×
H
W
C×HW
C×HW的尺寸,上式中的
W
P
\boldsymbol{W}_\boldsymbol{P}
WP是一个
C
×
C
C×C
C×C的可学习矩阵,根据这个公式,亲和力矩阵
P
\boldsymbol{P}
P中的每一个元素
p
i
j
p_{ij}
pij均代表了
F
m
\boldsymbol{F}_{m}
Fm中第
i
i
i个元素与
F
n
\boldsymbol{F}_{n}
Fn中第
j
j
j个元素之间的相似性。
之后,分别按列和行对
P
\boldsymbol{P}
P进行softmax操作,即可得到中
F
m
m
∩
n
\boldsymbol{F}_{m}^{m \cap n}
Fmm∩n与
F
n
m
∩
n
\boldsymbol{F}_{n}^{m \cap n}
Fnm∩n每个元素的归一化注意力图
A
m
\boldsymbol{A}_{m}
Am与
F
n
\boldsymbol{F}_{n}
Fn对
F
m
\boldsymbol{F}_{m}
Fm中每个元素的归一化注意力图
A
n
\boldsymbol{A}_{n}
An。
A
m
=
softmax
(
P
)
∈
[
0
,
1
]
H
W
×
H
W
,
A
n
=
softmax
(
P
⊤
)
∈
[
0
,
1
]
H
W
×
H
W
\boldsymbol{A}_{m}=\operatorname{softmax}(\boldsymbol{P}) \in[0,1]^{H W \times H W}, \quad \boldsymbol{A}_{n}=\operatorname{softmax}\left(\boldsymbol{P}^{\top}\right) \in[0,1]^{H W \times H W}
Am=softmax(P)∈[0,1]HW×HW,An=softmax(P⊤)∈[0,1]HW×HW
接着便可以计算
F
n
(
F
m
)
\boldsymbol{F}_{n}(\boldsymbol{F}_{m})
Fn(Fm)对
F
m
(
F
n
)
\boldsymbol{F}_{m}(\boldsymbol{F}_{n})
Fm(Fn)的注意力总结:
F
m
m
∩
n
=
F
n
A
n
∈
R
C
×
H
×
W
,
F
n
m
∩
n
=
F
m
A
m
∈
R
C
×
H
×
W
\boldsymbol{F}_{m}^{m \cap n}=\boldsymbol{F}_{n} \boldsymbol{A}_{n} \in \mathbb{R}^{C \times H \times W}, \quad \boldsymbol{F}_{n}^{m \cap n}=\boldsymbol{F}_{m} \boldsymbol{A}_{m} \in \mathbb{R}^{C \times H \times W}
Fmm∩n=FnAn∈RC×H×W,Fnm∩n=FmAm∈RC×H×W
将上式计算结果调整为
C
×
W
×
H
C×W×H
C×W×H的尺寸,便得到了共注意力特征
F
m
m
∩
n
\boldsymbol{F}_{m}^{m \cap n}
Fmm∩n与
F
n
m
∩
n
\boldsymbol{F}_{n}^{m \cap n}
Fnm∩n。二者保留了来自对方的共同语义,并在自身的原始特征图中定位了共享语义对象。由此可以认为,在共注意图中,只对具有相同语义特征的区域有较为明显的激活反应,而对非共同特征则有较低的权值,以此帮助分类器准确定位出共享语义。
将提取到的共注意力特征
F
m
m
∩
n
\boldsymbol{F}_{m}^{m \cap n}
Fmm∩n与
F
n
m
∩
n
\boldsymbol{F}_{n}^{m \cap n}
Fnm∩n代替原始feature map
F
m
\boldsymbol{F}_m
Fm与
F
n
\boldsymbol{F}_n
Fn,带入基础分类损失中,得到共注意力分类损失的计算公式:
L
co-att
m
n
(
(
I
m
,
I
n
)
,
(
l
m
,
l
n
)
)
=
L
C
E
(
s
m
m
∩
n
,
l
m
∩
l
n
)
+
L
C
E
(
s
n
m
∩
n
,
l
m
∩
l
n
)
=
L
C
E
(
GAP
(
φ
(
F
m
m
∩
n
)
)
,
l
m
∩
l
n
)
+
L
C
E
(
GAP
(
φ
(
F
n
m
∩
n
)
)
,
l
m
∩
l
n
)
\begin{aligned} \mathcal{L}_{\text {co-att } }^{m n}\left(\left(\boldsymbol{I}_{m}, \boldsymbol{I}_{n}\right),\left(\boldsymbol{l}_{m}, l_{n}\right)\right)=& \mathcal{L}_{\mathrm{CE} }\left(\boldsymbol{s}_{m}^{m \cap n}, \boldsymbol{l}_{m} \cap l_{n}\right)+\mathcal{L}_{\mathrm{CE} }\left(\boldsymbol{s}_{n}^{m \cap n}, l_{m} \cap l_{n}\right) \\ =& \mathcal{L}_{\mathrm{CE} }\left(\operatorname{GAP}\left(\varphi\left(\boldsymbol{F}_{m}^{m \cap n}\right)\right), \boldsymbol{l}_{m} \cap \boldsymbol{l}_{n}\right)+\\ & \mathcal{L}_{\mathrm{CE} }\left(\operatorname{GAP}\left(\varphi\left(\boldsymbol{F}_{n}^{m \cap n}\right)\right), \boldsymbol{l}_{m} \cap \boldsymbol{l}_{n}\right) \end{aligned}
Lco-att mn((Im,In),(lm,ln))==LCE(smm∩n,lm∩ln)+LCE(snm∩n,lm∩ln)LCE(GAP(φ(Fmm∩n)),lm∩ln)+LCE(GAP(φ(Fnm∩n)),lm∩ln)
上式旨在提升分类器对以共注意特征为输入的共享语义标签的分类结果的准确性,以使分类器更加集中于图片对的共享语义信息。
3.1.3 用于跨图像互斥语义挖掘的contrastive co-attention
共注意的作用在于使分类器对图像对之间的共享语义信息更敏感,而对比共注意旨在与共注意形成互补,目的是加强分类器对图像对中独属于单一图像自身的独特语义信息的敏感性。
根据论文的网络架构,可以发现对比共注意模型以提取到的共注意特征作为
F
m
m
∩
n
\boldsymbol{F}_{m}^{m \cap n}
Fmm∩n与
F
n
m
∩
n
\boldsymbol{F}_{n}^{m \cap n}
Fnm∩n输入,首先,对比共注意模块使用如下方法强化共注意特征中的共享语义信息(理论上,共注意特征中共享语义区域会有更大的值):
B
m
m
∩
n
=
σ
(
W
B
F
m
m
∩
n
)
∈
[
0
,
1
]
H
×
W
,
B
n
m
∩
n
=
σ
(
W
B
F
n
m
∩
n
)
∈
[
0
,
1
]
H
×
W
\boldsymbol{B}_{m}^{m \cap n}=\sigma\left(\boldsymbol{W}_{B} \boldsymbol{F}_{m}^{m \cap n}\right) \in[0,1]^{H \times W}, \quad \boldsymbol{B}_{n}^{m \cap n}=\sigma\left(\boldsymbol{W}_{B} \boldsymbol{F}_{n}^{m \cap n}\right) \in[0,1]^{H \times W}
Bmm∩n=σ(WBFmm∩n)∈[0,1]H×W,Bnm∩n=σ(WBFnm∩n)∈[0,1]H×W
上式中的
W
B
\boldsymbol{W}_{B}
WB是一个
1
×
1
1×1
1×1的卷积层,
σ
\sigma
σ代表sigmoid激活函数,因此,在
B
m
m
∩
n
\boldsymbol{B}_{m}^{m \cap n}
Bmm∩n与
B
n
m
∩
n
\boldsymbol{B}_{n}^{m \cap n}
Bnm∩n中,共享语义区域比非共享语义区域具有明显更大的值。用1减去以上的值,即得到对比共注意矩阵:
A
m
m
\
n
=
1
−
B
m
m
∩
n
∈
[
0
,
1
]
H
×
W
,
A
n
n
\
m
=
1
−
B
n
m
∩
n
∈
[
0
,
1
]
H
×
W
\boldsymbol{A}_{m}^{m \backslash n}=\mathbf{1}-\boldsymbol{B}_{m}^{m \cap n} \in[0,1]^{H \times W}, \quad \boldsymbol{A}_{n}^{n \backslash m}=1-\boldsymbol{B}_{n}^{m \cap n} \in[0,1]^{H \times W}
Amm\n=1−Bmm∩n∈[0,1]H×W,Ann\m=1−Bnm∩n∈[0,1]H×W
结合整个过程,对比共注意特征相当于在强化了共注意特征之后将其围绕1取反,反向突出了除了共享语义区域之外的阴性区域,以此作为非共享语义要素的注意图。
回顾共注意特征的计算过程, F m m ∩ n \boldsymbol{F}_{m}^{m \cap n} Fmm∩n由 F n \boldsymbol{F}_{n} Fn与 A n \boldsymbol{A}_{n} An计算得到,相对来说,其内部对与来自 F n \boldsymbol{F}_{n} Fn中的语义信息注意力更高,因此,经过上述处理以后, A m m \ n \boldsymbol{A}_{m}^{m \backslash n} Amm\n中的注意力信息更加集中于来自 F m \boldsymbol{F}_{m} Fm的互斥语义。
在此基础上,计算对比共注意特征:
F
m
m
\
n
=
F
m
⊗
A
m
m
\
n
∈
R
C
×
H
×
W
,
F
n
n
\
m
=
F
n
⊗
A
n
n
\
m
∈
R
C
×
H
×
W
\boldsymbol{F}_{m}^{m \backslash n}=\boldsymbol{F}_{m} \otimes \boldsymbol{A}_{m}^{m \backslash n} \in \mathbb{R}^{C \times H \times W}, \quad \boldsymbol{F}_{n}^{n \backslash m}=\boldsymbol{F}_{n} \otimes \boldsymbol{A}_{n}^{n \backslash m} \in \mathbb{R}^{C \times H \times W}
Fmm\n=Fm⊗Amm\n∈RC×H×W,Fnn\m=Fn⊗Ann\m∈RC×H×W
其中,“
⊗
\otimes
⊗”表示元素间的点积操作,同样将其带入分类器损失,即可得到对比共注意力损失函数:
L
c
o
−
a
t
t
‾
m
n
(
(
I
m
,
I
n
)
,
(
l
m
,
l
n
)
)
=
L
C
E
(
s
m
m
\
n
,
l
m
\
l
n
)
+
L
C
E
(
s
n
n
\
m
,
l
n
\
l
m
)
=
L
C
E
(
GAP
(
φ
(
F
m
m
\
n
)
)
,
l
m
\
l
n
)
+
L
C
E
(
GAP
(
φ
(
F
n
n
\
m
)
,
l
n
\
l
m
)
\begin{aligned} \mathcal{L} _{\overline{\mathrm{co}-\mathrm{att} } }^{m n}\left(\left(\boldsymbol{I}_{m}, \boldsymbol{I}_{n}\right),\left(\boldsymbol{l}_{m}, l_{n}\right)\right)=& \mathcal{L}_{\mathrm{CE} }\left(\boldsymbol{s}_{m}^{m \backslash n}, \boldsymbol{l}_{m} \backslash \boldsymbol{l}_{n}\right)+\mathcal{L}_{\mathrm{CE} }\left(\boldsymbol{s}_{n}^{n \backslash m}, \boldsymbol{l}_{n} \backslash \boldsymbol{l}_{m}\right) \\ =& \mathcal{L}_{\mathrm{CE} }\left(\operatorname{GAP}\left(\varphi\left(\boldsymbol{F}_{m}^{m \backslash n}\right)\right), \boldsymbol{l}_{m} \backslash \boldsymbol{l}_{n}\right)+\\ & \mathcal{L}_{\mathrm{CE} }\left(\operatorname{GAP}\left(\varphi\left(\boldsymbol{F}_{n}^{n \backslash m}\right), \boldsymbol{l}_{n} \backslash \boldsymbol{l}_{m}\right)\right. \end{aligned}
Lco−attmn((Im,In),(lm,ln))==LCE(smm\n,lm\ln)+LCE(snn\m,ln\lm)LCE(GAP(φ(Fmm\n)),lm\ln)+LCE(GAP(φ(Fnn\m),ln\lm)
该损失计算的是每个对比共注意特征的分类得分与其自身包含的互斥语义类别标签之间的交叉熵,目的在于使分类器对与对比共注意特征,将其归类为对应的互斥语义类别之中。
为什么要额外引入一个对比共注意呢?本质上,对比共注意是对共注意信息的互补,以便分类器可以很好地学习到图像中剩余的互斥语义信息,并且帮助分类器区分出共享语义与非共享语义。如下图,假如在共注意特征提取时,非共享语义“奶牛”被错误识别为共享语义“人类”,在对比共注意特征中,该部分将会被剔除出非共享语义注意的范围,而剩余的注意力信息不足以帮助分类器寻找到“奶牛”,从而能促使分类器对共享语义与非共享语义的区分度。
3.2 网络架构细节
实际进行实验时,损失函数为上述三者的和,每个损失函数系数均为1,并且保证每个图像对至少有一个共同的语义标签。
L
=
∑
m
,
n
L
basic
mn
+
L
co-att
m
n
+
L
c
o
−
a
t
t
‾
m
n
\mathcal{L}=\sum_{m,n}{\mathcal{L}_{\text {basic } }^{\operatorname{mn} }+\mathcal{L}_{\text {co-att } }^{m n}+\mathcal{L}_{\overline{\mathrm{co}-\mathrm{att} } }^{m n} }
L=m,n∑Lbasic mn+Lco-att mn+Lco−attmn
本文采用了单轮前馈预测和额外参考信息的多轮共注意预测,如下图所示,第一种是一般的训练方法。对于多轮预测,具体来说就是在计算共注意分类损失时,使用了数据集中的额外相关图像(后续有做消融实验对比)。具体来说,对于含有标签
k
k
k的某一图像
l
n
\boldsymbol{l}_{n}
ln,计算其与其他若干张含有标签
k
k
k的图像关于
k
k
k的共注意特征,并计算出每一对之间的共注意分类得分,用这个分类得分的均值作为
l
n
\boldsymbol{l}_{n}
ln对于标签
k
k
k的的共注意分类结果。
在获取到高质量的定位图之后,以此作为伪ground truth进行语义分割网络的训练,本文选择的分类网络是基于ImageNet预训练的VGG-16,语义分割网络是基于ResNet101的DeepLab-LargeFOV架构。
4 Experiment
4.1 只在PASCAL VOC Data上学习WSSS
本实验只使用仅含图像级标签监督信息的PASCAL VOC 2012中的图像进行训练,共包含20个类,一共10582张图片用于训练,val集包含1449张图像,test集包含1456张图像。对于val与test,使用语义分割常用的标准交并比(IoU)作为评价指标,即(目标区域与预测区域的交集)/(目标区域与预测区域的并集),具体结果如下:
![](http://little_z_c.gitee.io/imagebed/Attention%E7%9B%B8%E5%85%B3/Mining%20Cross-Image%20Semantics/2.4.png)
作者还可视化了其语义分割结果,与PSA,OAA+进行对比,图像如下(从左到右依次是PSA,OAA+和本文方法):
4.2 在PASCAL VOC Data和额外简单单标签数据上学习WSSS
本实验在PASCAL VOC 2012与额外的简单单标签数据上训练模型,其中额外的单标签数据来自ImageNet CLS-LOC和Caltech-256数据库的子集,共包含20个类别20057张额外简单单标签图像数据。IoU结果如下:
![](http://little_z_c.gitee.io/imagebed/Attention%E7%9B%B8%E5%85%B3/Mining%20Cross-Image%20Semantics/2.5.png)
4.3 在PASCAL VOC Data和从网络获取的数据上学习WSSS
本实验在PASCAL VOC 2012与额外的根据标签名称从必应搜索获得的图像数据上进行训练,共包含20个类别以及总共76683张图像。IoU结果如下:
![](http://little_z_c.gitee.io/imagebed/Attention%E7%9B%B8%E5%85%B3/Mining%20Cross-Image%20Semantics/2.6.png)
4.4 训练出的WSSS在 L I D 20 \mathrm{LID}_{20} LID20挑战上的表现
数据集基于ImageNet,包含共有200个图像级标签的349319张图像,本挑战采用的分类器网络基于ResNet-38,并对网络实验参数进行了一些调整。使用均交并比(mIoU),即计算所有类别的交并比取均值作为评价方案,结果如下:
![](http://little_z_c.gitee.io/imagebed/Attention%E7%9B%B8%E5%85%B3/Mining%20Cross-Image%20Semantics/2.7.png)
注意,在 L I D 19 LID_{19} LID19中,还可以使用额外的显著性属性标记信息,本文在不使用该信息的情况下表现也优于19年的冠军队伍。
4.5 消融实验
4.5.1 推理策略
本实验比较了单轮推理策略,多轮推理策略使用不同方法的IoU得分,结果如下:
![](http://little_z_c.gitee.io/imagebed/Attention%E7%9B%B8%E5%85%B3/Mining%20Cross-Image%20Semantics/2.8.png)
结果显示多轮策略比单论策略的表现有所提升,而当包含了其他相关图像时,对比共注意的加入无法提升定位图推断的性能,作者认为是因为对比共注意特征来自图像自身,而定位图推断更多依赖于上下文信息。
4.5.2 损失函数
本实验评估了多种损失函数组合方式对mIoU得分的影响,如下:
![](http://little_z_c.gitee.io/imagebed/Attention%E7%9B%B8%E5%85%B3/Mining%20Cross-Image%20Semantics/2.10.png)
可以看出,加入共注意损失时,性能提升了3.8%,再加入对比共注意损失时性能又提升了0.7%。
4.5.3 额外图像
作者比较了输入0-5张额外相关图像进行训练时模型的IoU表现,发现添加三张时模型效果最好,随着数量继续增大,噪声的影响盖过了辅助信息的作用,导致性能下降。
![](http://little_z_c.gitee.io/imagebed/Attention%E7%9B%B8%E5%85%B3/Mining%20Cross-Image%20Semantics/2.11.png)