特征图(feature map)理解

1.什么是特征图?  

在目标检测任务中,需要将原始图片处理成feature map再放入卷积神经网络进行特征提取。feature map即张量。至于标量、向量、矩阵、张量的区别,代码1可以直观说明。

代码块1:

import numpy as np

scalar = np.array(1)                                     #标量
vector = np.array([1,2,3,4])                          #向量
matrix = np.array([[1,2,3],[4,5,6],[7,8,9]])     #矩阵
tensor = np.array([[[1,2],[3,4]],[[5,6],[7,8]]])  #张量

以输出的形式举一个8x8x3feature map的例子,如代码块2所示。

  • 8x8 表示特征图的空间维度,具体指的是特征图的高度和宽度。在这个例子中,特征图的大小为8行(高度)和8列(宽度),即在一个二维平面上,有8行和8列的像素点。

  • 3 表示特征图的深度或通道数。这意味着该特征图具有3个通道。通道可以被理解为特征图在不同方面上的表达,例如在 RGB 彩色图像中,通常有红色通道、绿色通道和蓝色通道。每个通道都包含了特定的信息,从而形成了完整的特征图。

代码块2: 

import numpy as np

# 创建一个8x8x3的随机特征图
feature_map = np.random.rand(8, 8, 3)

# 显示特征图的形状
print("特征图形状:", feature_map.shape)
print("特征图:")
print(feature_map)

输出结果:

2.特征图的计算

假设我们有一个大小为 8x8x3 的输入特征图(高度为8,宽度为8,通道数为3)。现在考虑使用一个 3x3 大小的卷积核进行卷积操作,并设置步幅(stride)为 2,填充(padding)为 1 的情况。

  1. 输入特征图大小:8x8x3
  2. 卷积核大小:3x3
  3. 步幅:2
  4. 填充:1

根据以下公式计算输出特征图的大小:输出特征图的高度和宽度 = ((输入特征图的尺寸 - 卷积核的尺寸 + 2 * 填充) / 步幅) + 1

输出特征图的高度和宽度 = ((8 - 3 + 2 * 1) / 2) + 1 = (7 / 2) + 1 = 3.5 + 1 = 4.5向下取整,输出特征图的大小将被舍入为4x4。

输出特征图的通道数=卷积核的通道数

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值