Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

大佬,我又来了,这次是关于判别性区域的问题 #12

Closed
Javacr opened this issue Sep 14, 2020 · 8 comments
Closed

大佬,我又来了,这次是关于判别性区域的问题 #12

Javacr opened this issue Sep 14, 2020 · 8 comments

Comments

@Javacr
Copy link

Javacr commented Sep 14, 2020

Screenshot from 2020-09-14 17-23-27
大佬,我在用预训练的resent50训练mcloss网络之后,得到了最终模型,我用的是你在issues中推荐的复现链接,acc为86.6,可能是batch只有32的原因。
不过我的问题不在于此。如上图所示我在可视化特征图时,发现将近有一半的特征图把注意力放在了背景信息上。我的可视化代码应该没有任何问题。请问,这种问题你有尝试过解决吗?还是说我的训练结果有问题,亦或是代码有问题?

 heat = he.data.cpu().numpy()    # heat为最后一层卷积的输出特征图
 print('heat',heat.shape)
 heat = np.squeeze(heat, 0)
 heat = heat[52*10+9,:]
 # heat = heat[2:3, :]
 heatmap = np.maximum(heat, 0)  # heatmap与0比较,取其大者
 # heatmap = np.mean(heatmap, axis=0)
 heatmap /= np.max(heatmap)
 #plt.matshow(heatmap)
 #plt.show()

 # 用cv2加载原始图像
 img = cv2.imread('/home/jim/data/FGVC/CUB_200_2011/images/053.Western_Grebe/Western_Grebe_0007_36074.jpg')
 heatmap = cv2.resize(heatmap, (img.shape[1], img.shape[0]))  # 将热力图的大小调整为与原始图像相同
 heatmap = np.uint8(255 * heatmap)  # 将热力图转换为RGB格式
 print(type(heatmap))

 heatmap = cv2.applyColorMap(heatmap, cv2.cv2.COLORMAP_HSV )  # 将热力图应用于原始图像
 heat_img = cv2.addWeighted(img, 1, heatmap, 0.5, 0)
 superimposed_img = heatmap * 0.3 + img * 0.7  # 这里的0.4是热力图强度因子
 cv2.imwrite('./self/heat_9.jpg', heat_img)  # 将图像保存到硬盘
 cv2.imshow('heat_11.jpg', heat_img)
 cv2.waitKey()
@dongliangchang
Copy link
Member

不能可视化所有的channel,只可视化属于某一类的channel。具体参考这个issue #9

@Javacr
Copy link
Author

Javacr commented Sep 14, 2020

不能可视化所有的channel,只可视化属于某一类的channel。具体参考这个issue #9

额,我就是单个可视化的。上面这张图片属于第52类,所以我单个可视化了52×10--53×10的所有特征图。

@dongliangchang
Copy link
Member

不能可视化所有的channel,只可视化属于某一类的channel。具体参考这个issue #9

额,我就是单个可视化的。上面这张图片属于第52类,所以我单个可视化了52×10--53×10的所有特征图。

明白了,这个问题参考论文中的图5及其相关解释。具体位置 Section IV. EXPERIMENTAL RESULTS AND DISCUSSIONS ---> D. Ablation Study ---> 1) Influence of ξ

@Javacr
Copy link
Author

Javacr commented Sep 14, 2020

不能可视化所有的channel,只可视化属于某一类的channel。具体参考这个issue #9

额,我就是单个可视化的。上面这张图片属于第52类,所以我单个可视化了52×10--53×10的所有特征图。

明白了,这个问题参考论文中的图5及其相关解释。具体位置 Section IV. EXPERIMENTAL RESULTS AND DISCUSSIONS ---> D. Ablation Study ---> 1) Influence of ξ

大佬的意思是,柯西值本身的问题是吧?由于resnet50中柯西值太大,所以存在一些固有问题?

@dongliangchang
Copy link
Member

不能可视化所有的channel,只可视化属于某一类的channel。具体参考这个issue #9

额,我就是单个可视化的。上面这张图片属于第52类,所以我单个可视化了52×10--53×10的所有特征图。

明白了,这个问题参考论文中的图5及其相关解释。具体位置 Section IV. EXPERIMENTAL RESULTS AND DISCUSSIONS ---> D. Ablation Study ---> 1) Influence of ξ

大佬的意思是,柯西值本身的问题是吧?由于resnet50中柯西值太大,所以存在一些固有问题?

嗯 ,ξ 不能设置的太大。因为在同一粒度,没有那么多不同的判别力区域。论文中有相关的分析。

@Javacr
Copy link
Author

Javacr commented Sep 14, 2020

不能可视化所有的channel,只可视化属于某一类的channel。具体参考这个issue #9

额,我就是单个可视化的。上面这张图片属于第52类,所以我单个可视化了52×10--53×10的所有特征图。

明白了,这个问题参考论文中的图5及其相关解释。具体位置 Section IV. EXPERIMENTAL RESULTS AND DISCUSSIONS ---> D. Ablation Study ---> 1) Influence of ξ

大佬的意思是,柯西值本身的问题是吧?由于resnet50中柯西值太大,所以存在一些固有问题?

嗯 ,ξ 不能设置的太大。因为在同一粒度,没有那么多不同的判别力区域。论文中有相关的分析。

谢谢大佬答疑,继续期待全部源码

@DeepDetector
Copy link

不能可视化所有的channel,只可视化属于某一类的channel。具体参考这个issue #9

额,我就是单个可视化的。上面这张图片属于第52类,所以我单个可视化了52×10--53×10的所有特征图。

明白了,这个问题参考论文中的图5及其相关解释。具体位置 Section IV. EXPERIMENTAL RESULTS AND DISCUSSIONS ---> D. Ablation Study ---> 1) Influence of ξ

大佬的意思是,柯西值本身的问题是吧?由于resnet50中柯西值太大,所以存在一些固有问题?

大佬您好~分类类别只有五个,柯西值也是设置为3吗?那一共就15个通道,会不会有点少

@dongliangchang
Copy link
Member

不能可视化所有的channel,只可视化属于某一类的channel。具体参考这个issue #9

额,我就是单个可视化的。上面这张图片属于第52类,所以我单个可视化了52×10--53×10的所有特征图。

明白了,这个问题参考论文中的图5及其相关解释。具体位置 Section IV. EXPERIMENTAL RESULTS AND DISCUSSIONS ---> D. Ablation Study ---> 1) Influence of ξ

大佬的意思是,柯西值本身的问题是吧?由于resnet50中柯西值太大,所以存在一些固有问题?

大佬您好~分类类别只有五个,柯西值也是设置为3吗?那一共就15个通道,会不会有点少

可以试试看.我还没做过相关的实验. 也可以用11 Conv. 将通道数降低到315试一试.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants