Learning Pixel-level Semantic Affinity with Image-level Supervision for Weakly Supervised Semantic Segmentation
Paper: https://openaccess.thecvf.com/content_cvpr_2018/papers/Ahn_Learning_Pixel-Level_Semantic_CVPR_2018_paper.pdf
Code:https://github.com/jiwoon-ahn/psa
Abstract
分割标签的缺失是野外语义分割的主要障碍之一。为了缓解这一问题,我们提出了一个新的框架,给定图像级类标签生成图像的分割标签。在这种弱监督的设置中,训练过的模型可以分割局部的鉴别部分,而不是整个对象区域。我们的解决方案是将这种局部响应传播到属于同一语义实体的附近区域。为此,我们提出了一种被称为亲和网络的深度神经网络(DNN),它可以**预测一对相邻图像坐标之间的语义亲和力。然后通过亲和网络预测的亲和度来实现语义传播。**更重要的是,用于训练关联网络的监督是由初始识别部分分割给出的,它作为分割注释是不完整的,但足以学习小图像区域内的语义亲和性。因此,整个框架只依赖于图像级的类标签,而不需要任何额外的数据或注释。
一、方法
对象类别和背景的显著区域首先由CAMs[40]在训练图像中进行定位(第3.1节)。从显著区域出发,我们对相邻坐标对进行采样,并根据它们的类一致性给它们分配二进制标签。然后使用这些标记的对来训练亲和网络(第3.2节)。训练后的亲和网络依次预测局部图像区域内的语义亲和,这些区域结合随机亲和来修正cam(第3.3节),并生成它们的分割标签(第3.4节)。最后,将生成的注释作为监督模型,训练语义分割模型。
1. Computing CAMs
其中wc是与类c相关的分类权值(x,y)表示位于GAP之前的特征图上(x,y)的特征向量。Mc被进一步归一化,使最大激活等于1:Mc(x,y)→Mc(x,y)/maxx、yMc(x,y)。对于任何与基本事实无关的类c0,我们忽略了Mc0的激活分数为0。我们还估计了一个背景激活图,它是由
2. Learning AffinityNet
亲和网络旨在预测训练图像上一对相邻坐标之间的类不可知的语义亲和度。在随机游走中使用预测的亲和度作为转移概率,使随机游走将CAMs的激活分数传播到同一语义实体的附近区域,从而显著提高了CAMs的质量。为了提高计算效率,affinitynet被设计用来预测一个卷积特征映射faff,其中一对特征向量之间的语义亲和力是根据它们的L1距离来定义的。具体来说,特征i和特征j之间的语义亲和度用Wij表示,并定义为
式中(xi、yi)表示特征图faff上第i个特征的坐标。这样,通过网络的一次正向传递,可以有效地计算出给定图像中存在的大量语义亲和度。
Generating Semantic Affinity Labels
为了估计物体的可信区域,我们首先通过减少等式中的α来放大Mbg(2),使背景分数主导了cam中不显著的物体激活分数。在将dCRF应用于cam进行细化后,我们通过收集目标类的分数大于包括放大背景在内的任何其他类的坐标来识别每个对象类的可信区域。此外,在相反的情况下(即增加α以削弱Mbg),可以以同样的方式识别自信的背景区域。图像中的剩余区域将被认为是中性的。这个过程的结果如图4(a)所示
现在,可以根据由自信区域确定的类标签,为每对坐标分配一个二进制亲和标签。对于非中性的两个坐标(xi、yi)和(xj、yj),如果它们的类相同,则它们的亲和标签W∗ij为1,否则则为0。
AffinityNet Training
特别是,由于以下两个原因,在训练过程中只考虑了足够相邻的坐标的亲和性。首先,由于缺乏上下文,很难预测两个坐标之间的语义亲合力。其次,通过仅对相邻坐标对进行寻址,我们可以显著降低计算成本。
其中d(·,·)为欧氏距离,γ是限制选定对之间的距离的搜索半径。
然而,由于阶级不平衡的问题,直接从P中学习亲缘网络是不可取的。我们观察到,在P中,类分布明显偏向于正的类分布,因为负对只在对象边界附近采样。同样在正对的子集中,由于许多照片中的背景大于对象对,因此背景对的数量明显大于对象区域。为了解决这个问题,我们将P分为三个子集,并从单个子集获得总损失。具体来说,我们首先将P分成正对和负对的两个子集:
并进一步将P+分别分解为Pfg+和P+bg。然后计算每个子集的交叉熵损失如下:
生成语义亲和性标签的概念性说明。(a)物体类别和背景的自信区域:桃色代表人,绿色代表植物,黑色代表背景。中性区域是用白色的颜色编码的。(b)坐标对在一个小的半径内采样,用于训练亲和网。如果每对的两个坐标来自同一个类,则它们被分配为1,则标记为0。当两个坐标中至少有一个属于中性区域时,在训练过程中忽略这对坐标。