Regional Semantic Contrast and Aggregation for Weakly Supervised Semantic Segmentation
https://github.com/maeve07/RCA.git
弱监督分割是一个非常具有挑战的任务。很多方法从单个图像或者图像对获得相对有限的语义标注信息。作者提出来使用弱标签的训练集数据进行丰富的语义信息的学习。提出了regional semantic contrast and aggregation (RCA) 模块,主要包括两个方面:
1.semantic contrast:让网络对大量不同类别的区域的信息进行学习,以使有一个整体的pattern的理解(数据集级别的learning方法)
2.semantic aggregation: 捕获不同的上下文献信息去扩充语义表示(如何使用semantic contrast学到的信息)
在WSSS发展中,:
上述两种均缺乏有效的监督信号,并且比较占用计算代价。
作者提出了RCA,从整体的数据集的角度进行更全面的语义模式的学习与推理。(此处作者又列举了一些优点和做法,如下:
RCA主要从Semantic contrast 和Semantic aggregation两个方面展开的,其中:
二者的作用:
Task Setup: Training a classification network first for identifying object regions corresponding to each category, which are then re-
fined to produce pseudo segmentation labels as the supervision of a semantic segmentation network。
Previous Solutions to WSSS 最近的一些方法从与训练的全卷积网络中抽出 class-ware attention maps,一些论文证明了产生定位的效果和CAM一致(该论文基于此展开)。对于mini-batch的图像 I I I,它产生class-ware attention maps的方式如下:
其中 F F C N F_{FCN} FFCN指骨架网络(VGG,Resnet)等, F C A M F_{CAM} FCAM 是常见的CAM的提取方法,可以理解成一个1x1卷积。
对于得到的map P l P_l Pl,一般经由全局池化获得多标签的分类score。
根据公式(1)中的 P P P对 F F F加入masked average pooling (MAP),生成嵌入向量:
主要是根据 P l P_l Pl的均值设定阈值 u u u用于mask 池化,将特征图F中的关于类别l的强activate 像素生成Representation。
作者为RCA建立了一个非参数和动态存储库来存储数据集级的区域语义信息,称为mermory bank,M。M中包含L个字典,每个字典对应一类标签类别,即:
其中的每一个 M l M_l Ml代表图像 I I I中的第l个类别的区域性的representation,记为 m l m_l ml。内存库会在反向传播过程中不断更新 m l m_l ml,即:
仅当 I I I中第l个类别出现,且对应的 p l p_l pl大于阈值时,才会更新 m l m_l ml,否则不更新。
Memory Mechanism Discussion (该方法的优势):
总体来公式(3)积累了由图像分类器在不同的训练时期产生的每个对象区域的所有中间状态。训练到最后, m l m_l ml的表征能力将逐渐提升,后面用于semantic aggregation。
采用对比学习的思想,对于公式2中给定的 f l f_l fl,训练使其同类别 { m l + ∈ M l } \{m_l^+\in{M_l}\} {ml+∈Ml}的相似性越高高越好,不同类别 { m l − ∈ M l } \{m_l^-\in{M_l}\} {ml−∈Ml}的相似性越低越好。
利用NCE损失函数:
由于弱监督的标签比较弱且存在噪声,使用了region mixup去增强学习的representations 的鲁棒性。即对于I中的每个区域l,通过将其与另一个小批量图像中的区域ll线性组合来创建一个混合区域。
这里 l l l和 l − l- l−表示不同的类别。 w w w为服从 β \beta β分布的系数。应用mixup后的对比学习的损失函数为:
公式(6)鼓励网络从mix region中学习相似性,并从不完美的label中学习鲁棒性。
(对获得representations进行利用)
memory bank中的信息比较的富足和冗余,直接利用也计算量比较大。作者对bank中的每个类别 l l l对应的 M l M_l Ml使用k-means均值聚类获得K个原型reprentation,记为 Q l Q_l Ql。多个 Q l Q_l Ql用于解释类内特征的不同。将bank中所有的一类的 Q l Q_l Ql连接在一起,得到 Q = [ Q 1 , . . . , Q L ] Q=[Q_1,...,Q_L] Q=[Q1,...,QL]。将公式(1)中的 F F F和获得的reprentation Q Q Qconcat并做softmax处理获得affinity matrix S:
每个S都反应了F的每一行和Q中的每一列的标准化相似性(S的作用)。基于affinity matrix S,计算扩充feature reprentation F ′ F^{'} F′:
将获得的enrich reprentation F ′ F^{'} F′和原本的 F F F concat:
其中 F F F能够表示intra-image local contexts , F ′ F^{'} F′能够表示 inter-image global contexts,那么所获得总F的大概就有能表示这个意思。