笔记:Score-CAM: Score-Weighted Visual Explanations for Convolutional Neural Networks

论文:Score-CAM: Score-Weighted Visual Explanations for Convolutional Neural Networks
作者:Haofan Wang1, Zifan Wang1, Mengnan Du2, Fan Yang2,
Zijian Zhang3, Sirui Ding3, Piotr Mardziel1, Xia Hu

代码:https://github.com/haofanwang/Score-CAM
收录于CVPR2020

摘要

与以往的CAM系方法不同,不需要梯度,通过收集目标类在前向传播上的每个激活图的权重实现,最终结果由权重和激活图的线性组合获得。

1.Introduction

CNN可视化三类主要方法:Gradient visualization , Perturbation, Class Activation Map (CAM)

3点贡献:
1.Score-CAM, 连接Perturbation-Based和CAM-Based
2.Average Drop / Average Increase and Deletion curve / Insertion
curve metrics 量化评估,Score-CAM更能发现重要特征
3.量化评估定位能力

2.BackGround

CAM, Grad-CAM

2.1梯度问题

饱和的深度神经网络梯度经过sigmoid和RELU层可能会引入噪声和消失,可视化效果如下
在这里插入图片描述

不可信度,Grad-Cam只是激活图的线性平均加权,那么会对贡献度高的权重产生失真(平均的特点),Grad-CAM++就是针对这个问题提出的改进

3. Score-CAM

在这里插入图片描述
具体方法,对激活图的每个通道,进行上采样,用于生成掩模。再用掩模点乘原图后,输入到cnn中。
p.s.可以理解为,对于特征图的每个通道,上采样获得贡献度最大的区域,保证不会出现类似Grad-Cam的失真。
在这里插入图片描述
上图意思是,计算出的掩模点乘原图,输入到模型中得到的得分,减去原图直接的得分,定义为Increase of Confidence

在这里插入图片描述
把掩模分通道计算

之后进行平滑处理(归一化,Smoothing with Normalization),把二值化的掩模映射到[0,1]区间上,使可视化效果看起来更真实柔和。

计算Score-CAM:
在这里插入图片描述
上述和Grad-CAM类似。

计算出激活图后,最后再归一化一下。整个流程如下:
在这里插入图片描述

4.实验

先直观的对比下
在这里插入图片描述
多目标检测效果好
在这里插入图片描述
对比Grad-CAM的faithfulness evaluation
在这里插入图片描述
可以对比Perturbation Based 的mask,用CAM掩模后输入到模型中,比较输出的变化,
下图就是基于Perturbation Based 的两种规则的实验
在这里插入图片描述
之后是定位性能指标,除去了数据集中目标占比50%以上的图片
在这里插入图片描述
最后介绍了Score-CAM可以用来诊断分析模型。

猜你喜欢

转载自blog.csdn.net/qq_34813925/article/details/108900194