当前位置:   article > 正文

特征图(feature map)理解

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。

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/862629
推荐阅读
相关标签
  

闽ICP备14008679号