论文阅读:Learning Deep Features for Discriminative Localization(CAM)

2023-05-16

Learning Deep Features for Discriminative Localization

文章目录

  • Learning Deep Features for Discriminative Localization
    • 摘要
    • 1 引言
      • 相关研究
    • *2 类激活图(Class Activation Mapping,CAM)
    • 3 弱监督目标定位
      • 3.1 实验设置
      • 3.2 实验结果
    • 4 用于通用定位的深度特征
      • 4.1 细粒度识别
      • 4.2 模式发现
    • 5 可视化特定类别的单位
    • 6 总结

摘要

  1. 回顾全局平均池化GAP仅在图像标签级别上训练就有显示CNN局部化能力,实际上建立了通用的定位深层表示
  2. 本文网络能定位各类任务中图像中的区别性区域,即使不是专门训练

1 引言

卷积层的卷积单元可以当作是目标检测器,即使是在无目标位置的监督时。全连接层的使用丧失了这种能力。

在训练过程中,使用GAP作结构正则器避免过拟合来实现这种功能。GAP在正则器外还有其他优点。实际上,只需稍作调整,网络就可以保留其出色的定位能力,直到最后一层。 通过这种调整,可以轻松地在一次正向传递中识别出可区分的图像区域,以完成各种各样的任务,甚至包括那些最初不是针对网络进行训练的任务。

相关研究

在仅图像标签级别的训练下,卷积神经网络也有出色的定位目标的能力

弱监督目标定位,卷积神经网络中的

global max pooling,受限于目标边界点,均值池化更好一点。

本文使用 类激活图(class activation map, CAM) 来指代为每个图像生成的加权激活图

卷积神经网络内部可视化

*2 类激活图(Class Activation Mapping,CAM)

使用全局均值池化生成CAM的步骤:网络主要由卷积层组成,并且在最后的输出层之前, 在卷积特征图上进行全局平均池化,用于全连接层。可以通过将输出层的权重投影到卷积特征图上来识别图像区域的重要性,该技术称为类激活映射(class, activation mapping)

image-20210409162435795

