赞
踩
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 的情况。
根据以下公式计算输出特征图的大小:输出特征图的高度和宽度 = ((输入特征图的尺寸 - 卷积核的尺寸 + 2 * 填充) / 步幅) + 1
输出特征图的高度和宽度 = ((8 - 3 + 2 * 1) / 2) + 1 = (7 / 2) + 1 = 3.5 + 1 = 4.5向下取整,输出特征图的大小将被舍入为4x4。
输出特征图的通道数=卷积核的通道数
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。