对《Learning Deep Features for Discriminative Localization》的剖析
一个最近的使用例子是吴恩达公司做的
肺炎诊断准确率超过人类医生
在这篇论文中,认为图片在经过卷积层的特征提取后,通过CAM,除了不弱的分类精度外,还能对分类的依据进行定位,相当于诠释网络是如何做出分类判断的。
CAM的核心部分如下图:
在卷积层之后,使用了一个叫GAP的池,全称是global average pooling。全局平均池的优点就是大量减少参数量,以及保持图像的空间结构。
尾端使用全连接层full connected layer进行分类输出。该层能够针对每一个分类有一套权重。
使用 Inception V3 举例:
该网络经过卷积层后,大小为(8x8x2048),经过GAP层后(1x1x2048),全连接层权重为(2048x10)。10个类别分别对应着10个全连接层权重,每个类别对应2048个权重。
生成热力图时,将图片卷积后的(8x8x2048)和某一类别全连接层权重(1x2048)的乘积后得到热力图(8x8)。将该热力图暴力展开成所需要的大小即可。
该例所使用的代码已全部上传至我的github中,可自行下载查看,欢迎交流,欢迎star。
(https://github.com/wpydcr/tf-slim-Class-Activation-Map)