探索特征图如何充当 CNN 的“眼睛”。了解 Ultralytics YOLO26 如何利用这些内部表示来 detect 模式并赋能计算机视觉。
特征图是当卷积核处理输入图像或神经网络中前一层时产生的基本输出。在计算机视觉 (CV)领域,这些图作为数据的内部表示,突出显示模型已学会识别的特定模式,例如边缘、纹理或复杂的几何形状。本质上,特征图充当卷积神经网络 (CNN)的“眼睛”,将原始像素值转换为有意义的抽象,从而促进物体detect和分类等任务。
特征图的创建由称为 卷积 的数学运算驱动。在此过程中,一个由可学习参数组成的小矩阵,称为核或滤波器,在输入数据上滑动。在每个位置,核执行逐元素乘法和求和,从而在输出网格中产生一个单一值。
特征图是现代 AI 应用的引擎室,使系统能够以类人理解方式解释视觉数据。
尽管特征图是内部结构,但了解它们的维度在设计架构时至关重要。以下 PyTorch 示例演示了单个卷积层如何将输入图像转换为特征图。
import torch
import torch.nn as nn
# Define a convolution layer: 1 input channel, 1 output filter, 3x3 kernel
conv_layer = nn.Conv2d(in_channels=1, out_channels=1, kernel_size=3, bias=False)
# Create a random dummy image (Batch Size=1, Channels=1, Height=5, Width=5)
input_image = torch.randn(1, 1, 5, 5)
# Pass the image through the layer to generate the feature map
feature_map = conv_layer(input_image)
print(f"Input shape: {input_image.shape}")
# The output shape will be smaller (3x3) due to the kernel size and no padding
print(f"Feature Map shape: {feature_map.shape}")
区分特征图与相似术语有助于避免在 模型训练 期间产生混淆:
在 YOLO26 等高级架构中,特征图在模型的“骨干网络”和“头部”中发挥着关键作用。骨干网络提取不同尺度的特征(特征金字塔),确保模型能够有效 detect 小型和大型目标。利用 Ultralytics Platform 进行训练的用户可以可视化这些模型的表现,通过 accuracy 和召回率等指标间接观察底层特征图的有效性。优化这些特征图涉及在标注数据集上进行大量训练,通常利用 feature extraction 等技术将预训练模型的知识迁移到新任务中。

开启您的机器学习未来之旅