作者:Ahzam Ejaz来源:DeepHub IMBA

kernel/filter:kernel(也称为filter 或 weight )是一个可学习参数的小矩阵,用于从输入数据中提取特征。在下图中,输入图像的大小为(5,5),过滤器filter 的大小为(3,3),绿色为输入图像,黄色区域为该图像的过滤器。在输入图像上滑动滤波器,计算滤波器与输入图像的相应像素之间的点积。Padding是valid (也就是没有填充)。stride值为1。
将图像输入到模型中得到特征图
卷积神经网络(cnn)是一种神经网络,通常用于图像分类、目标检测和其他计算机视觉任务。CNN的关键组件之一是特征图,它是通过对图像应用卷积滤波器生成的输入图像的表示。

理解卷积层
1、卷积操作卷积的概念是CNN操作的核心。卷积是一种数学运算,它把两个函数结合起来产生第三个函数。在cnn的上下文中,这两个函数是输入图像和滤波器,而得到的结果就是特征图。
2、卷积的层
卷积层包括在输入图像上滑动滤波器,并计算滤波器与输入图像的相应补丁之间的点积。然后将结果输出值存储在特征映射中的相应位置。通过应用多个过滤器,每个过滤器检测一个不同的特征,我们可以生成多个特征映射。
3、重要参数
Stride:Stride 是指卷积滤波器在卷积运算过程中在输入数据上移动的步长。
Padding:Padding是指在应用卷积操作之前在输入图像或特征映射的边界周围添加额外像素。Padding的目的是控制输出特征图的大小,保证滤波窗口能够覆盖输入图像或特征图的边缘。如果没有填充,过滤器窗口将无法覆盖输入数据的边缘,导致输出特征映射的大小减小和信息丢失。有两种类型的填充“valid”和“same”。
kernel/filter:kernel(也称为filter 或 weight )是一个可学习参数的小矩阵,用于从输入数据中提取特征。在下图中,输入图像的大小为(5,5),过滤器filter 的大小为(3,3),绿色为输入图像,黄色区域为该图像的过滤器。在输入图像上滑动滤波器,计算滤波器与输入图像的相应像素之间的点积。Padding是valid (也就是没有填充)。stride值为1。

Output_Size = (Input_Size - Filter_Size + 2 * Padding) / Stride + 1
这个公式非常重要,因为在计算输出时肯定会用到,所以一定要记住来自一个卷积层的特征映射作为网络中下一层的输入数据。随着层数的增加,网络能够学习越来越复杂和抽象的特征。通过结合来自多层的特征,网络可以识别输入数据中的复杂模式,并做出准确的预测。特征图可视化
这里我们使用TF作为框架进行演示
## Importing libraries
#Imageprocessinglibrary
importcv2
#Kerasfromtensorflow
importkeras
#InKeras,thelayersmoduleprovidesasetofpre-builtlayerclassesthatcanbeusedtoconstructneuralnetworks.
fromkerasimportlayers
#Forplotinggraphsandimages
importmatplotlib.pyplotasplt
importnumpyasnp
使用OpenCV导入一张图像,并将其大小调整为224 x 224像素。
img_size=(224,224)
file_name="./data/archive/flowers/iris/10802001213_7687db7f0c_c.jpg"
img=cv2.imread(file_name)#readingtheimage
img=cv2.resize(img,img_size)
我们添加2个卷积层:
model=keras.Sequential()
filters=16
model.add(layers.Conv2D(input_shape=(224,224,3),filters=filters,kernel_size=3))
model.add(layers.Conv2D(filters=filters,kernel_size=3))
从卷积层中获取过滤器。
bias = model.layers[0].get_weights()
min_filter = filters.min()
max_filter = filters.max()
filters = (filters - min_filter) / (max_filter - min_filter)p
可视化
=plt.figure(figsize=(10,20))
=filters.shape[-1]
=filters.shape[0]
=1
:
:
channels, index)
:, :, filter])
plt.xticks([])
plt.yticks([])
=1
plt.show()
将图像输入到模型中得到特征图
=(img-img.min())/(img.max()-img.min())
=normalized_img.reshape(-1,224,224,3)
=model.predict(normalized_img)
特征图需要进行归一化这样才可以在matplotlib中显示
feature_map = (feature_map - feature_map.min())/ (feature_map.max() - feature_map.min())
提取特征图并显示
total_imgs = feature_map.shape[0]
no_features=feature_map.shape[-1]
fig=plt.figure(figsize=(10,50))
index=1
forimage_noinrange(total_imgs):
forfeatureinrange(no_features):
#plottingfor16filtersthatproduced16featuremaps
plt.subplot(no_features,3,index)
plt.imshow(feature_map[image_no,:,:,feature],cmap="gray")
plt.xticks([])
plt.yticks([])
index+=1
plt.show()

