【论文阅读】Anti-Adversarially Manipulated Attributions for WSSS

news2024/11/28 4:27:26

一篇CVPR2021上的论文,用于弱监督分割及半监督分割

论文标题:

Anti-Adversarially Manipulated Attributions for Weakly and Semi-Supervised Semantic Segmentation(AdvCAM)

作者信息:

在这里插入图片描述

代码地址:

https://github.com/jbeomlee93/AdvCAM

论文链接:

https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9578556

Abstract

作者提出了一种叫CAM的生成方法叫AdvCAM。它采用了和adversarial attack相反的方式,使得的图像的更多的非discriminative的区域,也参与到图像的分类中,进而产生更完整的CAM。此外作者还设计了新的regularization 方法来抑制与目标对象无关的区域(产生CAM),并限制已经得分较高的区域(产生CAM)。

Introduction

在这里插入图片描述

(现有方法及其优缺点)弱监督学习具有较少的标注成本。现有的大多数方法,都依赖于从训练过的分类器中获得map(CAM)。这类map中包含了分类器所注意到的区域,但是这类区域(discriminative region)太小了,不能代表目标整体大小。

有些方法通过处理一些图像和特征去扩展这个discriminative区域 (作者的方法属于此类)。

另一个思路擦除(erasure),通过删除原本的discriminative区域,迫使分类器找到其他的discriminative区域。擦除是有效的方法,但它需要修改网络,通常通过添加额外的层或者训练方法。

(作者的方法介绍)adversarial attack是通过图像的扰动,将它推过决策边界以改变分类结果。作者方法正好相反,它的目的是找到一个扰动,将被操纵的图像推离决策边界。具体操作叫adversarial climbing,让图像通过增加扰动原理决策边界,获得更好的决策分数,该类相关的非鉴别区域逐渐参与分类,从而使被操纵图像的CAM识别出更多的物体区域。

这种可能导致不相关的区域一起激活,如背景或其他对象的部分区域。作者通过引入正则化来解决这些问题,抑制其他类的分数,并限制已经有高分的discriminative区域的分数。(这里的分数指CAM的激活值)。

作者的方法是一种后处理手段,可以用来提高现有方法的性能,通用性很强。

3. Proposed Method

3.1Preliminaries

(先介绍了一下adversarial attack)adversarial attack就是说,对于一个神经网络 N N NN NN,找个一个扰动 n n n,使得下列公式成立:
在这里插入图片描述
典型的做法是网络的输出对x求导,然后用x减掉(figure1 a):
在这里插入图片描述
(然后又介绍了一下CAM)即各个通道特征图在权重下的加权和,权重一般由全局平均池化得到:
在这里插入图片描述
CAM弥合了图像级和像素级注释之间的桥梁。然而,由CAM获得的区域通常比目标对象的全部范围要小得多,因为较小的鉴别区域为分类提供了足够的信息。

3.2. AdvCAM

3.2.1 Adversarial Climbing

Adversarial Climbing操纵图像以提高图像的分类分数,本质上让更多的目标区域参与分类器识别。和adversarial attack完全相反,计算公式如下:
在这里插入图片描述
式子中, t t t是adversarial step index, y c y_c yc是图像在神经网络输出的 c c c类别上的得分。作者定义了一个localization map A A A 来展示迭代的结果(不知道这个是干啥的):
在这里插入图片描述

3.2.2 How can Adversarial Climbing Improve CAMs?

目标分类的分数和CAM之间是通过全局平均池化之间联系的,即:
在这里插入图片描述
作者提出的adversarial climbing具体是如何改善CAM的,作者从这两个角度给出了分析:

**(1)Can non-discriminative features be enhanced?😗*作者首先解答了该方法是否能更好的提升non-discriminative区域的CAM值。先给出了判断是discriminative区域还是non-discriminative区域的定义,根据最开始(迭代次数为0的)CAM值进行定义,discriminative region:在这里插入图片描述
non-discriminative region:
在这里插入图片描述
定义了反映region变化的比率(和最开始做对比):
在这里插入图片描述
通过实验(figure2)可以看到无论是discriminative区域还是non-discriminative区域,他们的 s j i s^i_j sji都是在变大,其中non-discriminative区域的增大更快,即会产生更密集的CAM。
在这里插入图片描述
(2)Are those enhanced features class-relevant from a
human point of view?
作者还讨论了这种提高的特征是否符合人类的认知。在adversarial attack中,如果这个神经网络的loss landscape是急剧下降的(shapely curved),则更容易attack。反之如果其loss landscape相对平坦(或者让它变平坦),神经网络就会获得很高的鲁棒性。而在这个意义上的鲁棒性,被相关文献证明和人类的特征感知是一致的。
作者认为受Adversarial Climbing 的模型对 curvature of loss的很小,并对训练过的分类器的loss landscape进行了可视化,并验证了上述结论。
在这里插入图片描述

