长尾问题之CAM

2023-12-15 12:55:22

原理

class activation maps (CAM) (Zhou et al. 2016)

那么什么是类激活映射呢?CAM是一个帮助我们可视化CNN的工具。使用CAM,我们可以清楚的观察到,网络关注图片的哪块区域。比如,我们的网络识别出这两幅图片,一个是在刷牙,一个是在砍树。

计算过程:

热力图:W1*蓝色层+W2*红色层+…+Wn*绿色层=类激活映射(CAM),所以说CAM是一个加权线性和。

可以看到,可视化过程是去掉GAP(全局平均池化)的,直接将线性层和特征图相乘

cam_based_sampling具体过程

图1

step1 得到feature_map

step2 feature_map * 当前类别的W = 类激活图 如图1

step3 mean*3/4取激活区域

step4 随机选择数据增强-0:随机旋转和缩放 -1:随机平移 -2:翻转

step5 增强流程 如图2

图2

CAM具体实现

参考:

https://github.com/zhangyongshun/BagofTricks-LT/blob/main/documents/trick_gallery.md

https://github.com/zhangyongshun/BagofTricks-LT/blob/main/lib/net/network.py#L192

https://github.com/zhangyongshun/BagofTricks-LT/blob/main/lib/utils/cam_based_sampling.py

mmpretrain实现,评论区见

文章来源:https://blog.csdn.net/magic_shuang/article/details/135013437
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。