论文笔记:Learning Deep Features for Discriminative Localization

一、这篇论文解决什么问题

原始问题:Weakly-supervised object localization,研究发现,图像分类任务上训练的CNN,可以直接用于物体定位

两个子问题:

  1. CNN具有这种能力的原因是什么
  2. 如何改进,可以更好地解决Weakly-supervised object localization

本文研究以上问题的核心手段:利用GAP(Global Average Pooling)生成CAM(Class Activation Mapping)

二、相关工作及局限性

Weakly-supervised object localization

遮挡法、用很多重叠的图块多次预测:不是end-to-end的模型,需要多次前向计算

GMP(Global Max Pooling):找到边缘的点而不是区域内的点,区域内的点无论怎么变化都不会起作用,而GAP不同,关键区域内的点都有影响

Visualizing CNNs

有的工作只分析了卷积层,并没有分析全连接层

有的工作分析了语义编码,但并没有分析具体不同特征的重要程度

三、CAM技术

CNN具有这种能力的原因是什么:通过CAM技术找出影响图像分类的关键区域

如何利用GAP进行预测(计算各类别的分数):

S_{c} = \sum_{x,y}^{} \sum_{k} w_{k}^{c}f_{k}(x,y),其中f_{k}(x,y)代表最后一次卷积操作后,第k个channel的feature map在(x,y)位置的值

如何生成CAM:

M_{c}(x,y)=\sum_{k}^{} w_{k}^{c}f_{k}(x,y)

其实M_{c}已经是CAM了,只不过为了看清楚原图中哪些区域是跟此类别最相关的,需要将其上采样成原图的大小,一般采用双线性插值方法

从CAM的结果来看,不同的类别关注原图上不同的区域,比较符合人类认知,例如dome关注的就是原图中的穹顶

论文笔记:Learning Deep Features for Discriminative Localization_第1张图片

GAP vs GMP:

图像分类任务上,GAP和GMP效果接近,但在图像定位任务上,GAP要优于GMP

四、实验

如何改进,可以更好地解决Weakly-supervised object localization

构建XX-GAP网络:GAP前面的卷积操作得到的feature map分辨率越高,图像定位的能力越强,所以在构建实验时,对AlexNet等网络的改动基本就是删除后面的一些卷积层,在分辨率比较大的卷积层后接GAP

如何利用CAM做图像定位:

  1. 找出CAM前20%最大值的区域
  2. 选择最大连通域的外接矩形作为定位框

实验结果:图像分类,效果比较接近;图像定位,GAP的效果明显更好

五、GAP提取的特征分析

GAP可以提取到图像分类和图像定位所需的特征,一种提升图像分类(更细粒度的图像分类)效果的改进方法就是:先用CAM技术把原图中的关键区域框起来,然后在进行图像分类

Pattern Discovery能力:

  1. 发现场景中有意义的物体
  2. 通过弱监督图像定位发现短语概念
  3. 弱监督文本检测
  4. 视觉问答

六、CAM技术的另一个作用

CNN具有这种能力的原因是什么:通过CAM技术区分不同特征对于分类的重要程度

分析过程:每个类别找出权重最大的3个channel,再找到该channel中高激活值再原图的区域,其实就可以区分特征的重要程度了。例如,对于一个客厅来说,最重要的特征是判断图像中有没有沙发,其次是桌子,然后是电视

结论:不同channel提取不同的特征,但都对应特定类别的相关语义

论文笔记:Learning Deep Features for Discriminative Localization_第2张图片

PS:本文大部分公式和图片都来自于Learning Deep Features for Discriminative Localization,对本文的理解来自于对论文的学习及对同济子豪兄讲解的学习,有理解不对的地方,欢迎指正 

你可能感兴趣的:(模型的可解释性,论文笔记,CAM,论文阅读)