3.3. Regularization

经过Adversarial Climbing会导致一些错误类别的激活,或者已经是discriminative 的区域的CAM的得分会更高(这并不是作者希望的),作者在两个方面使用正则化方法进行抑制。
**(1)Suppressing Other Classes:**有些经常伴生存在的物体会相互增加分类的logit值,易导致错误分类,作者加了正则化,以减少除c之外的所有类的logit值。
**(2)Restricting High Attributions:**作者发现原本discriminative 的区域的得分继续增高会带来一些问题,它会抑制其他区域参与神经网络的分类决策,也会降低其他区域的标准化得分。作者通过引入一个迭代第t-1轮次的mask来实现正则化抑制,具体公式如下:
在这里插入图片描述
位于mask位置的得分将被抑制,使M对应区域的CAM值被迫等于 C A M ( x 0 ) CAM(x^0) CAMx0,限制效果见figure 2和 figure 4:
在这里插入图片描述
整个的正则化过程可以用如下公式表示:
在这里插入图片描述
公式7的后两项为作者添加的正则化项。

3.4. Training Segmentation Networks

对于弱监督学习,作者使用得到的CAM作为伪标签真来训练DeepLab-v2,在ImageNet数据集上进行预训练。对于半监督学习,作者使用CCT 方法,用作者生成的掩模替换原本由IRN生成的。

Experiments

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/364357.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

浅谈volatile关键字

文章目录1.保证内存可见性2.可见性验证3.原子性验证4.原子性问题解决5.禁止指令重排序6.JMM谈谈你的理解6.1.基本概念6.2.JMM同步规定6.2.1.可见性6.2.2.原子性6.2.3.有序性6.3.Volatile针对指令重排做了啥7.你在哪些地方用过Volatile?volatile是Java提供的轻量级的…

【消费战略】解读100个食品品牌丨元气森林 6年百亿的饮品黑马成功之道

元气森林成立于2016年,短短六年时间取得了近百亿营收的奇迹,成为让可口可乐、百事、娃哈哈、农夫山泉等消费巨头都无法忽视的对手。六年的成长堪比行业前辈20多年的积累,从这个角度而言,塔望咨询认为元气森林是成功的,…

电影《蚁人与黄蜂女:量子狂潮》观后感

上周看了电影《蚁人与黄蜂女:量子狂潮》,整体有一种像是打开了一座新世界的大门,探索新知的感觉,也许是电影3D效果或者现场原因,给人展示量子世界的时候,总是看不清楚画面细节,稍微有些模糊&…

一文读懂Linux中的进程、线程

一文读懂Linux中的进程、线程 大家好,我是木荣君,这次我们来聊一聊Linux中进程和线程。进程和线程的概念非常重要,本篇来详细介绍下这两者的概念。我们在实际开发中,经常会听到这两个词,如果我们不了解这些词背后的概念…

深入浅出C++ ——二叉搜索树

文章目录一、二叉搜索树概念二、二叉搜索树操作1. 二叉搜索树的查找2. 二叉搜索树的插入3. 二叉搜索树的删除三、二叉搜索树的实现四、二叉搜索树的性能分析一、二叉搜索树概念 二叉搜索树又称二叉排序树/二次查找树,它是一棵空树或者是每颗子树都具有以下性质的二叉…

Spring Boot 框架 集成 Knife4j(内含源代码)

Spring Boot 框架 集成 Knife4j(内含源代码) 源代码下载链接地址:https://download.csdn.net/download/weixin_46411355/87480176 目录Spring Boot 框架 集成 Knife4j(内含源代码)源代码下载链接地址:[htt…

Bmp图片格式介绍

Bmp图片格式介绍 介绍 BMP是英文Bitmap(位图)的简写,它是Windows操作系统中的标准图像文件格式,能够被多种Windows应用程序所支持。随着Windows操作系统的流行与丰富的Windows应用程序的开发,BMP位图格式理所当然地被…

JetPack板块—Android X解析

