当前位置: 首页 > news >正文

CAM可视化卷积神经网络

CAM全称 Class Activation Mapping,分类热力图。目的帮助我们理解模型在预测时关注图像的哪些部分,验证模型的可解释性。

图像分类

回忆下,在CNN的最后一个卷积层之后,用全局平均池化(池化这个词不好,一看到这个我想到水池,化粪池,其实功能是粗采样,你们说对不对吧)得到每个通道的平均值,然后通过一个全连接层输出分类结果。

输入图像->卷积层->特征图->全局平均池化层->全连接层->分类得分

全连接层里是权重矩阵,对吧,就是一个分类有一个权重向量,每次反向更新。权重向量长度就是通道数。

我们算出得分是哪个分类,然后取那个分类的权重向量。那么我们将这些权重乘以原始的特征图,得到一个热力图,表示模型对图像不同区域的关注程度。

注意:这里是乘以特征图,并非原图。

【权重乘以所有通道的特征图后,怎么看】

比如通道512个,每个通道是一张28*28的图。权重向量shape是[512]。特征图本身啥看不出,

你要把特征图*权重后相加,再归一化,再叠加到原始图上,才能看出效果。我的最简单的,特征图还能看出苹果的噢。

【啥是热力图】

import cv2
import numpy as npsize=500
cam = np.zeros((size,size))center_x,center_y=200,200
radius=100for i in range(size):for j in range(size):distance = np.sqrt((i-center_x)**2 + (j-center_y)**2)if distance <= radius:cam[i,j] = np.exp(-distance**2/(2 * (radius/2)**2))
cam = np.uint8(255*cam)heatmap = cv2.applyColorMap(cam,cv2.COLORMAP_TURBO)img = cv2.imread("d:\\aaaa.jpg")overlay= cv2.addWeighted(heatmap,0.4,img,0.6,0)
cv2.imshow("overlay image",overlay)
cv2.waitKey(0)
cv2.destoryAllWindows()

图像分类

http://www.dtcms.com/a/344372.html

相关文章:

  • 开源 python 应用 开发(十一)短语音转文本
  • 安卓手机格式转换,支持PDF转Word、PDF转Excel、PDF转PPT、PDT转图片
  • 基于ERNIE 4.5的多智能体协作的自动化视频舆情分析报告生成器
  • UE5基本打光(新手向)
  • vue2整合uniapp、uviewUi小程序开发
  • Yapi中通过MongoDB修改管理员密码与新增管理员
  • PDF 转 TIFF 性能测评:IronPDF具有更快的处理速度、更少的内存
  • 携程旅游的 AI 网关落地实践
  • 爬虫基础学习-链接协议分析,熟悉相关函数
  • C++中的右值引用与通用引用:std::move与std::forward的正确使用 (Effective Modern C++ 条款25)
  • 中项-基础知识分享12-软件工程
  • 保护 PDF 格式:禁止转换为其他格式文件
  • Python第三方库IPFS-API使用详解:构建去中心化应用的完整指南
  • Spring 框架深度解析:从核心原理到实战应用
  • Hyperledger Fabric官方中文教程-改进笔记(十四)-向通道中添加组织
  • 微服务之间的调用关系如何处理,才能防止循环依赖
  • 用 JavaScript 打造实用 TodoList:从理论到实战的前端实践
  • 【机器学习深度学习】vLLM的核心优化技术详解
  • 嵌入式第三十五天(网络编程)
  • EP4CE40F23I7N Altera FPGA Cyclone IV E
  • Python爬虫实战:构建在线书店数据分析系统
  • element ui v2,用js关闭MessageBox 弹框
  • GPS欺骗式干扰的产生
  • NoCode-bench:自然语言驱动功能添加的评估新基准
  • 深度学习入门介绍
  • 【Prometheus】 + Grafana构建【Redis】智能监控告警体系
  • 微信原生下载互联网oss资源保存到本地
  • 微信HOOK 实现自动下载视频
  • 云原生俱乐部-k8s知识点归纳(7)
  • 手机、电脑屏幕的显示坏点检测和成像原理