1 介绍
类别激活映射Class Activation Maps(CAM)可用于可视化深度学习模型中间层特征图,它通过高亮输入图像的部分区域(对于模型识别目标的贡献较大),提供了对模型决策效果的直观解释。论文链接:CAM
具体操作:
CAM由两部分加权构成:原图+特征图,其中,特征图是通过:最后一个全连接层的参数与最后输出的特征图对应相乘再相加而成,如下图所示:
2 基于ConvNeXt可视化代码
import torch
import cv2
import numpy as np
from PIL import Image
import torchvision.transforms as transforms
def draw_feature(model, img_path, save_img_path):
origin_image = Image.open(img_path)
input_shape = [224, 224]
data_transform = transforms.Compose(
[transforms.Resize(input_shape),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])