yizt/Grad-CAM.pytorch

Grad CAM中的数值归一化

AhaLims opened this issue · 4 comments

关于Grad CAM和Grad CAM++中您的代码
# 数值归一化 cam -= np.min(cam) cam /= np.max(cam)

这里是做最大最小归一化吗?但是这里与最大最小归一化的公式不同,做完这一步后cam有部分值小于0,而且在Grad-cam与Grad-cam++的论文中均没有看到关于数值归一化的内容。这一点困扰了我很久,能麻烦您为我答疑解惑吗?非常感谢

yizt commented

不好意思

是的,为什么会小于零?归一化后最小值应该是零。要可视化需要做归一化 | | 易作天 | | 邮箱:csuyzt@163.com | 签名由 网易邮箱大师 定制 在2020年05月14日 18:22,Moxin Lin 写道: 关于Grad CAM和Grad CAM++中您的代码 # 数值归一化 cam -= np.min(cam) cam /= np.max(cam) 这里是做最大最小归一化吗?但是这里与最大最小归一化的公式不同,做完这一步后cam有部分值小于0,而且在Grad-cam与Grad-cam++的论文中均没有看到关于数值归一化的内容。这一点困扰了我很久,能麻烦您为我答疑解惑吗?非常感谢 — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

不好意思我讲错了,不是小于0,是会出现大于1的问题,比如说[1,3,4,-7]就会变成[2, 2.5, 2.75, 0]

如果是最大最小归一化,应该是这个公式
image
那您的代码中对应的应该是这样的代码
#数值归一化 cam -= np.min(cam) cam /= np.max(cam) - np.min(cam)
是这样吗

yizt commented

减完最小值后,再求最大值,最大值也发生变化了,不是之前的最大值了

减完最小值后,再求最大值,最大值也发生变化了,不是之前的最大值了

噢噢噢 是我下意识以为这两句话是同步进行的。明白了 谢谢您!