总结
通过可视化CNN不同层的特征图,可以更好地理解网络在处理图像时“看到”的是什么。例如,第一层可能会学习简单的特征,如边缘和角落,而后面的层可能会学习更抽象的特征,如特定物体的存在。通过查看特征图,我们还可以识别图像中对网络决策过程重要的区域。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
imagination
+关注
关注
1文章
627浏览量
63552
原文标题:可视化CNN和特征图
文章出处:【微信号:Imgtec,微信公众号:Imagination Tech】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
热点推荐
高质量可视化大屏应该这样设计
在数据驱动决策的当下,可视化大屏已成为企业数据呈现、业务监控的核心载体,图扑软件基于自研 HT for Web 前端可视化引擎,打造无需依赖第三方插件、纯 Web 端部署的 2D3D 图形渲染内核
3D系统可视化
本身的深入描述和F-Theta透镜的应用示例。 光学系统的3D-可视化 VirtualLab Fusion提供的工具可以实现光学系统的3D可视化,因此可以用于检查元件的位置,以及快速了解系统内部的光
发表于 03-30 09:25
森林消防智慧预警技术实现:火灾监测 Web GIS 可视化平台搭建
本文基于图扑软件(Hightopo)自研的 HT 前端插件,从技术实现与功能落地角度,解析森林消防火灾监测 Web GIS 可视化平台的搭建逻辑、核心技术应用及功能模块实现流程,该平台依托
可视化AR巡检:工业智能化发展的新引擎
一背景下,可视化AR巡检应运而生,它将AR术与可视化数据分析能力相结合,让巡检工作变得更直观、更智能、更高效。 AR巡检的最大特征在于“虚实结合”。通过佩戴AR眼镜或使用移动端设备,巡检人员能够在实际设备环境中叠加显示关键数据
基于图扑 HT 数字孪生 3D 风电场可视化系统实现解析
在 “双碳” 目标与产业数字化升级的双重驱动下,风力发电作为可再生能源的核心组成部分,其智能化管控需求持续攀升。图扑(Hightopo)基于自主研发的 HT for Web 前端可视化
工业数字孪生:图扑可视化技术架构与行业应用解析
在工业互联网向深度智能化演进的进程中,数字孪生技术成为连接物理工业系统与虚拟信息空间的核心桥梁,而可视化则是实现数字孪生价值落地的关键载体。图扑自主研发的 HT 引擎,基于 WebGL
基于 HT 技术的园区元宇宙可视化管理平台
在数字化转型浪潮下,园区管理对智能化、可视化的需求日益迫切。本文基于 HT(Hightopo)技术栈,不依赖任何第三方插件,从技术开发视角,详细阐述园区元宇宙智慧综合治理可视化管理平台
图扑 HT 驱动智慧社区数字化转型:多维可视化与系统集成实践
在社区管理向数字化、智能化升级的浪潮中,图扑软件(Hightopo)依托自主研发的HT for Web 前端可视化技术,构建起覆盖社区全场景的数字孪生智慧社区解决方案。该方案以 Web
工业可视化平台是什么
工业可视化平台是一种基于信息技术和可视化技术,将工业生产过程中的数据、信息、流程等以直观、动态的图形化方式呈现,并实现交互式管理与分析的数字化工具。它通过整合工业物联网(IIoT)、大数据、人工智能
光伏电站可视化的实现
实现光伏电站可视化,核心是在于通过直观的视觉化界面,解决传统运维中低效巡检、数据孤岛、被动响应等痛点,从而提升运营效率并提供决策支持。这是一种有效的技术手段,通过数字孪生、三维建模、数据融合等技术
数字孪生可视化系统构建行业数字化智能管理生态!
数字孪生可视化系统具备丰富的模型组件,包括二维平面组件及3D模型组件,可根据用户需求进行定制。数字孪生可视化系统在行业数字化升级、数字化管理中有着重要的意义,充分利用大数据技术和信息技
一文读懂 | 晶圆图Wafer Maps:半导体数据可视化的核心工具
在精密复杂的半导体制造领域,海量数据的有效解读是提升产能、优化良率的关键。数据可视化技术通过直观呈现信息,帮助工程师快速识别问题、分析规律,而晶圆图正是这一领域中最具影响力的可视化工具——它将芯片
如何使用协议分析仪进行数据分析与可视化
Wireshark + Grafana + Python)和可视化类型(如时序图、地理地图、热力图),可显著提升故障定位效率、优化系统性能,并满足安全合规要求。
发表于 07-16 14:16
如何实现光伏数字孪生可视化?
光伏数字孪生可视化是通过数字化手段构建光伏电站的虚拟镜像,实现物理实体与数字模型的实时映射与交互,目的是促进光伏电站运维管理的智能化、高效化。通过实时监控与智能预警,实现故障快速定位以
工业设备可视化管理系统是什么
工业设备可视化管理系统是一种基于物联网(IoT)、大数据、云计算、数字孪生等技术,对工业设备的运行状态、性能参数、维护信息等进行实时监测、数据整合与可视化呈现的智能管理平台。它通过将复杂的设备数据
可视化CNN和特征图
评论