Contrastive Learning of Class-agnostic Activation Map for Weakly Supervised Object Localization and Semantic Segmentation

文章目录

  • 发现
  • 一、引言
  • 二、方法
    • 1.生成 CCAM
    • 2.构造对比学习正负例
    • 3. CCAM 优化 CAM 质量
  • 三、实验

发现


由于前景对象的语义信息不同于背景对象,因此前景对象的表示分布(蓝色)远离背景(绿色)。外观相似或背景具有相似颜色/纹理的前景对象在特征空间中也有相似的表示。基于这些观察结果,可以形成正对和负对的对比学习。利用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


【论文阅读】【CVPR2022】Contrastive Learning of Class-agnostic Activation Map相关推荐

  1. 论文阅读 [CVPR-2022] BatchFormer: Learning to Explore Sample Relationships for Robust Representation Lea

    论文阅读 [CVPR-2022] BatchFormer: Learning to Explore Sample Relationships for Robust Representation Lea ...

  2. 论文阅读“Twin Contrastive Learning for Online Clustering”(IJCV2022)

    论文标题 Twin Contrastive Learning for Online Clustering 论文作者.链接 作者: Li, Yunfan and Yang, Mouxing and Pe ...

  3. [论文阅读] Cross-level Contrastive Learning and Consistency Constraint for Medical Image Segmentation

    论文地址:https://arxiv.org/abs/2202.04074 代码:https://github.com/ShinkaiZ/CLCC-semi 发表于:ISBI 22 Abstract ...

  4. 《论文阅读》Multi-Task Learning of Generation and Classification for Emotion-Aware Dialogue Response Gener

    <论文阅读>Multi-Task Learning of Generation and Classification for Emotion-Aware Dialogue Response ...

  5. 论文阅读:Deep Learning in Mobile and Wireless Networking:A Survey

    论文阅读:Deep Learning in Mobile and Wireless Networking:A Survey 从背景介绍到未来挑战,一文综述移动和无线网络深度学习研究 近来移动通信和 5 ...

  6. 论文阅读 [TPAMI-2022] On Learning Disentangled Representations for Gait Recognition

    论文阅读 [TPAMI-2022] On Learning Disentangled Representations for Gait Recognition 论文搜索(studyai.com) 搜索 ...

  7. 【论文阅读】Cross-X Learning for Fine-Grained Visual Categorization

    [论文阅读]Cross-X Learning for Fine-Grained Visual Categorization 摘要 具体实现 OSME模块 跨类别跨语义正则化(C3SC^{3} SC3S ...

  8. 论文阅读|DeepWalk: Online Learning of Social Representations

    论文阅读|DeepWalk: Online Learning of Social Representations 文章目录 论文阅读|DeepWalk: Online Learning of Soci ...

  9. 论文阅读《Representation learning with contrastive predictive coding 》(CPC)对比预测编码

    论文地址:Representation Learning with Contrastive Predictive Coding 目录 一.Background(背景) 二.Motivation and ...

  10. 【论文阅读笔记】Learning To Detect Unseen Object Classes by Between-Class Attribute Transfer

    摘要: 本文主要研究训练和测试类别不相交时(即没有目标类别的训练示例)的对象分类问题.在此之前并没有对于毫无关联的训练集和测试集进行对象检测的工作,只是对训练集所包含的样本进行分类.实验表明,通过使用 ...

最新文章

  1. 史上第二走心的 iOS11-Drag Drop 教程
  2. 微服务实践分享(1) 概况
  3. 老虎Sitemap生成器 0.3
  4. win10+tensorflow CPU 部署CTPN环境
  5. 深信服python面试题_(完整版)往年的深信服笔试题(齐全)
  6. c语言程序40例,C语言程序讲解40例.pdf
  7. python接口自动化登录_python 接口自动化--登录
  8. 孙鑫VC学习笔记:第十三讲 (六) 关于释放内存
  9. 详解《云原生架构白皮书》,附下载链接
  10. Python爬虫基本代码附解析
  11. Linux如何配置DNS服务器
  12. AndroidQ SystemUI之power键灭屏锁屏流程
  13. 查看欧拉系统服务器ip,EulerOS 系统配置
  14. R语言中同比增长和环比增长
  15. Apollo客户端使用与配置解析
  16. 百万亚瑟王无法连接服务器请在信号良好的地方重试,叛逆性百万亚瑟王
  17. 脉冲时间宽度c语言,什么是脉冲宽度_脉冲宽度是什么意思
  18. easyUI非常迷惑性的bug:分页插件点击下一页和尾页后,发送两次请求,第二次请求回跳转到第一页
  19. Java 算法之三色旗
  20. Android面试题【高级工程师版】

热门文章

  1. 1046: 奇数的乘积 Python
  2. 校招面试——Java 基础知识
  3. Git 的一些使用细枝末节
  4. Spark创建空的DataFrame
  5. 通过线程ID获得窗口句柄的方法
  6. 广和通l610二次开发|广和通l610 CAT.1模组opencpu开发《一》资源介绍
  7. Skype 无法启动
  8. 阿里云领取学生机流程
  9. 北京大学计算机学院,官宣首任院长
  10. 作业~嗖嗖移动业务大厅