https://mp.weixin.qq.com/s/4Tq43DEaUk_rtLubcztyNw
知乎:https://zhuanlan.zhihu.com/p/269589676?utm_source=wechat_session https://zhuanlan.zhihu.com/p/269702192
代码(torch):https://github.com/ramprs/grad-cam/
代码(tf) :https://github.com/Ankush96/grad-cam.tensorflow
论文:https://arxiv.org/pdf/1610.02391.pdf
【CAM】
文的做法通过上图就可以很直观理解, 到 为GAP到输出层全连接到目标类别(上图目标类别为狗)的权重。
由于GAP特征向量是直接来自于特征图(线性关系),因此该权重可视为特征图对目标类别score的贡献程度,进行加权求和既可以获取CAM,公式如下:
其中 为最后一层特征图位置 的值, 为类别c的全连接权重。
该方法的缺点是只能适用于最后一层特征图和全连接之间是GAP操作。
如果不是,就需要用户修改网络并重新训练(或 fine-tune)。
所以对本文简单概括即为:修改网络全连接为GAP形式,利用GAP层与全连接的权重作为特征融合权重,对特征图进行线性融合获取CAM。
【Grad-CAM】
代码(tf):https://github.com/Ankush96/grad-cam.tensorflow
代码(torch):https://github.com/ramprs/grad-cam