【论文阅读】Learning Deep Features for Discriminative Localization
Abstract
研究了全局平均池化(global average pooling, GAP),分析了它如何仅仅使用图像级标签训练就能使CNN具有出色的定位能力(localization ability)。作者发现,尽管GAP若为一种正则化手段被提出(来自Network in Network),但它其实建立了一种具有定位能力的表示 ,可以显示出CNN在一张图片中关注到的区域。作者仅使用GAP和图像级标签(即仅使用图像标签进行弱监督语义分割),在ILSVRC2014的目标检测任务上取得了37.1%的top-5错误率。
Introduction
先前的工作表明CNN具有类似目标检测的定位能力(文章题目:Object detectors emerge in deep scene cnns.),即可以定位到图片中的物体,但一旦后面接全连接层进行分类,这种能力就消失了。许多卷积网络如NiN和GoogLeNet没有使用全连接层。
Global average pooling最初是在NiN中作为一种正则化方法提出的(避免过拟合)。但在作者本文的实验中,发现GAP层不仅有这个作用,而且可以保存CNN的这种localization ability。如图所示,仅使用分类标签训练的CNN就可以定位到图像中最discriminative的区域(即对分类最重要的,最具判别力的区域)。
作者仅使用GAP和图像级标签(即仅使用图像标签进行弱监督语义分割),在ILSVRC2014的目标检测任务上取得了37.1%的top-5错误率,接近当时的全监督方法。
Method
Class Activation Mapping
提出Class Activation Map(CAM)。某一类的CAM指出了CNN识别此类时最重要(discriminative)的图像区域。
作者使用类似NiN和GoogleNet的网络结构,即包含若干卷积层,在最后的输出层(如分类用的softmax层)之前,在最后一个卷积层的feature map上使用global average pooling,并将输出通过一个全连接层获取分类预测。
可以通过将输出层的权重投影回卷积层feature map来获取不同图像区域(region)的重要性,这就是class activation mapping。
如图2所示,GAP将最后一个卷积层的feature map在空间上取平均。然后人通过对GAP后的向量元素进行加权求和(即一个全连接层)获取分类logit。与这个过程类似,可以通过计算最后一个卷积层的feature map的加权和来获取class activation maps。
fk(x,y)f_k(x,y)fk(x,y)表示最后一个卷积层中的第k个通道在位置(x,y)(x,y)(x,y)的激活值(即最后一层feature map中通道k、位置(x,y)(x,y)(x,y)处的值)。经过GAP后的输出为Fk=∑x,yfk(x,y)F_k=\sum_{x,y}f_k(x,y)Fk=∑x,yfk(x,y)。所以对于一个给定的分类c,softmax层的输入(class score)Sc=∑kwkcFkS_c=\sum_kw_k^cF_kSc=∑kwkcFk,其中wkcw_k^cwkc是权重。可以认为wkcw_k^cwkc表示了FkF_kFk对分类c的重要性。最终再经过softmax得到类别c的分类概率:Pc=exp(Sc)∑cexp(Sc)P_c=\frac{exp(S_c)}{\sum_cexp(S_c)}Pc=∑cexp(Sc)exp(Sc)。这里没有考虑偏置项,或者可以认为偏置项为0。
ScS_cSc可以进行如下变换:
Sc=∑kwkcFk=∑kwkc∑x,yfk(x,y)=∑x,y∑kwkcfk(x,y)S_c=\sum_kw_k^cF_k=\sum_kw_k^c\sum_{x,y}f_k(x,y)=\sum_{x,y}\sum_kw_k^cf_k(x,y) Sc=k∑wkcFk=k∑wkcx,y∑fk(x,y)=x,y∑k∑wkcfk(x,y)
即对每个位置先乘以权重w再求和,结果不变。于是可以定义类别c的class activation map McM_cMc,这个map的每个位置的值如下:
Mc(x,y)=∑kwkcfk(x,y)M_c(x,y)=\sum_kw_k^cf_k(x,y) Mc(x,y)=k∑wkcfk(x,y)
因此有Sc=∑x,yMc(x,y)S_c=\sum_{x,y}M_c(x,y)Sc=∑x,yMc(x,y)。所以,Mc(x,y)M_c(x,y)Mc(x,y)直接表明了位置(x,y)(x,y)(x,y)处的激活值对于图像属于类别c的重要性。
我们知道,feature map中每个通道都会识别一种特定的visual pattern,即fkf_kfk表示这种visual pattern的存在性。Class activation map就是对这些不同位置的visual pattern的存在性进行加权求和。通过将class activation map上采样到输入图片相同尺寸,我们就可以得出图片中每个区域对它被分为某个分类的重要程度(即对图片中对分类贡献最大的区域进行可视化)。图3显示了每张图片中对分类最重要的区域。
图4显示了同一张图片对不同分类的CAMs,可以发现对不同分类重点区域也不一样。
Global average pooling (GAP) vs global max pooling (GMP)
作者认为,使用GAP进行训练可以鼓励网络分辨出对于分类最重要的物体范围,而使用GMP(全局最大池化,即选择feature map中最大的一个值保留)则会让网络分辨出图像中仅一个最重要的位置。这是因为,GAP后的值来自于图像中所有discriminative parts,而GMP中只关注一个最大值,其余低一点的值都被忽略了。
由于二者的这个差别,GAP和GMP在分类任务上表现相似,但在检测任务上GAP比GMP表现要好许多。
Experiments
略
【论文阅读】Learning Deep Features for Discriminative Localization相关推荐
- 论文笔记 | Learning Deep Features for Discriminative Localization
作者 Bolei Zhou, Aditya Khosla, Agata Lapedriza, Aude Oliva, Antonio Torralba Bolei Zhou Abstract 受到NI ...
- Learning Deep Features for Discriminative Localization -CAM方法帮助若监督学习研究实现物体定位论文阅读笔记
作者:18届会长cyl 时期: 2020-9-11 论文<Learning Deep Features for Discriminative Localization> 期刊:2016CV ...
- 【CAM】Learning Deep Features for Discriminative Localization
论文链接 github Abstract 1. Introduction CNN能保留位置信息,但经过用于分类的全连接神经网络时会丢失位置信息.最近的NIN和GoogLeNet使用全卷积网络.避免使用 ...
- 记录之Learning Deep Features for Discriminative Localization阅读
这篇文章有两个重要概念: 1.弱监督物体定位(Weakly-supervised object localization) 2.可视化卷积神经网络 文章的作法是,将最后一个卷积层的输出做一个加权融合, ...
- 论文阅读-Learning Deep CNN Denoiser Prior for Image Restoration
Zhang K, Zuo W, Gu S, et al. Learning Deep CNN Denoiser Prior for Image Restoration[J]. 2017. 1.引言 图 ...
- 论文阅读:Deep Learning in Mobile and Wireless Networking:A Survey
论文阅读:Deep Learning in Mobile and Wireless Networking:A Survey 从背景介绍到未来挑战,一文综述移动和无线网络深度学习研究 近来移动通信和 5 ...
- 【论文阅读】Deep Compositional Captioning: Describing Novel Object Categories without Paired Training Data
[论文阅读]Deep Compositional Captioning: Describing Novel Object Categories without Paired Training Data ...
- [论文阅读:姿态识别Transformer] TransPose: Keypoint Localization via Transformer 2021 ICCV
[论文阅读:姿态识别&Transformer] TransPose: Keypoint Localization via Transformer 2021 ICCV 文章目录 [论文阅读:姿态 ...
- 【论文阅读】DEEP GRAPH INFOMAX(DGI)
DEEP GRAPH INFOMAX(DGI) 摘要 1 Introduction 2 相关工作 2.1 对比方法 2.2 抽样战略 2.3 预测编码 3 DGI Methodology 3.1 基于 ...
最新文章
- android 之四大组件的Activity详解
- 【VC基础】 6、VC条件定价
- php 自动列,设置自动调整列phpExcel
- linux搭建交换机日志,用LINUX的SYSLOG做交换机、路由器的日志服务器
- freetds php mssql 中文乱码,PHP读取mssql json数据中文乱码的解决办法
- UESTC_酱神寻宝 2015 UESTC Training for Dynamic ProgrammingProblem O
- TurboMail邮件系统实用技巧十四:如何知道对方已经读信
- Libra教程之:Libra protocol的逻辑数据模型
- 策略模式与简单工厂模式区别(转)
- Spring Data JPA 从入门到精通~Auditing及其事件详解
- 根据数组中的某个键值大小进行排序,仅支持二维数组
- Maven STS创建WEB项目
- 疫情,降薪,跳槽工作难找,任务重加班多,程序员的出路在何方?
- 如何在 iPhone 和 Mac 上的 Apple Notes 中使用智能文件夹?
- 确定要离开当前页面吗
- 树莓派硬件编程——(一)用RPi.GPIO库输出信号
- 让Google搜索到GitHub上的个人博客
- 台式win7旗舰版如何调节屏幕亮度
- 无刷直流电动机矢量控制(一)——无刷直流电机(BLDC)与永磁同步电机(PMSM)的相同点和区别
- Swift 类和结构体总结