Contrastive Learning of Class-agnostic Activation Map for Weakly Supervised Object Localization and Semantic Segmentation
发现
由于前景对象的语义信息不同于背景对象,因此前景对象的表示分布(蓝色)远离背景(绿色)。外观相似或背景具有相似颜色/纹理的前景对象在特征空间中也有相似的表示。基于这些观察结果,可以形成正对和负对的对比学习。利用tSNE[34]来降低特征的维数。
1)前景的语义信息通常与背景的语义信息不同,表现为在特征空间中距离较远(semantic information of foreground objects usually differs from their backgrounds);
2)对于前景而言,当外观相似时,它们在特征空间中距离较近;对于背景而言,当颜色或纹理相似时,它们在特征空间中同样距离较近(foreground objects with similar appearance or background with similar color/texture have similar representations in the feature space)。
一、引言
1)激活图数量:CAM 对每个类别都输出一张激活图;相比之下,CCAM 是类别无关的,无论有多少类别都只输出一张激活图,用于标识前景所在的区域。
2)监督形式:CAM 基于图像分类网络得到,所以需要使用 image-level 的类别标签进行训练;相比之下,CCAM 直接利用对比学习的思想进行训练,不需要任何监督信息,是无监督的。
二、方法
1.生成 CCAM
2.构造对比学习正负例
可以看到,在考虑构造正例对的时候,本文不是想办法刨除掉那些外观不相似的特征对,而是想办法让这些外观不相似的特征对的权重较小。但需要指出,本文在对比学习的过程中就是去拉近 / 拉远两个特征之间的余弦相似度,但在判定两个像素是否外观相似的时候也用了余弦相似度,相当于拿训练目标作为训练过程中的判定标准了,这是我觉得不太合理的地方。
3. CCAM 优化 CAM 质量
在前人的工作中,我们以 到 之间的一个固定数字(通常为 0.2)作为阈值,认为 CAM 中小于该阈值的像素属于背景,大于该阈值的像素属于对应的类别,通过这样的流程生成语义分割伪标签。有了能够区分前景背景的 CCAM 之后,我们就可以优化 CAM 的质量了。这里,文章将 1-p 作为伪标签,又训练了一个新的神经网络(在正文中一笔带过),用于预测图片中背景所在的区域 background cues。通过将这样的 background cues 沿着通道方向连接到原始 CAM 中,我们就可以在没有阈值的情况下提取到更为精确的伪标签,从而训练出质量更高的语义分割网络了。
三、实验
可以看到在加入 CCAM 后,模型在 PASCAL VOC 2012 的 11 个类别上的 IoU,以及整体的 mIoU 几乎都一致得到了提高:
在使用 PSA 作为 baseline 时,在 PASCAL VOC 2012 train 上达到 65.5% 的 mIoU(提高了 3.5%);
在使用 SC-CAM 作为 baseline 时,在 PASCAL VOC 2012 train 上达到 66.0% 的 mIoU(提高了 3.9%);
在使用 SEAM 作为 baseline 时,在 PASCAL VOC 2012 train 上达到 63.9% 的 mIoU(提高了 2.4%);
在使用 PuzzleCAM 作为 baseline 时,在 PASCAL VOC 2012 train 上达到 65.5% 的 mIoU(提高了 3.4%);
在使用 AdvCAM 作为 baseline 时,在 PASCAL VOC 2012 train 上达到 65.4% 的 mIoU(提高了 3.1%)。
paper: https://arxiv.org/abs/2203.13505
code: https://link.zhihu.com/?target=https%3A//github.com/CVI-SZU/CCAM