论文阅读笔记:CorrMatch: Label Propagation via Correlation Matching for Semi-Supervised Semantic Segmentation
代码:https://github.com/BBBBchan/CorrMatch
论文:https://arxiv.org/pdf/2306.04300v3.pdf
1 背景
大多数半监督语义分割的工作均采用均值教师框架或者自训练策略来启用一致性正则化。如表1所示,这些方法往往需要额外的网络或训练阶段,使训练过程复杂化。虽然最近的UniMatch已经表明单阶段pipeline是足够的,但它仍然需要多个增广数据流。本文提出的CorrMatch是一个简单框架,不需要多个网络、训练阶段或者强增广数据流。
之前的方法大多数都是使用一个固定的阈值以筛选可靠的像素作为伪标签,然而这些方法往往难以有效地利用未标记数据,这是由于通过阈值调整在伪标记比例和准确性之间进行了权衡。除此之外,由于像素之间的相关性可以反映成对的相似性,这表明语义相似的像素在相关图上表现出更高的相似性,作者从标签传播的角度重新考虑了为未标记数据准确分配伪标签的挑战。
如图1,CorrMatch方法优于之前的所有方法。
2 创新点
-
本文展示了相关图在提高无标签数据使用效率方面的优势。
-
本文设计了一个简单但有效的半监督语义分割框架,包含两种新颖的标签传播策略。
-
CorrMatch在Pascal VOC 2012和Cityscapes数据集上取得了最新的性能,并且在推理过程中没有任何计算负担。
3 方法
首先,考虑到相关图嵌入了全局的成对相似性,作者提出了像素传播策略,通过从提取的特征构建相关图(这个相关图感觉和transformer的注意力图相似)将其传播到预测中,这丰富了具有全局相似性信息的预测,并促进了语义一致性。同时,观察到相关图的每一行都具有局部形状信息,可以得到一系列捕捉物体形状的二值图。因此,结合形状和高置信度区域交集内最显著的预测类,作者提出了区域传播策略,通过为这些形状准确地分配标签来增强为标签。通过将形状和高置信区域的并集视为新的形状和高置信区域,可以扩展高置信区域,从而提高未标记数据的使用效率。
4 模块
4.1 预备知识
CorrMatch 是建立在一个具有从弱到强的一致性正则化的简单框架上。
对于完整标注的图像 x i l x_i^l xil 和对应的标签 y i l y_i^l yil,使用交叉熵损失进行监督。对于未标注的图像 x i u x_i^u xiu, x i w x_i^w xiw 和 x i s x_i^s xis 分别表示其弱增广版本和强增广版本,一致性正则化将 x i w x^w_i xiw 的预测作为 x i s x_i^s xis 的伪标签。图2中展示了未标记图像的pipeline。
给定一个小批量的N个无标签图像,鼓励弱和强增广的输出是一致的:
其中
l
c
l_c
lc 是像素级的交叉熵损失函数,⊙表示逐像素点乘。
M
i
M_i
Mi 是一个基于
F
(
x
i
w
)
F(x^w_i)
F(xiw)高置信度预测结果的二值化图:
其中 F ^ ( x i w ) ∈ R K × H W \hat{F}(x_i^w)∈R^{K×HW} F^(xiw)∈RK×HW是语义分割网络 F F F 的logits输出,K是类别数。 τ \tau τ 是用于过滤出高置信度预测的阈值。
L
u
h
L_u^h
Luh 仅将
F
(
x
i
w
)
F(x_i^w)
F(xiw) 视为伪标签,从而忽略了logits输出
F
^
(
x
i
w
)
\hat{F}(x_i^w)
F^(xiw) 中存储的额外信息。考虑到这一点,作者使用高置信度区域的logits之间的一致性,如式(3)。
其中 K L ( ⋅ ) KL(·) KL(⋅) 是KL散度损失。
4.2 像素传播
基于阈值选择的伪标签忽略了像素之间的语义相似性,限制了未标记数据的利用。基于此,作者提出了像素传播策略来增强模型对成对相似性的整体感知,从而提高未标记数据的利用率。主要包括两个步骤:(1)计算相关图(2)将相关图传播到预测中。
首先在网络的编码器之后,通过线性层提取特征
w
1
w_1
w1 和
w
2
∈
R
D
×
H
W
w_2∈R^{D×HW}
w2∈RD×HW,其中D是通道维度,HW是特征向量的个数。这些提取的特征使得相关匹配能够量化两两之间的相似度,通过计算所有特征向量对的矩阵乘积来计算相关图C:
相关图
C
∈
R
H
W
×
H
W
C∈R^{HW×HW}
C∈RHW×HW是一个2D矩阵,并由Softmax函数激活,以产生成对相似性。C能够如图2所示精确地勾画出属于同一对象的相应区域,并利用相关匹配将其传播为伪标签。
为了增强模型对成对相似性的感知,作者将相关图 C 扩展为模型的logits输出
F
^
(
x
i
u
)
\hat{F}(x_i^u)
F^(xiu),通过标签传播来获得
z
i
u
∈
R
K
×
H
W
z_i^u∈R^{K×HW}
ziu∈RK×HW的另一种表示。
其中
f
1
(
⋅
)
f1(·)
f1(⋅) 是用于形状匹配的双线性插值。由此得到的
z
i
u
z_i^u
ziu 通过关联图强调了同一对象的成对相似性。
因此可以在
z
i
u
z_i^u
ziu 和高置信度伪标签之间计算相关性损失
L
u
c
L_u^c
Luc:
对于标记图像
x
i
l
{x_i^l}
xil,同样计算
z
i
l
z_i^l
zil 和
y
i
l
y_i^l
yil 之间的交叉熵损失作为监督相关损失
L
s
c
L_s^c
Lsc。
4.3 区域传播
由于弱增广无标签图像的相关图
C
i
w
C_i^w
Ciw 中每一行
c
c
c 表示单个特征向量与整个特征图中所有向量的相似性,因此它隐含了实例的形状信息。于是作者提出了区域传播策略来增强这些带有形状信息的标签。具体来说,首先将每一行 c 进行归一化,并将其转为二值映射
c
^
\hat{c}
c^ :
其中
f
2
(
⋅
)
f_2(·)
f2(⋅) 是一个形状匹配函数(应该就是reshape和resize操作),用来对齐
c
^
\hat{c}
c^ 和
F
(
x
i
w
)
F(x_i^w)
F(xiw)。如图3所示,形状信息
c
^
∈
R
H
×
W
\hat{c}∈R^{H×W}
c^∈RH×W显式的嵌入了类不可知的形状信息。对于每一个
c
^
\hat{c}
c^,可以计算
c
^
\hat{c}
c^ 与高置信区间
M
i
M_i
Mi的重叠比
r
1
r_1
r1。当重叠比较大时(如
r
1
>
τ
r_1>\tau
r1>τ)时可以用
c
^
\hat{c}
c^ 来调整伪标注
F
(
x
i
w
)
F(x_i^w)
F(xiw)。
给定当前的伪标注
F
(
x
i
w
)
F(x_i^w)
F(xiw),可以通过一个函数
G
(
l
)
G(l)
G(l) 计算高置信度形状
F
(
x
i
w
)
⊙
M
i
⊙
c
^
F(x_i^w)⊙M_i⊙\hat{c}
F(xiw)⊙Mi⊙c^ 中每个唯一类
l
∈
L
l∈L
l∈L 的数量,并通过下面的等式来定位最重要的类
k
∗
k^*
k∗(从式(8)(9)可以看出其实就是统计每个类的面积并将面积最大的类作为最重要的类)。
其中 L 是预测
F
(
x
i
w
)
F(x_i^w)
F(xiw) 中出现的所有唯一类的集合。此时对于最显著的类别
k
∗
k^*
k∗ ,计算器在高置信度形状内的比例
r
2
r_2
r2。当
k
∗
k^*
k∗ 和高置信度形状高度重合时(即
r
2
>
τ
r_2>\tau
r2>τ)时,可以通过匹配特定形状
c
^
\hat{c}
c^ 将特定的类
k
∗
k^*
k∗ 传播到增强的伪标签
f
(
x
i
w
)
f(x_i^w)
f(xiw) 和 扩展的高置信度区域
M
i
M_i
Mi 中。
考虑到相关图中每个特定形状所需的复杂计算以及相邻区域中相似语义信息的频繁出现,导致相关图中的形状相似,显然在伪标签优化中涉及相关图中的每一行都是冗余的。因此在相关图中采用随机抽样的方法来加速标签传播,如图3所示,白色区域的置信度低,所以被忽略,区域传播显著的扩展了形状信息和最显著类的高置信度区域。
4.4 动态阈值
使用过于严格或宽松的固定阈值 τ \tau τ 都不利于模型收敛。同时,对于不同的数据,最合适的阈值是不同的。因此作者提出一个动态阈值策略。
给定阈值
τ
\tau
τ 一个相对较小的值(如0.85)作为初始化,更新
τ
\tau
τ 的策略依赖于 logits
F
^
(
x
i
w
)
\hat{F}(x_i^w)
F^(xiw)。使用指数移动平均来迭代更新
τ
\tau
τ。
其中
m
a
x
c
(
⋅
)
max^c(·)
maxc(⋅)表示沿着通道维度取最大值。该操作旨在取
F
^
(
x
i
w
)
\hat{F}(x_i^w)
F^(xiw) 中所有预测类的最大置信度,并将其平均值作为每一次迭代的增量。
4.5 损失函数
总体目标函数
L
L
L 为监督损失
L
s
L_s
Ls 和无监督损失
L
u
L_u
Lu 的组合,
L
=
1
2
(
L
s
+
L
u
)
L=\frac{1}{2}(L_s+L_u)
L=21(Ls+Lu) 。与多数方法一样,使用交叉熵损失韩式
L
s
h
L_s^h
Lsh 作为有监督数据集
D
l
D^l
Dl 的基本监督,因此,监督损失
L
s
L_s
Ls 定义为
L
s
h
L_s^h
Lsh 和 监督相关损失
L
c
s
L_c^s
Lcs 的组合
L
s
=
1
2
(
L
s
h
+
L
s
c
)
L_s=\frac{1}{2}(L_s^h+L_s^c)
Ls=21(Lsh+Lsc),对于未标记损失
L
u
L_u
Lu 表示如下:
其中 λ 1 , λ 2 , λ 3 \lambda_1,\lambda_2,\lambda_3 λ1,λ2,λ3 分别设置为0.5,0.25,0.25。
5 效果
5.1 和SOTA方法对比
5.2 消融实验
动态阈值和损失函数的消融实验。
标签传播和区域传播模块的消融实验。
在不同位置提取特征的消融实验,结论证明使用骨干特征始终由于其他方案。
像素传播和区域传播中不同采样策略的消融实验。R表示随机采样,U表示均匀采样。结论证明随机采样128个样本获得了最好的性能。
图5想说明:(a)动态阈值的初始化值的影响对最终效果影响不大。(b)(c)统计了挖掘比率和有效伪标签比率。挖掘率是被选中的高置信度像素在所有正确预测像素中的比例。有效伪标签比例是准确预测的伪标签占整幅图像的比例,可以反映有效伪标签数量。可以清楚地看到,在所提出的标签传播策略下,挖掘比率和有效伪标签比率明显高于没有它们的情况,这说明未标记数据的利用率得到了有效的提高。(d)最佳阈值可能会有很大的变化。
图6a和图6b进一步表明,过于严格的阈值限制了未标记数据的利用,而宽松的阈值会导致碎片化的错误像素预测。