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

news/2024/3/29 7:39:59/文章来源:https://blog.csdn.net/rocking_struggling/article/details/129145438

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

3.2. AdvCAM

3.2.1 Adversarial Climbing

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

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区域,他们的sjis^i_jsji都是在变大,其中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值被迫等于CAM(x0)CAM(x^0)CAMx0,限制效果见figure 2和 figure 4:
在这里插入图片描述
整个的正则化过程可以用如下公式表示:
在这里插入图片描述
公式7的后两项为作者添加的正则化项。

3.4. Training Segmentation Networks

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

Experiments

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

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023年华为HCIE-Dacom认证题库(H12-891)

1、如图所示是某位网络工程师在排查OSPF故障时的输出信息。据此判断,以下哪种原因可能导致邻接关系无法正常建立。 Hello报文发送时间不一致认证密码不一致接口的IP地址掩码不一致区域类型不一致 正确答案:C 2、如图所示,路由器的所有接口开启…

ATTCK实战系列——红队实战(二)

网络配置 网卡: WEB: PC: DC: IPWEB10.10.10.80(内)/192.168.111.80(外)PC10.10.10.201(内)/192.168.111.201(外)DC10.10.10.10物理机…

C++线程/阻塞/同步异步----2

本章节内容为记录改写RTK代码时,学习的知识 同步和异步区别 1.定义不同:同步需要将通信双方的时钟统一到一个频率上,异步通信发送的字符间隔时间可以是任意的; 2.准确性不同:同步通信需要比较高精度的精确度,异步则不…

5.12 BGP选路原则综合实验

配置BGP的选路原则 1. 实验目的 熟悉BGP的选路的应用场景掌握BGP的选路的配置方法2. 实验拓扑 实验拓扑如图5-11所示: 图5-11:配置BGP的选路原则 3. 实验步骤 (1)配置IP地址 R1的配置

你知道 GO 中的 协程可以无止境的开吗?

GO语言天生高并发的语言&#xff0c;那么是不是使用 go 开辟协程越多越好的&#xff0c;那么在 go 里面&#xff0c;协程是不是可以开无限多个呢&#xff1f; 那么我们就一起来看看尝试写写 demo 吧 尝试开辟尽可能多的 协程 写一个 demo &#xff0c;循环开 1 << 31 …

Mac 安装 homebrew

文章目录1. 简介2. 安装2.1 官方安装2.2 安装 ARM 版 Homebrew2.3 安装 X86 版 Homebrew2.4 多版本共存3. 设置镜像3.1 初次安装brew后配置中科大 zsh3.2 换源配置中科大 zsh3.3 换源清华大学 zsh4. 问题1. 简介 omebrew是一款包管理工具&#xff0c;目前支持macOS和linux系统…

「TCG 规范解读」第10章 TPM工作组 保护你的数字环境

可信计算组织&#xff08;Ttrusted Computing Group,TCG&#xff09;是一个非盈利的工业标准组织&#xff0c;它的宗旨是加强在相异计算机平台上的计算环境的安全性。TCG于2003年春成立&#xff0c;并采纳了由可信计算平台联盟&#xff08;the Trusted Computing Platform Alli…

【春秋云境】CVE-2022-28512

靶标介绍&#xff1a; ​ Fantastic Blog (CMS)是一个绝对出色的博客/文章网络内容管理系统。它使您可以轻松地管理您的网站或博客&#xff0c;它为您提供了广泛的功能来定制您的博客以满足您的需求。它具有强大的功能&#xff0c;您无需接触任何代码即可启动并运行您的博客。…

IDEA工具系列之连接Linux

我们在开发的时候&#xff0c;用IDEA开发程序&#xff0c;用XSHELL来管理服务器&#xff0c;这两个工具切换比较麻烦。有没有用IDEA来连接Linux。当然有&#xff0c;下面有实践步骤&#xff1a; 首先&#xff1a;连接Linux 打开IDEA->Tools->Start SSH Session 其中1&…

REDIS09_LBS出现背景、GEO算法介绍、算法步骤、剖析、邻近网格位置推算

文章目录①. LBS出现的背景②. 重新认识经纬度③. 感性认识GeoHash④. Geohash算法介绍⑤. Geohash算法步骤⑥. 更深入剖析GeoHash⑦. 邻近网格位置推算①. LBS出现的背景 ①. 移动互联网时代LBS应用越来越多,所在位置附近三公里的药店、交友软件中附近的小姐姐、外卖软件中附近…

stm32f407探索者开发板(二十)——独立看门狗实验

文章目录一、独立看门狗概述1.1 独立看门狗二、常用寄存器和库函数配置2.1 独立看门狗框图2.2 键值寄存器IWDG_KR2.3 预分频寄存器IWDG_PR2.4 重装载寄存器IWDG_RLR2.5 状态寄存器IWDG_SR2.6 IWDG独立看门狗操作库函数三、手写独立看门狗实验3.1 操作步骤3.2 iwdg.c3.3 iwdg.h3…

NLP学习笔记(九) 分词(上)

大家好&#xff0c;我是半虹&#xff0c;这篇文章来讲分词算法 1 概述 分词是自然语言处理领域中的基础任务&#xff0c;是文本预处理的重要步骤 简单来说&#xff0c;就是将文本段落分解为基本语言单位&#xff0c;亦可称之为词元 ( token\text{token}token ) 按照粒度的不…

[Flink]概述day1第4个视频完

一、概述什么是Flink是一种大数据计算引擎&#xff0c;用于对无界&#xff08;流数据&#xff09;和有界&#xff08;批数据&#xff09;数据进行有状态计算。特点1&#xff09;批流一体&#xff1a;统一批处理、流处理2&#xff09;分布式&#xff1a;Flink程序可以运行在多台…

python小基础-更多请自学,或者某某教程-2023-2-21 小扒菜的自学之路【1】

python基础 基础学习 自己跟着菜鸟教程看的一些基础,会java或者js的话,1个半小时就可以over 好久没更新博客了,现在慢慢来发吧,基础内容不太多,自己理解会很快的(下面是一段个人的小经历,大家也可以看看,嘻嘻) 假期看了灵魂摆渡几部电视剧,无聊中收到了一个python爬虫公开课穷,…

单Buffer的缺点与改进方法

单Buffer的缺点与改进方法 文章目录单Buffer的缺点与改进方法一、 单Buffer的缺点二、 使用多Buffer来改进三、 内核驱动程序、APP互相配合使用多buffer致谢参考资料 内核自带的LCD驱动程序 IMX6ULL驱动源码&#xff1a;Linux-4.9.88\drivers\video\fbdev\mxsfb.c 一、 单Buf…

I/O多路复用模型实现——epoll

epoll IO多路复用模型实现机制I/O多路复用epollepoll_create(int size)epoll_ctl(int epfd, int op, int fd, struct epoll_event *event)epoll_wait(int epfd, struct epoll_event * events, int maxevents, int timeout)epoll eventepoll流程I/O多路复用 I/O 多路复用的本质…

Java使用MD5加盐对密码进行加密处理,附注册和登录加密解密处理

前言 在开发的时候&#xff0c;有一些敏感信息是不能直接通过明白直接保存到数据库的。最经典的就是密码了。如果直接把密码以明文的形式入库&#xff0c;不仅会泄露用户的隐私&#xff0c;对系统也是极其的不厉&#xff0c;这样做是非常危险的。 那么我们就需要对这些铭文进…

MyBatis分页插件

目录 分页插件 Mybatis插件典型适用场景 实现思考 第一个问题 第二个问题 自定义分页插件 分页插件使用 添加pom依赖 插件注册 调用 代理和拦截是怎么实现的 PageHelper 原理 分页插件 MyBatis 通过提供插件机制&#xff0c;让我们可以根据自己的需要去增强MyBati…

去中心化开源社交平台Misskey

本文是应网友 anthony084 的要求写的&#xff1b; 什么是 Misskey &#xff1f; Misskey 是一个开源、去中心化的社交媒体平台&#xff0c;发帖方式类似于微博和推特。 去中心化则意味着一个 Misskey 实例可以与其他 Misskey 实例进行相互连接&#xff0c;在 Fediverse (Activi…

广义学习矢量量化(GLVQ)分类算法介绍和代码实现

广义学习矢量量化&#xff08;Generalized Learning Vector Quantization&#xff0c;GLVQ&#xff09;是一种基于原型的分类算法&#xff0c;用于将输入数据分配到先前定义的类别中。GLVQ是LVQ&#xff08;Learning Vector Quantization&#xff09;的一种扩展形式&#xff0c…