Learning Deep Features for Discriminative Localization论文笔记

论文地址:https://arxiv.org/abs/1512.04150
github地址:http://cnnlocalization.csail.mit.edu

本文提出了一种研究网络可解释性的方式,用global average pooling的方式得到网络的注意力机制。

Motivation

过去global average pooling (GAP)通常被用于正则化训练卷积神经网络,而作者发现这一操作实际上使得卷积神经网络具有了定位能力。并且由于一般网络最后的全连接层会丢失空间信息,从而使得输出不具有可解释性。因此,为了使得最后的结果具有空间可解释性,作者提出使用GAP取代最后的全连接层的方式,这样得到的特征图经过简单的处理后可以反映出网络的空间识别能力,也即定位能力。

Methods

作者提出类激活层(Class Activation Mapping, CAM),其生成方式如下图所示。网络训练过程调整为在网络的最后一层卷积层的后面,加入GAP,去掉原本的全连接层,得到每个类别的score,再通过softmax层得到概率值。在网络收敛后,通过每一层卷积层的输出乘上该层对应分类的权重,然后对结果进行加权,经过上采样就可以得到热力图,也就得到了CAM,在与原始图像叠加后就可以得到下图等式右边的效果。
CAM
在文中,作者提出最后一层的卷积层输出尺寸一般选择在14*14左右,将之后的卷积层去掉,直接连到GAP层中。

Experiment

模型:AlexNet,VggNet,GoogLeNet,GoogLeNet-GMP
数据集:ILSVRC

  1. 分类性能比较:
    分类性能
  2. 定位能力比较
    定位能力
  3. GAP与GMP比较(平均池化和最大值池化):
    在这里插入图片描述
  4. 另外,实验中,作者提出使用阈值的方式通过CAM得到目标的预测框。结果在弱监督的方式下比利用backpropogation的方法得到的结果整体更好,但在全监督模式下则相差比较大。

Thoughts

这篇文章想法挺不错的,但我觉得不太能用在目前自己的这个框架下,因为CAM的局限比较大,对框架的结构有要求,对于目标检测网络有些局限性。不过我觉得另一篇Grad-CAM相对来说可能能适应我目前的框架,它是基于梯度的一种热力图,适应性比CAM要好很多,这篇论文留待下篇博客再整理。

猜你喜欢

转载自blog.csdn.net/qq_43812519/article/details/105777157