最后一个卷积层输出做全局平均池化得到特征图的空间平均值,这些值的加权和用于生成最终输出。类似地,计算最后一个卷积层的特征图的加权和,获得类激活图CAM。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-orjJUNXr-1618045987224)(https://gitee.com/zhuyu2//personal-drawing-bed-2/raw/master/img/20210410171218.jpg)]

各种类别的图像的区别性区域都被高亮显示。对于同一图片,被分成不同类别得到的CAM不一样。

GAP vs GMP(最大值池化,global max pooling)

GAP和GMP之间的直观区别:

  1. 与GMP相比,GAP损失鼓励网络确定对象的范围,而GMP鼓励仅识别一个区别性部分。 这是因为,当对图进行平均时,区别部分最大化该值,低激活部分降低该值
  2. 对于GMP,所有图像区域的最低得分(最具区分性的得分除外)都不会影响得分。通过实验进行了验证,尽管GMP的分类性能与GAP相似,但在定位方面GAP优于GMP。

3 弱监督目标定位

3.1 实验设置

AlexNet、VGG、GooLeNet。作者发现,当GAP之前的最后一个卷积层具有较高的空间分辨率时,即所谓的映射分辨率,网络的定位能力得到了提高。因此在网络中删除了几个卷积层,又加了卷积层最后加上GAP。

(看Pytorch中的三个网络的源码,self.avgpool=self.avgpool = nn.AdaptiveAvgPool2d((6, 6))self.avgpool = nn.AdaptiveAvgPool2d((7, 7))self.avgpool = nn.AdaptiveAvgPool2d((1, 1)),分类时多了展开操作x = torch.flatten(x, 1)

3.2 实验结果

分类

对网络进行变更后有1-2个百分点分类性能的下降。(AlexNet*-GAP是加了两个卷积层)

image-20210409190218833

定位

生成边界框,为了从CAM生成边界框,使用一种简单的阈值化技术来分割热图。分割出值高于CAM最大值20%的区域,然后,将边界框覆盖在分割图中,该连接框最大(可以覆盖最大连通分支的最小矩形区域)。

image-20210410163041612

image-20210409190829872

image-20210409190814259

image-20210409190932846

4 用于通用定位的深度特征

CNN较高层的响应已被证明是非常有效的通用功能,并且在各种图像数据集上均具有最先进的性能。 作者证明经GAP CNN所学习的功能也具有良好的通用功能,并且可以识别用于分类的可辨别图像区域,即使没有经过针对这些特定任务的训练。 为了获得与原始softmax层相似的权重,在GAP层的输出上训练线性SVM。(?)

4.1 细粒度识别

image-20210410163817065

4.2 模式发现

给定一组包含共同概念的图像,想确定网络将哪些区域识别为重要区域,以及这是否与输入模式相对应。

在GoogLeNet-GAP网络的GAP层上训练线性SVM,并应用CAM技术来识别重要区域。

  1. 场景中发现信息目标:观察到高激活区域通常对应于特定场景类别的对象指示
  2. 弱标签图像概念定位:即使短语比典型的对象名称抽象,CAM仍定位了概念的信息区域
  3. 弱监督文本检测器:无需使用边界框注释即可准确地突出显示文本
  4. 解释视觉问题解答:方法突出显示了与预测答案相关的图像区域

5 可视化特定类别的单位

CNN各个层的卷积单元充当视觉概念检测器,将低级概念识别为高级概念。**随网络深入,单元越具有区别性。 **

但考虑到许多网络中的全连接层,很难确定不同单元对于识别不同类别的重要性。 在这里,使用GAP和排序的softmax权重,可直接可视化对于给定类别最有区别的单位。 称它们为CNN特定于类的单元

image-20210410165308481

从图中可以识别出对分类最具有区别性的对象部分,并准确地确定了哪些单元可以检测到这些部分。
可以推断出CNN实际上是学习一袋单词,其中每个单词都是一个区分类的特定单元。 这些特定于类别的单元的组合可指导CNN对每个图像进行分类。

6 总结

  1. 全局平均池化的类激活图技术CAM,这使经过分类训练的CNN可以学习对象定位能力,而无需任何边界框。 类别激活图可以在任何给定图像上可视化预测的类别分数,突出显示CNN检测到的区分对象部分。
  2. CAM定位技术可以推广到其他视觉识别任务,即可以产生通用的可定位深度特征。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

论文阅读:Learning Deep Features for Discriminative Localization(CAM) 的相关文章

随机推荐

  • Keil编程环境背景颜色--护眼色

    在Edit中选择Configuration 选择Colors amp Fonts 点击下载那个按钮 按照这个参数输入自定义颜色并添加 xff0c 就保存为一个护眼的绿色啦
  • win10下MissionPlanner地面站的安装

    win10下MissionPlanner地面站的安装 编辑器 xff1a Viaual Studio2019社区版 安装时工作负荷和单个组件的选择如下图所示 xff0c 然后自定义安装位置进行安装 安装完成后启动MP地面站 启动Visual
  • git fatal: The remote end hung up unexpectedly 错误

    使用git将本地项目添加到远程仓库报以下错误 git push u origin master Counting objects 2053 done Delta compression using up to 2 threads Compr
  • git submodule update --init --recursive

    转自https blog csdn net wangjia55 article details 24400501 转自http webfrogs me 2013 03 20 git submodule 开发过程中 xff0c 经常会有一些通
  • C++简介( C++ Primer Plus)

    C 43 43 历史 xff1a 1980年 xff0c 贝尔实验室的 Bjarne Stroustrup 本贾尼 斯特劳斯 开始对C进行改进和扩充 1983年正式命名为C 43 43 支持3钟不同的程序设计 过程化程序设计 数据 43 算
  • 树莓派3B+ 引脚图说明

    如上图所示 xff0c 我们可以很清楚的看到各个引脚的功能 例如我们想使用pwm引脚来控制舵机 xff0c 则我们可以考虑使用其中的 BCM18 PWM0 和 BCM13 PWM1 在使用wiringPi库时 xff0c 我们定义的引脚即B
  • 树莓派3B+ 串口使用大全(实现串口通信功能)

    1 树莓派串口控制台功能 在2018 10 09 raspbian stretch img镜像中 xff0c 要使用串口来调试设备 xff0c 需要修改conig txt文件 1 sudo systemctl disable hciuart
  • Java学习笔记(三)函数——学习MOOC网翁恺老师课程记录

    七 函数 7 1 函数定义与调用 Java的函数必须定义在类的内部 xff0c 成为类的成员 定义一个函数 xff0c 要像这样写 xff1a lt 返回类型 gt lt 方法名称 gt lt 参数表 gt lt 方法体 gt 返回类型是这
  • STL笔试面试题总结(干货)

    STL笔试面试题总结 一 STL有哪些组件 STL提供六大组件彼此此可以组合套用 1 容器 容器就是各种数据结构 我就不多说 看看下面这张图回忆一下就好了 从实现角度看 STL容器是一种class template 2 算法 各种常见算法
  • Framebuffer 机制【转】

    本文转载自 xff1a http blog csdn net paul liao article details 7706477 Framebuffer Framebuffer是Linux系统为显示设备提供的一个接口 xff0c 它将显示缓
  • 单片机——蜂鸣器

    1 蜂鸣器 2 所用元件 2n5771 at89c51 button cap cap elec crystal res speaker 例图 xff1a 例图代码 xff1a include lt REGX51 H gt sbit BEEP
  • Linux获取机器码

    1 准备工作 安装php xff0c 并已经配置好环境变量path 2 运行hardware sh获取机器码 shell gt php span class token punctuation span span class token o
  • Windows远程桌面卡顿问题(包含网络调优)

    注 xff1a 以下操作需管理员权限执行CMD 关闭自动调节 xff1a netsh interface tcp span class token function set span global autotuninglevel 61 di
  • ESXI VIB升级报错

    一 兼容性问题 1 通过VIB升级ESXI时 xff0c 可能会出现类似报错 span class token namespace DependencyError span VIB LSI bootbank scsi mpt3sas 04
  • MySQL 8.0安装

    1 安装MySQL 8 0 Server shell gt dnf span class token operator span y install 64 mysql 2 开启服务 shell gt systemctl span class
  • 华为镜像启动报错

    shell gt span class token function rm span span class token operator span etc span class token operator span udev span c
  • ThinkPad T14s 安装Ubuntu22踩坑记

    讲一个我装机历经的一个小故事 首先 xff0c 花个万把块 xff0c 买个心仪的撸码神奇 xff0c 我买的是2022款ThinkPad T14s 官网关注了好久就是不出32G内存版本的 xff0c 无奈只能买一个16G内存版本的 xff
  • STM32F429入门(二十一):SPI协议及SPI读写FLASH

    IIC主要用于通讯速率一般的场合 xff0c 而SPI一般用于较高速的场合 一 SPI协议简介 SPI 协议是由摩托罗拉公司提出的通讯协议 Serial Peripheral Interface xff0c 即串行外围设 备接口 xff0c
  • Dell清除BIOS密码及硬盘锁

    1 获取System Number F2进入BIOS xff0c 点击Unlock出现以下界面 xff0c 记录System Number 2 获取password 访问https bios pw org xff0c 将记录的System
  • 论文阅读:Learning Deep Features for Discriminative Localization(CAM)

    Learning Deep Features for Discriminative Localization 文章目录 Learning Deep Features for Discriminative Localization摘要1 引言