yizt / Grad-CAM.pytorch

pytorch实现Grad-CAM和Grad-CAM++,可以可视化任意分类网络的Class Activation Map (CAM)图,包括自定义的网络;同时也实现了目标检测faster r-cnn和retinanet两个网络的CAM图;欢迎试用、关注并反馈问题...
Apache License 2.0
729 stars 167 forks source link

Grad-CAM for Faster-RCNN with config file faster_rcnn_X_101_32x8d_FPN_3x.yaml #43

Open hanikh opened 3 years ago

hanikh commented 3 years ago

hi, @yizt thanks for great work. I am trying to apply grad-cam for faster-rcnn with config file faster_rcnn_X_101_32x8d_FPN_3x.yaml. I am using the "roi_heads.box_pooler" as the last layer to calculate grad-cam and I have applied some changes to detectron2/modeling/roi_heads/fast_rcnn.py and the function fast_rcnn_inference_single_image the same as the changes that you menthioned in readme. when I run the result code, all the elements of the cam (before Relu) are negative. would you please help me to figure out what the problem is?

yizt commented 3 years ago

@hanikh 感谢您的反馈,对于某些图像确实存在ReLU之前全为负值的情况(对于另一些图像不是);这个情况怎么处理,是一个开放问题;如果全部为负,先减去均值,在ReLU?但是这么做代表的含义也不清晰

hanikh commented 3 years ago

@yizt thanks for your kind reply.

Fly-dream12 commented 3 years ago

What changes have you made when you applied it on the FPN model? @hanikh

RuoyuChen10 commented 3 years ago

What changes have you made when you applied it on the FPN model? @hanikh

As she mentioned, you can't use the layer name judged by function get_last_conv_name, you need to specify the last layer name, such as 'roi_heads.box_pooler'.