项目地址:https://github.com/metalbubble/CAM
论文:Learning Deep Features for Discriminative Localization
应用:在弱监督语义分割(仅有图片level的监督信息时)定位物体的位置
方法:很简单,其实就是在ImageNet训练的分类网络进行改进得到的,做了什么修改呢?
首先,发现下图中,没有了全连接层哦~
(1)通过对卷积层输出的feature maps使用GAP Pooling生成一个向量
具体地,即feature maps 尺寸为C*H*W,C为通道数目也是feature map数目,这里将一个feature map进行GAP pooling 即变为一个值,这个值为feature map 的均值。
其次,将feature maps通过GAP pooling成一个向量之后,该进行分类啦,这里是不是有一些分类的参数呢?如图中的W,那么对于最后的每一个预测值,都是由前面pooling来的一个向量乘以对应的W的值的加权和得到的,对于不同的w,如图中的w1-wn,是不是可以表示前面的这些feature maps对于预测成该分类的重要程度呢?
(2)使用最后一层预测为类别C(假设为图中最后一列的标出的第二个圆)的weights参数与对应的feature map相乘,最后相加就得到最后的CAM啦
这样就可以得到下面的结果啦,具体操作及代码细节,见下节
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有