  Class activation map (CAM) has been widely studied for visual explanation of
the internal working mechanism of convolutional neural networks. The key of
existing CAM-based methods is to compute effective weights to combine
activation maps in the target convolution layer. Existing gradient and score
based weighting schemes have shown superiority in ensuring either the
discriminability or faithfulness of the CAM, but they normally cannot excel in
both properties. In this paper, we propose a novel CAM weighting scheme, named
FD-CAM, to improve both the faithfulness and discriminability of the CAM-based
CNN visual explanation. First, we improve the faithfulness and discriminability
of the score-based weights by performing a grouped channel switching operation.
Specifically, for each channel, we compute its similarity group and switch the
group of channels on or off simultaneously to compute changes in the class
prediction score as the weights. Then, we combine the improved score-based
weights with the conventional gradient-based weights so that the
discriminability of the final CAM can be further improved. We perform extensive
comparisons with the state-of-the-art CAM algorithms. The quantitative and
qualitative results show our FD-CAM can produce more faithful and more
discriminative visual explanations of the CNNs. We also conduct experiments to
verify the effectiveness of the proposed grouped channel switching and weight
combination scheme on improving the results. Our code is available at
https://github.com/crishhh1998/FD-CAM.