Android Jetpack简述 AndroidX 是Android团队用于在Jetpack中开发,测试,打包,发布和版本管理的开源项目。相比于原来的Android Support库,AndroidX 可以称得上是一次重大的升级改进。 和Support库一样,AndroidX与Android 操作系…

投出1000份简历,苦于软件测试没有项目经验,全部石沉大海,辞职5个月,我失业了......

想要找一份高薪的软件测试工作,简历项目必不可少(即使是应届生,你也要写上实习项目)。所以很多自学的朋友找工作时会碰到一个令人颇感绝望的拦路虎:个人并没有实际的项目工作经验怎么办? 怎么办&#xff1f…

6.1 反馈的基本概念及判断方法

一、反馈的基本概念 1、什么是反馈 反馈也称为 “回授”。在电子电路中,将输出量(输出电压或输出电流)的一部分或全部通过一定的电路形式作用到输入回路,用来影响其输入量(放大电路的输入电压或输入电流)…

【软件测试】接口自动化测试你真的会做吗?资深测试工程师的总结......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 目的? 通…

离线环境拷贝迁移 conda envs 环境(蛮力方法,3行命令)

前言 最近要使用 GPU 服务器做实验,可惜的是,有网络连接的服务器显卡旧,算力不够;显卡较新的机器没有联网。于是有需求将旧机器上配置好的 conda 环境迁移至新机器。网上给的默认方法生成 yaml 文件迁移等 需要联网,只…

孪生生产线:法兰工厂数据驱动的颠覆性创新

2018 年,世界经济论坛(WEF)携手麦肯锡公司共同倡议并正式启动了全球“灯塔工厂网络项目”(Lighthouse Network),共同遴选率先应用工业革命 4.0 技术实现企业盈利和持续发展的创新者与示范者。这就使得工厂系统需要对各流水线及生产运行成本方面进行多角度…

Neuron Selectivity Transfer 原理与代码解析

paper:Like What You Like: Knowledge Distill via Neuron Selectivity Transfercode:https://github.com/megvii-research/mdistiller/blob/master/mdistiller/distillers/NST.py本文的创新点本文探索了一种新型的知识 - 神经元的选择性知识&#xff0c…

整型在内存中的存储(详细剖析大小端)——“C”

各位CSDN的uu们你们好呀,今天小雅兰的内容是整型在内存中的存储噢,现在,就让我们进入整型在内存中的存储的世界吧 数据类型详细介绍 整型在内存中的存储:原码、反码、补码 大小端字节序介绍及判断 数据类型介绍 前面我们已经学…

【扫盲】数字货币科普对于完全不了解啥叫比特币的小伙伴需要的聊天谈资

很多人并不清楚,我们时常听说的比特币,以太坊币,等等这些东西到底是一场骗局还是一场货币革命? 下面就围绕这数字货币的历史以及一些应用场景开始分析这个问题。 一、 开端 一切从2008年中本聪(Satoshi Nakamoto&…

shiro反序列化漏洞与无依赖CB链分析

环境搭建 git clone https://github.com/apache/shiro cd shiro git checkout shiro-root-1.2.4将 shiro/samples/web/pom.xml 中的jstl依赖改为1.2: <dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version&g…

【数据结构与算法】3.(单向、无向、带权)图,广度、深度优先搜索,贪心算法

文章目录1.图简介2.图的存储方式2.1.邻接矩阵存储方法2.2.邻接表存储方法3.有向、无向图和查询算法3.1.数据结构3.2.广度优先算法BFS3.3.深度优先算法DFS3.3.1.DFS查询单条路径3.3.2.DFS查询所有路径4.带权图和贪心算法4.1.贪心算法4.2.基于带权无向图使用贪心算法查询最优路径…

混合精度训练,FP16加速训练,降低内存消耗

计算机中的浮点数表示&#xff0c;按照IEEE754可以分为三种&#xff0c;分别是半精度浮点数、单精度浮点数和双精度浮点数。三种格式的浮点数因占用的存储位数不同&#xff0c;能够表示的数据精度也不同。 Signed bit用于控制浮点数的正负&#xff0c;0表示正数&#xff0c;1表…

MAC地址IP地址 端口

网络结构&#xff1a; 服务器-客户机&#xff08;C/S&#xff09;Client-Server结构&#xff0c;如QQ,LOL都拥有客户端 优点&#xff1a;响应速度快&#xff0c;形式多样&#xff0c;安全新较高缺点&#xff1a;安装软件和维护&#xff0c;不能跨平台LINUX/windows/MAC浏览器-…